tabu

报道 | 运筹学发展简史之1979-2004

不打扰是莪最后的温柔 提交于 2020-09-30 13:48:36
编者按 由于篇幅原因,本文仅精选该书第八章中具有跨时代意义的发现、巨作或事件进行介绍,强烈推荐感兴趣的朋友自行阅读英文原版,也欢迎大家在评论区指正、补充。 文章作者:留德华叫兽 责任编辑:疑疑 文章发表于 微信公众号【运筹OR帷幄】: 报道 | 运筹学发展简史之1979-2004 欢迎原链接转发,转载请私信 @运筹OR帷幄 获取信息,盗版必究。 敬请关注和扩散本专栏及同名公众号,会邀请 全球知名学者 发布运筹学、人工智能中优化理论等相关干货、 知乎Live 及行业动态 更多精彩文章,欢迎访问我们的机构号: @运筹OR帷幄 前言 首先向大家隆重介绍一本书: An Annotated Timeline of Operations Research - An Informal History | Saul I. Gass 此书是我在准备德国博士答辩general exam借相关教材时,偶然发现的“宝贝”,接着就不务正业地泡了一下午浏览了运筹学的发展史。 本书的目录按照年代,分为八个章节: 1.运筹学(OR)的前身:1564-1873 2.运筹学的前身:1881-1935 3.运筹学的诞生:1936-1946 4.运筹学的扩张:1947-1950 5.运筹学中数学、算法的发展:1951-1956 6.运筹学中国际活动、算法、应用、教科书发展:1957-1963 7.运筹学中方法、应用

混合算法(GA+TS)求解作业车间调度问题代码解读+完整JAVA代码

有些话、适合烂在心里 提交于 2020-08-12 14:36:11
  前两篇文章中,我们介绍了FJSP问题,并梳理了一遍HA算法。这一篇文章对小编实现的(很乱很烂的)代码进行简单解读。   往期回顾:   种群进化+邻域搜索的混合算法(GA+TS)求解作业车间调度问题(JSP)-算法介绍   混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分   代码下载请关注公众号,后台回复【FJSPHA】即可,不包括【】   代码框架      代码分为5个包,第一部分Data为用到的各类结构,第二部分GA为GA部分+第一个TS,第三部分主函数,第四、五部分是两个TS。   算例放置在input文件夹中,这里准备了Mk系列算例,Kacem系列算例和论文中的简单算例test.txt。   Main   算例输入:      Main中还有一个输出为CSV的函数,需要一个jar包,已经放在下载链接里了,不需要的同学也可以删除。      Data   一堆乱七八糟的结构。这里简单讲一下Solution类和Graph类。   Solution类中包含多个print函数,比较重要的包括绘制甘特图以及check解是否合法。      operationMatrix是解的主题,存放某个工件的某道工序的开始、结束时间,所在加工机器。      Graph类表示析取图。nodeList是每台机器上的node。其中起始点、终止点我单独提取出来设置了两个类

种群进化+邻域搜索的混合算法(GA+TS)求解作业车间调度问题(JSP)-算法介绍

柔情痞子 提交于 2020-08-04 11:16:22
程序猿声 代码黑科技的分享区 过去小编简单了解过作业车间调度问题(JSP),这两个月简单接触了柔性车间调度问题(FJSP),但是因为一些原因打算暂时研究到这里。 在研究的时候,小编发现网上这方面的 中文资源不多,那么秉持着普度众生的原则,就在这里和大家分享一下最近研究的一些成果。 柔性作业车间调度问题介绍 之前我们曾经做过车间调度问题(JSP)的内容,相关可以看这篇文章: 这里再简单介绍一下FJSP: 集合 表示一系列相互独立的工件,任一工件 需要经过 等一系列工序的加工方可完成,工序之间按照固定的加工顺序依次完成。集合 表示可用的加工机器, 表示工件 的第 道工序,可以在可用机器集合 中的任意机器上进行加工。每道工序的加工时间与加工机器相关。 一道工序一旦开始加工,就不能中断。每台机器一次只能加工一道工序。在初始加工时刻,所有工件和机器都是可用的。 一般来说,该问题的目标是最小化Makespan,通常用L来表示,即从开始加工到所有工件加工完毕总的时长。 综上所述,柔性车间调度问题和车间调度问题相似,在此之上改变了一个条件:对JSP,每道工序只能在某个特定的机器上加工;对FJSP,工序可能有多个可加工的机器(且不同机器上加工时间不同)。 所以,FJSP不光要选择工序在机器上加工的顺序,还要选择在哪个机器上加工。这也意味着FJSP是比JSP更复杂的优化问题。 根据小编这段时间的研究