CN111160711A - 一种基于蚁群算法的平行机批调度方法 - Google Patents
一种基于蚁群算法的平行机批调度方法 Download PDFInfo
- Publication number
- CN111160711A CN111160711A CN201911241150.0A CN201911241150A CN111160711A CN 111160711 A CN111160711 A CN 111160711A CN 201911241150 A CN201911241150 A CN 201911241150A CN 111160711 A CN111160711 A CN 111160711A
- Authority
- CN
- China
- Prior art keywords
- batch
- ant
- workpiece
- colony algorithm
- workpieces
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000005457 optimization Methods 0.000 claims abstract description 15
- 239000003016 pheromone Substances 0.000 claims description 21
- 238000003754 machining Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000008020 evaporation Effects 0.000 claims description 8
- 238000001704 evaporation Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 7
- 241000257303 Hymenoptera Species 0.000 claims description 5
- 239000000463 material Substances 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 9
- 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 8
- 238000011156 evaluation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 238000001793 Wilcoxon signed-rank test Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000551 statistical hypothesis test Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
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/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
- 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
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Computational Linguistics (AREA)
- Primary Health Care (AREA)
- Manufacturing & Machinery (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Development Economics (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)
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于蚁群算法的平行机批调度方法,包括步骤A:初始化Tmax、AntNum、工件集合J={J1,J2,…,Jn}、机器集合M={M1,M2,…,Mm};当前迭代周期t=1,蚂蚁序号Ant=1,期望步骤B:当前蚂蚁Ant基于机器的完工时间将所有工件分配到机器中,得到一个调度方案;步骤C:通过局部优化调整步骤B得到的调度方案;步骤D:如果Ant<AntNum,令Ant=Ant+1,返回步骤B;步骤E:确定局部最优解和全局最优解,利用全局最优解更新期望步骤F:如果t<Tmax,则t=t+1,返回步骤B,否则输出全局最优解。本发明提供的基于蚁群算法的平行机批调度方法的优点在于:通过为蚁群算法配置全局期望值更新和局部期望值更新的步骤,有效的解决了对以最小化总加权完工时间为目标的权重、加工时间和尺寸均不同的工件序列的平行机批调度问题。
Description
技术领域
本发明涉及批调度优化技术领域,尤其涉及一种基于蚁群算法的平行机批调度方法。
背景技术
批调度提炼自半导体生产过程中的最后高温测试阶段,由于该工序耗时很长已成为半导体加工的瓶颈,因而提高烤箱的使用率,对提高芯片制造业的生产率具有非常重要的实际意义。目前,批调度已不只是在半导体生产领域有着重要意义,它还广泛应用于纺织工业、工业制造、港口货物装卸、钢铁生产、汽车货物运输等领域。批调度主要解决了经典调度对于机器加工工件数目的约束,可分为串行与平行两种,串行批调度即批的加工时间取批中所有工件的加工时间之和,平行批调度即批的加工时间取批中最大工件加工时间。
近年来关于目标为最小化总加权完工时间的批调度问题成为人们关注的热点,但目前还没有针对工件权重、加工时间、尺寸均不同的情况下以加权完工时间最小化为目标的批调度问题的研究。
发明内容
本发明所要解决的技术问题在于提供一种针对权重、加工时间和尺寸均不同的工件序列,以最小化总加权完工时间为目标的批调度方法。
本发明是通过以下技术方案解决上述技术问题的:一种基于蚁群算法的平行机批调度方法,包括
步骤A:初始化最大迭代次数Tmax、蚂蚁数量AntNum、工件集合J={J1,J2,···,Jn}、容量均为S的机器集合M={M1,M2,···,Mm};当前迭代周期为t=1,蚂蚁序号Ant=1,工件Jx和Jj在第1次迭代中分配在同一批中的期望均初始化为常数0.05;
步骤B:当前蚂蚁Ant基于机器的完工时间将所有工件依次分配到各机器中,得到一个调度方案;
步骤C:通过局部优化调整步骤B得到的调度方案;
步骤D:如果Ant<AntNum,令Ant=Ant+1,返回步骤B;
步骤F:如果t<Tmax,则t=t+1,返回步骤B,否则输出全局最优解。
优选地,步骤B所述的蚂蚁分配工件的方法包括以下步骤:
步骤i:构建禁忌列表TB=(1,2,3,···,n),其中TBj=0,表示工件Jj已被选择,TBj≠0,表示工件Jj未被选择;
步骤ii:选择完工时间最早的机器Mi构建新批Bib,如果存在多个满足条件的机器,则选择序号最小的机器构建新批;
步骤iv:令TBj=0,通过局部期望更新公式更新工件Jj与批Bib中其他工件放入同一批的期望,如果TB≠(0,0,0,···,0),则返回步骤iii,否则输出当前蚂蚁Ant分配的调度方案。
优选地,步骤ii所述的机器Mi的完工时间为该机器Mi上所有批的加工时间之和,即
PBib=max{pj|Jj∈Bib}
其中,PBib为批Bib的加工时间,pj为工件Jj的加工时间,即批Bib的加工时间PBib等于批Bib中所有工件的最大加工时间。
优选地,步骤iii所述的候选列表Lib为满足批Bib剩余容量要求的未分配工件集合,即
其中,sj为工件Jj的尺寸。
优选地,步骤iii所述的选择概率的计算方法为:
其中选择概率Pibj表示工件Jj放入批Bib的概率,τibj为蚁群算法的信息素,表示工件Jj放入批Bib的期望,|Bib|表示批Bib中的工件总数,和为蚁群算法的启发式信息,其中通过工件Jj放入批Bib前后的加权总完工时间的差计算得到,wj为工件Jj的影响因子,CBib为批Bib的完工时间,其等于前一批的完工时间+当前批的加工时间,即
优选地,步骤iii所述的局部期望更新公式为
其中ρl为局部信息素蒸发率,其在步骤A中初始化设置为全局变量。
优选地,步骤C所述的通过局部优化调整调度方案的方法为:
步骤II:如果满足
则交换批Bb中的第j个工件BJbj和批Bb′中的第j′个工件BJb′j′,其中BJWbj表示工件BJbj的权值,BJPbj表示工件BJbj的加工时间,BJSbj表示工件BJbj的尺寸,Sb表示批Bb中所有工件的总尺寸;
步骤III:如果j′<|Bb′|,则j′=j′+1,返回步骤II;否则令j′=1,转至步骤IV;
步骤IV:如果b′<B,则b′=b′+1,返回步骤II;否则令b′=b+1,转至步骤V;
步骤V:如果j<|Bb|,则j=j+1,返回步骤II;否则令j=1,转至步骤VI;
步骤VI:如果b<B-1,则b=b+1,b′=b+1,返回步骤II;否则令b=1,b′=b+1,j′=1,转至步骤VII;
步骤VII:如果BJPb′j′≤PBb且BJSb′j′≤S-Sb,则将工件BJb′j′放入批Bb中;
步骤VIII:如果j′<|Bb′|,则j′=j′+1,返回步骤VII;否则令j′=1,转至步骤IX;
步骤IX:如果b′<B,则b′=b′+1,返回步骤VII;否则转至步骤X;
步骤X:如果b<B-1,则b=b+1,b′=b+1,返回步骤VII;当b=B-1时,将所有机器上的批清空,获取机器集合M={M1,M2,···,Mm},令b=1;
步骤XI:计算所有机器的完工时间,将当前批Bb放入完工时间最早的机器中,如果存在多个符合要求的机器,则将批Bb放入序号最靠前的机器中;
步骤XII:如果b<B,则b=b+1,返回步骤XI,否则输出优化后的调度方案。
优选地,步骤E所述的调度方案的目标值总加权完工时间Q的计算方法为:
cj=CBib,Jj∈Bib
其中,cj为工件Jj的完工时间;
则局部最优解为当前迭代周期目标值最小的调度方案,其目标值表示为
全局最优解为截止当前迭代周期目标值最小的调度方案,其目标值表示为
其中mxj(t)表示在第t次迭代中工件Jx和Jj分配在同一批中的次数,n为工件数,ρg为全局信息素蒸发率,在步骤A中初始化为全局变量。
本发明提供的基于蚁群算法的平行机批调度方法的优点在于:通过为蚁群算法配置全局期望值更新和局部期望值更新的步骤,有效的解决了对以最小化总加权完工时间为目标的权重、加工时间和尺寸均不同的工件序列的平行机批调度问题,在多只蚂蚁充分分批和多次迭代过程中,通过调整参数平衡了种群的进化和开发,提高了解的多样性并有效的保证了解的质量,具有良好的应用前景。
附图说明
图1为本发明的实施例提供的不同β1,β2组合下DACO算法的性能示意图;
图2为本发明的实施例提供的不同机器数和工件尺寸下的各算法目标值的示意图;
图3为本发明的实施例提供的不同机器数和工件尺寸下的各算法解的评价指标的示意图;
图4为本发明的实施例提供的不同工件数和工件尺寸下的各算法目标值的示意图;
图5为本发明的实施例提供的不同工件数和工件尺寸下的各算法解的评价指标的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本申请针对相同机器容量下极小化总加权完工时间的目标提出了蚁群算法的平行机批调度方法,简化后的问题模型如下:
(1)n个独立的工件集合J={J1,J2,···,Jn},每个工件Jj的固有属性包括加工时间pj,尺寸sj,权值wj,每个工件Jj只能放入一个批中,且整个批只能同时放入一个机器中加工;
(2)m台相同的处理机器集合M={M1,M2,···,Mm},容量均为S,在机器Mi上同时加工的任一批Bib,其包含的所有工件尺寸之和不超过S,机器的加工时间为该机器上所有批的加工时间之和;
(3)批的加工时间等于该批中工件的最大加工时间,批一旦开始加工,就不允许中断;
(4)工件Jj的完工时间cj为工件所在批Bib的完工时间CBib,批Bib的完工时间CBib即该批所在机器上前一个批的完工时间CBi(b-1)与该批的加工时间PBib之和,每台机器上第一个批的完工时间即为该批的加工时间,即机器开始加工的时间为0。
基于上述模型,本实施例提供的基于蚁群算法的平行机批调度方法包括以下步骤:
步骤A:初始化最大迭代次数Tmax、蚂蚁数量AntNum、工件集合J={J1,J2,···,Jn}、容量均为S的机器集合M={M1,M2,···,Mm};当前迭代周期为t=1,蚂蚁序号Ant=1,工件Jx和Jj在第1次迭代中分配在同一批中的期望均初始化为常数0.05;
步骤B:当前蚂蚁Ant基于机器的完工时间将所有工件依次分配到各机器中,得到一个调度方案;具体方法包括以下步骤:
步骤i:构建禁忌列表TB=(1,2,3,···,n),其中TBj=0,表示工件Jj已被选择,TBj≠0,表示工件Jj未被选择,由此可以确定在初始化禁忌列表时可以将其数值设置为任意非0数;
步骤ii:选择完工时间最早的机器Mi构建新批Bib,如果存在多个满足条件的机器,则选择序号最靠前的机器构建新批,由于本实施例中所有机器均相同,因此也可以在所有满足要求的机器中随机选择一个用来构建新批,但是本领域技术人员应当知晓,顺序选择会产生很多结构相似的解,即有可能陷入局部最优,而随机选择扩大了解的多样性,但有可能影响解的质量,因此需要本领域技术人员根据自身需求或进行前期试验后选择具体的方案。
其中机器Mi的完工时间CMi为
PBib=max{pj|Jj∈Bib}
其中,PBib为批Bib的加工时间,pj为工件Jj的加工时间,即批Bib的加工时间PBib等于批Bib中所有工件的最大加工时间。
步骤iii:构造批Bib的候选列表Lib,具体为以所有满足批Bib剩余容量要求的未分配工件构造候选列表Lib,即
其中,sj为工件Jj的尺寸;
其中选择概率Pibj表示工件Jj放入批Bib的概率,τibj为蚁群算法的信息素,表示工件Jj放入批Bib的期望,|Bib|表示批Bib中的工件总数,即工件Jj与批Bib中的其他工件放入同一批的平均期望越大,信息素τibj的数值越大,由于期望初始化为因此对应的第一次迭代时的信息素也是0.05;
启发式信息表示的是工件Jj的单位尺寸权重;权重越大,尺寸越小的工件被优先选择的概率越高;α,β1,β2分别为信息素和两个启发式信息的影响因子,为在步骤A中设置的全局变量,通过调整具体数值可以调整蚂蚁分配工件的方向是偏向于历史信息还是偏向于新路径开发,避免陷入局部最优。
通过构建候选列表Lib并仅对候选列表Lib里面的工件计算选择概率,降低了计算量,提高算法运行速度。
步骤v:将工件Jj放入批Bib之后,令TBj=0,表示该对应的工件Jj已被分配,并通过局部期望更新公式更新工件Jj与批Bib中其他工件放入同一批的期望,具体为:
其中ρl为局部信息素蒸发率,其在步骤A中进行初始化设置为全局变量;更新后的期望会影响下一只蚂蚁分配工件的结果,通过调整局部信息素蒸发率ρl的数值能够控制局部信息素挥发速度,可以使得蚂蚁探索未用路径的几率提高,避免蚂蚁收敛于同一搜索路径,提高结果的多样性。
如果TB≠(0,0,0,···,0),表示还有工件未被分配,则返回步骤iii,否则表示所有工件已被分配完,输出当前蚂蚁Ant分配的调度方案。
步骤C:通过局部优化调整步骤B得到的调度方案;具体的局部优化方法为:
步骤II:如果满足
则交换批Bb中的第j个工件BJbj和批Bb′中的第j′个工件BJb′j′,其中BJWbj表示工件BJbj的权值,BJPbj表示工件BJbj的加工时间,BJSbj表示工件BJbj的尺寸,Sb表示批Bb中所有工件的总尺寸;
步骤III:如果j′<|Bb′|,则j′=j′+1,返回步骤II;否则令j′=1,转至步骤IV;
步骤IV:如果b′<B,则b′=b′+1,返回步骤II;否则令b′=b+1,转至步骤V;
步骤V:如果j<|Bb|,则j=j+1,返回步骤II;否则令j=1,转至步骤VI;
步骤VI:如果b<B-1,则b=b+1,b′=b+1,返回步骤II;否则令b=1,b′=b+1,j′=1,转至步骤VII;
以上为局部优化的第一部分,目的是将权重更大的工件放到单位时间加工权重更大的批中。
步骤VII:如果BJPb′j′≤PBb且BJSb′j′≤S-Sb,则将工件BJb′j′放入批Bb中;
步骤VIII:如果j′<|Bb′|,则j′=j′+1,返回步骤VII;否则令j′=1,转至步骤IX;
步骤IX:如果b′<B,则b′=b′+1,返回步骤VII;否则转至步骤X;
步骤X:如果b<B-1,则b=b+1,b′=b+1,返回步骤VII;当b=B-1时,将所有机器上的批清空,获取机器集合M={M1,M2,···,Mm},令b=1;
以上为局部优化的第二部分,其目的是尽量将后面的小尺寸工件移到前面的批中,尽可能填满前面批的剩余空间,这一过程有可能存在某些批中的工件全部被移到前面批中的情况,因此还有可能减少批的数量;
步骤XI:计算所有机器的完工时间,将当前批Bb放入完工时间最早的机器中,如果存在多个符合要求的机器,则将批Bb放入序号最靠前的机器中;
步骤XII:如果b<B,则b=b+1,返回步骤XI,否则输出优化后的调度方案。
第三部是将单位时间加工权重大的批优先分配给完工时间最早的机器,以确保总加权完工时间最小;
步骤D:如果Ant<AntNum,表示本次迭代还有蚂蚁未进行工作,则令Ant=Ant+1,返回步骤B;
目标值总加权完工时间Q的计算方法为:
cj=CBib,Jj∈Bib
则局部最优解为当前迭代周期目标值最小的调度方案,表示为
全局最优解为截止当前迭代周期目标值最小的调度方案,其目标值表示为
其中mxj(t)表示在第t次迭代中工件Jx和Jj分配在同一批中的次数,n为工件数,ρg为全局信息素蒸发率,在步骤A中初始化为全局变量。
步骤F:如果t<Tmax,则t=t+1,返回步骤B,否则输出全局最优解。
性能验证
为了验证本实施例提出的基于蚁群算法的平行机批调度方法(DACO算法)的性能,将DACO算法与PSO算法(Hulett M,Damodaran P,Amouie M.Scheduling non-identicalparallel batch processing machines to minimize total weighted tardiness usingparticle swarm optimization[J].Computers&Industrial Engineering,2017,113:425-436)、LACO算法(Jia Z,Zhang H,Long W,et al.A meta-heuristic for minimizingtotal weighted flow time on parallel batch machines[J].Computers&IndustrialEngineering,2018,125:298-308)以及启发式算法H进行比较,其中启发式算法H的步骤为:
步骤2:排序后的工件依次查找批的剩余空间,将该工件放入第一个剩余空间能够容纳该工件的批中,如果所有批均不能放入该工件则构建新批放入该工件,重复这一过程,直到所有工件被依次放入批中。
步骤3:将所述批依次放入完工时间最早的机器中,如果存在多个符合要求的机器,则选择序号最小的机器。
另外还引入了用于评价解的质量的目标值下界,其求解过程如下:
步骤3:依次将松弛后的单位工件按顺序查找批的剩余空间,将该单位工件放入第一个剩余空间能够容纳该单位工件的批中,如果所有批均不能放入该单位工件则构建新批放入该单位工件工件,重复这一过程,直到所有单位工件被依次放入批中;
步骤4:将所有批依次放入完工时间最早的机器中,得到下界算法的调度方案,其目标值记为LBI。
为了评估算法的性能,使用不同工件数n,工件尺寸sj和机器数m随机生成的一系列的问题实例来测试算法。这里使用了四组工件数n={100,200,300,500};两组机器数n={2,5};三组均匀分布的工件尺寸sj={[1-15],[15-35],[1-40]},分别代表小尺寸工件集,大尺寸工件集,混合尺寸工件集。这三个参数的不同组合共有24组算例,为了实验数据的准确性,每种组合又有20个随机生成的算例,每个算例会运行20次求其平均值,以减少初始解对算法的影响。工件的加工时间pj设置为[1,10]中的随机整数,采用均匀分布;工件的权重wj是[1-30]中的随机整数,同样是均匀分布;机器容量设为固定值S=40。本实施例用到的实验参数如表1所示。
表1:实验参数(DU表示均匀分布)
为了结果的客观性,对比算法PSO、LACO算法的参数设置与原文献保持一致,因原文献中PSO算法没有局部优化,因此将本申请提出的局部优化策略加入PSO算法中。
由于蚁群算法(ACO算法)的搜索行为和历史信息的更新会受到参数的影响,所以找到合适的参数是ACO算法至关重要的一步,因此,我们可以通过一系列的调参实验来找到一组合适的参数,影响ACO算法性能的参数主要有:蚂蚁数量AntNum、迭代次数Tmax、信息素和启发式信息的影响因子α,β1,β2、信息素蒸发率ρ,基于相关现有技术:Jia Z,Leung J YT.An improved meta-heuristic for makespan minimization of a single batchmachine with non-identical job sizes[J].Computers&Operations Research,2014,46:49-58.,参数设置如下:AntNum=20,Tmax=200,ρ=0.5。因为信息素是小于1的小数,所以将信息素影响因子α设置为随迭代的进行而减小的小于1的数值这样信息素就会随着迭代的进行而起到越来越重要的作用,又使调参过程更为简单。
为了验证β1,β2的数值,根据不同的工件数n,不同的工件尺寸sj,不同的机器数m,在各组算例中分别随机抽取两个算例进行组合,共48个算例,在DACO算法中,β1,β2是两个基于目标值和单位尺寸权重的启发式信息的影响因子。第一个启发式信息的值是一个小于1的数,第二个启发式信息的值越大越好,所以我们将β1,β2的取值范围都设为[1,10];然后用不同的参数组合在这48个算例上运行DACO算法,比较解的质量找出最优组合;抽取的48个算例采用不同参数组合下的目标值的平均值如图1所示,横坐标表示不同的参数组合,纵坐标表示平均目标值。根据图1可知,当β1=β2时,算法性能明显优于其他组合,且β1=β2=7时,测试算例的平均目标值最好,因此我们以β1=β2=7作为DACO算法的启发式信息的权重。
表2和表3分别给出了不同测试算例下不同算法的运行时间和解的质量数据,其中N1,N2,N3,N4分别表示工件数为100,200,300,500;M1,M2分别表示机器数为2,5;S1,S2,S3分别表示工件尺寸为[1,15],[1,40],[15,35]。其中UPSO、ULACO和UDACO分别表示不包括局部优化策略的PSO、LACO和DACO算法,从表3可以看出DACO算法得到的解更接近于下界,表明本实施例提供的DACO算法得到的调度方案质量更好。
算例编号 | PSO_t | LACO_t | DACO_t | UPSO_t | ULACO_t | UDACO_t |
N1M1S1 | 1.50 | 4.61 | 6.20 | 0.51 | 4.62 | 5.81 |
N2M1S1 | 4.76 | 18.13 | 28.75 | 1.59 | 18.19 | 27.30 |
N3M1S1 | 9.65 | 39.31 | 75.49 | 3.12 | 39.12 | 71.96 |
N4M1S1 | 25.31 | 106.82 | 251.15 | 7.68 | 105.79 | 246.31 |
AVG | 10.31 | 42.22 | 90.40 | 3.22 | 41.93 | 87.84 |
N1M1S2 | 2.00 | 1.57 | 1.94 | 0.60 | 1.44 | 1.56 |
N2M1S2 | 7.76 | 5.68 | 7.87 | 1.87 | 5.44 | 6.69 |
N3M1S2 | 16.84 | 11.99 | 18.45 | 3.84 | 11.38 | 14.62 |
N4M1S2 | 55.30 | 34.35 | 62.96 | 9.35 | 31.58 | 51.10 |
AVG | 20.47 | 13.40 | 22.81 | 3.91 | 12.46 | 18.49 |
N1M1S3 | 2.69 | 0.72 | 1.06 | 0.62 | 0.55 | 0.58 |
N2M1S3 | 10.44 | 2.70 | 4.55 | 1.95 | 2.24 | 2.46 |
N3M1S3 | 25.58 | 5.93 | 11.46 | 4.00 | 5.03 | 5.98 |
N4M1S3 | 100.91 | 15.96 | 40.00 | 10.01 | 13.19 | 16.73 |
AVG | 34.90 | 6.33 | 14.27 | 4.15 | 5.25 | 6.44 |
N1M2S1 | 1.50 | 4.50 | 6.30 | 0.52 | 4.38 | 6.01 |
N2M2S1 | 4.70 | 17.48 | 29.09 | 1.57 | 17.27 | 26.96 |
N3M2S1 | 9.87 | 39.15 | 74.45 | 3.18 | 37.82 | 68.36 |
N4M2S1 | 28.12 | 100.66 | 261.23 | 7.70 | 102.34 | 250.97 |
AVG | 11.05 | 40.45 | 92.77 | 3.24 | 40.45 | 88.08 |
N1M2S2 | 2.21 | 1.53 | 2.05 | 0.73 | 1.38 | 1.66 |
N2M2S2 | 8.05 | 5.62 | 8.03 | 2.21 | 5.01 | 6.64 |
N3M2S2 | 18.21 | 12.22 | 18.85 | 4.43 | 11.09 | 16.12 |
N4M2S2 | 57.53 | 33.05 | 66.08 | 10.81 | 31.25 | 52.99 |
AVG | 21.50 | 13.10 | 23.75 | 4.54 | 12.18 | 19.35 |
N1M2S3 | 3.00 | 0.75 | 1.08 | 0.78 | 0.59 | 0.60 |
N2M2S3 | 11.09 | 2.76 | 4.58 | 2.47 | 2.45 | 2.54 |
N3M2S3 | 27.46 | 6.11 | 11.16 | 4.68 | 5.65 | 5.82 |
N4M2S3 | 105.95 | 16.48 | 39.85 | 11.48 | 14.89 | 17.31 |
AVG | 36.87 | 6.52 | 14.17 | 4.85 | 5.90 | 6.57 |
表2:不同算法的运行时间
表3:不同算法的求解质量
另外从表3还能看出,局部优化后的算法性能均优于未包含局部优化的算法性能,且局部优化后的解的质量的优劣取决于未优化的解的质量的好坏,但是局部优化为增加算法的运行时间,具体情况因工件尺寸而异。
图2和图3展示了不同机器数和工件尺寸组合下各算法的目标值的差异,其中横坐标为机器数和工件尺寸的组合,LB为在4种工件数下20个算例上得到的下界平均值,H_F,PSO_F,LACO_F,DACO_F,UPSO_F,ULACO_F和UDACO_F分别表示各算法在4种工件数各20个算例上的平均目标值,H_R,PSO_R,LACO_R,DACO_R,UPSO_R,ULACO_R和UDACO_R是各算法的评价指标。从中能够看出,随着工件数的增加,目标值能够显著减小,目标值与下界的距离却在变大,主要是因为机器数增大时,算法构建的批被分布到更多的机器上,每个机器的完工时间就相应减小,而下界也同时减小,但是下界是趋于理想状态的目标值,所以下界会相对减小的更多,导致评价指标增大了,另外DACO算法依然是性能最优的。
图4和图5为不同工件数和工件尺寸组合下的实验结果对比图,横坐标为工件数和工件尺寸的组合,LB为在2种机器数各20个算例上得到的下界平均值,H_F,PSO_F,LACO_F,DACO_F,UPSO_F,ULACO_F和UDACO_F分别表示对应算法在2种机器数20个算例上的平均目标值,H_R,PSO_R,LACO_R,DACO_R,UPSO_R,ULACO_R和UDACO_R是对应算法的评价指标。参考图4,各算法所得的平均目标值随工件数的增加而呈几何增长。且工件尺寸为S1时的平均目标值最小,因为相对与工件尺寸为S3来说,当尺寸为S1时,每个批中可以放入更多的工件,从而使批的数量减少,其所得目标值也就更小。图5中可以看出,不管是哪种尺寸工件,当工件数为N4时,DACO算法的评价指标均最小,这可能是因为相对于其他3种工件数,当工件数为N4时,工件集中每种尺寸、加工时间的工件数更多,构建的批的浪费空间最小,从而使得所得的解最好。
表4:用威尔克森符号秩检验获取的解性质表
另外,表4展示了用维尔克森符合秩检验获取的解性质,威尔克森符号秩检验是在成对观测数据的符号检验基础上发展起来的,比传统的单独用正负号的检验更加有效。它是一种非参数统计假设检验,用于比较两个相关样本、匹配样本或对单个样本的重复测量,以评估其总体平均排名是否不同(即为配对差异检验)。
在工件数,工件尺寸,机器数这三个参数的不同参数组合共有24组算例,每组20个算例,共480个算例对各种函数运行20次得到的目标值的平均值进行Wilcoxon检验后,我们将得到三个对应于每对算法的值:R+是第二个算法优于第一个算法的函数的秩的总和,R-则相反,还有p值,p值表示假设检验的显著性水平。如果p值小于α,那么我们说假设在100×α%置信水平下具有统计学意义。
由表4可知,因为算法单独成对比较由于p值远小于α=0.05,所以DACO算法优于PSO和LACO算法。算法性能其次的是PSO算法,因为这里的PSO算法引入了本文的局部优化策略,这充分体现了提出的局部优化策略的优势。
Claims (9)
1.一种基于蚁群算法的平行机批调度方法,其特征在于:包括
步骤A:初始化最大迭代次数Tmax、蚂蚁数量AntNum、工件集合J={J1,J2,···,Jn}、容量均为S的机器集合M={M1,M2,···,Mm};当前迭代周期为t=1,蚂蚁序号Ant=1,工件Jx和Jj在第1次迭代中分配在同一批中的期望均初始化为常数0.05;
步骤B:当前蚂蚁Ant基于机器的完工时间将所有工件依次分配到各机器中,得到一个调度方案;
步骤C:通过局部优化调整步骤B得到的调度方案;
步骤D:如果Ant<AntNum,令Ant=Ant+1,返回步骤B;
步骤F:如果t<Tmax,则t=t+1,返回步骤B,否则输出全局最优解。
2.根据权利要求1所述的一种基于蚁群算法的平行机批调度方法,其特征在于:步骤B所述的蚂蚁分配工件的方法包括以下步骤:
步骤i:构建禁忌列表TB=(1,2,3,···,n),其中TBj=0,表示工件Jj已被选择,TBj≠0,表示工件Jj未被选择;
步骤ii:选择完工时间最早的机器Mi构建新批Bib,如果存在多个满足条件的机器,则选择序号最小的机器构建新批;
步骤v:令TBj=0,通过局部期望更新公式更新工件Jj与批Bib中其他工件放入同一批的期望,如果TB≠(0,0,0,···,0),则返回步骤iii,否则输出当前蚂蚁Ant分配的调度方案。
5.根据权利要求4所述的一种基于蚁群算法的平行机批调度方法,其特征在于:步骤iii所述的选择概率的计算方法为:
其中选择概率Pibj表示工件Jj放入批Bib的概率,τibj为蚁群算法的信息素,表示工件Jj放入批Bib的期望,|Bib|表示批Bib中的工件总数,和为蚁群算法的启发式信息,其中通过工件Jj放入批Bib前后的加权总完工时间的差计算得到,wj为工件Jj的权值,CBib为批Bib的完工时间,其等于前一批的完工时间+当前批的加工时间,即
7.根据权利要求6所述的一种基于蚁群算法的平行机批调度方法,其特征在于:步骤C所述的通过局部优化调整调度方案的方法为:
步骤II:如果满足
则交换批Bb中的第j个工件BJbj和批Bb′中的第j′个工件BJb′j′,其中BJWbj表示工件BJbj的权值,BJPbj表示工件BJbj的加工时间,BJSbj表示工件BJbj的尺寸,Sb表示批Bb中所有工件的总尺寸;
步骤III:如果j′<|Bb′|,则j′=j′+1,返回步骤II;否则令j′=1,转至步骤IV;
步骤IV:如果b′<B,则b′=b′+1,返回步骤II;否则令b′=b+1,转至步骤V;
步骤V:如果j<|Bb|,则j=j+1,返回步骤II;否则令j=1,转至步骤VI;
步骤VI:如果b<B-1,则b=b+1,b′=b+1,返回步骤II;否则令b=1,b′=b+1,j′=1,转至步骤VII;
步骤VII:如果BJPb′j′≤PBb且BJSb′j′≤S-Sb,则将工件BJb′j′放入批Bb中;
步骤VIII:如果j′<|Bb′|,则j′=j′+1,返回步骤VII;否则令j′=1,转至步骤IX;
步骤IX:如果b′<B,则b′=b′+1,返回步骤VII;否则转至步骤X;
步骤X:如果b<B-1,则b=b+1,b′=b+1,返回步骤VII;当b=B-1时,将所有机器上的批清空,获取机器集合M={M1,M2,···,Mm},令b=1;
步骤XI:计算所有机器的完工时间,将当前批Bb放入完工时间最早的机器中,如果存在多个符合要求的机器,则将批Bb放入序号最靠前的机器中;
步骤XII:如果b<B,则b=b+1,返回步骤XI,否则输出优化后的调度方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911241150.0A CN111160711B (zh) | 2019-12-06 | 2019-12-06 | 一种基于蚁群算法的平行机批调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911241150.0A CN111160711B (zh) | 2019-12-06 | 2019-12-06 | 一种基于蚁群算法的平行机批调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111160711A true CN111160711A (zh) | 2020-05-15 |
CN111160711B CN111160711B (zh) | 2022-09-16 |
Family
ID=70556476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911241150.0A Active CN111160711B (zh) | 2019-12-06 | 2019-12-06 | 一种基于蚁群算法的平行机批调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111160711B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131761A (zh) * | 2020-11-25 | 2020-12-25 | 晶芯成(北京)科技有限公司 | 基于群体智能算法的工厂派工方法及系统 |
CN113011785A (zh) * | 2021-04-21 | 2021-06-22 | 广东机电职业技术学院 | 基于自适应调整参数的多订单混合调度优化方法、介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320105A (zh) * | 2014-08-04 | 2016-02-10 | 中国科学院沈阳自动化研究所 | 一种并行批加工设备优化调度方法 |
CN108563200A (zh) * | 2018-04-03 | 2018-09-21 | 安徽大学 | 一种基于蚁群算法的多目标的工件调度方法及装置 |
CN108665139A (zh) * | 2018-04-03 | 2018-10-16 | 安徽大学 | 一种基于蚁群算法的工件调度方法及装置 |
US20180356803A1 (en) * | 2017-06-12 | 2018-12-13 | Hefei University Of Technology | Method and system for batch scheduling uniform parallel machines with different capacities based on improved genetic algorithm |
US20190079975A1 (en) * | 2017-09-11 | 2019-03-14 | Hefei University Of Technology | Scheduling method and system based on hybrid variable neighborhood search and gravitational search algorithm |
CN109872091A (zh) * | 2019-04-18 | 2019-06-11 | 安徽大学 | 一种基于蚁群算法的工件调度方法及装置 |
-
2019
- 2019-12-06 CN CN201911241150.0A patent/CN111160711B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320105A (zh) * | 2014-08-04 | 2016-02-10 | 中国科学院沈阳自动化研究所 | 一种并行批加工设备优化调度方法 |
US20180356803A1 (en) * | 2017-06-12 | 2018-12-13 | Hefei University Of Technology | Method and system for batch scheduling uniform parallel machines with different capacities based on improved genetic algorithm |
US20190079975A1 (en) * | 2017-09-11 | 2019-03-14 | Hefei University Of Technology | Scheduling method and system based on hybrid variable neighborhood search and gravitational search algorithm |
CN108563200A (zh) * | 2018-04-03 | 2018-09-21 | 安徽大学 | 一种基于蚁群算法的多目标的工件调度方法及装置 |
CN108665139A (zh) * | 2018-04-03 | 2018-10-16 | 安徽大学 | 一种基于蚁群算法的工件调度方法及装置 |
CN109872091A (zh) * | 2019-04-18 | 2019-06-11 | 安徽大学 | 一种基于蚁群算法的工件调度方法及装置 |
Non-Patent Citations (4)
Title |
---|
XU RUI.ET: "Two kinds of ant colony algorithms to minimize the total completion time for batch scheduling problem", 《COMPUTER INTEGRATED MANUFACTURING SYSTEMS》 * |
张晗: "最小化总完工时间的差异平行机批调度算法研究", 《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》 * |
李端明等: "蚁群算法求解工件尺寸不同的单机批处理问题", 《兵工自动化》 * |
许瑞等: "极小化总完工时间批调度问题的两种蚁群算法", 《计算机集成制造系统》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131761A (zh) * | 2020-11-25 | 2020-12-25 | 晶芯成(北京)科技有限公司 | 基于群体智能算法的工厂派工方法及系统 |
CN113011785A (zh) * | 2021-04-21 | 2021-06-22 | 广东机电职业技术学院 | 基于自适应调整参数的多订单混合调度优化方法、介质 |
CN113011785B (zh) * | 2021-04-21 | 2023-06-13 | 广东机电职业技术学院 | 基于自适应调整参数的多订单混合调度优化方法、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111160711B (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180356803A1 (en) | Method and system for batch scheduling uniform parallel machines with different capacities based on improved genetic algorithm | |
Tang et al. | Diversity-adaptive parallel memetic algorithm for solving large scale combinatorial optimization problems | |
CN111160711B (zh) | 一种基于蚁群算法的平行机批调度方法 | |
CN110909787B (zh) | 基于聚类的进化算法进行多目标批调度优化的方法和系统 | |
CN110543953B (zh) | 基于狼群算法的空间约束下多目标拆卸线设置方法 | |
Jiang et al. | Energy-efficient scheduling of flexible job shops with complex processes: A case study for the aerospace industry complex components in China | |
CN114186749B (zh) | 基于强化学习及遗传算法的柔性车间调度方法及模型 | |
CN110942251B (zh) | 一种基于联合蚁群算法的批调度方法 | |
CN112286152B (zh) | 具有批量交付约束的分布式流水车间调度方法及系统 | |
CN106611275A (zh) | 针对作业车间生产问题的排产算法 | |
CN110909858A (zh) | 一种基于双信息素蚁群算法的批调度方法 | |
CN111260144B (zh) | 一种差异工件随机到达情况下单机批调度问题的求解方法 | |
CN116933939A (zh) | 基于改进浣熊优化算法的柔性车间协同生产方法及系统 | |
Wang et al. | An effective two-stage iterated greedy algorithm for distributed flowshop group scheduling problem with setup time | |
CN113569483A (zh) | 基于人工蜂群算法求解多目标柔性作业车间调度的方法 | |
CN117035364A (zh) | 基于改进混合模因算法的分布式异构流水车间调度方法 | |
CN110673560A (zh) | 基于操作完工时间快速预测的集成电路生产线调度方法 | |
CN114021934A (zh) | 基于改进spea2求解车间节能调度问题的方法 | |
CN117077975A (zh) | 基于混合初始化模因算法的分布式异构流水车间调度方法 | |
CN117148796A (zh) | 一种求解多目标柔性作业车间调度问题的优化方法 | |
CN113112171B (zh) | 一种基于轮盘赌和遗传算法的批调度方法 | |
CN115129002A (zh) | 一种带批处理机可重入混合流水车间调度方法及系统 | |
CN111754383B (zh) | 一种GPU上的基于warp重用与着色分区的强连通图检测方法 | |
CN114819558A (zh) | 一种解决分布式混合流水车间的双目标调度优化方法 | |
CN110161997B (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 |