CN110909858B - 一种基于双信息素蚁群算法的批调度方法 - Google Patents
一种基于双信息素蚁群算法的批调度方法 Download PDFInfo
- Publication number
- CN110909858B CN110909858B CN201911178914.6A CN201911178914A CN110909858B CN 110909858 B CN110909858 B CN 110909858B CN 201911178914 A CN201911178914 A CN 201911178914A CN 110909858 B CN110909858 B CN 110909858B
- Authority
- CN
- China
- Prior art keywords
- batch
- ant
- workpiece
- machine
- pheromone
- 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
- 239000003016 pheromone Substances 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000005457 optimization Methods 0.000 claims description 14
- 241000257303 Hymenoptera Species 0.000 claims description 7
- 230000008020 evaporation Effects 0.000 claims description 5
- 238000001704 evaporation Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 4
- 238000009776 industrial production Methods 0.000 abstract description 2
- 238000002474 experimental method Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- KHOITXIGCFIULA-UHFFFAOYSA-N Alophen Chemical compound C1=CC(OC(=O)C)=CC=C1C(C=1N=CC=CC=1)C1=CC=C(OC(C)=O)C=C1 KHOITXIGCFIULA-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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
-
- 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
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Educational Administration (AREA)
- Primary Health Care (AREA)
- Manufacturing & Machinery (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于双信息素蚁群算法的批调度方法,包括S1:初始化n、M、Si、AntNum、Tmax、ρ,Ant=1,t=1;S2:令S3:蚂蚁Ant将工件分配到机器中,得到分批方案;S4:优化分批方案,计算解;S5:如果Ant<AntNum,令Ant=Ant+1,返回S3,否则获取当前的全局最优解,令Ant=1,更新期望和S6:当t<Tmax时,如果t%TS=0,令t=t+1,返回S2,否则令t=t+1,返回S3,当t≥Tmax时输出全局最优解及对应的分批方案。本发明提供的一种基于双信息素蚁群算法的批调度方法的优点在于:引入双信息素,同时考虑工件一起加工和顺序加工的期望,提高了对分批方案的优化效果,通过周期性初始化期望值,能够增加产生新解的可能性,防止陷入局部最优,为工业生产提供了有效的指导意见。
Description
技术领域
本发明涉及批调度优化技术领域,尤其涉及一种基于双信息素蚁群算法的批调度方法
背景技术
近些年,多机批调度问题因其巨大的应用潜力引起了公众的广泛关注。BPMs批调度模型应用于现代很多制造业的工厂加工例如食品,化工,锻造,电子芯片,半导体加工等;在今天社会,资源有限的情况下,合理的利用资源获得尽可能高的效益或者效率变得越来越紧迫,因此,如何有效地调度资源是现代工业的关键。有些情况下,由于产能的限制,导致会存在生产积压的情况,而又总会有一些重要的工作希望能放到前面去做,目前人们往往只是根据事件本身的重要度进行排序将更重要的事件放到更靠前的位置,但是缺乏科学的方法获得最优的顺序。
发明内容
本发明所要解决的技术问题在于提供一种对具有不同重要程度和加工时间的工件序列进行科学调度的批调度方法。
本发明是通过以下技术方案解决上述技术问题的:
一种基于双信息素蚁群算法的批调度方法,包括以下步骤
S1:初始化工件数量n、机器数量M、机器的容量Si(i=1,2,3,...,M)、蚂蚁数量AntNum、最大迭代次数Tmax、信息素的蒸发率ρ,第Ant=1只蚂蚁,当前第t=1迭代;
S4:通过局部优化策略优化分批方案,并计算当前分批方案的解;
S6:当t<Tmax时,如果t%TS=0,令t=t+1,返回S2,否则令t=t+1,返回S3,当t>Tmax时输出全局最优解及对应的分批方案;
其中,TS为期望初始化周期,t%TS表示t除以TS的余数。
优选的,S2中所述的常数c1=c2=0.05。
优选的,S3中所述的当前蚂蚁Ant将所有工件依次分配到各机器Mi的批中,得到一个分批方案的方法包括以下步骤:
步骤i:初始化禁忌列表DE=(1,2,3,···,n);
步骤ii:计算所有机器的加权完工时间,蚂蚁Ant寻找当前加权完工时间最小的机器Mi,在机器Mi上构建批Bbi,如果存在多个加权完工时间最小的机器,则从这多个加权完工时间最小的机器中选择容量最小的机器,若同时存在多个容量最小的机器,则从中随机选择一个;
步骤v:将工件Jj放入批Bbi后,更新禁忌列表DEj=0,返回步骤iii;
步骤vi:如果DE≠(0,0,0,···,0),返回步骤ii,当DE=(0,0,0,···,0)时,输出当前蚂蚁Ant的分批方案。
优选的,步骤ii中所述机器Mi的加权完工时间定义为WMi*CMi,
其中WMi为机器的权重,定义为当前机器Mi上所有批的权重之和,批的权重为批中所有工件的权重之和,即
其中,WBbi为批Bbi的权重,wj为工件Jj的权重;
CMi为机器的完工时间,定义整个分批方案开始处理的时间为0时刻,CMi为机器Mi上最后一个批的完工时刻,批的完工时刻为前一批的完工时刻+当前批的处理时间,即
CMi=CBki,k=|Mi|
CB(b+1)i=CBbi+PB(b+1)i
PBbi=max{pj|Jj∈Bbi}
其中,|Mi|为机器Mi内的批的总数,CBbi为批Bbi的完工时刻,PBbi为批Bbi的处理时间,pj为工件Jj的处理时间。
优选的,步骤iii中所述的候选列表CLbi为尺寸小于当前批Bbi所在机器的剩余容量的未分配工件集合,即:
sj为工件Jj的尺寸,Si为机器Mi的容量,即批Bbi的最大尺寸。
优选的,步骤iv中所述的首工件选择策略为:计算候选列表CLbi中所有工件的平均wj/sj值,在CLbi中wj/sj值大于该平均值的所有工件中随机选择一个工件,作为批Bbi的第一个工件。
优选的,步骤iv中所述的工件选择概率的计算方法为:
优选的,S4所述的局部优化策略包括以下步骤:
步骤I:对分批方案中的所有批计算WB/PB并从大到小排序,获取批数量B,和每个批内Bi的工件数量|Bi|,初始化a=c=d=1,b=a+1;
步骤II:如果同时满足
则跳转步骤III,否则跳转步骤IV;
其中,BJWad为批Ba上的第d个工件BJad的权值,BJSad为工件BJad的尺寸;MSBJbc为批Bb中删除第c个工件BJbc之后的剩余空间,BJPad为工件BJad的处理时间;
步骤III:令
X1=WBb*PBb+WBa*PBa
X2=WB′a*PB′a+WB′b*PB′b
其中,BJWad为工件BJad的权值,B′a和B′b是假设工件BJbc与BJad交换后得到的新批;
如果X1>X2,则在批Ba和Bb中交换工件BJad、BJbc,否则跳转步骤IV;
步骤IV:如果d<|Ba|,则d=d+1,返回步骤II,否则令d=1,转向步骤V;
步骤V:如果c<|Bb|,则c=c+1,返回步骤II,否则令c=1,转向步骤VI;
步骤VI:如果b<B,则b=b+1,返回步骤II,否则转向步骤VII;
步骤VII:如果a<B,则a=a+1,b=a+1,返回步骤II,否则记录调整后的分批方案;
步骤VIII:获取步骤VII调整后的分批方案,令a=1,b=a+1,z=1;
步骤IX:如果同时满足MSBa>BJSbz、BJPbz<PBa、BJWbz>WBa,则将工件BJWbz放入批Ba中,其中MSBa为批Ba所在机器的剩余容量;
步骤X:如果z<|Bb|,则z=z+1,返回步骤IX,否则令z=1,转向步骤XI;
步骤XI:如果b<B,则b=b+1,返回步骤IX,否则转向步骤XII;
步骤XII:如果a<B,则a=a+1,b=a+1,返回步骤IX,否则输出优化后的分批方案。
优选的,S4中所述的分批方案的解Q为分批方案的总加权完工时间,记为
cj=CBbi,Jj∈Bbi
其中,cj为工件Jj的完工时刻,其等于工件Jj所属批Bbi的完工时刻。
优选的,S5中所述的更新信息素的方法为:
本发明提供的一种基于双信息素蚁群算法的批调度方法的优点在于:引入双信息素的概念提高了对分批方案的优化效果,通过周期性初始化期望值,能够增加产生新解的可能性,防止陷入局部最优,为工业生产提供了有效的指导意见。
附图说明
图1为本发明的实施例提供的基于双信息素蚁群算法的批调度方法的流程图;
图2为本发明的实施例提供的基于双信息素蚁群算法的批调度方法的局部优化策略的流程图;
图3为本发明的实施例提供的验证参数最优组合的实验数据;
图4为本发明的实施例提供的验证信息素中的期望初始化周期的实验数据;
图5为本发明的实施例提供的不同工件数量下各算法的性能比较图;
图6为本发明的实施例提供的不同工件数量下信息素对算法求解质量的影响对比图;
图7为本发明的实施例提供的不同工件数量下信息素对算法时间的影响对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本实施例对方案进行解释时,会存在部分形式相同的局部变量,当相同形式的变量在不同位置的概念有冲突时,以其所处的局部算法的定义为准;为了方便区分本申请以不同的方式对具体步骤进行了区分,应当理解的是,不同的表达方式仅为了区分不同的步骤,不用于限制步骤之间的顺序。
为了便于解决实际问题,在构造算法时需将实际问题进行简化建模,本申请所要解决的问题模型如下:
(1)有一组工件J={J1,J2,J3...,Jn},分批后表示为B={B1,B2,...,Bk},在平行机器M={M1,M2,...,Mm}上处理,每个工件Jj的固有属性包括处理时间pj、尺寸sj和权值wj,每台机器Mi的固有属性包括容量Si,设定机器容量关系为S1≤S2≤...≤Sm,而且一台机器可以同时批量处理多个工件,只要同一批的工件尺寸总和不超过机器的容量即可,即
(2)机器Mi上第b个批Bbi的处理时间记为PBbi,它由该批Bbi中处理时间最长的工件决定,即PBbi=max{pj|Jj∈Bbi},定义整个分批方案开始处理的时间为0时刻,机器Mi的完工时间CMi为该机器Mi中所有批Bbi处理时间之和,即批Bbi的完工时刻CBbi定义为同一机器Mi内上一个批B(b-1)i的完工时刻CB(b-1)i加上当前批Bbi的处理时间PBbi,即CBbi=CB(b-1)i+PBbi;
(4)批处理开始后不能中断,其他工件在处理完成后才能加入。
参考图1,基于上述实际问题模型,本实施例提供了一种基于双信息素蚁群算法的批调度方法,包括以下步骤:
S1:初始化工件数量n、机器数量M、机器的容量Si(i=1,2,3,...,M)、蚂蚁数量AntNum、最大迭代次数Tmax、信息素的蒸发率ρ,第Ant=1只蚂蚁,当前第t=1迭代;
步骤i:初始化禁忌列表DE=(1,2,3,···,n);
禁忌列表规模与工件规模相同,当禁忌列表内的第j个数值DEj=0时,表示对应的工件Jj已经被分配,当DEj≠0时,代表对应的工件Jj未被分配,因此禁忌列表DB可以被初始化为任何规模为n且数值均非0的集合。
步骤ii:计算所有机器的加权完工时间,蚂蚁Ant寻找当前加权完工时间最小的机器Mi,在机器Mi上构建批Bbi,如果存在多个加权完工时间最小的机器,则从这多个加权完工时间最小的机器中选择容量最小的机器,若同时存在多个容量最小的机器,则从中随机选择一个;
所述机器Mi的加权完工时间定义为WMi*CMi,
其中WMi为机器的权重,定义为当前机器Mi上所有批的权重之和,批的权重为批中所有工件的权重之和,即
其中,WBbi为批Bbi的权重,wj为工件Jj的权重;
CMi为机器的完工时间,定义整个分批方案开始处理的时间为0时刻,CMi为机器Mi上最后一个批的完工时刻,批的完工时刻为前一批的完工时刻+当前批的处理时间,即
CB(b+1)i=CBbi+PB(b+1)i
PBbi=max{pj|Jj∈Bbi}
其中,|Mi|为机器Mi内的批的总数,CBbi为批Bbi的完工时刻,PBbi为批Bbi的处理时间,pj为工件Jj的处理时间;
所述候选列表CLbi为尺寸小于当前批Bbi所在的机器Mi的剩余容量的未分配工件的集合,即
sj为工件Jj的尺寸,Si为机器Mi的容量,即批Bbi的最大尺寸。
所述首工件策略为:计算候选列表CLbi中所有工件的平均wj/sj值,在CLbi中wj/sj值大于该平均值的所有工件中随机选择一个工件作为批Bbi的第一个工件;整体思想为优先放入权重大的工件,同时为了能放入更多工件所以选择时倾向于小尺寸工件,即选择单位尺寸权重更大的工件优先放入批Bbi中。
所述选择概率Pbij为工件Jj放入批Bbi中的概率,计算方式如下:
其中,为工件Jj放入批Bbi的可能性,为工件Jj在候选列表CLbi中其他工件之前的可能性;工件Jj与批Bbi中的工件Jk放入同一批的期望越大,值越大,工件Jj放在候选列表CLbi中其他工件Jx前面的期望越大,值越大;
和蚁群算法的第一启发式信息和第二启发式信息,根据计算公式可知,工件Jj的处理时间pj越接近批Bbi的处理时间PBbi,第一启发式信息越大,工件Jj被选择的概率也就越高,即希望整个批Bbi中的工件处理时间较为集中,因而优先选择处理时间接近的工件;同时工件Jj权重wj越大,尺寸sj越小,则第二启发式信息就越大,该工件被优先选择的概率越大;α、β、ω为调整信息素和启发式信息权重的常数,优选实施例中选用的数值分别为:α=3、β=1、ω=1/3。
步骤v:无论是通过基于首工件策略还是基于选择概率选择一个工件Jj放入批Bbi后,都需要更新禁忌列表DEj=0;然后返回步骤iii更新候选列表CLbi,
步骤vi:如果DE≠(0,0,0,···,0),则表示还有工件未被选择,返回步骤ii让蚂蚁Ant重新挑选机器,当DE=(0,0,0,···,0)时,表示所有工件均被分配到批中,输出分批方案。
S4:通过局部优化策略优化分批方案,并计算当前分批方案的解;参考图2,具体包括以下步骤:
步骤I:对分批方案中的所有批计算WB/PB并从大到小排序,获取批数量B,和每个批Bi内的工件数量|Bi|,初始化a=c=d=1,b=a+1;
步骤II:如果同时满足
则跳转步骤III,否则跳转步骤IV;
其中,BJWad为批Ba上的第d个工件BJad的权值,BJSad为工件BJad的尺寸;MSBJbc为批Bb中删除第c个工件BJbc之后的剩余空间,BJPad为工件BJad的处理时间;上述第一个条件用于判断后面批Bb中的工件BJbc权值是否比前面的工件BJad更高,第一组的两个不等式用于判断工件BJad与工件BJbc进行交换是否满足空间要求,第二组的两个不等式用于判断工件BJad与BJbc交换后是否会增大批的处理时间;
步骤III:令
X1=WBb*PBb+WBa*PBa
X2=WB′a*PB′a+WB′b*PB′b
其中,BJWad为工件BJad的权值,B′a和B′b是假设工件BJbc与BJad交换后得到的新批;
如果X1>X2,则在批Ba和Bb中交换工件BJad、BJbc,否则跳转步骤IV;
步骤IV:如果d<|Ba|,则d=d+1,返回步骤II,否则令d=1,转向步骤V;
步骤V:如果c<|Bb|,则c=c+1,返回步骤II,否则令c=1,转向步骤VI;
步骤VI:如果b<B,则b=b+1,返回步骤II,否则转向步骤VII;
步骤VII:如果a<B,则a=a+1,b=a+1,返回步骤II,否则记录调整后的分批方案;
通过上述优化方法,能够将权重更大且满足空间和处理时间限制的工件交换到更靠前的位置,从而让权重高的工件更早的进行加工处理;经过上述优化的分批方案还要进行第二次优化,具体步骤包括:
步骤VIII:获取步骤VII调整后的分批方案,令a=1,b=a+1,z=1;
步骤IX:如果同时满足MSBa>BJSbz、BJPbz<PBa、BJWbz>WBa,则将工件BJWbz放入批Ba中,其中MSBa为批Ba所在机器的剩余容量;
步骤X:如果z<|Bb|,则z=z+1,返回步骤IX,否则令z=1,转向步骤XI;
步骤XI:如果b<B,则b=b+1,返回步骤IX,否则转向步骤XII;
步骤XII:如果a<B,则a=a+1,b=a+1,返回步骤IX,否则输出优化后的分批方案。
通过上述第二次优化,直接将满足尺寸要求、不会增大前面批的处理时间且权重更大的工件放入前面的批中,通过上述两步优化,即可得到在第t次迭代周期中当前蚂蚁Ant分配的分批方案。
所述分批方案的解Q定义为分批方案的总加权完工时间,即
cj=CBbi,Jj∈Bbi
其中,cj为工件Jj的完工时刻,其等于工件Jj所属批Bbi的完工时刻。
S5:如果Ant<AntNum,令Ant=Ant+1,返回S3得到下一个分批方案;
所述更新期望的方法为:
其中,信息素的蒸发率ρ为0-1之间的随机数,优选实施例中在S1中初始化为ρ=0.5,避免信息素的无限积累;表示在第t次迭代中将工件Ji和Jj分配到同一批次的蚂蚁数量;表示在第t次迭代中将先分配工件Ji,后分配工件Jj的蚂蚁数量;表示第t次迭代中期望的增量,表示第t次迭代中期望的增量。
其中,TS为期望初始化周期,t%TS表示t除以TS的余数,优选实施例中设置的初始化周期为TS=10。
实验分析
为了验证本实施例提供的基于双信息素蚁群算法(BPACO算法)的批调度方法的有效性,我们设计了四种数量不同的工件集合,分别为n={90,180,270,360},对于每种工件数量,随机生成10个实例,其中工件的处理时间pj和权重wj分别均匀分布在pj∈[1,20],wj∈[1,30],有容量为10、25和65三种机器,数量分别为5、3、2;三种机器的集合分别为m1、m2和m3,对应的机器容量分别为S1=10、S2=25和S3=65。
对于数量为n的工件集合按尺寸分为三组,分别表示为J1、J2和J3,其中,J3中的工件仅能在m3中的机器中处理,J2中的工件能够用m2和m3中的机器处理,J1中的工件可以在所有机器中处理;此外J1、J2和J3中工件数分别为6n/9,2n/9和n/9;工件的尺寸分布遵循泊松分布,具体表示为:
λi=Si/2,(i=1,2,3)
对每个集合中随机生成的工件尺寸执行以下定义:
其中So=1,另外为了确保有足够多的小型工件被填充到大容量机器中,从间隔(Si-1,Si/2]中随机选择70%的工件,从间隔(Si/2,Si]中随机选择30%的工件构成测试集,表1为实验中选择的参数。
因素 | 参数值 |
机器容量 | S1=10,S2=25,S3=65 |
机器数量 | |m1|=5,|m2|=3,|m3|=2 |
工件数量 | n={90,180,270,360} |
加工时间范围 | pj∈[1,20] |
工件权值范围 | wj∈[1,30] |
工件尺寸 | sj∈[1,65] |
表1:实验算例参数
为了提高本实施例提供的BPACO算法的性能,设计实验时参考了现有技术中确定部分算法参数,如基于文献JIA Z,LEUNG J.An improved meta-heuristic for makespanminimization of asingle batch machine with non-identical job sizes(J).Computers&Operations Research,2014,46:49-58,确定蚂蚁数量AntNum=20,最大迭代次数Tmax=200,蒸发率ρ=0.5,α∈{1/3,1,3},β∈{1/3,1,3},ω∈{1/3,1,3};基于上述参数,设计了如下实验确定启发式信息和信息素的权重α、β和ω的数值。
从n={90,180,270,360}的每个工件数中分别挑选2个实例,得到8个实例,每个实例运行10次,针对每个实例以不同的α、β和ω的数值组合计算出目标值,以不同组合方式下的所有实例的平均值作为组合方式优劣的衡量指标,参考图3,横坐标为不同的组合形式,纵坐标为对应参数组合求出的加权总完成时间的平均值,从中可以看出,当ω<1时平均值相对优于ω>1时各个组合的情况,所以确定同时可以发现当α>β时,目标值的平均值优于α<β时的目标值;当α>1时,各参数值组合的平均质量更好,综上所述,将参数组合确定为α=3,β=1,
本实施例提供的BPACO算法中,每隔TS代重置期望值,以避免蚁群陷入局部最优,在最大迭代次数Tmax=200的情况下,期望初始化周期的取值范围为TS∈[0,100],我们设计了以下实验确定期望初始化周期TS的取值,实验实例的选取方法和衡量标准与上一实验相同,参考图4,纵坐标代表BPACO算法求出的目标值的平均值,横坐标代表初始化周期TS的取值,从图中可以看出,初始化周期TS对目标值的影响非常明显,经过对比,最终确定初始化周期为TS=10。
实验中选择元启发式算法RKGA、LACO和PSO为对比算法与本实施例提供过的BPACO算法进行比较,将每个工件数量生成的10组数据分别输入上述算法,每个实例运行10次,以20次的平均值作为该实例的解所有算法均在Pentium(R)双核2.8GHz CPU,2GB RAM环境下,C++编程实现。为了验证算法性能,需要确定所要解决的问题的下界,问题下界的计算步骤如下:
步骤1:按所有机器按容量降序排列;
步骤3:在所有机器上构建新批,依次将工件按照first-fit规则分配到机器上,如果所有机器上的批剩余空间均无法容纳此工件,则在所有机器上构建新批,继续放入工件,直到所有工件被分配完成;
步骤4:计算目标值。
RA的数值越小,表示算法的解约接近下界,解的质量越高。
进一步的,还提供了解决上述问题的启发式算法(H算法)以便与其他算法进行比较,启发式算法的思想为:有三种不同容量的机器,根据机器容量,将所有工件分为三个不同的子集J1、J2和J3,即
J=J1∪J2∪J3
J1={sj|sj≤S1}
J2={sj|S1<sj≤S2}
J3={sj|S2≤sj≤S3}
将容量为S1的机器按照MCi升序排列,集合J1中的工件按照降序排列,将工件按照first-fit规则依次放入机器中,直到集合J1中的所有工件被分配完,然后用同样的方法分配集合J2和J3中的工件,并计算目标值。
表2:n=90时的算法性能对比表
表3:n=180时的算法性能对比表
表4:n=270时的算法性能对比表
表5:n=360时的算法性能对比表
表2-表5分别给出了不同工件数量下的算法性能对比,其中表示RA的平均值,表示运行时间的平均值;从表2-表5可以看出,随着工件数量的增加,BPACO的目标值越来越接近下界,这意味着BPACO算法可以找到更接近下界的解,说明该解的质量更;参考图5,横坐标为工件数,纵坐标为评价指标的平均值;从图5可以看出,BPACO算法得到的解质量优于其它算法,并且随着问题规模的增大,BPACO算法的优越性更加明显。
进一步研究可以发现本实施例提供过的BPACO算法的运行时间较长,和现有蚁群算法相比,BPACO算法的不同在于使用了两种信息素和为了适配所研究的问题而设计了专门的局部优化算,表2-表5中的BPACO-N列为BPACO算法去掉局部优化策略后的算法,可以看出其相对BPACO算法在运行时间上并没有太大优势,因此可以认为局部优化策略并不是导致BPACO算法运行时间长的主要因素。
为了验证双信息素策略消耗的时间,继续进行了以下实验;我们分别选择一种信息素进行运算并与BPACO进行比较,其中BPACO-S1为采用信息素的算法,BPACO-S2为采用信息素的算法,实验结果如表6-9所示。
表6:n=90时信息素对算法性能的影响对比表
表7:n=180时信息素对算法性能的影响对比表
表8:n=270时信息素对算法性能的影响对比表
表9:n=360时信息素对算法性能的影响对比表
从表6-表9可以看出,BPACO的求解质量远高于任一单信息素算法,双信息素虽然会增加算法的运行时间,但其对时间增加的影响远没有对求解质量的影响大;参考图6,横坐标为工件数,纵坐标为评价指标RA的平均值,从中也可以看出,在相同的条件下,BPACO的求解质量要优于单信息素蚁群算法;从图7中可以看出,随着工件数量的增加,BPACO算法比单信息素蚁群算法的耗时更长。综上所述,在所有算法中,BPACO的性能是最好的,随着工件规模的增加,BPACO的优势在图6中更加明显;但BPACO算法存在一个缺点,即BPACO算法的时间复杂度高于比较算法。
Claims (9)
1.一种基于双信息素蚁群算法的批调度方法,其特征在于:包括以下步骤
S1:初始化工件数量n、机器数量M、机器的容量Si(i=1,2,3,...,M)、蚂蚁数量AntNum、最大迭代次数Tmax、信息素的蒸发率ρ,第Ant=1只蚂蚁,当前第t=1迭代;
S4:通过局部优化策略优化分批方案,并计算当前分批方案的解;
S4所述的局部优化策略包括以下步骤:
步骤I:将分批方案中的所有批计算WB/PB并从大到小排序,获取批数量B,和每个批内Bi的工件数量|Bi|,初始化a=c=d=1,b=a+1;
步骤II:如果同时满足
则跳转步骤III,否则跳转步骤IV;
其中,BJWad为批Ba上的第d个工件BJad的权值,BJSad为工件BJad的尺寸;MSBJbc为批Bb中删除第c个工件BJbc之后的剩余空间,BJPad为工件BJad的处理时间;
步骤III:令
X1=WBb*PBb+WBa*PBa
X2=WB′a*PB′a+WB′b*PB′b
其中,BJWad为工件BJad的权值,B′a和B′b是假设工件BJbc与BJad交换后得到的新批;
如果X1>X2,则在批Ba和Bb中交换工件BJad、BJbc,否则跳转步骤IV;
步骤IV:如果d<|Ba|,则d=d+1,返回步骤II,否则令d=1,转向步骤V;
步骤V:如果c<|Bb|,则c=c+1,返回步骤II,否则令c=1,转向步骤VI;
步骤VI:如果b<B,则b=b+1,返回步骤II,否则转向步骤VII;
步骤VII:如果a<B,则a=a+1,b=a+1,返回步骤II,否则记录调整后的分批方案;
步骤VIII:获取步骤VII调整后的分批方案,令a=1,b=a+1,z=1;
步骤IX:如果同时满足MSBa>BJSbz、BJPbz<PBa、BJWbz>WBa,则将工件BJWbz放入批Ba中,其中MSBa为批Ba所在机器的剩余容量;
步骤X:如果z<|Bb|,则z=z+1,返回步骤IX,否则令z=1,转向步骤XI;
步骤XI:如果b<B,则b=b+1,返回步骤IX,否则转向步骤XII;
步骤XII:如果a<B,则a=a+1,b=a+1,返回步骤IX,否则输出优化后的分批方案;
S6:当t<Tmax时,如果t%TS=0,令t=t+1,返回S2,否则令t=t+1,返回S3,当t≥Tmax时输出全局最优解及对应的分批方案;
其中,TS为期望初始化周期,t%TS表示t除以TS的余数。
2.根据权利要求1所述的一种基于双信息素蚁群算法的批调度方法,其特征在于:S2中所述的常数c1=c2=0.05。
3.根据权利要求2所述的一种基于双信息素益群算法的批调度方法,其特征在于:S3中所述的当前蚂蚁Ant将所有工件依次分配到各机器Mi的批中,得到一个分批方案的方法包括以下步骤:
步骤i:初始化禁忌列表DE=(1,2,3,…,n);
步骤ii:计算所有机器的加权完工时间,蚂蚁Ant寻找当前加权完工时间最小的机器Mi,在机器Mi上构建批Bbi,如果存在多个加权完工时间最小的机器,则从这多个加权完工时间最小的机器中选择容量最小的机器,若同时存在多个容量最小的机器,则从中随机选择一个;
步骤v:将工件Jj放入批Bbi后,更新禁忌列表DEj=0,返回步骤iii;
步骤vi:如果DE≠(0,0,0,…,0),返回步骤ii,当DE=(0,0,0,…,0)时,输出当前蚂蚁Ant的分批方案。
4.根据权利要求3所述的一种基于双信息素蚁群算法的批调度方法,其特征在于:步骤ii中所述机器Mi的加权完工时间定义为WMi*CMi,
其中WMi为机器的权重,定义为当前机器Mi上所有批的权重之和,批的权重为批中所有工件的权重之和,即
其中,WBbi为批Bbi的权重,wj为工件Jj的权重;
CMi为机器的完工时间,定义整个分批方案开始处理的时间为0时刻,CMi为机器Mi上最后一个批的完工时刻,批的完工时刻为前一批的完工时刻+当前批的处理时间,即
CMi=CBki,k=|Mi|
CB(b+1)i=CBbi+PB(b+1)i
PBbi=max{pj|Jj∈Bbi}
其中,|Mi|为机器Mi内的批的总数,CBbi为批Bbi的完工时刻,PBbi为批Bbi的处理时间,pj为工件Jj的处理时间。
6.根据权利要求5所述的一种基于双信息素蚁群算法的批调度方法,其特征在于:步骤iv中所述的首工件选择策略为:计算候选列表CLbi中所有工件的平均wj/sj值,在CLbi中wj/sj值大于该平均值的所有工件中随机选择一个工件,作为批Bbi的第一个工件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911178914.6A CN110909858B (zh) | 2019-11-27 | 2019-11-27 | 一种基于双信息素蚁群算法的批调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911178914.6A CN110909858B (zh) | 2019-11-27 | 2019-11-27 | 一种基于双信息素蚁群算法的批调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110909858A CN110909858A (zh) | 2020-03-24 |
CN110909858B true CN110909858B (zh) | 2023-06-02 |
Family
ID=69820083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911178914.6A Active CN110909858B (zh) | 2019-11-27 | 2019-11-27 | 一种基于双信息素蚁群算法的批调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110909858B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112462704A (zh) * | 2020-11-18 | 2021-03-09 | 河海大学常州校区 | 一种面向传感器车间生产的混流批调度优化方法 |
CN112883632B (zh) * | 2021-01-13 | 2022-12-02 | 合肥工业大学 | 一种基于改进蚁群算法的锂电池等效电路模型参数辨识方法 |
CN113011785B (zh) * | 2021-04-21 | 2023-06-13 | 广东机电职业技术学院 | 基于自适应调整参数的多订单混合调度优化方法、介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392402B (zh) * | 2017-09-11 | 2018-08-31 | 合肥工业大学 | 基于改进禁忌搜索算法的生产运输协同调度方法及系统 |
CN109872091B (zh) * | 2019-04-18 | 2022-09-16 | 安徽大学 | 一种基于蚁群算法的工件调度方法及装置 |
CN110161997B (zh) * | 2019-06-12 | 2021-11-05 | 安徽大学 | 基于蚁群和模拟退火算法的流水车间调度方法及装置 |
-
2019
- 2019-11-27 CN CN201911178914.6A patent/CN110909858B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110909858A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110909858B (zh) | 一种基于双信息素蚁群算法的批调度方法 | |
CN107168267B (zh) | 基于改进粒子群与启发式策略的生产排产方法及系统 | |
CN108550007B (zh) | 一种制药企业自动化立体仓库的货位优化方法及系统 | |
CN110543953B (zh) | 基于狼群算法的空间约束下多目标拆卸线设置方法 | |
CN106970604B (zh) | 一种基于蚁群算法的多目标工件调度算法 | |
CN106971235A (zh) | 一种存在中间存储约束的柔性作业车间分批优化调度方法 | |
Mukhopadhyay et al. | FMS machine loading: a simulated annealing approach | |
CN110942251B (zh) | 一种基于联合蚁群算法的批调度方法 | |
CN116933939A (zh) | 基于改进浣熊优化算法的柔性车间协同生产方法及系统 | |
TW201928811A (zh) | 物品揀選方法及相關設備 | |
CN117314091B (zh) | 一种考虑行为的作业任务单分配方法 | |
Mak et al. | Production scheduling and cell formation for virtual cellular manufacturing systems | |
Kashan et al. | Minimizing makespan on a single batch processing machine with non-identical job sizes: a hybrid genetic approach | |
CN107357270A (zh) | 一种eps泡塑制造中的任务调度方法 | |
Kazemi et al. | Concurrent optimization of shared location assignment and storage/retrieval scheduling in multi-shuttle automated storage and retrieval systems | |
CN112633793A (zh) | 自动化立体库通过大数据分析优化货位入库分配的方法 | |
CN115730789A (zh) | 分类存储下的asrs任务调度与货位分配方法及系统 | |
CN117035364A (zh) | 基于改进混合模因算法的分布式异构流水车间调度方法 | |
CN115935616A (zh) | 一种一致批次的序列依赖流水车间组调度多目标优化方法 | |
CN111160711B (zh) | 一种基于蚁群算法的平行机批调度方法 | |
CN113177704A (zh) | 自动引导车的任务分配方法、装置及计算机存储介质 | |
CN117077975A (zh) | 基于混合初始化模因算法的分布式异构流水车间调度方法 | |
CN116502998A (zh) | 一种基于mdpso算法的小件产品储位分配方法 | |
CN113435805A (zh) | 物品存储信息确定方法、装置、设备和存储介质 | |
CN113741369B (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 |