CN115983423A - 一种考虑双资源约束的上下料场景调度优化方法 - Google Patents
一种考虑双资源约束的上下料场景调度优化方法 Download PDFInfo
- Publication number
- CN115983423A CN115983423A CN202211428724.7A CN202211428724A CN115983423A CN 115983423 A CN115983423 A CN 115983423A CN 202211428724 A CN202211428724 A CN 202211428724A CN 115983423 A CN115983423 A CN 115983423A
- Authority
- CN
- China
- Prior art keywords
- machine
- pheromone
- scheduling
- time
- loading
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 166
- 238000005457 optimization Methods 0.000 title claims abstract description 32
- 238000007599 discharging Methods 0.000 title claims abstract description 13
- 238000002360 preparation method Methods 0.000 claims abstract description 27
- 230000007306 turnover Effects 0.000 claims abstract description 10
- 239000003016 pheromone Substances 0.000 claims description 99
- 230000008569 process Effects 0.000 claims description 97
- 238000012545 processing Methods 0.000 claims description 55
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000003754 machining Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 229910052799 carbon Inorganic materials 0.000 claims description 2
- 125000004432 carbon atom Chemical group C* 0.000 claims description 2
- 230000008859 change Effects 0.000 claims description 2
- 238000010606 normalization Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 15
- 230000002349 favourable effect Effects 0.000 abstract description 3
- 241000257303 Hymenoptera Species 0.000 description 13
- 238000002474 experimental method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 239000002994 raw material Substances 0.000 description 4
- 230000009024 positive feedback mechanism Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000019637 foraging behavior Effects 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种考虑双资源约束的上下料场景调度优化方法,包括:获取上下料场景中的调度参数;设置考虑工人资源和机器资源的约束条件,以最小化最大完工时间和工人在机器之间的频繁周转疲劳度为优化目标,根据调度参数、约束条件和优化目标构建上下料场景调度问题模型;采用改进的蚁群算法对上下料场景调度问题模型进行求解,输出上下料场景最优或近似最优调度解,并输出甘特图显示。本发明以同时最小化最大完工时间和工人在机器之间的频繁周转疲劳度为优化目标,考虑带准备时间的生产情况,并使用改进的蚁群算法求解,在考虑最小化最大完工时间的情况下,能备选出工人疲劳相对较低的方案,有利于车间生产良好的运转,具有重要的实际应用价值。
Description
技术领域
本发明属于车间生产调度领域,具体涉及一种考虑双资源约束的上下料场景调度优化方法。
背景技术
随着个性化需求的日益普及,目前制造车间里的生产环境变得越来越复杂,例如生产环境的不确定性和车间资源分配的多样性。对于实际工厂来说,几乎时刻体现着调度的场景,例如园区上下料和坡口、车间部件装配等。
一般在实际的上下料车间中,辅助上下料的机器有多种类型,各种机器都有不同的功能,例如火焰切割机用于切割原材料,每位工人需要控制这些机器对原材料进行初始加工,使之成为能初步使用的零件,部分材料的上下料需要特定机器才能进行,因此这里体现了一个机器柔性的约束。值得注意的是,在某些上下料操作中,可以认为是不需要借助机器实现的,工人仅需要使用一些工具来辅助上下料,即这里所借助的工具的数量是很多的,不会存在工具紧缺的情况,但此时也会受到场地工位的限制。在工件上下料准备时期,一般是采用吊钩将各种原材料装载到机器上,待加工完成后再将工件从机器上卸载下来,在此期间,机器是不可使用于加工下一道工序的。因此不仅要考虑工件的加工周期,还需要考虑工件的装卸准备时间,这样更加符合实际加工环境。在工件进行准备阶段时,此时该机器也被占用,工人需要在机器上控制工件准备进行加工,中途不能离开机器,无法去加工下一道工序。这个工人机器选择过程中存在着多个子过程,且它们的关联度很高,且工人在这个过程中对不同机器有不同的熟练度,每个工件在可加工机器集上的各个机器上加工时间不同,需要对熟练度和加工时间进行取舍,为后续的工件减少加工时间损耗。此外,对于工人来讲,在不同机器之间的移动会产生巨大的疲劳度,使得工作效率下降。
在上下料场景中,工人和机器的调度安排是非常重要的,在一批零件的生产中每个工件会有一条工艺路线,需要进行一系列的工序才能完成生产要求。但是目前业界对于这类结合实际的带资源约束上下料调度问题的研究比较罕见,大多数研究都是在较为理想的车间环境下建立模型,主要考虑机器这一种资源,而并未考虑工人资源。而且在考虑这两个资源约束的调度问题上,并没有额外考虑工人的负荷影响。
因此将机器资源和工人资源作为调度模型的双资源约束,在提高生产效率的同时,也能在一定程度上减少工人的疲劳负担是亟待解决的技术问题。
发明内容
本发明要解决的主要技术问题在于,提供一种考虑双资源约束的上下料调度优化方法,在保证最大完工时间合理的前提下,减少工人在机器之间的移动次数,实现在提高生产效率的同时,也能在一定程度上减少工人的疲劳负担。
为了实现上述目的,本发明采取的技术方案是:一种考虑双资源约束的上下料场景调度优化方法,双资源约束体现在上下料调度过程同时被机器和工人两类资源所约束,需要设计规则用于合理安排资源,包括以下步骤:
S1:获取上下料场景中的调度参数,所述调度参数包括:工人总数、机器总数、工人对每台机器的熟练度系数、工件总数、每个工件包含的固定工序数以及每个工件每道工序在每台可选机器上的加工时间;
S2:设置考虑工人资源和机器资源的约束条件,以最小化最大完工时间和最小化工人在机器之间的频繁周转疲劳度为优化目标,根据所述调度参数、约束条件和优化目标构建上下料场景调度问题模型;
S3:采用改进的蚁群算法对所述上下料场景调度问题模型进行求解,输出上下料场景最优或近似最优调度解,并输出甘特图显示。
进一步地,所述采用改进的蚁群算法对所述上下料场景调度问题模型进行求解,输出上下料场景最优或近似最优调度解,并输出甘特图显示,具体包括:
A1、初始化蚁群的种群规模,并初始化相关参数,包括启发式信息因子和信息素挥发系数;
A2、初始化信息素矩阵,为每条工序子路径分配信息素初值;
A3、为每只蚂蚁随机初始化位置,并记录在各自的禁忌表信息;
A4、对每只蚂蚁迭代计算,根据状态转化策略计算下一个访问结点;
A5、更新各自的禁忌表信息;
A6、判断禁忌表是否已满,若否,则返回A4;若是,则继续下一步A7;
A7、计算当前代的最小最大完工时间,并根据信息素更新策略更新全局信息素;
A8、判断当前是否陷入局部最优,若是,则继续执行A9,若否,则转至A10;
A9、使用变邻域思想更新局部信息素,继续步骤A10;
A10、根据上一代的最优个体,建立机器和工人在加工时的析取图,从析取图中获取关键路径,在关键路径上的工序节点上分配更多的信息素作为奖励,继续步骤A11;
A11、判断是否达到终止条件,即达到最大蚁群迭代代数,若否,则跳至A3,若是,则继续A12;
A12、程序结束,输出最优或近似最优调度解及甘特图显示。
本发明提供的技术方案具有以下有益效果:
本发明建立了考虑双资源约束的上下料场景调度问题模型,该模型以同时最小化最大完工时间和最小化工人在机器之间的频繁周转疲劳度为优化目标,且考虑带准备时间的生产情况,并使用基于关键路径优化的方法对蚁群算法进行改进,通过改进后的蚁群算法求解上下料场景调度问题模型,在考虑最小化最大完工时间的情况下,能备选出工人疲劳相对较低的方案,有利于车间生产良好的运转,具有重要的实际应用价值。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明一种考虑双资源约束的上下料场景调度优化方法的执行流程图。
图2是本发明改进的蚁群算法整体流程图;
图3是本发明带有关键路径的析取图构造实例;
图4是本发明邻域结构移动策略;
图5是贪心算法求解的机器-工件甘特图;
图6是贪心算法求解的工人-工件甘特图;
图7是贪心算法得到的工人-机器移动周转情况;
图8是本发明改进蚁群算法求解的机器-工件甘特图;
图9是本发明改进蚁群算法求解的工人-工件甘特图;
图10是本发明改进蚁群算法得到的工人-机器移动周转情况。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
参考图1,考虑到上下料调度过程同时被机器和工人两类资源所约束,本发明提供了一种考虑双资源约束的上下料场景调度优化方法,包括以下步骤:
S1:获取上下料场景中的调度参数,所述调度参数包括:工人总数、机器总数、工人对每台机器的熟练度系数、工件总数、每个工件包含的固定工序数以及每个工件每道工序在每台可选机器上的加工时间;
S2:设置考虑工人资源和机器资源的约束条件,以最小化最大完工时间和最小化工人在机器之间的频繁周转疲劳度为优化目标,根据所述调度参数、约束条件和优化目标构建上下料场景调度问题模型;
S3:采用改进的蚁群算法对所述上下料场景调度问题模型进行求解,输出上下料场景最优或近似最优调度解,并输出甘特图显示。
设置的考虑工人资源和机器资源的约束条件具体包括:
同一工件下一道工序必须在前一道工序完成后才能开始加工;
同一时刻一道工序只能由一个工人控制一台机器完成;
同一时刻一台机器只能加工一道工序;
同一时刻一个工人只能控制一台机器;
每道工序有可选加工机器集,且时间可能不同;
每个工人对每台机器的熟练度不同,熟练度影响加工时间;
每道工序需要准备时间,不受熟练度影响,只因工件不同而有差异。
根据约束条件和调度参数构建的上下料场景调度问题模型的数学表达式如下:
min F1=min{max(Ck)},k∈(1,2,...,m)
Si,j+1,k,r≥Ei,j,k,r,i∈(1,2,...,n),j∈(1,2,...,ni-1),k∈(1,2,...,m),r∈(1,2,...,w)
Si,j,k,r≥0,i∈(1,2,...,n),j∈(1,2,...,ni),k∈(1,2,...,m),r∈(1,2,...,w)
对所述上下料场景调度问题模型描述如下:车间有w个工人W={W1,W2,...,Ww},这些工人可操控m台机器M={M1,M2,...,Mm}对n个待生产工件J={J1,J2,...,Jn}进行上料或下料,每个工件Ji包含固定的ni道工序 F1代表最大完工时间,表示最晚完成加工的一台机器的加工结束时间,F2为工人在机器之间的平均切换次数;另外,工人对每台机器的熟练度不同,假设熟练度矩阵为Φ,每个工人Wr对每台机器的熟练度系数Φr={Φr,1,Φr,2,...,Φr,m},不同工人控制不同机器的熟练度为一个常数;Mi,j为工序的可选机器集,且Mi,j∈M,Ck表示机器k上加工的最后一道工序的完工时间,Cr表示加工结束时分配给工人r的最后一道工序的完工时间;在正常加工情况下,Ti,j,k表示在机器k上加工工序Oi,j的加工时间,Ti,j,k,r表示工人r操控机器k上加工工序Oi,j的实际加工时间,在带准备时间的调度案例中,Pi,j,k表示在机器k上工序Oi,j的准备时间,并且该准备时间就是实际准备时间,不随工人熟练度的差异而改变;Si,j,k,r表示工人r在机器k上加工工序Oi,j的开始加工时间,Ei,j,k,r表示工人r在机器k上加工工序Oi,j的加工结束时间;Xi,j,k,r为一个决策变量,若当前工序有工人r在机器k上加工,则Xi,j,k,r=1,否则为0;是一台机器k上连续两道加工工序之间是否需要准备时间的决策变量,当工序Oi,j和前一道工序属于同一个工件时,则需要设置准备时间,否则为0;Zr为每位工人在整个加工过程结束前切换加工机器的次数。
在上下料场景调度问题模型构建完成后,本发明使用蚁群算法求解该上下料场景调度问题模型,本发明中利用群体智能在生产调度问题中的求解速度快等优点,根据问题特性对算法的参数进行调整,一步步控制算法的迭代及局部搜索过程,并对算法存在的问题进行分析并改进。
蚁群算法(Ant Colony Algorithm,ACO)由意大利学者M.Dorigo提出,算法具有正反馈、自组织及并行性等特点,算法求解过程模拟了自然界蚁群的觅食行为,根据算法觅食的自适应选择路径特点,是一种高效的智能优化算法。每只蚂蚁在寻找食物时都会在经过的路径上释放信息素,来与其他经过的蚂蚁相互交流信息。有人做过相关实验,从蚂蚁巢穴到食物源的某条路径越短,则蚂蚁路过的可能性大,从而使该条路径上的信息素浓度也就越高,而信息素浓度越高,蚂蚁选择这条路径的可能性就越大,随着后续蚂蚁的经过,又会使得更多的蚂蚁选择该条路径。通过这种信息素交流机制,经过一段时间的搜索,蚂蚁往往就能够找到相对最短路径。蚂蚁之间通过信息素这种方式进行间接交流,每个个体通过对环境的改变去影响其它个体的行为,从而形成了一种正反馈机制。蚁群算法已经成功的应用在各种优化领域,在组合优化方面也有不错的表现,如生产调度问题和旅行商问题等。
但是该类机制也存在一些问题,使得有时候一些问题求出的结果往往不是最优解,一般存在以下问题:
首先该算法容易陷入局部最优。蚁群算法具有正反馈的特点,在迭代过程中更新信息素时,蚂蚁会在较优解经过的路径上留下更多的信息素,会使得更多的蚂蚁选择该条路经,最后又会产生更多信息素,如此反复,会迅速地扩大初始各个解的优劣度,会引导算法求解结果往局部最优解方向发展。最终算法会很容易陷入局部最优,并难以跳出当前局部最优情况,导致求解结果质量不够高。其次,蚁群算法收敛速度慢。在蚁群算法中初始化时,会对每条子路径上的信息素值设计相同值,蚂蚁们选择下一个节点时会更加倾向于随机进行选择。这样就会导致每只蚂蚁初期找到的解质量过低或者解太过多样性,这就会导致算法初期收敛速度比较慢,找到最优解或者近似最优解也会过慢。另外,算法某些地方待优化。因为蚁群算法中参数很多,而且这些参数之间有一定的关联性和耦合性,例如启发式信息权重因子和信息素权重因子,在真正实验中更多的会倾向于个人经验和多次实验的试错,如果使用参数配置不恰当,则会削弱算法的寻优能力。在算法中会设置禁忌表,保留每次迭代的禁忌节点,但是禁忌表机制很容易造成“死锁”现象,会减少种群中的有效蚂蚁数量,降低算法整体的优化效率。最后,种群多样性与收敛速度之间存在一定的矛盾,这也是两个相悖的子目标。个体分布越集中,则种群多样性就会越差,这样就会降低算法的探索能力。相反,个体越分散则多样性越好,但是与此同时算法的寻优能力会越好。信息素的正反馈机制虽然会对收敛速度有所提升,却也会使算法更早的陷入部分候选解集合,因此正反馈会降低种群的多样性,也会不利于提高算法的全局寻优能力。
基于以上分析,本发明对蚁群算法进行了改进,并采用改进的蚁群算法对所述上下料场景调度问题模型进行求解,输出上下料场景最优或近似最优调度解,并输出甘特图显示。
参考图2,改进的蚁群算法的求解步骤如下:
A1、初始化蚁群的种群规模,并初始化相关参数,包括启发式信息因子和信息素挥发系数;
A2、初始化信息素矩阵,为每条工序子路径分配信息素初值;
A3、为每只蚂蚁随机初始化位置,并记录在各自的禁忌表信息;
A4、对每只蚂蚁迭代计算,根据状态转化策略计算下一个访问结点;
A5、更新各自的禁忌表信息;
A6、判断禁忌表是否已满,若否,则返回A4;若是,则继续下一步A7;
A7、计算当前代的最小最大完工时间,并根据信息素更新策略更新全局信息素;
A8、判断当前是否陷入局部最优,若是,则继续执行A9,若否,则转至A10;
A9、使用变邻域思想更新局部信息素,继续步骤A10;
A10、根据上一代的最优个体,建立机器和工人在加工时的析取图,从析取图中获取关键路径,在关键路径上的工序节点上分配更多的信息素作为奖励,继续步骤A11;
A11、判断是否达到终止条件,即达到最大蚁群迭代代数,若否,则跳至A3,若是,则继续A12;
A12、程序结束,输出最优调度解(或近似最优解)及甘特图显示。
根据上述算法流程,本发明对蚁群算法的改进主要体现在以下几个方面:
1、编码方式
本发明中使用三向量编码方式,首先,需要对问题最终求得的调度序列使用某种方式表示出来,一般采用向量表示法,不仅形式方便直观,而且有利于问题求解。本文对蚁群算法进行改进,使用向量表示的形式来表示问题的调度解,具体加工序列表示成π=(π1,π2,...,πn,),解中每个元素πi代表一个工件号,对应的排列即为一个最优工件工序加工顺序,重复出现的工件号分别代表同一工件的不同工序;机器序列和工人序列也是采用类似的方式定义,并与加工序列一一对应,利用机器和工人的编号表示,每一个解都由加工序列、机器序列和工人序列这三个向量组成,例如第一列的{1,3,2}表示工人2控制机器3加工工件1的第1道工序,根据这三个向量可以采用机器-工件甘特图和工人-工件甘特图,直观地展现调度全过程,具体示例在测试示例部分展示。
表1编码方式
加工序列 | 1 | 3 | 4 | 2 | 3 | 1 | 4 | 2 | 3 |
机器序列 | 3 | 1 | 2 | 4 | 1 | 3 | 4 | 2 | 3 |
工人序列 | 2 | 1 | 2 | 1 | 2 | 1 | 1 | 2 | 1 |
2、信息素矩阵初始化
蚁群算法寻优过程中,首先要对信息素矩阵初始化,方便算法快速启动,更快地找到一个可行解,然后在此基础上自动寻优,最终找到最优解。传统的蚁群算法在信息素矩阵初始化上是采用无差异的方式,即每条路径上的信息素都是相同的。这样做会使得算法寻优启动较慢,应该采用不均衡的信息素分配策略。建立一个(N+1)×(N+1)大小的信息素矩阵L,N指的是总工序数量,矩阵多出的1维是因为初选工序为无,从零工序直到N工序会存在N+1段子路径,根据每段子路径Li,j的对应相邻两道工序Oa1,b1和Oa2,b2在各个可选机器上的加权平均加工时间初始化时分配不均衡的信息素,具体分配公式如下:
上式中,代表子路径Li,j上的初始信息素量值,Q为一个常数,c为一个随机值,取值在(0,1)之内,子路径Li,j中的i和j表示的是两道工序,假设对应相邻两道工序Oa1,b1和Oa2,b2,Ma1,b1和Ma2,b2分别为这两道工序对应的可选机器集,Ta1,b1,k和Ta2,b2,k别为这两道工序在机器k上的加工时间,加权平均加工时间是根据子路径的两道工序的各自平均加工时间求得。当该加权平均加工时间越短,分配的信息素就会越多,蚂蚁选择该子路径的可能性就会越大,有助于算法求解初期就能找到一个相对较好的结果,加快寻优速度。
3、状态转化策略
对于蚁群算法,在每次蚂蚁迭代选择路径时,需要在当前路径节点基础上选择下一个路径节点,需要依据状态转化公式以此计算选择下一工序的概率。并且,在此过程中,每只蚂蚁会标记已经走过的路径,后续就不需要再访问这些对应结点,当该蚂蚁访问了所有工序路径结点,则完成一个调度解。状态转换概率公式如下:
假定初始化蚂蚁种群集合为A,需要为每一只蚂蚁a∈A设置一个禁忌表Na,上式中τi,j(t)表示t时刻路径Li,j上的信息素浓度,ηi,j表示该路径上的启发式信息,pTime表示该候选工件的某道工序在加工机器集上的平均加工时间,q为一个常数,根据这两个变量可以设计启发式信息ηi,j,α和β为两个参数,用于调节信息素和启发式信息之间的权重,根据公式计算得到的表示蚂蚁a选择子路径Li,j的概率。每只蚂蚁在每次迭代都会依照以上策略选择后面一道工序,直到所有工序都被选完,完成整个加工任务并得到一个可行解。
4、信息素更新公式
蚁群算法能正常运转的核心就在于信息素机制,整个算法流程中的信息素主要有两个来源,包括过去信息素挥发后的遗留值和当前信息素的增量值,具体的信息素更新公式设计如下:
τi,j(t+1)=(1-ρ)·τi,j(t)+ρ·Δτi,j(t),0≤ρ≤1
τi,j(t)∈[τmin,τmax]
上式中ρ代表信息素挥发系数,τi,j(t+1)和τi,j(t)分别代表t+1和t时刻子路径Li,j上的信息素含量,Δτi,j(t)为每次迭代时的信息素增量值,它根据当前时刻的最小最大完工时间Cmax(t)以及当前工序j(即Oa2,b2,见公式6介绍)的候选机器集Ma2,b2上的平均归一化准备时间求得,表示工序Oa2,b2在机器k上的准备时间与最大完工时间归一化后的数值,也就是归一化之后的准备时间,γ表示权重因子,取值在(0,1)之间,τmax和τmin表示信息素的上界和下界。在算法求解全过程中,会不断增大γ,这是为了在算法初期使用贪婪求解的思想尽快找到相对较好的解,加快算法启动速度,在后期为保证尽量找到最优解会加大最大完工时间的权重,使算法跳出贪婪搜索的思想。此外,信息素的值也并不是无限制的增加的,算法定义了信息素值的上界和下界,达到最大值和最小值时则保持边界值不变。
5、信息素挥发系数设计
实验中的信息素挥发系数ρ是一个介于0到1之间的值,但从实际调度问题分析可以发现,要想提高算法初期的寻优速度,并结合初始信息素矩阵设置,必须要在初期赋予信息素更大的挥发速度,这样可以加速各条路径上的信息素之间的差值逐渐加大,可提高算法的收敛速度,但随着算法的求解进行,后面的信息素要变慢,用来提高算法的搜索精度,利于跳出局部最优,有利于找到问题的最优解。因此采用如下公式设计信息素挥发速度:
ρ=cx,0<c<1
上式中,c、q为常数,Iter代表当前蚂蚁的迭代次数,maxIter代表整个求解过程的总迭代次数,根据Iter和maxIter的比值x可以动态地调节信息素挥发系数ρ。随着算法迭代,x的值会不断变大,导致挥发系数ρ不断变小最后不断趋于平滑,用于模拟信息素由快到慢的挥发过程,另外在这信息素更新过程中,可能会使算法提前收敛,找到一个近似最优解,这并不是期望的结果,因此需要设置局部收敛判定方法,一旦在算法未结束前陷入局部最优,则可以根据提高某一点上的信息素挥发速度,使算法跳出局部最优。τi,j(t)表示t时刻子路径Li,j上的信息素含量,表示当前子路径Li,j节点的附近区域内的信息素平均值,若与τi,j(t)的差值过大,则会导致Li,j处的信息素更快挥发,直到低于附近区域内的信息素平均值。该策略可以有效地保证整个求解过程中解的多样性,更大概率地找到最优解。
6、局部最优判定
随着算法的不断迭代,存储已完成工序的禁忌表会逐渐变满,当禁忌表存储了整个工序集的工序时,算法会得到一个可行解,该解可能会导致后面所有代的蚂蚁都陷入这个解上,即一个局部最优解。导致这一现象的原因是蚁群算法信息素的正反馈机制,当一条路径上的信息素含量处于相对较高水平时,会导致每次迭代的蚂蚁都会往这条路径上走。因此,为避免局部最优需要定义一个信息素阈值,定义方法如下:
上式定义了两种局部收敛判定策略,第一种是当前某一工序路径Li,j上的信息素值τi,j(t)超过其附近区域的信息素平均值的d倍(实验中设置d=10),第二种是路径Li,j上的信息素值达到信息素最大值τmax,Iter为当前迭代代数,{Iter,Iter+1,...,Iter+N-1}表示包含当前代数的之后连续N代。但无论是哪一种局部收敛判定策略都必须保证这种状况要连续维持N代(实验中总代数maxIter=500,N=10),才能基本判定是陷入局部最优或者找到最优解,需要跳出继续在其他路径上搜索,直到算法结束。
7、关键路径求解优化
在每次迭代的信息素更新过程中,由于群体智能算法带有不确定性,会导致求解结果的收敛速度不同,会使得每次运行到收敛时所花的时间有较大差异,为解决这一问题,本发明中考虑将关键路径与调度策略结合使用,根据前一次迭代得到的最优解,建立机器和工人在加工时的析取图,在此基础上求出一条甚至多条关键路径,在关键路径上的工序节点上分配更多的信息素作为奖励。
如图3所示,以实验结果图8和图9为例,根据工件之间的工序顺序要求、不同工序在各个机器上的加工顺序要求以及不同工序在不同工人的加工顺序三条规则,构建完整的析取图,并在其基础上求解对应的关键路径,可以在图中找到两条关键路径,分别是:
(1)S→O41→O31→O11→O33→O34→E;
(2)S→O51→O32→O33→O34→E:
然后在上面两条路径除去S和E两结点的其它结点上进行信息素更新,增加信息素含量,提高算法的收敛速度。
8、变邻域局部搜索策略
局部搜索策略主要有两个功能:
(1)根据某一个子路径节点附近区域的信息素含量来判断陷入局部最优,本发明主要考虑了两种闭包区域(8-闭包区域和24-闭包区域,即以该节点为中心的3*3区域和5*5区域),求出附近区域内的子路径信息素平均值,来作为判断局部收敛的基本条件。
(2)设置邻域结构来对解进行更新变异操作,保证解的多样性。在蚁群算法求解过程中,会有多个子路径节点上的信息素长时间保持较高的含量,因此可以认定这些工序节点就是关键工序结点,可以采用图4的策略进行局部关键工序序列的更新:
图4中灰色填充代表关键工序,根据关键工序处的信息素值排序,将首部和尾部的关键工序往内部移动,将内部的关键工序往首部和尾部移动,可以产生多种局部近似最优解,在这些解的基础上继续进行演算,一步步接近最优解。
上述8个策略为改进的蚁群算法的核心过程,根据问题特性而制定,接下来将对本发明的改进蚁群算法和贪心算法进行实验,观察实验结果并分析。
测试实例:
(1)工序加工时间表如表2所示,其中M1-M5代表上料或下料机器,M6代表不需要机器,利用工具上下料即可,但是需要占用一个工位,该工位不能同时支持多道工艺同时上料或下料,因此也要将它标识为一种机器资源,也能利于甘特图的展示,∞表示不能在该机器或工位上操作
表2工序加工时间表
(2)工序准备时间表如表3所示:
表3工序准备时间表
(3)工人对机器熟练度系数表如表4所示:
表4工人对机器熟练度系数表
测试结果:
(1)根据贪心算法求解得到结果如下:
算法按照不同工人对各个机器的熟练度来分配给工件,会将熟练度较高的工人优先分配去加工时间较长的工件,而熟练度较低的工人机器组合分配给加工时间较短的工件,首先根据空闲最优先调度规则使用算例求出了多个近似最优解,主要是采用空闲则分配的贪心策略,针对工人和机器而言,首先会选择选出对某一道工序最优的机器和工人组合,一般是熟练度最高且加工时间较长的工序,这样能保证在对后续的加工时间较短的工序加工时,熟练度不会成为主要影响完工时间的因素,根据这一规则求出的一个近似最优解如表5所示:
表5贪心算法求得的近似最优解
1 | 4 | 3 | 6 | 7 | 5 | 3 | 4 | 6 | 1 | 7 | 3 | 4 | 2 | 1 | 7 | 3 |
1 | 4 | 2 | 3 | 5 | 6 | 4 | 2 | 1 | 5 | 3 | 4 | 2 | 6 | 1 | 3 | 5 |
1 | 2 | 3 | 4 | 2 | 3 | 1 | 4 | 1 | 4 | 2 | 1 | 3 | 4 | 2 | 1 | 3 |
最后得到的甘特图结果图5、图6、图7所示,其中白色部分代表准备时间:
对于该调度方案,最后得到的两个考量指标,其中最大完工时间为24,工人在机器之间的平均移动次数为4,由于优先考虑的是最大完工时间并把移动次数作为第二目标,因此这里对于工人移动的疲劳度会有增加,在实际调度中也是如此,必须在两个相悖的目标中进行取舍,最终解的优劣很大程度上取决于算法的优化过程与实际问题的契合度。
(2)基于关键路径优化的蚁群算法求解结果如表6所示:
表6基于关键路径优化的蚁群算法求解结果
7 | 6 | 5 | 4 | 3 | 7 | 2 | 1 | 3 | 3 | 7 | 1 | 4 | 6 | 3 | 1 | 4 |
1 | 2 | 6 | 4 | 3 | 4 | 6 | 5 | 2 | 3 | 1 | 5 | 2 | 1 | 4 | 5 | 2 |
1 | 3 | 2 | 4 | 4 | 3 | 1 | 4 | 2 | 4 | 3 | 2 | 3 | 2 | 4 | 1 | 3 |
算法设定蚂蚁种群数量为100,迭代次数为1000次,采用的数据不变,对蚁群算法的必要参数进行调节,最终得到一个最优结果如下,最后也重复运行20次,最后得出平均结果与前面结果对比,如图8、9、10所示。
在使用算法求解后,得到最大完工时间为19,工人平均周转次数为4,虽然在移动周转次数上没有显著变化,但是在实验中也出现了完全支配贪心算法求解的结果,其最大完工时间为21,平均周转次数为3.5。但由于工人的移动疲劳度被设定为第二目标,因此会优先得到最大完工时间最小的调度策略,而且根据实验结果可以看出,在最大完工时间优化上有显著提升。另外,重复实验20次后,每次实验都能找到最大完工时间均为19的调度解,平均会在387代收敛,实验效果较为良好。
根据两种方法所得到的结果可以看出,基于关键路径优化的改进蚁群算法对上下料场景调度优化求解有一定提升,在实际实验中我测试过22工件92道工序的数据集,能将最大完工时间降低8%左右,但是工人疲劳度都十分接近,在保证工人在不同机器之间的频繁周转疲劳度接近的情况下,能较大程度地减少最大完工时间,因此在实际应用中有较大的应用价值,对实际园区生产上下料有一定的指导意义。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种考虑双资源约束的上下料场景调度优化方法,其特征在于,包括以下步骤:
S1:获取上下料场景中的调度参数,所述调度参数包括:工人总数、机器总数、工人对每台机器的熟练度系数、工件总数、每个工件包含的固定工序数以及每个工件每道工序在每台可选机器上的加工时间;
S2:设置考虑工人资源和机器资源的约束条件,以最小化最大完工时间和最小化工人在机器之间的频繁周转疲劳度为优化目标,根据所述调度参数、约束条件和优化目标构建上下料场景调度问题模型;
S3:采用改进的蚁群算法对所述上下料场景调度问题模型进行求解,输出上下料场景最优或近似最优调度解,并输出甘特图显示。
2.根据权利要求1所述的上下料场景调度优化方法,其特征在于,所述约束条件包括:
同一工件下一道工序必须在前一道工序完成后才能开始加工;
同一时刻一道工序只能由一个工人控制一台机器完成;
同一时刻一台机器只能加工一道工序;
同一时刻一个工人只能控制一台机器;
每道工序有可选加工机器集,且时间可能不同;
每个工人对每台机器的熟练度不同,熟练度影响加工时间;
每道工序需要准备时间,不受熟练度影响,只因工件不同而有差异。
3.根据权利要求1所述的上下料场景调度优化方法,其特征在于,所述上下料场景调度问题模型的数学表达式如下:
min F1=min{max(Ck)},l∈(1,2,...,m)
Si,j,k,r≥0,i∈(1,2,...,n),j∈(1,2,...,ni),k∈(1,2,...,m),r∈(1,2,...,w)
对所述上下料场景调度问题模型描述如下:车间有w个工人W={W1,W2,...,Ww},这些工人可操控m台机器M={M1,M2,...,Mm}对n个待生产工件J={J1,J2,...,Jn}进行上料或下料,每个工件Ji包含固定的ni道工序Oi=F1代表最大完工时间,表示最晚完成加工的一台机器的加工结束时间,F2为工人在机器之间的平均切换次数;另外,工人对每台机器的熟练度不同,假设熟练度矩阵为Φ,每个工人Wr对每台机器的熟练度系数Φr={Φr,1,Φr,2,...,Φr,m},不同工人控制不同机器的熟练度为一个常数;Mi,j为工序的可选机器集,且Mi,j∈M,Ck表示机器k上加工的最后一道工序的完工时间,Cr表示加工结束时分配给工人r的最后一道工序的完工时间;在正常加工情况下,Ti,j,k表示在机器k上加工工序Oi,j的加工时间,Ti,j,k,r表示工人r操控机器k上加工工序Oi,j的实际加工时间,Pi,j,k表示在机器k上工序Oi,j的准备时间,并且该准备时间就是实际准备时间,不随工人熟练度的差异而改变;Si,j,k,r表示工人r在机器k上加工工序Oi,j的开始加工时间,Ei,j,k,r表示工人r在机器k上加工工序Oi,j的加工结束时间;Xi,j,k,r为一个决策变量,若当前工序有工人r在机器k上加工,则Xi,j,k,r=1,否则为0;是一台机器k上连续两道加工工序之间是否需要准备时间的决策变量,当工序Oi,j和前一道工序属于同一个工件时,则需要设置准备时间,否则为0;Zr为每位工人在整个加工过程结束前切换加工机器的次数。
4.根据权利要求1所述的上下料场景调度优化方法,其特征在于,在所述构建上下料场景调度问题模型的步骤之后,还包括:对上下料场景调度问题模型的可行解进行编码,每一个解都由加工序列、机器序列和工人序列这三个向量组成。
5.根据权利要求1所述的上下料场景调度优化方法,其特征在于,所述采用改进的蚁群算法对所述上下料场景调度问题模型进行求解,输出上下料场景最优或近似最优调度解,并输出甘特图显示,具体包括:
A1、初始化蚁群的种群规模,并初始化相关参数,包括启发式信息因子和信息素挥发系数;
A2、初始化信息素矩阵,为每条工序子路径分配信息素初值;
A3、为每只蚂蚁随机初始化位置,并记录在各自的禁忌表信息;
A4、对每只蚂蚁迭代计算,根据状态转化策略计算下一个访问结点;
A5、更新各自的禁忌表信息;
A6、判断禁忌表是否已满,若否,则返回A4;若是,则继续下一步A7;
A7、计算当前代的最小最大完工时间,并根据信息素更新策略更新全局信息素;
A8、判断当前是否陷入局部最优,若是,则继续执行A9,若否,则转至A10;
A9、使用变邻域思想更新局部信息素,继续步骤A10;
A10、根据上一代的最优个体,建立机器和工人在加工时的析取图,从析取图中获取关键路径,在关键路径上的工序节点上分配更多的信息素作为奖励,继续步骤A11;
A11、判断是否达到终止条件,即达到最大蚁群迭代代数,若否,则跳至A3,若是,则继续A12;
A12、程序结束,输出最优调度解或近似最优解及甘特图显示。
8.根据权利要求5所述的上下料场景调度优化方法,其特征在于,所述信息素更新策略的计算公式如下:
τi,j(t+1)=(1-ρ)·τi,j(t)+ρ·Δτi,j(t),0≤ρ≤1
τi,j(t)∈[τmin,τmax]
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211428724.7A CN115983423A (zh) | 2022-11-15 | 2022-11-15 | 一种考虑双资源约束的上下料场景调度优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211428724.7A CN115983423A (zh) | 2022-11-15 | 2022-11-15 | 一种考虑双资源约束的上下料场景调度优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115983423A true CN115983423A (zh) | 2023-04-18 |
Family
ID=85972721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211428724.7A Pending CN115983423A (zh) | 2022-11-15 | 2022-11-15 | 一种考虑双资源约束的上下料场景调度优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115983423A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757454A (zh) * | 2023-08-21 | 2023-09-15 | 松立控股集团股份有限公司 | 基于蚁群优化算法的智能巡检配置优化方法及系统 |
CN117933667A (zh) * | 2024-03-21 | 2024-04-26 | 广州疆海科技有限公司 | 虚拟电厂的资源调度方法、装置、计算机设备和存储介质 |
CN118569610A (zh) * | 2024-08-01 | 2024-08-30 | 江苏协航能源科技有限公司 | 基于多目标优化的光伏组件生产调度优化方法及系统 |
-
2022
- 2022-11-15 CN CN202211428724.7A patent/CN115983423A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757454A (zh) * | 2023-08-21 | 2023-09-15 | 松立控股集团股份有限公司 | 基于蚁群优化算法的智能巡检配置优化方法及系统 |
CN116757454B (zh) * | 2023-08-21 | 2023-11-17 | 松立控股集团股份有限公司 | 基于蚁群优化算法的智能巡检配置优化方法及系统 |
CN117933667A (zh) * | 2024-03-21 | 2024-04-26 | 广州疆海科技有限公司 | 虚拟电厂的资源调度方法、装置、计算机设备和存储介质 |
CN117933667B (zh) * | 2024-03-21 | 2024-08-02 | 广州疆海科技有限公司 | 虚拟电厂的资源调度方法、装置、计算机设备和存储介质 |
CN118569610A (zh) * | 2024-08-01 | 2024-08-30 | 江苏协航能源科技有限公司 | 基于多目标优化的光伏组件生产调度优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115983423A (zh) | 一种考虑双资源约束的上下料场景调度优化方法 | |
CN111966050B (zh) | 基于ammas-ga嵌套算法的双资源模具作业车间调度优化方法 | |
CN109800904B (zh) | 带时间窗的装配式建筑预制件配送路径优化方法及系统 | |
Tang et al. | An improved differential evolution algorithm for practical dynamic scheduling in steelmaking-continuous casting production | |
CN113792924A (zh) | 一种基于Deep Q-network深度强化学习的单件作业车间调度方法 | |
CN112286149A (zh) | 一种考虑起重机运输过程的柔性车间调度优化方法及系统 | |
Petrović et al. | Multi-objective scheduling of a single mobile robot based on the grey wolf optimization algorithm | |
CN112348314A (zh) | 一种带起重机的分布式柔性车间调度方法及系统 | |
CN110969362A (zh) | 一种云计算系统下多目标任务调度方法及系统 | |
CN113569483A (zh) | 基于人工蜂群算法求解多目标柔性作业车间调度的方法 | |
CN112668789A (zh) | 一种柔性作业车间带准备工序的自适应分批调度方法 | |
CN116258308A (zh) | 一种基于混合遗传算法的动态柔性作业车间调度方法 | |
CN112364526B (zh) | 一种基于果蝇算法的模糊批调度方法及系统 | |
CN112631214B (zh) | 基于改进入侵杂草优化算法的柔性作业车间分批调度方法 | |
Chiu et al. | Sequencing parallel machining operations by genetic algorithms | |
CN117519051A (zh) | 分布式装配作业车间的调度方法、终端设备及存储介质 | |
CN117314055A (zh) | 基于强化学习的智能制造车间生产-运输联合调度方法 | |
CN112528524A (zh) | 一种混流装配线平衡优化调度方法 | |
CN116300756A (zh) | 带运输机器人柔性制造车间的双目标优化调度方法及系统 | |
CN113792494B (zh) | 基于迁徙鸟群算法和交叉融合的多目标柔性作业车间调度方法 | |
CN115496322A (zh) | 分布式流水车间调度方法及装置 | |
Kim et al. | Network-based hybrid genetic algorithm for scheduling in FMS environments | |
CN115700647A (zh) | 一种基于禁忌搜索遗传算法的车间柔性作业调度方法 | |
CN117841006B (zh) | 抓取机械手多优化目标的轨迹优化方法及装置 | |
CN110852500B (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 |