CN110942251A - 一种基于联合蚁群算法的批调度方法 - Google Patents
一种基于联合蚁群算法的批调度方法 Download PDFInfo
- Publication number
- CN110942251A CN110942251A CN201911179848.4A CN201911179848A CN110942251A CN 110942251 A CN110942251 A CN 110942251A CN 201911179848 A CN201911179848 A CN 201911179848A CN 110942251 A CN110942251 A CN 110942251A
- Authority
- CN
- China
- Prior art keywords
- batch
- ant
- inventory
- probability
- current
- 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 55
- 239000003016 pheromone Substances 0.000 claims abstract description 29
- 238000004519 manufacturing process Methods 0.000 claims abstract description 27
- 238000005457 optimization Methods 0.000 claims abstract description 18
- 239000011159 matrix material Substances 0.000 claims abstract description 13
- 241000257303 Hymenoptera Species 0.000 claims abstract description 10
- 238000009826 distribution Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 28
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 230000008020 evaporation Effects 0.000 claims description 3
- 238000001704 evaporation Methods 0.000 claims description 3
- 238000003754 machining Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims 1
- 238000003860 storage Methods 0.000 abstract description 4
- 230000008713 feedback mechanism Effects 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 14
- 238000002474 experimental method Methods 0.000 description 9
- 230000000052 comparative effect Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013401 experimental design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000010200 validation analysis 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]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Educational Administration (AREA)
- Life Sciences & Earth Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于联合蚁群算法的批调度方法,包括以下步骤:初始化Tmax、AntNum、n,I,S,信息素矩阵、ρ、库存概率和运输概率,令t=1,Ant=0;令Ant=Ant+1,蚂蚁Ant对工件进行分配输出调度方案;通过局部优化策略优化调度方案,计算优化后的调度方案的目标值,更新库存概率和运输概率;重复此过程直到所有蚂蚁用尽结束本次迭代,获取全局最优调度方案,更新信息素,如果t<Tmax,则令t=t+1,Ant=0,返回分配工件,直到迭代结束,输出全局最优调度方案。本发明提供的一种基于联合蚁群算法的批调度方法的优点在于:综合考虑的生产过程中的库存和运输问题,通过合理的反馈机制,适合解决大规模批调度问题,实现成本优化,能够为生产过程提供有效的指导建议。
Description
技术领域
本发明涉及批调度优化技术领域,尤其涉及一种基于联合蚁群算法的批调度方法。
背景技术
在许多行业中,制造商通常旨在最小化总体成本以维持市场竞争力。在当前的市场环境下,制造企业的核心竞争力不再局限于简单的制造能力,而是扩展到包括供应链协调能力。制造企业需要控制生产,库存和分配,以便同时优化生产系统和物流系统以增强企业竞争力。集成调度(IS)是一种针对供应链的复杂优化问题。为了解决综合调度问题,我们不仅要分别解决生产和运输两个子问题,而且还需要在这两个阶段进行协调以实现整体最优。由于产品在运输过程中的效率会直接影响客户的满意度,因此综合调度问题的有效解决有利于提高企业的服务水平和市场竞争力;在这一过程中就需要综合考虑工件分批后的生产成本,生产出来之后进行运输还是库存,以及相应的成本,从而在保证服务水平的情况下,降低企业成本。
发明内容
本发明所要解决的技术问题在于提供一种利用联合蚁群算法进行批调度以对优化生产成本、运输成本和库存成本进行综合优化使其最小的方法。
本发明是通过以下技术方案解决上述技术问题的:
一种基于联合蚁群算法的批调度方法,包括以下步骤:
S1:初始化最大迭代次数Tmax、蚂蚁数量AntNum、工件数量n,机器数量I,机器容量S,信息素矩阵、信息素蒸发率ρ、工件的库存概率和运输概率,令当前迭代次数t=1,蚂蚁序列Ant=0;
S2:令Ant=Ant+1,初始化禁忌列表TB=(1,2,3,···,n);
S3:当前蚂蚁Ant选择一台机器Mi构建一个空批Bki;
S4:当前蚂蚁Ant随机选择未被分配的工件Jj分配到批Bki,令TBj=0,构建当前批Bki的候选列表Lki;
S6:更新禁忌列表Lki,返回S5;
S7:如果TB≠(0,0,0,···,0),则返回S3,如果TB=(0,0,0,···,0),则输出当前蚂蚁Ant确定的调度方案;
S8:通过局部优化策略优化调度方案,计算优化后的调度方案的目标值;
S9:如果Ant<AntNum,则返回S2;
S10:获取全局最优调度方案,如果t<Tmax,则更新更新库存概率、运输概率和信息素,令t=t+1,Ant=0,返回S2;否则输出全局最优调度方案。
优选地,所述信息素矩阵表示为Γ={τg,j|g,j∈[1,n]},其中τg,j表示工件Jg和Jj分配到同一个批中的期望,S1中将τg,j均初始化为0.1,即将信息素矩阵初始化为数值都是0.1,规模为n*n的二维矩阵。
优选地,S3中蚂蚁Ant选择机器Mi的方法为:将所有机器按完工时间排序,在完工时间最早的机器Mi上构建新批Bki,如果存在多个完工时间最早的机器,则从中随机选择一个机器Mi。
优选地,S4中所述的构建当前批Bki的候选列表Lki的方法为:选择满足当前批Bki容量约束的所有未分批的工件构建得到候选列表Lki,即
其中,S表示当前批的总容量,所有机器的容量均为S,sj表示工件Jj的尺寸。
优选地,S5中所述的从候选列表Lki中选择一个工件Jj分配到当前批Bki中方法为:将候选列表Lki中选择概率Wj,ki最大的工件Jj加入到批Bki中
优选地,S8所述的局部优化策略包括以下步骤:
步骤ii:令v1=v1+1,如果v1=bi,则转至步骤vii,否则令v2=v1+1;
步骤iv:判断批中加工时间最长的工件与批中处于集合N的第w个位置的工件交换后是否满足批容量约束,如果满足则交换这两个工件,更新批的加工时间,令返回步骤iii,若交换后不满足批容量约束条件,则不执行交换操作;
步骤v:令w=w+1,如果w≤x,返回步骤iv;
步骤vi:如果v2<bi,令v2=v2+1,返回步骤iii;
步骤vii:如果i<I,令i=i+1,v1=0,返回步骤ii,否则输出优化后的调度方案。
优选地,批Bki的加工时间Pki等于该批Bki中所有工件的最大加工时间,即
Pki=max(pj|Jj∈Bki)
pj表示工件Jj的加工时间。
优选地,S8中所述的目标值Q为生产成本W、库存成本I和运输成本D的和,即Q=E+I+D;
所述生产成本E的计算方法为
其中,λ1>0为常数,Ti为机器Mi的加工时间,其等于该机器Mi上所有批的总加工时间。
优选地,S8中计算目标值的方法为:
步骤II:将当前批Bk加入库存集合IB,计算库存集合IB中所有批的库存概率Ub和运输概率Xb,具体为
Bb∈IB
其中,qg(t)表示工件Jg的库存概率,fg(t)表示工件Jg的运输概率,每个工件Jg的库存概率Jg在步骤S1中被初始化为(0,1)内的随机实数,fg(1)=1-qg(1);
γ为常数,本实施例中取γ=0.3,Yb为批Bb的库存时间,表示批Bb到当前批Bk的完成时间之差,即
步骤III:如果k<K,转至步骤IV,否则转至步骤V;
步骤V:将库存集合IB中的所有批移入运输集合DB,将运输集合DB中的所有批分配到车上,得到所需车辆hk,令H=H+hk;
步骤VI:计算运输成本D和库存成本I;
D=λ3H
其中,λ2,λ3均为大于0的实数,Yk为批Bk转入运输集合DB被车运输走时的库存时间;
其中为运输集合DB中的批分配车辆的方法为:将所有批按照所占空间非递增排序,按照Best-Fit规则依次分配到车上,直到所有批都分配完,得到所需车辆的总数hk。
优选地,S10所述的更新库存概率和运输概率的方法为:
qg(t+1)=qg(t)+Δqg(t)
fg(t+1)=fg(t)+Δfg(t)
其中,Imin和Dmin表示从第一次迭代到当前迭代产生的所有调度方案的库存成本和运输成本的最小值,和分别是当前调度方案库存成本和运输成本的上限,I和D分别是库存成本和运输成本的下限,Δqg(t)和Δfg(t)分别表示库存成本和运输成本在最优情况下的位置;其中库存成本的下限为0,库存成本的上限为所有批加工完成后统一分车运输情况下的库存成本;运输成本的上限为每个批生产出来后立刻运输,即每个批都单独由一辆车运输的成本,运输成本的下限为批全部生产完之后统一运输的成本。
优选地,S10中所述的更新信息素的方法为:
τg,j(t+1)=(1-ρ)·τg,j(t)+mg,j(t)·Δτg,j(t)
其中,mg,j(t)表示在第t代时,工件Jg和Jj被分配到同一批的次数,Δτg,j(t)表示信息素的增量,如果在第t代中Jg和Jj未分配到同一批次中,则Δτg,j(t)=0;否则Δτg,j(t)=1/Qbest,Qbest表示当前迭代中全局最优调度方案的目标值。
本发明提供的一种基于联合蚁群算法的批调度方法的优点在于:综合考虑的生产过程中的库存和运输问题,通过合理的反馈机制,适合解决大规模批调度问题,实现成本优化,能够为生产过程提供有效的指导建议。
附图说明
图1为本发明的实施例提供的基于联合蚁群算法的批调度方法的局部优化策略的算法原理图;
图2为本发明的实施例所提供的基于联合蚁群算法的批调度方法确定参数α、β时的数据对比图;
图3为本发明的实施例所提供的基于联合蚁群算法的批调度方法确定参数ρ的数据对比图;
图4为本发明的实施例所提供的基于联合蚁群算法的批调度方法进行验证试验是构造的H算法的原理图;
图5为本发明的实施例所提供的基于联合蚁群算法的批调度方法与其他算法进行性能验证的对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本实施例对方案进行解释时,会存在部分形式相同的局部变量,当相同形式的变量在不同位置的含义有冲突时,以其所处的局部算法的定义为准;为了方便区分以不同的方式对具体步骤进行了区分,这些不同的表达方式仅为了区分不同的步骤,不用于限制步骤之间的顺序。
本实施例要解决的是针对一系列工件进行分批分机器生产以最终得到总成本最小的调度方案,对现实问题进行简化后的模型如下:
(1)在生产阶段,需处理由J={J1,J2,…,Jn}表示的n个工件,每个工件Jj的基本性质包括处理时间pj,尺寸sj;使用I个平行机器M={M1,M2,…,MI}进行处理,每台机器Mi具有相同的容量S,在机器Mi上处理的第k个批表示为Bki,批Bki内的工件尺寸之和不能大于机器Mi容量;
(2)批Bki的处理时间Pki等于批Bki内处理时间最长的工件Jj的处理时间pj,即Pki=max(pj|Jj∈Bki);批Bki的完成时间STki为同一机器Mi上之前所有批的处理时间之和,即机器Mi的完成时间Ti等于机器Mi上最后一个批的完成时间,即所有批的处理时间之和,即
(3)优化目标为生产成本E、库存成本I和运输成本D的和最小,目标值表示为Q,Q=E+I+D。
基于上述模型,本实施例提供的基于联合蚁群算法的批调度方法包括以下步骤:
S1:初始化最大迭代次数Tmax、蚂蚁数量AntNum、工件数量n,机器数量I,机器容量S,信息素矩阵、信息素蒸发率ρ、工件的库存概率和运输概率,令当前迭代次数t=1,蚂蚁序列Ant=0;
所述信息素矩阵表示为Γ={τg,j|g,j∈[1,n]},其中τg,j表示工件Jg和Jj分配到同一个批中的期望,S1中将τg,j均初始化为0.1,即将信息素矩阵初始化为数值都是0.1,规模为n*n的二维矩阵。
S2:令Ant=Ant+1,初始化禁忌列表TB=(1,2,3,···,n);
禁忌列表规模与工件规模相同,当禁忌列表内的第j个数值TBj=0时,表示对应的工件Jj已经被分配,当TBj≠0时,代表对应的工件Jj未被分配,因此禁忌列表TB可以被初始化为任何规模为n且数值均非0的集合。
S3:当前蚂蚁Ant选择一台机器Mi构建一个空批Bki,具体方法为:
将所有机器按完工时间排序,在完工时间最早的机器Mi上构建新批Bki,如果存在多个完工时间最早的机器,则从中随机选择一个机器Mi;
机器完工时间Ti为
Pki=max(pj|Jj∈Bki)
其中,Pki为批Bki的完工时间,pj为工件Jj的处理时间,其为工件Jj自身的属性。
S4:当前蚂蚁Ant随机选择未被分配的工件Jj分配到批Bki,令TBj=0,构建当前批Bki的候选列表Lki;候选列表Lki为未分配工件中尺寸小于当前批Bki剩余空间的工件集合,即
其中,sj表示工件Jj的尺寸。
S5:如果表示当前批已经不能再放入任何工件,转至S7,如果则当前蚂蚁Ant从候选列表Lki中选择一个工件Jj分配到当前批Bki中,并令TBj=0;选择工件的方法为计算候选列表Lki中所有工件的选择概率Wj,ki,
其中,为信息素,表示工件Jj放入批Bki的期望,为工件Jj放入批Bki的启发式信息,|Bki|为批Bki内的工件数量,α为信息素的权重,β为启发式信息的权重,通过调整α、β的数值,能够调整蚂蚁选择工件的方向是偏向于历史信息,还是偏向于寻找新路径,具体数值本领域技术人员可以根据期望的迭代更新方向进行设置,后面的验证分析部分也给出了本实施例确定最优的α、β组合的方法,以供参考;计算后将选择概率Wj,ki最大的工件Jj放入批Bki中。
S6:更新候选列表Lki,返回S5;即重复将工件放入批的步骤,直到当前批Bki中无法放入任何工件。
S7:如果TB≠(0,0,0,···,0),说明还有工件未被分配到批中,此时应返回S3重新寻找机器,构建新批,按照上述规则放入工件;如果TB=(0,0,0,···,0),则表明所有工件已经被当前的蚂蚁Ant依次分配到批中,则输出当前蚂蚁Ant分配的调度方案;
S8:通过局部优化策略优化调度方案,计算根据优化后的调度方案的目标值;
本实施例中所述目标值Q为生产成本E、库存成本I和运输成本D的和,即Q=E+I+D;本实施例对现实模型进行简化时将生产成本E简化为与机器完成时间Ti成正比的关系,即
其中,λ1>0为常数,Ti为机器Mi的加工时间,其等于该机器Mi上所有批的总加工时间。
所述局部优化策略的具体算法参考图1,包括以下步骤:
步骤ii:令v1=v1+1,如果v1=bi,则转至步骤vii,否则令v2=v1+1;
步骤iv:判断批中加工时间最长的工件与批中处于集合N的第w个位置的工件交换后是否满足批容量约束,如果满足则交换这两个工件,更新批的加工时间,令返回步骤iii,若交换后不满足批容量约束条件,则不执行交换操作;
步骤v:令w=w+1,如果w≤x,返回步骤iv;
步骤vi:如果v2<bi,令v2=v2+1,返回步骤iii;
步骤vii:如果i<I,令i=i+1,v1=0,返回步骤ii,否则输出优化后的调度方案。
下面举例对上述局部优化策略进行说明,假设机器Mi上的两个批的信息分别如表1所示,机器Mi容量S=10,批B1i的尺寸为9,处理时间P1i=5;批B2i的尺寸为10,处理时间P2i=8;
表1:优化前的调度方法
此时,bi=2,当v1=1时,v2=2,则集合N={J3,J4},x=2;此时如果J2与J3交换,则批B1i的尺寸为11,超过了批的容量,因此不能交换。
继续判断如果J2与J4交换,则批B1i的尺寸为10,批B2i的尺寸为9,则可以交换。得到表2;
表2:优化后的调度方法
交换后P1i=4,P2i=8,因此交换后批B2i的处理时间不变,而批B1i的处理时间降低,整个机器Mi的完成时间Ti降低了,从而能够降低生产成本。
经过优化后,生产成本E可以直接得到,计算目标值Q还需要确定库存成本I和运输成本D,本实施例计算目标值的方法为:
步骤II:将当前批Bk加入库存集合IB,计算库存集合IB中所有批的库存概率Ub和运输概率Xb,具体为
Bb∈IB
其中,qg(t)表示工件Jg的库存概率,fg(t)表示工件Jg的运输概率,每个工件Jg的库存概率Jg在步骤S1中被初始化为(0,1)内的随机实数,fg(1)=1-qg(1);
γ为常数,本实施例中取γ=0.3,Yb为批Bb的库存时间,表示批Bb到当前批Bk的完成时间之差,即
步骤III:如果k<K,转至步骤IV,否则转至步骤V;
步骤VI:计算运输成本D和库存成本I;本实施例中将实际模型简化为运输成本与运输所需的车辆总数成正比,库存成本与所有批库存的总时间成正比,即
D=λ3H
其中,λ2,λ3均为大于0的实数,Yk为批Bk转入运输集合DB被车运输走时的库存时间;
其中,为运输集合DB中的批分配车辆的方法为:将所有批按照所占空间非递增排序,按照Best-Fit规则依次分配到车上,直到所有批都分配完,得到所需车辆的总数hk。
S9:如果Ant<AntNum,则返回S2;
S10:否则获取全局最优调度方案,如果t<Tmax,则更新库存概率、运输概率和信息素,令t=t+1,Ant=0,返回S2,重新让所有蚂蚁各得到一个调度方案;否则输出全局最优调度方案,
更新库存概率和运输概率的方法为:
qg(t+1)=qg(t)+Δqg(t)
fg(t+1)=fg(t)+Δfg(t)
其中,Imin和Dmin表示从第一次迭代到当前迭代产生的所有调度方案的库存成本和运输成本的最小值,和分别是当前调度方案库存成本和运输成本的上限,I和D分别是库存成本和运输成本的下限,Δqg(t)和Δfg(t)分别表示库存成本和运输成本在最优情况下的位置;其中库存成本的下限为0,库存成本的上限为所有批加工完成后统一分车运输情况下的库存成本;运输成本的上限为每个批生产出来后立刻运输,即每个批都单独由一辆车运输的成本,运输成本的下限为批全部生产完之后统一运输的成本。
全局最优调度方案为目标值最小的调度方案,更新信息素的方法为:
τg,j(t+1)=(1-ρ)·τg,j(t)+mg,j(t)·Δτg,j(t)
其中,mg,j(t)表示在第t代时,工件Jg和Jj被分配到同一批的次数,Δτg,j(t)表示信息素的增量,如果在第t代中Jg和Jj未分配到同一批次中,则Δτg,j(t)=0;否则Δτg,j(t)=1/Qbest,Qbest表示当前迭代中全局最优调度方案的目标值。
最终得到的全局最优调度方案表示为:
验证分析
为了验证本实施例提供的基于联合蚁群算法的批调度方法(IACO算法)的性能,以表1所示的数据构造了6组测试算例,根据工件规模和机器数目分别将6组测试算例分别表示为N1M1,N1M2,N2M1,N2M2,N3M1,N3M3,
因素 | 取值范围 |
工件规模n | N1=30,N2=100,N3=200 |
工件尺寸s<sub>j</sub> | U[1,30] |
工件加工时间p<sub>j</sub> | U[2,6] |
机器数目M | M1=2,M2=4 |
机器容量S | S=50 |
表3:算例参数
由于本实施例提出的IACO算法是以蚁群算法(ACO)为基础的,其最优参数可以参考ACO算法设置,经过前期验证,在对比测试时将蚂蚁数量AutNum和迭代次数Tmax分别设置为20和200,
此外,还进行了初步试验以确定α、β和ρ的数值,具体实验设计如下:令ρ=0.5,在选定的二十个实例上运行具有不同α、β值的IACO算法,α、β的数值范围为[1,10],其平均结果如图2所示,x轴表示α、β的不同组合值;y轴显示不同组合下的平均目标值;从中可以看出,当β>α时,平均目标值的质量更好,原因可能是增加启发式信息的影响对于寻找更好的解是可取的,在α=1,β=9时,平均目标值是所有组合中最小的,因此在后续实验中选择α=1,β=9。
然后根据上面的结果,在α=1,β=9的情况下测试ρ为[0.1,0.9]时的实验结果如图3所示,最终确定的IACO算法的参数分别为α=1,β=9,ρ=0.5,AntNum=20,Tmax=200。
在进行性能验证的时候选用的对比算法包括
混合遗传算法(HGA):具体可参考文献Cheol Min Joo and Byung Soo Kim.Rule-based meta-heuristics for integrated scheduling of unrelated parallelmachines,batches,and heterogeneous delivery trucks.Applied Soft Computing,53:457–476,2017.;
H-N算法(启发式H与NSAG-II):将本申请要解决的问题分解为生产子问题和存储、运输子问题,分别用sp1和sp2表示,用启发式H求解sp1,参考图4,大致步骤为将工件按加工时间非递增排序,然后根据最佳匹配规则将工件分配给批,即第一个工件被分配给第一个空批,其他工件被分配给可以容纳改工件且批次中剩余空间最小的批次,最后根据轮询规则将生成的批分配给机器。NSGA-II算法对每个批次随机赋予数字0或1作为其交货代码,其中0表示该批存储在仓库中,1表示运输,将最后一批交货代码设置为1。
ACO-N算法(ACO算法,NSGA-II算法):利用ACO算法解决生产子问题,然后同样用NSGA-II算法解决存储、运输子问题。
NSGA-II算法的参数设置见表4
种群规模 | 迭代代数 | P<sub>M</sub> | P<sub>C</sub> |
200 | 200 | 0.01 | 0.5 |
表4:NSGA-II算法参数
实验中的主要评价指标为相对百分比差距(RPG)和计算时间T(s),其中RPG为
表5-10分别给出了不同工件数量和机器数量下的实验结果,具体如下:
表5:测试算例N1M1的对比实验结果(n=30,M=2)
从表5中可以知道,IACO算法的RPG值在每个实例上都优于HGA算法,在大多数情况下都有很大的余地。在20个实例中,IACO算法的RPG值在15例中击败了H-N算法,在14例中超过了ACO-N算法。在所有情况下,IACO算法的运行时间都远远少于其他比较算法。此外,IACO算法的平均RPG值和平均运行时间优于其他算法。
表6:测试算例N1M2的对比实验结果(n=30,M=4)
从表6可以看出,IACO算法的RPG值均优于HGA算法和ACO-N算法。此外,IACO的RPG值在每个实例(第19个实例除外)上都超过了H-N的值。而且IACO的平均RPG值要远远优于其他任何的比较算法。在所有实例上,IACO算法的运行时间都比其他比较的算法要好。此外,IACO的平均运行时间比其他算法的运行时间少将近六秒钟。从表5和表6中可以看出,随着机器数量的增加,就RPG值和运行时间而言,IACO算法的优势对于其他三种比较算法而言变得更加明显。
表7:测试算例N2M1的对比实验结果(n=100,M=2)
从表7可以看出,在RPG方面,IACO在除了ACO-N的四个实例和H-N的七个实例之外的所有实例上的性能均优于其他三种比较算法,并且与其他三种算法相比,IACO在每种情况下都需要比其他算法更少的运行时间。此外,IACO的平均RPG值和运行时间都比其他三种算法要好得多。
表8:测试算例N2M2的对比实验结果(n=100,M=4)
从表8可以看出,在每种情况下,IACO算法的RPG值都优于HGA算法。此外,IACO在所有实例(仅一个实例)上均胜过ACO-N;在八个实例之外的所有实例中,IACO的RPG值都优于H-N。此外,IACO的平均RPG明显优于其他比较算法,这与表7中的平均结果一致;从表7和8中可以看出,IACO的平均RPG值随着机器数量的增加而急剧下降。
表9:测试算例N3M1的对比实验结果(n=200,M=2)
从表9可以知道,在所有比较算法中,IACO算法的RPG值是最好的。IACO的运行时间比其他三种比较算法的运行时间要短得多。从表5、7和9中可以看出,随着作业数量的增加,所提出的IACO算法在平均RPG和平均运行时间方面的优势变得越来越明显。
表10:测试算例N3M2的对比实验结果(n=200,M=4)
从表10可以知道,IACO算法的RPG值都优于其他比较算法。在每种情况下,IACO算法的运行时间都比HGA,ACO-N和H-N的运行时间少得多。此外,IACO算法的平均RPG值和平均运行时间均远优于其他算法。
结合以上数据,四种算法在不同实例组上的比较结果如图5所示,其中x轴表示测试算例的代码,y轴表示测试算例的平均目标值,对于N1M1和N1M2组,IACO的平均目标值略低于H-N和ACO-N的平均目标值。但是,随着工作和机器数量的增加,IACO算法的平均目标值变得比其他算法要好得多。例如N3M1和N3M2组,IACO算法的平均目标值远好于HGA,后者几乎是H-N和ACO-N获得的目标值的一半。这是由于IACO同时考虑了生产,运输和存储的子问题,比分别解决两个子问题的算法更适合解决大规模问题。此外,IACO算法显然优于HGA算法。由于结合了基于概率的反馈机制,IACO能够不断优化所研究问题的解决方案的整体质量。
Claims (11)
1.一种基于联合蚁群算法的批调度方法,其特征在于:包括以下步骤:
S1:初始化最大迭代次数Tmax、蚂蚁数量AntNum、工件数量n,机器数量I,机器容量S,信息素矩阵、信息素蒸发率ρ、工件的库存概率和运输概率,令当前迭代次数t=1,蚂蚁序列Ant=0;
S2:令Ant=Ant+1,初始化禁忌列表TB=(1,2,3,···,n);
S3:当前蚂蚁Ant选择一台机器Mi构建一个空批Bki;
S4:当前蚂蚁Ant随机选择未被分配的工件Jj分配到批Bki,令TBj=0,构建当前批Bki的候选列表Lki;
S6:更新禁忌列表Lki,返回S5;
S7:如果TB≠(0,0,0,···,0),则返回S3,如果TB=(0,0,0,···,0),则输出当前蚂蚁Ant确定的调度方案;
S8:通过局部优化策略优化调度方案,计算优化后的调度方案的目标值;
S9:如果Ant<AntNum,则返回S2,否则转至S10;
S10:获取全局最优调度方案,如果t<Tmax,则更新库存概率、运输概率和信息素,令t=t+1,Ant=0,返回S2;否则输出全局最优调度方案。
2.根据权利要求1所述的一种基于联合蚁群算法的批调度方法,其特征在于:所述信息素矩阵表示为Γ={τg,j|g,j∈[1,n]},其中τg,j表示工件Jg和Jj分配到同一个批中的期望,S1中将τg,j均初始化为0.1,即将信息素矩阵初始化为数值都是0.1,规模为n*n的二维矩阵。
3.根据权利要求2所述的一种基于联合蚁群算法的批调度方法,其特征在于:S3中蚂蚁Ant选择机器Mi的方法为:将所有机器按完工时间排序,在完工时间最早的机器Mi上构建新批Bki,如果存在多个完工时间最早的机器,则从中随机选择一个机器Mi。
6.根据权利要求5所述的一种基于联合蚁群算法的批调度方法,其特征在于:S8所述的局部优化策略包括以下步骤:
步骤ii:令v1=v1+1,如果v1=bi,则转至步骤vii,否则令v2=v1+1;
步骤iv:判断批中加工时间最长的工件与批中处于集合N的第w个位置的工件交换后是否满足批容量约束,如果满足则交换这两个工件,更新批的加工时间,令返回步骤iii,若交换后不满足批容量约束条件,则不执行交换操作;
步骤v:令w=w+1,如果w≤x,返回步骤iv;
步骤vi:如果v2<bi,令v2=v2+1,返回步骤iii;
步骤vii:如果i<I,令i=i+1,v1=0,返回步骤ii,否则输出优化后的调度方案。
7.根据权利要求6所述的一种基于联合蚁群算法的批调度方法,其特征在于:批Bki的加工时间Pki等于该批Bki中所有工件的最大加工时间,即
Pki=max(pj|Jj∈Bki)
pj表示工件Jj的加工时间。
9.根据权利要求8所述的一种基于联合蚁群算法的批调度方法,其特征在于:S8中计算目标值的方法为:
步骤II:将当前批Bk加入库存集合IB,计算库存集合IB中所有批的库存概率Ub和运输概率Xb,具体为
Bb∈IB
其中,qg(t)表示工件Jg的库存概率,fg(t)表示工件Jg的运输概率,每个工件Jg的库存概率Jg在步骤S1中被初始化为(0,1)内的随机实数,fg(1)=1-qg(1);
γ为常数,本实施例中取γ=0.3,Yb为批Bb的库存时间,表示批Bb到当前批Bk的完成时间之差,即
步骤III:如果k<K,转至步骤IV,否则转至步骤V;
步骤V:将库存集合IB中的所有批移入运输集合DB,将运输集合DB中的所有批分配到车上,得到所需车辆hk,令H=H+hk;
步骤VI:计算运输成本D和库存成本I;
D=λ3H
其中,λ2,λ3均为大于0的实数,Yk为批Bk转入运输集合DB被车运输走时的库存时间;
其中为运输集合DB中的批分配车辆的方法为:将所有批按照所占空间非递增排序,按照Best-Fit规则依次分配到车上,直到所有批都分配完,得到所需车辆的总数hk。
10.根据权利要求9所述的一种基于联合蚁群算法的批调度方法,其特征在于:S10所述的更新库存概率和运输概率的方法为:
qg(t+1)=qg(t)+Δqg(t)
fg(t+1)=fg(t)+Δfg(t)
11.根据权利要求10所述的一种基于联合蚁群算法的批调度方法,其特征在于:S10中所述的更新信息素的方法为:
τg,j(t+1)=(1-ρ)·τg,j(t)+mg,j(t)·Δτg,j(t)
其中,mg,j(t)表示在第t代时,工件Jg和Jj被分配到同一批的次数,Δτg,j(t)表示信息素的增量,如果在第t代中Jg和Jj未分配到同一批次中,则Δτg,j(t)=0;否则Δτg,j(t)=1/Qbest,Qbest表示当前迭代中全局最优调度方案的目标值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911179848.4A CN110942251B (zh) | 2019-11-27 | 2019-11-27 | 一种基于联合蚁群算法的批调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911179848.4A CN110942251B (zh) | 2019-11-27 | 2019-11-27 | 一种基于联合蚁群算法的批调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110942251A true CN110942251A (zh) | 2020-03-31 |
CN110942251B CN110942251B (zh) | 2022-09-30 |
Family
ID=69908229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911179848.4A Active CN110942251B (zh) | 2019-11-27 | 2019-11-27 | 一种基于联合蚁群算法的批调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110942251B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112462704A (zh) * | 2020-11-18 | 2021-03-09 | 河海大学常州校区 | 一种面向传感器车间生产的混流批调度优化方法 |
CN112785054A (zh) * | 2021-01-15 | 2021-05-11 | 江苏徐工信息技术股份有限公司 | 一种基于库存推移的多制约因素综合型生产订单排程系统 |
CN114595633A (zh) * | 2022-03-12 | 2022-06-07 | 北京工业大学 | 一种基于多约束的多目标柔性作业车间节能调度方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970604A (zh) * | 2017-05-15 | 2017-07-21 | 安徽大学 | 一种基于蚁群算法的多目标工件调度算法 |
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 |
CN109255546A (zh) * | 2018-09-29 | 2019-01-22 | 华南理工大学 | 基于多启发信息蚁群系统的柔性作业车间调度方法 |
CN109872091A (zh) * | 2019-04-18 | 2019-06-11 | 安徽大学 | 一种基于蚁群算法的工件调度方法及装置 |
-
2019
- 2019-11-27 CN CN201911179848.4A patent/CN110942251B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970604A (zh) * | 2017-05-15 | 2017-07-21 | 安徽大学 | 一种基于蚁群算法的多目标工件调度算法 |
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 |
CN108563200A (zh) * | 2018-04-03 | 2018-09-21 | 安徽大学 | 一种基于蚁群算法的多目标的工件调度方法及装置 |
CN108665139A (zh) * | 2018-04-03 | 2018-10-16 | 安徽大学 | 一种基于蚁群算法的工件调度方法及装置 |
CN109255546A (zh) * | 2018-09-29 | 2019-01-22 | 华南理工大学 | 基于多启发信息蚁群系统的柔性作业车间调度方法 |
CN109872091A (zh) * | 2019-04-18 | 2019-06-11 | 安徽大学 | 一种基于蚁群算法的工件调度方法及装置 |
Non-Patent Citations (4)
Title |
---|
CHENGTAO GUO: "A hybrid ant colony optimization method for scheduling batch processing machine in the semiconductor manufacturing", 《2010 IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL ENGINEERING AND ENGINEERING MANAGEMENT》 * |
卓雪雪: "批处理机环境下两阶段集成调度算法研究", 《中国优秀硕士学位论文全文数据库》 * |
夏欣: "批处理机调度问题的蚁群算法求解", 《计算机科学》 * |
张勇明等: "一种多项目调度的改进蚁群算法研究", 《科技视界》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112462704A (zh) * | 2020-11-18 | 2021-03-09 | 河海大学常州校区 | 一种面向传感器车间生产的混流批调度优化方法 |
CN112785054A (zh) * | 2021-01-15 | 2021-05-11 | 江苏徐工信息技术股份有限公司 | 一种基于库存推移的多制约因素综合型生产订单排程系统 |
CN112785054B (zh) * | 2021-01-15 | 2023-12-08 | 徐工汉云技术股份有限公司 | 一种基于库存推移的多制约因素综合型生产订单排程系统 |
CN114595633A (zh) * | 2022-03-12 | 2022-06-07 | 北京工业大学 | 一种基于多约束的多目标柔性作业车间节能调度方法 |
CN114595633B (zh) * | 2022-03-12 | 2024-03-26 | 北京工业大学 | 一种基于多约束的多目标柔性作业车间节能调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110942251B (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110942251B (zh) | 一种基于联合蚁群算法的批调度方法 | |
Fontes et al. | A hybrid particle swarm optimization and simulated annealing algorithm for the job shop scheduling problem with transport resources | |
Forouharfard et al. | An imperialist competitive algorithm to schedule of receiving and shipping trucks in cross-docking systems | |
CN110796355B (zh) | 一种基于动态解码机制的柔性作业车间调度方法 | |
CN113408771B (zh) | 物品出库调度方法、装置以及存储介质 | |
US8862627B2 (en) | Systems and methods for auto-adaptive control over converged results for multi-dimensional optimization | |
CN113627642B (zh) | 基于自适应大规模邻域搜索算法的堆垛机路径优化方法 | |
CN112561194B (zh) | 一种混合流水车间生产与物流集成调度方法及系统 | |
CN113792924A (zh) | 一种基于Deep Q-network深度强化学习的单件作业车间调度方法 | |
US20170011292A1 (en) | Systems and Methods for Multi-Objective Evolutionary Algorithms with Category Discovery | |
Ghadiri Nejad et al. | Trade-off between process scheduling and production cost in cyclic flexible robotic cells | |
CN109872091B (zh) | 一种基于蚁群算法的工件调度方法及装置 | |
CN116203959A (zh) | 基于hac算法的机器人路径规划方法及系统 | |
CN116542365A (zh) | 移动机器人履行系统中订单分配和agv调度联合优化方法 | |
CN116933939A (zh) | 基于改进浣熊优化算法的柔性车间协同生产方法及系统 | |
CN116258308A (zh) | 一种基于混合遗传算法的动态柔性作业车间调度方法 | |
CN117148796A (zh) | 一种求解多目标柔性作业车间调度问题的优化方法 | |
CN117669992B (zh) | 面向智能仓储多移动机器人实时两阶段调度方法及系统 | |
CN115935616A (zh) | 一种一致批次的序列依赖流水车间组调度多目标优化方法 | |
CN113792933A (zh) | 一种车间布局优化方法、装置、电子设备及存储介质 | |
Irwan et al. | A review of integration model of lot-sizing-scheduling problem | |
CN111160711B (zh) | 一种基于蚁群算法的平行机批调度方法 | |
CN117077975A (zh) | 基于混合初始化模因算法的分布式异构流水车间调度方法 | |
CN116342039A (zh) | 一种立体仓库的货物分配和拣选的优化方法 | |
bin Md Fauadi et al. | Makespan minimization of machines and automated guided vehicles schedule using binary particle swarm optimization |
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 |