CN107392402B - 基于改进禁忌搜索算法的生产运输协同调度方法及系统 - Google Patents
基于改进禁忌搜索算法的生产运输协同调度方法及系统 Download PDFInfo
- Publication number
- CN107392402B CN107392402B CN201710813169.2A CN201710813169A CN107392402B CN 107392402 B CN107392402 B CN 107392402B CN 201710813169 A CN201710813169 A CN 201710813169A CN 107392402 B CN107392402 B CN 107392402B
- Authority
- CN
- China
- Prior art keywords
- workpiece
- assigned
- individual
- batch
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000010845 search algorithm Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 66
- 239000012141 concentrate Substances 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 230000006978 adaptation Effects 0.000 abstract 1
- 238000011160 research Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000000137 annealing Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Educational Administration (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Manufacturing & Machinery (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明实施例涉及一种基于改进禁忌搜索算法的生产与运输协同调度方法及系统,该方法包括:1工件组批;2初始化算法参数;3产生初始解4产生邻域解集;5个体进行变异、交叉和选择;6确定候选解集;7计算个体适应度值;8更新候选解集;9更新禁忌表;10判断算法终止条件是否满足,若满足则输出全局最优解,否则返回步骤4;本发明主要是针对多制造商情形下的生产与运输协同批调度问题,求得该问题的近似最优解,即获得一个科学有效的生产与运输协同调度方案,从而可以提高企业在生产与运输两个阶段中实现整体效益最大化,并为企业的客户提供优质服务,提升企业的核心竞争力。
Description
技术领域
本发明实施例涉及软件技术领域,具体涉及一种基于改进禁忌搜索算法的生产运输协同调度方法及系统。
背景技术
批调度问题作为一类典型的组合优化问题,广泛存在于现代的生产活动中,如交通运输,生产运输以及船闸调度等领域。而在同类平行机批调度问题中,各机器的处理能力相同但处理速度不同,批处理机在能力范围内可以同时加工处理多个工件。在当今的云制造主流模式背景下,为充分利用现有的生产资源从而为客户提供优质的服务,针对客户同一个订单,企业间以合作形式共同完成该订单生产任务。设计科学合理的分布式同类机生产调度方案不仅可以使得社会的生产资源得以充分利用,还可以促进企业生产能力的提高。因此,针对分布式同类平行机批调度问题,如何确定一个合理有效的生产调度方案成为企业亟待解决的问题,对该类问题的研究具有重要的实际意义。
在以往的研究中,智能算法和启发式算法被广泛应用于解决复杂情形下的生产运输协同调度问题。一种研究是针对差异工件相同平行机批调度问题进行研究,工件具有不同的尺寸和加工时间,并设计了混合模拟退火和遗传算法解决该问题;另一种研究是考虑工件含不同加工时间,到达时间,截止时间和尺寸,并设计了群算法解决该问题;还有一种研究是考虑了分布式环境下工件动态到达各批处理机,且加工前后都有运输时间,针对该问题提出了若干个启发式算法。本文针对分布式制造商的同类平行机生产与运输协同批调度问题,设计了改进的禁忌搜索算法,通过该算法确定各工件批在机器上的分配方案,从而获得一个使得生产与运输两阶段整体效益最大化的生产与运输协同调度方案。禁忌搜索算法的一般步骤包括:(1)生成初始解;(2)产生邻域解;(3)确定候选解;(4)选出候选解集中满足禁忌规则的最优个体;(5)更新候选集;(6)更新禁忌表;(7)更新全局最优解。通过重复以上步骤在整个解空间搜索并获取最优解,即最优的生产与运输协同调度方案。
然而,在进行发明创造的过程中发明人发现,现有技术存在以下缺陷:(1)在研究问题上,以往研究的关注点主要集中在相同平行机上,而对同类机上批调度问题的研究相对较少,并且在同类机情形下同时考虑生产与运输的研究成果较少。在实际生产活动中,存在着同一个订单生产任务由多个企业共同完成,由于各企业的生产条件不同,所以企业的加工机器处理速度并不完全相同。在解决此类调度问题时,不仅需要考虑工件的差异性,同时还需要考虑机器的差异对问题所优化制造时间跨度的影响。(2)在研究方法上,候选解的确定,禁忌规则,禁忌表长度等,这些因素都影响着禁忌搜索算法的性能。
发明内容
本发明实施例提供了一种基于改进禁忌搜索算法的生产运输协同调度方法及系统,用以解决上述至少一个技术问题。
第一方面,本发明实施例提供一种基于改进禁忌搜索算法的生产运输协同调度方法,包括:
S1、将工件集合J={J1,...,Ji,...,Jn}中所有工件按基本加工时间非递增进行排序,得到经过排序后的工件集合J'={J'1,...,J'i,...,J'n};
S2、根据工件集合J',在现存的批中选出能容纳第一个未分配的工件的所有批,从已选出的批中获取剩余空间最小的批,将J'中第一个未分配的工件放置于最终选出的批中,并将该工件从工件列表中删除;
S3、重复步骤S2,直至工件集J'中所有工件都分配到相应的批中,从而形成批集合记为B={b1,...,bd,...,bl};
S4、初始化算法的输入参数,所述输入参数包括工件数量n,工件尺寸s,工件基本加工时间p,加工机器数量m,工件到达加工机器所需时间r,加工机器的容量C和处理速度v,工件从各加工机器运输到客户所需的时间T;
S5、设定算法的执行参数,所述执行参数包括最大迭代次数Imax,当前迭代次数I=1,交叉概率CR,算法初始解Xs={x1,...,xd,...,xl},其中xd表示第d个批所分配到的机器,全局最优解Xbest=Xs;
S6、根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs);
S7、判断List(Xs)是否为空集,若为空集则执行步骤S12;否则选出List(Xs)中的最优个体Y;
S8、判断个体Y是否优于全局最优解Xbest,若优于Xbest,则将Y赋值给Xbest,并执行步骤S11;否则执行步骤S9;
S9、判断步骤S7获得的个体Y是否符合禁忌表TSList中的禁忌规则,若符合则执行步骤S10;否则执行步骤S11;
S10、更新候选解集List(Xs),把List(Xs)中的个体Y移出该集合,并返回步骤S7;
S11、判断是否获得新个体Y,若个体Y更新,则把Y赋值给Xs;
S12、根据初始解Xs更新禁忌表TSList;
S13、将I+1赋值给I,判断I≤Imax是否成立,若成立则返回步骤S6;否则算法执行结束,输出最优解Xbest适应度值,工件集中工件的组批方案以及工件批在各加工机器上的分配方案。
第二方面,本发明实施例提供一种基于改进禁忌搜索算法的生产运输协同调度系统,包括:
处理单元,用于执行以下步骤:
S1、将工件集合J={J1,...,Ji,...,Jn}中所有工件按基本加工时间非递增进行排序,得到经过排序后的工件集合J'={J'1,...,J'i,...,J'n};
S2、根据工件集合J',在现存的批中选出能容纳第一个未分配的工件的所有批,从已选出的批中获取剩余空间最小的批,将J'中第一个未分配的工件放置于最终选出的批中,并将该工件从工件列表中删除;
S3、重复步骤S2,直至工件集J'中所有工件都分配到相应的批中,从而形成批集合记为B={b1,...,bd,...,bl};
S4、初始化算法的输入参数,所述输入参数包括工件数量n,工件尺寸s,工件基本加工时间p,加工机器数量m,工件到达加工机器所需时间r,加工机器的容量C和处理速度v,工件从各加工机器运输到客户所需的时间T;
S5、设定算法的执行参数,所述执行参数包括最大迭代次数Imax,当前迭代次数I=1,交叉概率CR,算法初始解Xs={x1,...,xd,...,xl},其中xd表示第d个批所分配到的机器,全局最优解Xbest=Xs;
S6、根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs);
S7、判断List(Xs)是否为空集,若为空集则执行步骤S12;否则选出List(Xs)中的最优个体Y;
S8、判断个体Y是否优于全局最优解Xbest,若优于Xbest,则将Y赋值给Xbest,并执行步骤S11;否则执行步骤S9;
S9、判断步骤S7获得的个体Y是否符合禁忌表TSList中的禁忌规则,若符合则执行步骤S10;否则执行步骤S11;
S10、更新候选解集List(Xs),把List(Xs)中的个体Y移出该集合,并返回步骤S7;
S11、判断是否获得新个体Y,若个体Y更新,则把Y赋值给Xs;
S12、根据初始解Xs更新禁忌表TSList;
S13、将I+1赋值给I,判断I≤Imax是否成立,若成立则返回步骤S6;否则算法执行结束;
输出单元,用于输出最优解Xbest适应度值,工件集中工件的组批方案以及工件批在各加工机器上的分配方案。
本发明实施例提供了一种改进禁忌搜索算法的生产运输协同调度方法及系统,该方法主要是针对多制造商情形下的生产与运输协同批调度问题,求得该问题的近似最优解,即获得一个科学有效的生产与运输协同调度方案,从而可以提高企业在生产与运输两个阶段中实现整体效益最大化,并为企业的客户提供优质服务,提升企业的核心竞争力。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的一种基于改进禁忌搜索算法的生产运输协同调度方法流程图;
图2是本发明实施例提供的一种基于改进禁忌搜索算法的生产运输协同调度系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以针对分布式同类机制造商情形,解决同类平行机的生产与运输协同批调度问题,问题优化目标为最小化制造时间跨度。基于问题特有的属性,设计了有效的算法,解决该组合优化问题,实现生产与运输协同整体效益最大。
为便于理解,下面首先对本发明实施例要解决的问题进行详细说明,具体来说:
(1)在执行生产任务过程中需处理n个工件,该工件集合记为J={J1,...,Ji,...,Jn},工件Ji的尺寸记为si,加工长度记为pi。
(2)工件集J中的工件需运输至位于不同地理位置的m台加工机器进行处理,各加工机器的容量相同并记为C,加工机器k的处理速度记为vk,工件到达机器k所需的运输时间记为rk。
(3)批在处理机上完工时间由该批中完工时间最长的工件决定,批在加工完成之前不可往该批添加新的工件,也不可将该批中工件移出。
(4)把分配到加工机器k上工件批的集合记为Bk,机器k的完工时间Ck由最后一个批决定,当前批bkj的完工时间等于前一批的完工时间与该批的加工处理时间之和,即机器k的完工时间Ck由最后加工处理的批决定,即
(5)各机器上的工件加工完成后,须将工件运输送至客户,机器k上的工件到达客户所需时间记为Tk,问题所需优化的目标为生产任务从开始生产至最后送达给客户所需的时间跨度Cmax=max{Ck+Tk|k=1,...,m}。
基于此,本发明的一个实施例提供了一种基于改进禁忌搜索算法的生产运输协同调度方法,如图1所示,包括:
S1、将工件集合J={J1,...,Ji,...,Jn}中所有工件按基本加工时间非递增进行排序,得到经过排序后的工件集合J'={J'1,...,J'i,...,J'n};
S2、根据工件集合J',在现存的批中选出能容纳第一个未分配的工件的所有批,从已选出的批中获取剩余空间最小的批,将J'中第一个未分配的工件放置于最终选出的批中,并将该工件从工件列表中删除;
S3、重复步骤S2,直至工件集J'中所有工件都分配到相应的批中,从而形成批集合记为B={b1,...,bd,...,bl};
S4、初始化算法的输入参数,所述输入参数包括工件数量n,工件尺寸s,工件基本加工时间p,加工机器数量m,工件到达加工机器所需时间r,加工机器的容量C和处理速度v,工件从各加工机器运输到客户所需的时间T;
S5、设定算法的执行参数,所述执行参数包括最大迭代次数Imax,当前迭代次数I=1,交叉概率CR,算法初始解Xs={x1,...,xd,...,xl},其中xd表示第d个批所分配到的机器,全局最优解Xbest=Xs;
S6、根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs);
S7、判断List(Xs)是否为空集,若为空集则执行步骤S12;否则选出List(Xs)中的最优个体Y;
S8、判断个体Y是否优于全局最优解Xbest,若优于Xbest,则将Y赋值给Xbest,并执行步骤S11;否则执行步骤S9;
S9、判断步骤S7获得的个体Y是否符合禁忌表TSList中的禁忌规则,若符合则执行步骤S10;否则执行步骤S11;
S10、更新候选解集List(Xs),把List(Xs)中的个体Y移出该集合,并返回步骤S7;
S11、判断是否获得新个体Y,若个体Y更新,则把Y赋值给Xs;
S12、根据初始解Xs更新禁忌表TSList;
S13、将I+1赋值给I,判断I≤Imax是否成立,若成立则返回步骤S6;否则算法执行结束,输出最优解Xbest适应度值,工件集中工件的组批方案以及工件批在各加工机器上的分配方案。
本发明主要是针对多制造商情形下的生产与运输协同批调度问题,求得该问题的近似最优解,即获得一个科学有效的生产与运输协同调度方案,从而可以提高企业在生产与运输两个阶段中实现整体效益最大化,并为企业的客户提供优质服务,提升企业的核心竞争力。
在具体实施时,步骤S5中设定算法初始解Xs={x1,...,xd,...,xl}可以具体包括:
步骤S51:将批集合B={b1,...,bd,...,bl}中所有的批按其加工长度非递增进行排序,形成经过排序后的批集合记为B'={b'1,...,b'd,...,b'l};
步骤S52:将机器按其加工速度非递增进行排序,得到经过排序后的机器集合M={M1,...,Mk,...,Mm},Mk表示加工处理速度处于第k位且编号为Mk的加工机器;
步骤S53:定义变量d=1,k=1;
步骤S54:则把Mk赋值给xd;
步骤S55:将k+1赋值给k,判断k≤m是否成立,若成立,则执行步骤S56;否则,令k=1并执行步骤S56;
步骤S56:把d+1赋值给d,判断d≤l是否成立,若成立,则返回步骤S54;否则,以X={x1,...,xd,...,xl}作为初始解Xs。
在具体实施时,步骤S6中根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs),可以具体包括:
步骤S61:产生邻域解集,邻域解中共考虑W个个体,其解集记为N(Xs)={X1,...,Xj,...,XW},其中Xj表示邻域解中的第j个个体,该个体由初始解Xs随机交换I次获得;
步骤S62:定义变量N'(Xs)={X'1,...,X'j,...,X'W},该变量与N(Xs)具有相同的含义,并把N(Xs)中的个体赋值给N'(Xs),令变量j=1;
步骤S63:随机产生两个在区间[1,W]范围内的随机数分别记为index1和index2,并且index1、index2和j各不相同;
步骤S64:定义变量Vj和Uj,Vj和Uj与个体Xj具有相同维度,令变量d=1,产生一个在区间(0,1]范围内的随机数random,并把随机数赋值给变量F;
步骤S65:利用公式Vjd=Xbd+F×(Xindex1d-Xindex2d)更新Vjd,其中Xbd表示全局最优解中第d个元素;
步骤S66:随机产生一个在区间(0,1]范围内的随机数rand,判断rand≤CR是否成立,若成立则把Vjd赋值给Ujd;否则把Xjd赋值给Ujd;
步骤S67:把d+1赋值给d,判断d≤l是否成立,若成立则返回步骤S65,否则执行步骤S68;
步骤S68:分别计算个体X'j和中间体Uj适应度值F(X'j)和F(Uj),并比较F(X'j)和F(Uj),若F(X'j)≤F(Uj)则把Uj赋值给个体Xj;
步骤S69:把j+1赋值给j,判断j≤W是否成立,若成立则返回步骤S63;否则执行步骤S610;
步骤S610:在候选解集中考虑Q个个体,候选解集记为List(Xs),把N(Xs)中W个个体按其适应度值非递减进行排序,从序列中选出位于前Q个位置的个体,并将选出的Q个个体赋值给List(Xs)。
在具体实施时,步骤S12中根据初始解Xs更新禁忌表TSList,可以具体包括:
步骤S121:根据初始解Xs确定第k个机器上的工件集合Bk;
步骤S122:从Bk中选出个工件批形成批集合B'k,变量|Bk|表示集合Bk中工件批的数量;
步骤S123:重复步骤S122,直至各机器都已选出集合,从而形成一个禁忌表元素记为S={B'1,...,B'k,...,B'm};
步骤S124:判断S与禁忌表现存的所有元素是否相同,若存在有元素与S相同,则返回步骤S122;
步骤S125:把S插入到禁忌表中,然后把禁忌表中最先插入的元素移除。
在具体实施时,步骤S13中输出个体的适应度值,可以具体包括:
步骤S131:遍历个体X={x1,...,xd,...,xl}中各元素,定义变量d=1,变量Bk表示第k个机器上被分配到的工件批的集合,变量|Bk|表示集合Bk中工件批的数量;
步骤S132:判断1≤xd≤m是否满足,如果溢出该范围则执行步骤S133;否则执行步骤S134;
步骤S133:产生一个在区间[1,m]范围内的随机整数记为random,并把random赋值给xd;
步骤S134:判断xd=k是否成立,其中k∈{1,...,m},若成立则把bd放置于Bk中;
步骤S135:把d+1赋值给d,判断d≤l是否成立,若成立则返回步骤S132;否则执行步骤S136;
步骤S136:定义变量k=1;
步骤S137:定义变量j=1,Ck=0,Ck表示第k个机器的完工时间;
步骤S138:把赋值给Ck;
步骤S139:把j+1赋值给j,判断j≤|Bk|是否成立,若成立则返回步骤S138;否则把Ck+rk+Tk赋值给Ck;
步骤S1310:把k+1赋值给k,判断k≤|Bk|是否成立,若成立则返回步骤S137;否则可获得各机器制造跨度的集合记为C*={C1,...,Ck,...,Cm};
步骤S1311:根据步骤S1310中获得的制造跨度集合C*,选出其中最大的元素,并把该元素赋值给Cmax,即Cmax=max{C1,...,Ck,...,Cm},变量Cmax表示个体X适应度值。
本发明的有益效果如下:
1、本发明针对分布式的同类平行机情形下生产与运输协同批调度问题,通过改进的禁忌搜索算法,首先对加工机器进行编码,把根据启发式规则形成的既定批分配到各机器上,得出相应的生产调度方案,计算相应个体的适应度值。在产生邻域解集的过程中,对种群个体进行变异、交叉和选择等操作对其个体进行更新,从而可提高候选解的质量。然后根据选出最优个体,更新候选解以及禁忌表。重复以上步骤进行算法迭代,从而求得算法搜索的最优解,即最优的生产调度方案。改进的禁忌搜索算法在收敛速度和解的质量方面上表现出良好的性能,通过该算法解决了分布式情形下的同类机生产与运输协同批调度问题,不仅可以提高企业的生产效率,还可使得社会现有的生产资源得以充分地利用。
2、本发明在产生邻域解过程中,首先根据初始解产生搜索种群,然后对该种群个体进行基于差分进化算法的变异、交叉和选择等操作,从而提高该种群个体的质量,保证了种群的多样性,而在禁忌表中禁忌的对象为机器上所分配的工件批,避免机器重复分配相同的工件批集合,这样有助与算法跳出局部最优解,从而保证了算法的收敛能力。
3、在基于差分进化算法的变异操作过程中,变异的中间体由全局最优解和种群的随机个体共同确定,使得个体在变异搜索过程中既保证了优秀个体的传承同时还保证了变异的多样性,使得种群的搜索空间得以扩大。
基于同样的发明构思,本发明又一实施例提供了一种基于改进禁忌搜索算法的生产运输协同调度系统,如图2所示,包括:
处理单元201,用于执行以下步骤:
S1、将工件集合J={J1,...,Ji,...,Jn}中所有工件按基本加工时间非递增进行排序,得到经过排序后的工件集合J'={J'1,...,J'i,...,J'n};
S2、根据工件集合J',在现存的批中选出能容纳第一个未分配的工件的所有批,从已选出的批中获取剩余空间最小的批,将J'中第一个未分配的工件放置于最终选出的批中,并将该工件从工件列表中删除;
S3、重复步骤S2,直至工件集J'中所有工件都分配到相应的批中,从而形成批集合记为B={b1,...,bd,...,bl};
S4、初始化算法的输入参数,所述输入参数包括工件数量n,工件尺寸s,工件基本加工时间p,加工机器数量m,工件到达加工机器所需时间r,加工机器的容量C和处理速度v,工件从各加工机器运输到客户所需的时间T;
S5、设定算法的执行参数,所述执行参数包括最大迭代次数Imax,当前迭代次数I=1,交叉概率CR,算法初始解Xs={x1,...,xd,...,xl},其中xd表示第d个批所分配到的机器,全局最优解Xbest=Xs;
S6、根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs);
S7、判断List(Xs)是否为空集,若为空集则执行步骤S12;否则选出List(Xs)中的最优个体Y;
S8、判断个体Y是否优于全局最优解Xbest,若优于Xbest,则将Y赋值给Xbest,并执行步骤S11;否则执行步骤S9;
S9、判断步骤S7获得的个体Y是否符合禁忌表TSList中的禁忌规则,若符合则执行步骤S10;否则执行步骤S11;
S10、更新候选解集List(Xs),把List(Xs)中的个体Y移出该集合,并返回步骤S7;
S11、判断是否获得新个体Y,若个体Y更新,则把Y赋值给Xs;
S12、根据初始解Xs更新禁忌表TSList;
S13、将I+1赋值给I,判断I≤Imax是否成立,若成立则返回步骤S6;否则算法执行结束;
输出单元,用于输出最优解Xbest适应度值,工件集中工件的组批方案以及工件批在各加工机器上的分配方案。
可选地,所述处理模块201执行步骤S5中设定算法初始解Xs={x1,...,xd,...,xl},包括:
步骤S51:将批集合B={b1,...,bd,...,bl}中所有的批按其加工长度非递增进行排序,形成经过排序后的批集合记为B'={b'1,...,b'd,...,b'l};
步骤S52:将机器按其加工速度非递增进行排序,得到经过排序后的机器集合M={M1,...,Mk,...,Mm},Mk表示加工处理速度处于第k位且编号为Mk的加工机器;
步骤S53:定义变量d=1,k=1;
步骤S54:则把Mk赋值给xd;
步骤S55:将k+1赋值给k,判断k≤m是否成立,若成立,则执行步骤S56;否则,令k=1并执行步骤S56;
步骤S56:把d+1赋值给d,判断d≤l是否成立,若成立,则返回步骤S54;否则,以X={x1,...,xd,...,xl}作为初始解Xs。
可选地,所述处理模块201执行步骤S6中根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs),包括:
步骤S61:产生邻域解集,邻域解中共考虑W个个体,其解集记为N(Xs)={X1,...,Xj,...,XW},其中Xj表示邻域解中的第j个个体,该个体由初始解Xs随机交换I次获得;
步骤S62:定义变量N'(Xs)={X'1,...,X'j,...,X'W},该变量与N(Xs)具有相同的含义,并把N(Xs)中的个体赋值给N'(Xs),令变量j=1;
步骤S63:随机产生两个在区间[1,W]范围内的随机数分别记为index1和index2,并且index1、index2和j各不相同;
步骤S64:定义变量Vj和Uj,Vj和Uj与个体Xj具有相同维度,令变量d=1,产生一个在区间(0,1]范围内的随机数random,并把随机数赋值给变量F;
步骤S65:利用公式Vjd=Xbd+F×(Xindex1d-Xindex2d)更新Vjd,其中Xbd表示全局最优解中第d个元素;
步骤S66:随机产生一个在区间(0,1]范围内的随机数rand,判断rand≤CR是否成立,若成立则把Vjd赋值给Ujd;否则把Xjd赋值给Ujd;
步骤S67:把d+1赋值给d,判断d≤l是否成立,若成立则返回步骤S65,否则执行步骤S68;
步骤S68:分别计算个体X'j和中间体Uj适应度值F(X'j)和F(Uj),并比较F(X'j)和F(Uj),若F(X'j)≤F(Uj)则把Uj赋值给个体Xj;
步骤S69:把j+1赋值给j,判断j≤W是否成立,若成立则返回步骤S63;否则执行步骤S610;
步骤S610:在候选解集中考虑Q个个体,候选解集记为List(Xs),把N(Xs)中W个个体按其适应度值非递减进行排序,从序列中选出位于前Q个位置的个体,并将选出的Q个个体赋值给List(Xs)。
可选地,所述处理模块201执行步骤S12中根据初始解Xs更新禁忌表TSList,包括:
步骤S121:根据初始解Xs确定第k个机器上的工件集合Bk;
步骤S122:从Bk中选出个工件批形成批集合B'k,变量|Bk|表示集合Bk中工件批的数量;
步骤S123:重复步骤S122,直至各机器都已选出集合,从而形成一个禁忌表元素记为S={B'1,...,B'k,...,B'm};
步骤S124:判断S与禁忌表现存的所有元素是否相同,若存在有元素与S相同,则返回步骤S122;
步骤S125:把S插入到禁忌表中,然后把禁忌表中最先插入的元素移除。
可选地,所述处理模块执行步骤S13中输出个体的适应度值,包括:
步骤S131:遍历个体X={x1,...,xd,...,xl}中各元素,定义变量d=1,变量Bk表示第k个机器上被分配到的工件批的集合,变量|Bk|表示集合Bk中工件批的数量;
步骤S132:判断1≤xd≤m是否满足,如果溢出该范围则执行步骤S133;否则执行步骤S134;
步骤S133:产生一个在区间[1,m]范围内的随机整数记为random,并把random赋值给xd;
步骤S134:判断xd=k是否成立,其中k∈{1,...,m},若成立则把bd放置于Bk中;
步骤S135:把d+1赋值给d,判断d≤l是否成立,若成立则返回步骤S132;否则执行步骤S136;
步骤S136:定义变量k=1;
步骤S137:定义变量j=1,Ck=0,Ck表示第k个机器的完工时间;
步骤S138:把赋值给Ck;
步骤S139:把j+1赋值给j,判断j≤|Bk|是否成立,若成立则返回步骤S138;否则把Ck+rk+Tk赋值给Ck;
步骤S1310:把k+1赋值给k,判断k≤|Bk|是否成立,若成立则返回步骤S137;否则可获得各机器制造跨度的集合记为C*={C1,...,Ck,...,Cm};
步骤S1311:根据步骤S1310中获得的制造跨度集合C*,选出其中最大的元素,并把该元素赋值给Cmax,即Cmax=max{C1,...,Ck,...,Cm},变量Cmax表示个体X适应度值。
由于本实施例所介绍的基于改进禁忌搜索算法的生产运输协同调度系统为可以执行本发明实施例中的基于改进禁忌搜索算法的生产运输协同调度方法的系统,故而基于本发明实施例中所介绍的基于改进禁忌搜索算法的生产运输协同调度的方法,本领域所属技术人员能够了解本实施例的基于改进禁忌搜索算法的生产运输协同调度系统的具体实施方式以及其各种变化形式,所以在此对于该基于改进禁忌搜索算法的生产运输协同调度系统如何实现本发明实施例中的基于改进禁忌搜索算法的生产运输协同调度方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中基于改进禁忌搜索算法的生产运输协同调度方法所采用的系统,都属于本申请所欲保护的范围。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
Claims (8)
1.一种基于改进禁忌搜索算法的生产运输协同调度方法,其特征在于,包括:
S1、将工件集合J={J1,...,Ji,...,Jn}中所有工件按基本加工时间非递增进行排序,得到经过排序后的工件集合J'={J′1,...,J′i,...,J'n};其中Ji表示工件集合中第i个工件,J′i表示排序后工件集合中第i个工件;
S2、根据工件集合J',在现存的批中选出能容纳第一个未分配的工件的所有批,从已选出的批中获取剩余空间最小的批,将J'中第一个未分配的工件放置于最终选出的批中,并将该工件从工件列表中删除;
S3、重复步骤S2,直至工件集J'中所有工件都分配到相应的批中,从而形成批集合记为B={b1,...,bd,...,bl};其中bd表示第d个批次,l表示批次的数量;
S4、初始化算法的输入参数,所述输入参数包括工件数量n,工件尺寸s,工件基本加工时间p,加工机器数量m,工件到达加工机器所需时间r,每个批次所能容纳的最大工件数量C和处理速度v,工件从各加工机器运输到客户所需的时间T;
S5、设定算法的执行参数,所述执行参数包括最大迭代次数Imax,当前迭代次数I=1,交叉概率CR,算法初始解Xs={x1,...,xd,...,xl},其中xd表示第d个批次被分配到第xd个机器,全局最优解Xbest=Xs;
S6、根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs);
S7、判断List(Xs)是否为空集,若为空集则执行步骤S12;否则选出List(Xs)中的最优个体Y;
S8、判断个体Y是否优于全局最优解Xbest,若优于Xbest,则将Y赋值给Xbest,并执行步骤S11;否则执行步骤S9;
S9、判断步骤S7获得的个体Y是否符合禁忌表TSList中的禁忌规则,若符合则执行步骤S10;否则执行步骤S11;
S10、更新候选解集List(Xs),把List(Xs)中的个体Y移出该集合,并返回步骤S7;
S11、判断是否获得新个体Y,若个体Y更新,则把Y赋值给Xs;
S12、根据初始解Xs更新禁忌表TSList;
S13、将I+1赋值给I,判断I≤Imax是否成立,若成立则返回步骤S6;否则算法执行结束,输出最优解Xbest适应度值,工件集中工件的组批方案以及工件批在各加工机器上的分配方案;
所述步骤S5中设定算法初始解Xs={x1,...,xd,...,xl},包括:
步骤S51:将批集合B={b1,...,bd,...,bl}中所有的批按其加工长度非递增进行排序,形成经过排序后的批集合记为B'={b′1,...,b'd,...,b′l};
步骤S52:将机器按其加工速度非递增进行排序,得到经过排序后的机器集合M={M1,...,Mk,...,Mm},Mk表示加工处理速度处于第k位且编号为Mk的加工机器;
步骤S53:定义变量d=1,k=1;
步骤S54:则把Mk赋值给xd;
步骤S55:将k+1赋值给k,判断k≤m是否成立,若成立,则执行步骤S56;否则,令k=1并执行步骤S56;
步骤S56:把d+1赋值给d,判断d≤l是否成立,若成立,则返回步骤S54;否则,以X={x1,...,xd,...,xl}作为初始解Xs。
2.根据权利要求1所述的方法,其特征在于,步骤S6中根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs),包括:
步骤S61:产生邻域解集,邻域解中共考虑W个个体,其解集记为N(Xs)={X1,...,Xj,...,XW},其中Xj表示邻域解中的第j个个体,该个体由初始解Xs随机交换I次获得;
步骤S62:定义变量N'(Xs)={X′1,...,X'j,...,X'W},该变量与N(Xs)具有相同的含义,并把N(Xs)中的个体赋值给N'(Xs),令变量j=1;
步骤S63:随机产生两个在区间[1,W]范围内的随机数分别记为index1和index2,并且index1、index2和j各不相同;
步骤S64:定义变量Vj和Uj,Vj和Uj与个体Xj具有相同维度,令变量d=1,产生一个在区间(0,1]范围内的随机数random,并把随机数赋值给变量F;
步骤S65:利用公式Vjd=Xbd+F×(Xindex1d-Xindex2d)更新Vjd,其中Xbd表示全局最优解中第d个元素;
步骤S66:随机产生一个在区间(0,1]范围内的随机数rand,判断rand≤CR是否成立,若成立则把Vjd赋值给Ujd;否则把Xjd赋值给Ujd;
步骤S67:把d+1赋值给d,判断d≤l是否成立,若成立则返回步骤S65,否则执行步骤S68;
步骤S68:分别计算个体X′j和中间体Uj适应度值F(X′j)和F(Uj),并比较F(X′j)和F(Uj),若F(X′j)≤F(Uj)则把Uj赋值给个体Xj;
步骤S69:把j+1赋值给j,判断j≤W是否成立,若成立则返回步骤S63;否则执行步骤S610;
步骤S610:在候选解集中考虑Q个个体,候选解集记为List(Xs),把N(Xs)中W个个体按其适应度值非递减进行排序,从序列中选出位于前Q个位置的个体,并将选出的Q个个体赋值给List(Xs)。
3.根据权利要求1所述的方法,其特征在于,步骤S12中根据初始解Xs更新禁忌表TSList,包括:
步骤S121:根据初始解Xs确定第k个机器上的工件集合Bk;
步骤S122:从Bk中选出个工件批形成批集合B'k,变量|Bk|表示集合Bk中工件批的数量;
步骤S123:重复步骤S122,直至各机器都已选出集合,从而形成一个禁忌表元素记为S={B′1,...,B'k,...,B'm};
步骤S124:判断S与禁忌表现存的所有元素是否相同,若存在有元素与S相同,则返回步骤S122;
步骤S125:把S插入到禁忌表中,然后把禁忌表中最先插入的元素移除。
4.根据权利要求1所述的方法,其特征在于,步骤S13中输出个体的适应度值,包括:
步骤S131:遍历个体X={x1,...,xd,...,xl}中各元素,定义变量d=1,变量Bk表示第k个机器上被分配到的工件批的集合,变量|Bk|表示集合Bk中工件批的数量;
步骤S132:判断1≤xd≤m是否满足,如果溢出该范围则执行步骤S133;否则执行步骤S134;
步骤S133:产生一个在区间[1,m]范围内的随机整数记为random,并把random赋值给xd;
步骤S134:判断xd=k是否成立,其中k∈{1,...,m},若成立则把bd放置于Bk中;
步骤S135:把d+1赋值给d,判断d≤l是否成立,若成立则返回步骤S132;否则执行步骤S136;
步骤S136:定义变量k=1;
步骤S137:定义变量j=1,Ck=0,Ck表示第k个机器的完工时间;
步骤S138:把赋值给Ck;其中表示第k个机器上第j个批次的处理时间;
步骤S139:把j+1赋值给j,判断j≤|Bk|是否成立,若成立则返回步骤S138;否则把Ck+rk+Tk赋值给Ck;
步骤S1310:把k+1赋值给k,判断k≤|Bk|是否成立,若成立则返回步骤S137;否则可获得各机器制造跨度的集合记为C*={C1,...,Ck,...,Cm};
步骤S1311:根据步骤S1310中获得的制造跨度集合C*,选出其中最大的元素,并把该元素赋值给Cmax,即Cmax=max{C1,...,Ck,...,Cm},变量Cmax表示个体X适应度值。
5.一种基于改进禁忌搜索算法的生产运输协同调度系统,其特征在于,包括:
处理单元,用于执行以下步骤:
S1、将工件集合J={J1,...,Ji,...,Jn}中所有工件按基本加工时间非递增进行排序,得到经过排序后的工件集合J'={J′1,...,J′i,...,J'n};其中Ji表示工件集合中第i个工件,J′i表示排序后工件集合中第i个工件;
S2、根据工件集合J',在现存的批中选出能容纳第一个未分配的工件的所有批,从已选出的批中获取剩余空间最小的批,将J'中第一个未分配的工件放置于最终选出的批中,并将该工件从工件列表中删除;;
S3、重复步骤S2,直至工件集J'中所有工件都分配到相应的批中,从而形成批集合记为B={b1,...,bd,...,bl},其中bd表示第d个批次,l表示批次的数量;
S4、初始化算法的输入参数,所述输入参数包括工件数量n,工件尺寸s,工件基本加工时间p,加工机器数量m,工件到达加工机器所需时间r,每个批次所能容纳的最大工件数量C和处理速度v,工件从各加工机器运输到客户所需的时间T;
S5、设定算法的执行参数,所述执行参数包括最大迭代次数Imax,当前迭代次数I=1,交叉概率CR,算法初始解Xs={x1,...,xd,...,xl},其中xd表示第d个批次被分配到第xd个机器,全局最优解Xbest=Xs;
S6、根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs);
S7、判断List(Xs)是否为空集,若为空集则执行步骤S12;否则选出List(Xs)中的最优个体Y;
S8、判断个体Y是否优于全局最优解Xbest,若优于Xbest,则将Y赋值给Xbest,并执行步骤S11;否则执行步骤S9;
S9、判断步骤S7获得的个体Y是否符合禁忌表TSList中的禁忌规则,若符合则执行步骤S10;否则执行步骤S11;
S10、更新候选解集List(Xs),把List(Xs)中的个体Y移出该集合,并返回步骤S7;
S11、判断是否获得新个体Y,若个体Y更新,则把Y赋值给Xs;
S12、根据初始解Xs更新禁忌表TSList;
S13、将I+1赋值给I,判断I≤Imax是否成立,若成立则返回步骤S6;否则算法执行结束;
输出单元,用于输出最优解Xbest适应度值,工件集中工件的组批方案以及工件批在各加工机器上的分配方案;
所述所述处理模块执行步骤S5中设定算法初始解Xs={x1,...,xd,...,xl},包括:
步骤S51:将批集合B={b1,...,bd,...,bl}中所有的批按其加工长度非递增进行排序,形成经过排序后的批集合记为B'={b′1,...,b'd,...,b′l};
步骤S52:将机器按其加工速度非递增进行排序,得到经过排序后的机器集合M={M1,...,Mk,...,Mm},Mk表示加工处理速度处于第k位且编号为Mk的加工机器;
步骤S53:定义变量d=1,k=1;
步骤S54:则把Mk赋值给xd;
步骤S55:将k+1赋值给k,判断k≤m是否成立,若成立,则执行步骤S56;否则,令k=1并执行步骤S56;
步骤S56:把d+1赋值给d,判断d≤l是否成立,若成立,则返回步骤S54;否则,以X={x1,...,xd,...,xl}作为初始解Xs。
6.根据权利要求5所述的系统,其特征在于,所述处理模块执行步骤S6中根据初始解Xs产生邻域解集N(Xs),对N(Xs)中的个体进行更新,确定候选解集List(Xs),包括:
步骤S61:产生邻域解集,邻域解中共考虑W个个体,其解集记为N(Xs)={X1,...,Xj,...,XW},其中Xj表示邻域解中的第j个个体,该个体由初始解Xs随机交换I次获得;
步骤S62:定义变量N'(Xs)={X′1,...,X'j,...,X'W},该变量与N(Xs)具有相同的含义,并把N(Xs)中的个体赋值给N'(Xs),令变量j=1;
步骤S63:随机产生两个在区间[1,W]范围内的随机数分别记为index1和index2,并且index1、index2和j各不相同;
步骤S64:定义变量Vj和Uj,Vj和Uj与个体Xj具有相同维度,令变量d=1,产生一个在区间(0,1]范围内的随机数random,并把随机数赋值给变量F;
步骤S65:利用公式Vjd=Xbd+F×(Xindex1d-Xindex2d)更新Vjd,其中Xbd表示全局最优解中第d个元素;
步骤S66:随机产生一个在区间(0,1]范围内的随机数rand,判断rand≤CR是否成立,若成立则把Vjd赋值给Ujd;否则把Xjd赋值给Ujd;
步骤S67:把d+1赋值给d,判断d≤l是否成立,若成立则返回步骤S65,否则执行步骤S68;
步骤S68:分别计算个体X′j和中间体Uj适应度值F(X′j)和F(Uj),并比较F(X′j)和F(Uj),若F(X′j)≤F(Uj)则把Uj赋值给个体Xj;
步骤S69:把j+1赋值给j,判断j≤W是否成立,若成立则返回步骤S63;否则执行步骤S610;
步骤S610:在候选解集中考虑Q个个体,候选解集记为List(Xs),把N(Xs)中W个个体按其适应度值非递减进行排序,从序列中选出位于前Q个位置的个体,并将选出的Q个个体赋值给List(Xs)。
7.根据权利要求5所述的系统,其特征在于,所述处理模块执行步骤S12中根据初始解Xs更新禁忌表TSList,包括:
步骤S121:根据初始解Xs确定第k个机器上的工件集合Bk;
步骤S122:从Bk中选出个工件批形成批集合B'k,变量|Bk|表示集合Bk中工件批的数量;
步骤S123:重复步骤S122,直至各机器都已选出集合,从而形成一个禁忌表元素记为S={B1',...,B'k,...,B'm};
步骤S124:判断S与禁忌表现存的所有元素是否相同,若存在有元素与S相同,则返回步骤S122;
步骤S125:把S插入到禁忌表中,然后把禁忌表中最先插入的元素移除。
8.根据权利要求5所述的系统,其特征在于,所述处理模块执行步骤S13中输出个体的适应度值,包括:
步骤S131:遍历个体X={x1,...,xd,...,xl}中各元素,定义变量d=1,变量Bk表示第k个机器上被分配到的工件批的集合,变量|Bk|表示集合Bk中工件批的数量;
步骤S132:判断1≤xd≤m是否满足,如果溢出该范围则执行步骤S133;否则执行步骤S134;
步骤S133:产生一个在区间[1,m]范围内的随机整数记为random,并把random赋值给xd;
步骤S134:判断xd=k是否成立,其中k∈{1,...,m},若成立则把bd放置于Bk中;
步骤S135:把d+1赋值给d,判断d≤l是否成立,若成立则返回步骤S132;否则执行步骤S136;
步骤S136:定义变量k=1;
步骤S137:定义变量j=1,Ck=0,Ck表示第k个机器的完工时间;
步骤S138:把赋值给Ck;表示第k个机器上第j个批次的处理时间;
步骤S139:把j+1赋值给j,判断j≤|Bk|是否成立,若成立则返回步骤S138;否则把Ck+rk+Tk赋值给Ck;
步骤S1310:把k+1赋值给k,判断k≤|Bk|是否成立,若成立则返回步骤S137;否则可获得各机器制造跨度的集合记为C*={C1,...,Ck,...,Cm};
步骤S1311:根据步骤S1310中获得的制造跨度集合C*,选出其中最大的元素,并把该元素赋值给Cmax,即Cmax=max{C1,...,Ck,...,Cm},变量Cmax表示个体X适应度值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710813169.2A CN107392402B (zh) | 2017-09-11 | 2017-09-11 | 基于改进禁忌搜索算法的生产运输协同调度方法及系统 |
US16/127,350 US20190080271A1 (en) | 2017-09-11 | 2018-09-11 | Coordinated Production and Transportation Scheduling Method and System Based on Improved Tabu Search Algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710813169.2A CN107392402B (zh) | 2017-09-11 | 2017-09-11 | 基于改进禁忌搜索算法的生产运输协同调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107392402A CN107392402A (zh) | 2017-11-24 |
CN107392402B true CN107392402B (zh) | 2018-08-31 |
Family
ID=60352218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710813169.2A Active CN107392402B (zh) | 2017-09-11 | 2017-09-11 | 基于改进禁忌搜索算法的生产运输协同调度方法及系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190080271A1 (zh) |
CN (1) | CN107392402B (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009013A (zh) * | 2017-12-25 | 2018-05-08 | 湖南大学 | 针对分离约束背包问题的一种协同的并行邻域搜索方法 |
CN109255484B (zh) * | 2018-09-12 | 2021-09-14 | 合肥工业大学 | 数据驱动的离散制造资源协同优化方法及系统 |
CN109961221A (zh) * | 2019-03-20 | 2019-07-02 | 合肥工业大学 | 一种直接配送时间依赖于机器地理位置的平行机调度方法 |
CN110414826B (zh) * | 2019-07-23 | 2022-03-15 | 浙江财经大学 | 一种云制造环境下柔性多任务前摄性调度优化方法 |
CN110580606B (zh) * | 2019-09-12 | 2023-11-07 | 上海欧冶供应链有限公司 | 铁路运输数据的匹配方法 |
CN110866591B (zh) * | 2019-10-28 | 2022-11-01 | 浙江大学 | 基于需求预测进行前瞻式云制造服务租赁配置的方法 |
CN110635486B (zh) * | 2019-11-11 | 2023-01-06 | 哈尔滨工业大学 | 一种计及配电网络约束条件的负荷调频优化调度方法 |
CN110909858B (zh) * | 2019-11-27 | 2023-06-02 | 安徽大学 | 一种基于双信息素蚁群算法的批调度方法 |
CN111049151A (zh) * | 2020-01-03 | 2020-04-21 | 云南电网有限责任公司电力科学研究院 | 一种基于nsga2的配电网电压两阶段优化算法 |
CN111242446A (zh) * | 2020-01-06 | 2020-06-05 | 浙江工业大学 | 一种基于ga-ts混合算法的车间排产方法 |
CN111325483B (zh) * | 2020-03-17 | 2024-01-26 | 郑州天迈科技股份有限公司 | 一种基于电池容量预测的电动公交车辆排班方法 |
CN111695198B (zh) * | 2020-06-03 | 2023-03-24 | 重庆交通大学 | 船闸浮式系船柱受力特征自动化感知及预警系统 |
CN111738499A (zh) * | 2020-06-10 | 2020-10-02 | 大连理工大学 | 一种基于新型邻域结构的作业车间分批调度方法 |
CN111950761B (zh) * | 2020-07-01 | 2022-11-15 | 合肥工业大学 | 面向高端装备复杂分层任务网络的研制资源集成调度方法 |
CN111860622B (zh) * | 2020-07-03 | 2023-12-22 | 北京科技大学 | 一种应用于编程现场大数据的聚类方法及系统 |
CN111985683B (zh) * | 2020-07-14 | 2023-10-24 | 华南理工大学 | 一种多目标离散装配车间物料配送的路径优化方法 |
CN112001064B (zh) * | 2020-07-29 | 2022-08-23 | 浙江大学 | 一种集装箱码头间全自主水上运输调度方法及系统 |
WO2022021119A1 (zh) | 2020-07-29 | 2022-02-03 | 浙江大学 | 一种集装箱码头间全自主水上运输调度方法及系统 |
CN112016757B (zh) * | 2020-09-02 | 2023-10-27 | 沈阳航空航天大学 | 一种卷盘料带裁切方法及系统 |
CN112101773A (zh) * | 2020-09-10 | 2020-12-18 | 齐鲁工业大学 | 一种用于流程工业的多智能体系统任务调度方法及系统 |
CN112163808B (zh) * | 2020-09-23 | 2022-04-01 | 贵州工程应用技术学院 | 一种基于对立学习的自适应鲸鱼算法求解物流中心选址问题的方法 |
CN112232584B (zh) * | 2020-10-28 | 2023-11-24 | 中冶南方工程技术有限公司 | 一种钢铁企业大宗原燃料汽车取样组批方法和系统 |
CN112819216B (zh) * | 2021-01-26 | 2024-04-05 | 国网安徽省电力有限公司电力科学研究院 | 一种基于风电序列场景集的生成方法及系统 |
CN112883496B (zh) * | 2021-03-18 | 2022-05-24 | 中国人民解放军国防科技大学 | 基于禁忌搜索的舰队系统可靠性动态优化方法 |
CN113128839B (zh) * | 2021-03-23 | 2022-09-30 | 合肥工业大学 | 面向高端装备分布式制造与多模式运输的协同调度方法 |
CN113011612B (zh) * | 2021-03-23 | 2022-09-20 | 合肥工业大学 | 基于改进灰狼算法的生产与维修调度方法及系统 |
CN112884370B (zh) * | 2021-03-23 | 2022-10-28 | 合肥工业大学 | 考虑订单插单的高端装备研制过程多项目重调度方法及系统 |
CN113112131B (zh) * | 2021-03-25 | 2022-08-16 | 安徽省交通勘察设计院有限公司 | 一种考虑待闸区容量的船闸通过能力计算方法 |
CN113095726B (zh) * | 2021-05-06 | 2024-03-08 | 广东省现代农业装备研究所 | 基于改进人工鱼群算法的多农机调度作业方法 |
CN113177781B (zh) * | 2021-05-17 | 2022-09-30 | 合肥工业大学 | 基于变邻域和遗传算子的生产组装协同调度方法及系统 |
CN113393111A (zh) * | 2021-06-09 | 2021-09-14 | 东南大学 | 基于变邻域禁忌搜索算法的跨境运输双边接驳车辆调度方法 |
CN113657642B (zh) * | 2021-07-05 | 2023-09-01 | 安徽师范大学 | 基于混合算法的熔炼车间生产和运输协同优化方法及系统 |
CN113806683A (zh) * | 2021-08-09 | 2021-12-17 | 北京交通大学 | 一种大型体育赛事服务人员需求测算与组织调度方法 |
CN113805604B (zh) * | 2021-08-24 | 2023-12-08 | 北京理工大学 | 一种基于差分进化和模拟退火的多任务规划搜索方法 |
CN113902173B (zh) * | 2021-09-16 | 2024-04-26 | 燕山大学 | 一种基于改进狼群算法的柔性作业车间调度方法 |
JP2023078546A (ja) | 2021-11-26 | 2023-06-07 | 富士通株式会社 | 情報処理装置、情報処理方法およびプログラム |
CN116050810B (zh) * | 2023-03-31 | 2023-06-20 | 湖南交通物流信息服务有限公司 | 一种多级联运船闸调度方法及系统 |
CN116896436B (zh) * | 2023-09-11 | 2024-02-09 | 之江实验室 | 基于改进差分进化算法的灵活以太网时隙分配方法及装置 |
CN117634856A (zh) * | 2024-01-26 | 2024-03-01 | 武汉理工大学 | 基于超启发式樽海鞘算法的液压缸制造联合调度方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6216109B1 (en) * | 1994-10-11 | 2001-04-10 | Peoplesoft, Inc. | Iterative repair optimization with particular application to scheduling for integrated capacity and inventory planning |
US6115700A (en) * | 1997-01-31 | 2000-09-05 | The United States Of America As Represented By The Secretary Of The Navy | System and method for tracking vehicles using random search algorithms |
US8190463B2 (en) * | 2000-09-06 | 2012-05-29 | Masterlink Corporation | System and method for managing mobile workers |
US20060161335A1 (en) * | 2005-01-14 | 2006-07-20 | Ross Beinhaker | Routing system and method |
US8457997B2 (en) * | 2005-04-29 | 2013-06-04 | Landmark Graphics Corporation | Optimization of decisions regarding multiple assets in the presence of various underlying uncertainties |
US8428991B1 (en) * | 2005-06-30 | 2013-04-23 | Dennis Brian Rooks | System and method for scheduling |
US7653522B2 (en) * | 2005-12-07 | 2010-01-26 | Utah State University | Robustness optimization system |
CN101154815B (zh) * | 2006-09-29 | 2012-08-29 | 霍尼韦尔(中国)高科技有限公司 | 动态经济负荷分配 |
US8041654B2 (en) * | 2007-06-01 | 2011-10-18 | Neal Solomon | System for hybridized efficient genetic algorithms to solve bi-objective optimization problems with application to network computing |
US8793202B2 (en) * | 2009-12-04 | 2014-07-29 | Abb Research Ltd. | Restoration switching analysis with genetic algorithm |
US8655705B2 (en) * | 2010-01-13 | 2014-02-18 | Lockheed Martin Corporation | Systems, methods and apparatus for implementing hybrid meta-heuristic inventory optimization based on production schedule and asset routing |
US8606386B2 (en) * | 2010-03-12 | 2013-12-10 | Ana Maria Dias Medureira Pereira | Multi-agent system for distributed manufacturing scheduling with Genetic Algorithms and Tabu Search |
US8392926B2 (en) * | 2010-04-06 | 2013-03-05 | International Business Machines Corporation | Scheduling heterogeneous partitioned resources with sharing constraints |
CN101984412B (zh) * | 2010-10-13 | 2013-01-30 | 北京航空航天大学 | 一种基于分组和禁忌搜索的并行测试任务调度方法 |
CN103226611B (zh) * | 2013-05-07 | 2016-01-20 | 南京理工大学 | 一种基于禁忌搜索的组合主体服务选择方法 |
CN104463394A (zh) * | 2013-09-18 | 2015-03-25 | Sap欧洲公司 | 生产资源管理 |
EP3295301A4 (en) * | 2015-05-15 | 2018-10-31 | Cox Automotive, Inc. | Parallel processing for solution space partitions |
CN106611231A (zh) * | 2016-01-08 | 2017-05-03 | 四川用联信息技术有限公司 | 一种混合粒子群禁忌搜索算法求解作业车间调度问题 |
CN105956689B (zh) * | 2016-04-21 | 2017-08-25 | 合肥工业大学 | 一种基于改进粒子群优化的运输和生产协同调度方法 |
US20180129192A1 (en) * | 2016-11-07 | 2018-05-10 | Fujitsu Limited | Job planning device and job planning method |
CN106779372B (zh) * | 2016-12-05 | 2019-12-24 | 东华大学 | 基于改进免疫禁忌算法的农机调度方法 |
CN107450498B (zh) * | 2017-09-11 | 2018-08-28 | 合肥工业大学 | 基于改进人工蜂群算法的生产调度方法及系统 |
-
2017
- 2017-09-11 CN CN201710813169.2A patent/CN107392402B/zh active Active
-
2018
- 2018-09-11 US US16/127,350 patent/US20190080271A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN107392402A (zh) | 2017-11-24 |
US20190080271A1 (en) | 2019-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107392402B (zh) | 基于改进禁忌搜索算法的生产运输协同调度方法及系统 | |
CN107590603B (zh) | 基于改进变邻域搜索和差分进化算法的调度方法及系统 | |
CN107450498B (zh) | 基于改进人工蜂群算法的生产调度方法及系统 | |
CN107301473B (zh) | 基于改进遗传算法的同类平行机批调度方法及系统 | |
CN107168267B (zh) | 基于改进粒子群与启发式策略的生产排产方法及系统 | |
Pan et al. | A novel discrete artificial bee colony algorithm for the hybrid flowshop scheduling problem with makespan minimisation | |
CN107301504B (zh) | 基于混合蛙跳—路径重连的生产运输协同调度方法和系统 | |
CN106970604B (zh) | 一种基于蚁群算法的多目标工件调度算法 | |
CN110598941A (zh) | 一种基于仿生策略的粒子群优化制造系统双目标排产方法 | |
CN105629927A (zh) | 一种基于混合遗传算法的mes生产计划排产方法 | |
CN107230023B (zh) | 基于改进和声搜索的生产和运输协同调度方法和系统 | |
CN103530702A (zh) | 一种基于瓶颈设备分解的大规模作业车间调度方法 | |
CN110533301A (zh) | 一种基于动态约束矩阵的粒子群调度方法 | |
CN105956689A (zh) | 一种基于改进粒子群优化的运输和生产协同调度方法 | |
CN112561225B (zh) | 一种基于标杆协同进化算法的柔性作业车间调度方法 | |
CN110516978A (zh) | 一种电子产品调测生产线混流排产方法 | |
CN106611231A (zh) | 一种混合粒子群禁忌搜索算法求解作业车间调度问题 | |
CN113705812B (zh) | 基于混合并行遗传和变邻域算法的生产调度方法和系统 | |
CN104503381B (zh) | 一种手机的生产装配过程的优化调度方法 | |
CN116933939A (zh) | 基于改进浣熊优化算法的柔性车间协同生产方法及系统 | |
CN107437138B (zh) | 基于改进引力搜索算法的生产运输协同调度方法及系统 | |
CN107423810B (zh) | 基于骆驼群算法的作业车间调度排产方法及系统 | |
CN109214695A (zh) | 基于改进eda的高端装备研发制造协同调度方法及系统 | |
Ge et al. | An efficient artificial fish swarm model with estimation of distribution for flexible job shop scheduling | |
CN107730065B (zh) | 基于改进变邻域搜索算法的生产调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |