CN110059908A - 基于自适应遗传算法的新工件重调度优化方法 - Google Patents
基于自适应遗传算法的新工件重调度优化方法 Download PDFInfo
- Publication number
- CN110059908A CN110059908A CN201910061608.8A CN201910061608A CN110059908A CN 110059908 A CN110059908 A CN 110059908A CN 201910061608 A CN201910061608 A CN 201910061608A CN 110059908 A CN110059908 A CN 110059908A
- Authority
- CN
- China
- Prior art keywords
- workpiece
- new
- new workpiece
- initial
- local search
- 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
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/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/06315—Needs-based resource requirements planning or analysis
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Development Economics (AREA)
- Molecular Biology (AREA)
- Educational Administration (AREA)
- Genetics & Genomics (AREA)
- Game Theory and Decision Science (AREA)
- Physiology (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
一种以节能为目标含有热处理工艺的离散制造***中基于自适应遗传算法的新工件重调度优化方法,包括如下步骤:建立数学模型;初始化;确定种群规模G、交叉率pc、变异率pm、替换率pr,循环次数上限t和局域搜索次数T的初始值;生成初始种群σ;判断是否为最优重调度,如果是则个体即为最优的重调度方案;否则,执行顺序交叉、变异操作、染色体选择操作;自适应局域搜索,找到优于当前重调度解的新重调度序列;更新种群;停止准则,如果循环的总次数达到规定的上限值t时,输出具有最大适值函数的个体,计算结束;否则继续进化种群。本发明弥分别运用倒置、转移和互换三种局域搜索算子形成一个自适应的局域搜索算法,能够在较短时间内获得更优的节能重调度方案。
Description
技术领域
本发明属于工业工程领域中离散制造***的工件调度管理技术,尤其涉及一种基于自适应遗传算法的针对含有热处理工艺的离散制造***中以节能为优化目标的工件重调度方法。
背景技术
现代制造企业生产管理的关键是优化资源配置,而生产调度环节是优化企业资源配置的重要环节,我国制造业规模已跃居全球首位,为使经济增长与潜在增长率相协调,生产要素的供给能力和资源环境的承受能力相适应,重要的是优化资源配置。而优化现代制造企业的生产管理是优化企业资源配置的重要环节。因此,如何获得最优调度方法使之适应复杂的实际生产环境和企业目标要求,一直以来都是国内外研究和应用的热点问题。
热处理工艺是工业企业中一项重要基础和常用的工艺技术,像石英玻璃深加工、半导体加工、陶瓷制品,以及轴、轴承、齿轮、连杆等重要的机械零件和工业模具都是要经过热处理的。我国在热处理的基础理论研究和某些热处理新工艺、新技术研究方面,与工业发达国家的差距也不大,但我国能源利用率低,热处理行业的专业化水平远低于工业发达国家水平。而与其他制造工艺相比,热处理工艺的特点决定了在含有热处理工艺的制造企业中,生产调度计划与能源消耗的关系尤为紧密。
通常企业在生成之前已经制定好调度计划并按照初始调度进行了相应的人员、设备以及原材料等各方面的配置,而企业也经常有紧急订单需要加工,需要对初始调度进行调整,但重调度时势必受到一些客观条件和具体产品工艺等方面的约束,同时为了满足实际生产需要,必须实施重调度。因此如何根据企业复杂的生产实际情况确定最终可行、近优或者最优的调度计划,同时实现能源消耗最优化,是当前企业亟待解决的问题。而企业目前的重调度方法大多以调度员人工调度为主,而对车间生产中新工件到达需要进行重调度这一类比较重要的问题却没有科学的方法进行解决。
发明内容
本发明是要解决现有技术存在的上述问题,提供一种以节能为目标含有热处理工艺的离散制造***中基于自适应遗传算法的新工件重调度优化方法。即在具有热处理工位已知初始工件集JO={1,...,nO}的初始调度υ,针对一组新到工件JN={nO+1,...,nO+nN},在满足实际工艺要求的前提下,对所有工件进行重调度,从而获得目标为最小化所有工件等待时间和的重调度方案。
本发明的技术解决方案是:
一种基于自适应遗传算法的新工件重调度优化方法,其特殊之处是:包括如下步骤:
步骤1:建立数学模型
在具有热处理工位已知初始工件集的初始调度υ,针对一组新到工件 JN={nO+1,...,nO+nN},在满足实际工艺要求的前提下,对所有工件进行重调度,从而获得目标为最小化所有工件等待时间和的重调度方案;
数学模型描述如下:
s.t.
wj(σ)≤K,j∈JO (2)
sj(σ)≥rj,j∈J (3)
ros(σ)=ros(υ) (5)
其中式(1)是目标函数,即最小化所有工件的等待时间和,wi表示工件i等待加工的时间;式(2)中,初始工件在重调度σ中等待加工的时间不能超过K;式(3)保证工件只能在释放时间之后被调度,即在重调度σ中工件j的开始加工时间sj(σ)要不小于它的释放时间 rj;式(4)说明同一时间只能有一个工件被加工,s[j](σ)表示在第j个位置上被调度的工件开始加工的时间,p[j]表示在第j个位置上被加工工件的处理时间;式(5)中,重调度后初始工件的相对顺序ros(σ)与初始调度中初始工件的相对顺序ros(υ)保持不变;
步骤2:基于自适应遗传算法求解
步骤2.1:初始化;
确定种群规模G、交叉率pc、变异率pm、替换率pr,循环次数上限t和局域搜索次数T 的初始值;
步骤2.2:生成初始种群;
每一个初始种群中的重调度序列按照如下方式产生:已知初始调度序列为初始工件总数,而且重调度时初始调度中的初始工件之间的顺序保持不变;随机生成一个新工件的序列JN={nO+1,...,nO+nN},nN为新工件总数,依次考虑该序列中每一个新工件nO+1,...,nO+nN,先考虑nO+1将它***到初始调度υ之前生成子重调度序列上面横线表示新工件,等待检验;检验***后的调度中最后一个新工件nO+1之后的初始工件1,2,3,...,nO是否满足初始工件等待加工的时间受限的约束条件,即分别检验是否满足wi≤K,i=1,...,nO,如果满足则该新工件被确定在此位置被调度,子重调度序列被确定,否则将该新工件放在最后一个违背约束条件 (wj>K)的初始工件j之后调度生成并确定子重调度再考虑 nO+2将它紧接着***含有一些新工件的子重调度中的最后一个新工件nO+1之后,生成子调度然后再次等待检验;检验***后的调度中最后一个新工件nO+2之后的初始工件j+1,...,nO是否满足wi≤K,i=j+1,...,nO,如果满足则该新工件被确定在此位置被调度,子重调度序列被确定,否则将该新工件放在最后一个违背约束条件(wi>K)的初始工件i之后调度生成并确定子重调度按照以上方法依次确定新工件的调度位置,直到新工件nO+nN的调度位置被确定,最终确定一个重调度σ;
然后再随机生成一个新工件序列按照如上方法产生另一个重调度,直到生成的重调度数 G等于预设的种群数;
步骤2.3:判断是否为最优重调度;如果是则个体即为最优的重调度方案;否则,执行如下步骤:
步骤2.4:顺序交叉;根据交叉率pc,针对父代个体中每对染色体执行顺序交叉操作,具体的步骤如下:
a:给定两个父代染色体,如和
b:列出父代中新工件序列和并选择准备交叉的两个交叉点x,y (和);
c:交换两个交叉点之间的基因,得到和作为子代个体的部分基因;
d:从b中第二个交叉点的右侧开始,依次列出新工件的基因和然后删除与c中已经确定的子代个体中重复的基因和
e:在c中子代个体的部分基因和的基础上,从第二个交叉点的右侧第一个位置开始按照d中的顺序依次调度新工件,形成一个子代中新工件的序列和
f:按照e中新工件的序列顺序,将新工件按照步骤2.2的方法***到初始调度中,最终形成 2个子代个体;
步骤2.5:变异操作;根据变异率pm,对执行交叉操作后的染色体执行变异操作,具体的步骤如下:
已知一个父代个体,例如列出该父代中新工件的调度序列并随机选择两个新工件然ji和jj;然后交换两个被选中的新工件,则新形成一个新到工件的调度序列按照交换后的新工件的调度序列将新工件按照步骤 2.2的方法***到初始调度中进行调度,最终形成一个新的重调度序列,即一个子代个体
步骤2.6:染色体选择操作;计算适值函数,运用轮盘赌的方法选择父代个体,被选中的父代个体将被执行遗传运算;
自适应遗传算法采用正比选择策略,即染色体被选择的概率等于个体的适应值比上种群中所有个体适应值的和;在初始调度之后依次将所有新工件按照处理时间降序排列进行调度,得到一个可行的重调度序列 是一个上界,染色体的适值函数为种群中的个体总数为S,则个体i在种群中的适应值为 Fi(σ),i=1,...S,则个体i被选择的概率为
自适应遗传算法采用轮盘赌的方式实施选择操作,令PP0=0,轮盘共旋转S次;每一次旋转就会随机产生一个随机数ξk∈U(0,1),则当PPi-1≤ξk<PPi时个体i被选择;
步骤2.7:自适应局域搜索;
自适应局域搜索算法采用自适应学习机制结合倒置、转移和互换三种局域搜索算子;在一个重调度序列中,所有新工件已被划分成一些新工件块,选择块结构作为邻域结构;在一个重调度序列中随机选取两个新工件块,然后调整两个块之间的新工件顺序,即生成一个新的重调度序列,进而应用局域搜索的方法找到优于当前重调度解的新重调度序列;
步骤2.8:更新种群:将初始种群和子代种群中的个体按照目标函数值的非降序排列,选择前 G*pr个个体替换父代种群中最后G*pr个个体,即生成下一代种群;
步骤2.9:停止准则
如果循环的总次数达到规定的上限值t时,输出具有最大适值函数的个体,计算结束;否则继续执行步骤2.4进化种群。
进一步地,步骤2.3中,判断是否为最优重调度的具体过程是:
(1)如果种群中的个体满足所有新工件均按照处理时间由小到大的顺序在第一个初始工件前被调度,即满足si(σ)>sj(σ)>s1,if pi≥pj,i∈JN,则个体即为最优的重调度方案。
(2)如果种群中的个体满足所有新工件均按照处理时间由小到大的顺序在最后一个初始工件之后被调度,即满足if pi≤pj,i∈JN,则个体即为最优的重调度方案。
(3)如果种群中的个体中所有工件之间没有机器空闲时间,即满足 s[i+1](σ)-s[i](σ)=s[i](σ)+p[i],i∈J,则个体即为最优的重调度方案。
进一步地:步骤2.7中自适应局域搜索策略如下:
结合倒置、转移和互换三种局域搜索算子,RAGA嵌入自适应局域搜索;设pinve、ptran和pswap分别表示三种局域搜索算子所使用的概率,并且满足pinve+ptran+pswap=1。pinve、ptran和pswap的初始值均为1/3,即最初三种局域搜索算子被使用的概率是相等的;然而,随着算法运行,获得更好的局域搜索效果的算子应该获得更多的使用概率,因此,设计一种自适应的方法来确定pinve、ptran和pswap的使用概率;λ表示某一种局域搜索方法对解改进的程度,其数学表达式为:
其中,fprior是当前种群里所有个体中最好解的值。fafter是对具有最好解的个体进行局域搜索后得到的新解的值。只有当fafter<fprior时才计算λ,然后重新计算pinve、ptran和pswap;
λinv(t)、λtra(t)和λswap(t)分别表示倒置、转移和互换三种局域搜索方法在局域搜索的第t个循环中对解的改进程度,则三种局域搜索算子被使用的概率的数学表达式设计如下:
pinve(t+1)=pinve(t)+τ·λinv(t)
ptran(t+1)=ptran(t)+τ·λtra(t)
pswap(t+1)=pswap(t)+τ·λswap(t)
pswap(t+1)=1-pinve(t)-pttran(t+1)
其中,τ为对解改进程度的相对影响系数;
进一步地,步骤2.7中,已知存在一个重调度序列则新工件被划分为多个工件块则倒置局域搜索、转移局域搜索和互换局域搜索分别为;
倒置局域搜索
首先在重调度序列中随机选择2个新工件块,块和块然后根据两个块中的新工件数,分别随机生成2个位置号u和v,其中u和v都大于等于1,且小于等于每一个新工件块中的新工件数;对块中第u个位置的新工件和块中第v个位置的新工件之间的新工件以及第u和第v个位置的新工件进行倒置操作;通过倒置获得一个新的新工件序列,并按照步骤2.2的方法将新工件***到初始调度当中去,最终生成一个新的可行的重调度序列。
转移局域搜索
按照步骤4.1倒置局域搜索中的方法选择新工件块和块以及确定u和v;将块中第v个位置的新工件放到块中第u个位置的新工件之前调度,并将块中第u个及其之后的新工件向右移;则通过转移,获得一个新的新工件的子序列,即获得一个新的新工件序列;然后按照步骤2.2的方法,将新工件按照新生成的新工件序列的顺序***到初始调度当中去,生成一个新的可行的重调度序列。
互换局域搜索
按照两种局域搜索相同的方法选择新工件块和块以及确定u和v;将块中第u个位置上的新工件与块中第v个位置上的新工件互换位置,则生成一个新的新工件序列,然后按照步骤2.2的方法,将新工件按照新生成的工件序列的顺序***到初始调度当中去,生成一个新的可行的重调度序列。
本发明的有益效果是:将自适应局部搜索算法与经典的遗传算法相结合,并应用局域搜索算法的局部搜索能力弥补了遗传算法的具有较好的全局搜索能力、但局部搜索能力较差的缺陷。同时为了获得更好的局域搜索能力,根据实际问题的特点,将分别运用倒置、转移和互换三种局域搜索算子形成一个自适应的局域搜索算法。经过大量的数值实验验证,与商业软件CPLEX求解、现有文献中的启发式算法和经典的遗传算法所获得的重调度方案相比,本方法能够在较短时间内获得更优的节能重调度方案。
本方法能够为含有热处理工艺的离散制造***中,由于新工件到达而需要满足实际生产需求的前提下,以节能为目标需要进行重调度的问题提供了高效优质的方法,并为我国研究此类生产***领域中的新工件重调度方法提供一定的指导作用。
附图说明
图1为自适应遗传算法的流程图;
图2为形成重调度序列的流程图;
图3为双点顺序交叉操作过程示意图;
图4为变异操作的过程示意图;
图5为自适应搜索算法的流程图;
具体实施方式
本发明提供的新工件重调度方法的实施方式如下:
步骤1:建立数学模型
在具有热处理工位已知初始工件集的初始调度υ,针对一组新到工件 JN={nO+1,...,nO+nN},在满足实际工艺要求的前提下,对所有工件进行重调度,从而获得目标为最小化所有工件等待时间和的重调度方案;
数学模型描述如下:
s.t.
wj(σ)≤K,j∈JO (2)
sj(σ)≥rj,j∈J (3)
ros(σ)=ros(υ) (5)
其中式(1)是目标函数,即最小化所有工件的等待时间和,wi表示工件i等待加工的时间;式(2)中,初始工件在重调度σ中等待加工的时间不能超过K;式(3)保证工件只能在释放时间之后被调度,即在重调度σ中工件j的开始加工时间sj(σ)要不小于它的释放时间 rj;式(4)说明同一时间只能有一个工件被加工,s[j](σ)表示在第j个位置上被调度的工件开始加工的时间,p[j]表示在第j个位置上被加工工件的处理时间;式(5)中,重调度后初始工件的相对顺序ros(σ)与初始调度中初始工件的相对顺序ros(υ)保持不变;
步骤2:基于自适应遗传算法求解(图1显示了自适应遗传算法的流程图),包括如下步骤:
(1)初始化;确定种群规模G、交叉率pc、变异率pm、替换率pr,循环次数上限t和局域搜索次数T的初始值;
(2)生成初始种群;
每一个初始种群中的重调度序列按照如下方式产生:已知初始调度序列JO={1,2,3,...,nO},而且重调度时初始调度中的初始工件之间的顺序保持不变;随机生成一个新工件的序列, JN={nO+1,...,nO+nN},依次考虑该序列中每一个新工件(如:nO+1和nO+2),先考虑nO+1 将它***到初始调度之前生成子重调度序列等待检验;检验***后的调度中最后一个新工件nO+1之后的初始工件1,2,3,...,nO是否满足初始工件等待加工的时间受限的约束条件,即分别检验是否满足wi≤K,i=1,...,nO,如果满足则该新工件被确定在此位置被调度,子重调度序列被确定,否则将该新工件放在最后一个违背约束条件(wj>K)的初始工件j(例如j=2)之后调度生成并确定子重调度再考虑nO+2将它紧接着***含有一些新工件的子重调度中的最后一个新工件nO+1之后,生成子调度然后再次等待检验;检验***后的调度中最后一个新工件nO+2之后的初始工件3,...,nO是否满足wi≤K,i=3,...,nO,如果满足则该新工件被确定在此位置被调度,子重调度序列被确定,否则将该新工件放在最后一个违背约束条件(wj>K)的初始工件j(例如j=3)之后调度生成并确定子重调度按照如上方法依次确定新工件的调度位置,最终确定一个重调度σ;图2显示了形成重调度序列的流程图。
然后再随机生成一个新工件序列按照如上方法产生另一个重调度,直到生成的重调度数G等于预设的种群数;
(3)判断是否为最优重调度;
如果有种群中的个体满足所有新工件均按照处理时间由小到大的顺序在第一个初始工件前被调度,即满足si(σ)>sj(σ)>s1,if pi≥pj,i∈JN,或者按照处理时间由小到大的顺序在最后一个初始工件之后被调度,即满足if pi≤pj,i∈JN,或者在该个体中所有工件之间没有机器空闲时间,即满足s[i+1](σ)-s[i](σ)=s[i](σ)+p[i],i∈J,则个体即为最优的重调度方案;否则,执行如下步骤:
(4)顺序交叉;根据交叉率pc,针对父代个体中每对染色体执行顺序交叉操作。
图3显示了一个双点顺序交叉操作过程的一个实例,具体的步骤如下:
a:给定两个父代染色体,如和
b:列出父代中新工件序列,并选择准备交叉的两个交叉点。
c:交换两个交叉点之间的基因,作为子代个体的部分基因。
d:从b中第二个交叉点的右侧开始,依次列出新工件的基因,然后删除与c中已经确定的子代个体中重复的基因。
e:在c中子代个体的部分基因的基础上,从第二个交叉点的右侧第一个位置开始按照d中的顺序依次调度新工件,形成一个子代中新工件的序列。
f:按照e中新工件的序列顺序,依照初始种群中的重调度序列的生成方式,将新工件***到初始调度中。最终形成2个子代个体和
(5)变异操作;根据变异率pm,对执行交叉操作后的染色体执行变异操作。
图4显示了针对一个染色体的变异操作过程,具体的步骤如下:
已知一个父代个体,例如列出该父代中新工件的调度序列并随机选择两个新工件6和8。然后交换两个被选中的新工件,则新形成一个新到工件的调度序列按照交换后的新工件的调度序列,依照初始种群中的重调度序列的生成方法,将新工件***到初始调度中进行调度,最终形成一个新的重调度序列,即一个子代个体
(6)染色体选择操作;计算适值函数,运用轮盘赌的方法选择父代个体,被选中的父代个体将被执行遗传运算。
自适应遗传算法采用正比选择策略,即染色体被选择的概率等于个体的适应值比上种群中所有个体适应值的和。在初始调度之后依次将所有新工件按照处理时间降序排列进行调度,可得到一个可行的重调度序列显然是本发明中问题的一个上界。染色体的适值函数为种群中的个体总数为S,则个体i在种群中的适应值为Fi(σ),i=1,...S,则个体i被选择的概率为
自适应遗传算法采用轮盘赌的方式实施选择操作。令PP0=0,轮盘共旋转S次。每一次旋转就会随机产生一个随机数ξk∈U(0,1),则当PPi-1≤ξk<PPi时个体i被选择。
(7)自适应局域搜索;
自适应局域搜索算法采用自适应学习机制结合了倒置、转移和互换三种局域搜索算子;在一个重调度序列中,所有新工件已被划分成一些新工件块,根据问题的特点,选择块结构作为邻域结构。在一个重调度序列中随机选取两个新工件块,然后调整两个块之间的新工件顺序,即生成一个新的重调度序列,进而应用局域搜索的方法找到优于当前重调度解的新重调度序列;图5说明了自适应搜索算法的流程。
下面具体介绍三种局域搜索方法:
例如,已知存在一个重调度序列则显然新工件被划分为3个工件块
①倒置局域搜索
首先在重调度序列中随机选择2个新工件块,假设块1和块3被选中。然后根据两个块中的新工件数,分别随机生成2个位置号u和v,其中u和v都大于等于1,且小于等于每一个新工件块中的新工件数。假设随机生成的u=1,v=1,则对块1中第1个位置的新工件和块3中第1个位置的新工件之间的新工件(包括工件和)进行倒置操作。通过倒置获得一个新的新工件序列并按照初始种群中的重调度序列生产方法,将新工件***到初始调度当中去,最终生成一个新的可行的重调度序列。
②转移局域搜索
同样按照倒置局域搜索中的方法选择新工件和位置号u和v。假设选择了块1和块2生成了u=1和v=1。将块2中第1个位置的新工件放到块1中第1个位置的新工件之前调度,并将块1中u=1及其之后的新工件向右移。则通过转移,获得一个新的新工件的子序列即获得一个新的新工件序列最终按照初始种群中的重调度序列生产方法,将新工件按照新生成的新工件序列的顺序尽可能早的***到初始调度当中去,生成一个新的可行的重调度序列。
③互换局域搜索
用与上面两种局域搜索相同的方法选择新工件块u和v。假设选择了块2和块3生成了u=1和v=2。将块2中第1个位置上的新工件与块3中第2个位置上的新工件互换位置,则生成一个新的新工件序列最终按照初始种群中的重调度序列生产方法,将新工件按照新生成的新工件序列的顺序尽可能早的***到初始调度当中去,生成一个新的可行的重调度序列。
结合上述倒置、转移和互换三种局域搜索算子,RAGA嵌入了一个自适应局域搜索算法。设pinve、ptran和pswap分别表示三种局域搜索算子所使用的概率,并且满足pinve+ptran+pswap=1。 pinve、ptran和pswap的初始值均为1/3,即最初三种局域搜索算子被使用的概率是相等的。然而,随着算法运行,获得更好的局域搜索效果的算子应该获得更多的使用概率,因此RAGA采用一种自适应的方法来确定pinve、ptran和pswap的使用概率。λ表示某一种局域搜索方法对解改进的程度,其数学表达式为:
其中,fprior是当前种群里所有个体中最好解的值。fafter是对具有最好解的个体进行局域搜索后得到的新解的值。只有当fafter<fprior时才计算λ,然后重新计算pinve、ptran和pswap。
λinv(t)、λtra(t)和λswap(t)分别表示倒置、转移和互换三种局域搜索方法在局域搜索的第t个循环中对解的改进程度,则三种局域搜索算子被使用的概率的数学表达式设计如下:
pinve(t+1)=pinve(t)+τ·λinv(t)
ptran(t+1)=ptran(t)+τ·λtra(t)
pswap(t+1)=pswap(t)+τ·λswap(t)
pswap(t+1)=1-pinve(t)-pttran(t+1)
其中,τ为对解改进程度的相对影响系数。通过以上策略,不仅可以使这三种不同的局域搜索策略通过相互协作来改进解,而且还能在算法运行过程中通过相互竞争来使它们个体能够获得更高被使用的概率。
(8)更新种群:将初始种群和子代种群中的个体按照目标函数值的非降序排列,选择前G*pr个个体替换父代种群中最后G*pr个个体,即生成下一代种群;
(9)停止准则。
如果循环的总次数达到规定的上限值t时,输出具有最大适值函数的个体,计算结束;否则继续执行(4)进化种群。
本发明提供的重调度方法在具体实施阶段需要满足的条件为:企业必须拥有实际实时生产的数据信息库,最好有专门的支持生产的信息管理***。
重调度子***一般应嵌入信息管理***中,大致的工作流程为:实时监测正在执行的生产信息状况,如果发现有新工件需要重调度,则触发器立刻启动执行重调度子***,调用当前数据实施重调度,然后将重调度后的数据写回至管理***以供使用,调度员根据***反馈的信息按照最新的调度方案实施产品加工。
不同生产企业或者生产线的数据库一般是异构的,所对应的数据库不尽相同。而本发明提供的重调度方法对生产线有较好的通用性和适用性,对数据库结构不做特殊要求,只需读出生产的基本信息和初始调度顺序即可。
重调度子***,是实现本发明方法的核心,其作用在于控制实际生产的数据信息库,何时启动重调度,并在需要重调度时根据本发明中的方法获得最新的重调度方案。
下面用某石英玻璃厂的实际问题来说明本发明中重调度子***的应用。
问题实例:某石英玻璃厂每天24小时实行3班倒的制度,下面就以一台机器的24小时的工作为例。
该石英玻璃厂,根据信息管理***中的实时监测反馈信息收到有新工件到达的指令,需要进行重调度,根据此时正在执行的生产信息状况数据信息库,读出基本信息,即初始工件数nO=41,新工件数nN=19,初始工件集JO={1,2,...,41},新到工件集JN={42,43,...,60},初始调度υ=1 2,...,41,初始工件最长等待时间K=0.69小时。表1是数据库中所有工件的详细基本信息。
表1实例中工件的详细基本信息
然后启动重调度子***,执行基于自适应遗传算法的流程:
(1)初始化;
(2)生成初始种群;
(3)判断是否为最优重调度;
(4)顺序交叉;
(5)变异操作
(6)染色体选择操作;
(7)自适应局域搜索;
(8)更新种群;
(9)停止准则。
最后输出重调度序列:53 1,…,10 47 11,…,26 42 27,…,33 46 34,…, 38 4539,…,41 55 44 43 52 51 59 49 60 56 58 50 54 48 57和目标函数值339.01小时。
表2显示了该实例分别由CPLEX、自适应遗传算法、启发式算法和凭借工人经验手工获得的重调度序列和目标函数值,由此可见,24小时内1台机器上,由CPLEX和自适应遗传算法获得的最优解与凭借工人经验手工获得的解就相差48.99小时。
表2 4种算法解的情况
在石英玻璃厂,每条生产线年产量约为5000吨(具体产量不确定,因都是小型部件产品,远小于5000吨),石英玻璃的比热为0.8KJ/(Kg·K),零件预热后的冷却速率大约在平均每小时30~40摄氏度。因此,应用MILP(CPLEX)和自适应遗传算法获得的重调度解与凭借工人经验手工获得的解相比,每条生产线每年可以节省21.67×1012~22.39×1012KJ的能量。
由此可见,此发明中的重调度方法对于企业节省成本和节约能源具有重要的现实意义。
以上仅为本发明的具体实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于自适应遗传算法的新工件重调度优化方法,其特征是:包括如下步骤:
步骤1:建立模型
在具有热处理工位已知初始工件集JO={1,...,nO}的初始调度υ,针对一组新到工件JN={nO+1,...,nO+nN},在满足实际工艺要求的前提下,对所有工件进行重调度,从而获得目标为最小化所有工件等待时间和的重调度方案;
数学模型描述如下:
s.t
wj(σ)≤K,j∈JO (2)
sj(σ)≥rj,j∈J (3)
s[j](σ)+p[j]≤s[j+1](σ),j∈J (4)
ros(σ)=ros(υ) (5)
其中式(1)是目标函数,即最小化所有工件的等待时间和,wi表示工件i等待加工的时间;式(2)中,初始工件在重调度σ中等待加工的时间不能超过K;式(3)保证工件只能在释放时间之后被调度,即在重调度σ中工件j的开始加工时间sj(σ)要不小于它的释放时间rj;式(4)说明同一时间只能有一个工件被加工,s[j](σ)表示在第j个位置上被调度的工件开始加工的时间,p[j]表示在第j个位置上被加工工件的处理时间;式(5)中,重调度后初始工件的相对顺序ros(σ)与初始调度中初始工件的相对顺序ros(υ)保持不变;
步骤2:基于自适应遗传算法求解问题
步骤2.1:初始化;
确定种群规模G、交叉率pc、变异率pm、替换率pr,循环次数上限t和局域搜索次数T的初始值;
步骤2.2:生成初始种群;
每一个初始种群中的重调度序列按照如下方式产生:已知初始调度序列JO={1,2,3,...,nO},nO为初始工件总数,而且重调度时初始调度中的初始工件之间的顺序保持不变;随机生成一个新工件的序列JN={nO+1,...,nO+nN},nN为新工件总数,依次考虑该序列中每一个新工件nO+1,...,nO+nN,先考虑nO+1将它***到初始调度υ之前生成子重调度序列上面横线表示新工件,等待检验;检验***后的调度中最后一个新工件nO+1之后的初始工件1,2,3,...,nO是否满足初始工件等待加工的时间受限的约束条件,即分别检验是否满足wi≤K,i=1,...,nO,如果满足则该新工件被确定在此位置被调度,子重调度序列被确定,否则将该新工件放在最后一个违背约束条件(wj>K)的初始工件j之后调度生成并确定子重调度再考虑nO+2将它紧接着***含有一些新工件的子重调度中的最后一个新工件nO+1之后,生成子调度然后再次等待检验;检验***后的调度中最后一个新工件nO+2之后的初始工件j+1,...,nO是否满足wi≤K,i=j+1,...,nO,如果满足则该新工件被确定在此位置被调度,子重调度序列被确定,否则将该新工件放在最后一个违背约束条件(wi>K)的初始工件i之后调度生成并确定子重调度按照以上方法依次确定新工件的调度位置,直到新工件nO+nN的调度位置被确定,最终确定一个重调度σ;
然后再随机生成一个新工件序列按照如上方法产生另一个重调度,直到生成的重调度数G等于预设的种群数;
步骤2.3:判断是否为最优重调度;如果是则个体即为最优的重调度方案;否则,执行如下步骤:
步骤2.4:顺序交叉;根据交叉率pc,针对父代个体中每对染色体执行顺序交叉操作,具体的步骤如下:
a:给定两个父代染色体,如和
b:列出父代中新工件序列和并选择准备交叉的两个交叉点x,y(和);
c:交换两个交叉点之间的基因,得到和作为子代个体的部分基因;
d:从b中第二个交叉点的右侧开始,依次列出新工件的基因和然后删除与c中已经确定的子代个体中重复的基因和
e:在c中子代个体的部分基因和的基础上,从第二个交叉点的右侧第一个位置开始按照d中的顺序依次调度新工件,形成一个子代中新工件的序列和
f:按照e中新工件的序列顺序,将新工件按照步骤2.2的方法***到初始调度中,最终形成2个子代个体;
步骤2.5:变异操作;根据变异率pm,对执行交叉操作后的染色体执行变异操作,具体的步骤如下:
已知一个父代个体,例如列出该父代中新工件的调度序列并随机选择两个新工件然ji和jj;然后交换两个被选中的新工件,则新形成一个新到工件的调度序列按照交换后的新工件的调度序列将新工件按照步骤2.2的方法***到初始调度中进行调度,最终形成一个新的重调度序列,即一个子代个体
步骤2.6:染色体选择操作;计算适值函数,运用轮盘赌的方法选择父代个体,被选中的父代个体将被执行遗传运算;
自适应遗传算法采用正比选择策略,即染色体被选择的概率等于个体的适应值比上种群中所有个体适应值的和;在初始调度之后依次将所有新工件按照处理时间降序排列进行调度,得到一个可行的重调度序列 是一个上界,染色体的适值函数为种群中的个体总数为S,则个体i在种群中的适应值为Fi(σ),i=1,..S.,则个体i被选择的概率为
自适应遗传算法采用轮盘赌的方式实施选择操作,令PP0=0,轮盘共旋转S次;每一次旋转就会随机产生一个随机数ξk∈U(0,1),则当PPi-1≤ξk<PPi时个体i被选择;
步骤2.7:自适应局域搜索;
自适应局域搜索算法采用自适应学习机制结合倒置、转移和互换三种局域搜索算子;在一个重调度序列中,所有新工件已被划分成一些新工件块,选择块结构作为邻域结构;在一个重调度序列中随机选取两个新工件块,然后调整两个块之间的新工件顺序,即生成一个新的重调度序列,进而应用局域搜索的方法找到优于当前重调度解的新重调度序列;
步骤2.8:更新种群:将初始种群和子代种群中的个体按照目标函数值的非降序排列,选择前G*pr个个体替换父代种群中最后G*pr个个体,即生成下一代种群;
步骤2.9:停止准则
如果循环的总次数达到规定的上限值t时,输出具有最大适值函数的个体,计算结束;否则继续执行步骤2.4进化种群。
2.根据权利要求1所述的基于自适应遗传算法的新工件重调度优化方法,其特征是:步骤2.3中,判断是否为最优重调度的具体过程是:
(1)如果种群中的个体满足所有新工件均按照处理时间由小到大的顺序在第一个初始工件前被调度,即满足si(σ)>sj(σ)>s1,if pi≥pj,i∈JN,则个体即为最优的重调度方案。
(2)如果种群中的个体满足所有新工件均按照处理时间由小到大的顺序在最后一个初始工件之后被调度,即满足if pi≤pj,i∈JN,则个体即为最优的重调度方案。
(3)如果种群中的个体中所有工件之间没有机器空闲时间,即满足s[i+1](σ)-s[i](σ)=s[i](σ)+p[i],i∈J,则个体即为最优的重调度方案。
3.根据权利要求1所述的基于自适应遗传算法的新工件重调度优化方法,其特征是:步骤2.7中自适应局域搜索策略如下:
结合倒置、转移和互换三种局域搜索算子,RAGA嵌入自适应局域搜索;设pinve、ptran和pswap分别表示三种局域搜索算子所使用的概率,并且满足pinve+ptran+pswap=1。pinve、ptran和pswap的初始值均为1/3,即最初三种局域搜索算子被使用的概率是相等的;然而,随着算法运行,获得更好的局域搜索效果的算子应该获得更多的使用概率,因此,设计一种自适应的方法来确定pinve、ptran和pswap的使用概率;λ表示某一种局域搜索方法对解改进的程度,其数学表达式为:
其中,fprior是当前种群里所有个体中最好解的值。fafter是对具有最好解的个体进行局域搜索后得到的新解的值。只有当fafter<fprior时才计算λ,然后重新计算pinve、ptran和pswap;
λinv(t)、λtra(t)和λswap(t)分别表示倒置、转移和互换三种局域搜索方法在局域搜索的第t个循环中对解的改进程度,则三种局域搜索算子被使用的概率的数学表达式设计如下:
pinve(t+1)=pinve(t)+τ·λinv(t)
ptran(t+1)=ptran(t)+τ·λtra(t)
pswap(t+1)=pswap(t)+τ·λswap(t)
pswap(t+1)=1-pinve(t)-pttran(t+1)
其中,τ为对解改进程度的相对影响系数。
4.根据权利要求1所述的基于自适应遗传算法的新工件重调度优化方法,其特征是:步骤2.7中,已知存在一个重调度序列则新工件被划分为多个工件块则倒置局域搜索、转移局域搜索和互换局域搜索分别为;
步骤4.1 倒置局域搜索
首先在重调度序列中随机选择2个新工件块,块和块然后根据两个块中的新工件数,分别随机生成2个位置号u和v,其中u和v都大于等于1,且小于等于每一个新工件块中的新工件数;对块中第u个位置的新工件和块中第v个位置的新工件之间的新工件以及第u和第v个位置的新工件进行倒置操作;通过倒置获得一个新的新工件序列,并按照步骤2.2的方法将新工件***到初始调度当中去,最终生成一个新的可行的重调度序列。
步骤4.2 转移局域搜索
按照步骤4.1倒置局域搜索中的方法选择新工件块和块以及确定u和v;将块中第v个位置的新工件放到块中第u个位置的新工件之前调度,并将块中第u个及其之后的新工件向右移;则通过转移,获得一个新的新工件的子序列,即获得一个新的新工件序列;然后按照步骤2.2的方法,将新工件按照新生成的新工件序列的顺序***到初始调度当中去,生成一个新的可行的重调度序列。
步骤4.3 互换局域搜索
按照两种局域搜索相同的方法选择新工件块和块以及确定u和v;将块中第u个位置上的新工件与块中第v个位置上的新工件互换位置,则生成一个新的新工件序列,然后按照步骤2.2的方法,将新工件按照新生成的工件序列的顺序***到初始调度当中去,生成一个新的可行的重调度序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910061608.8A CN110059908A (zh) | 2019-01-23 | 2019-01-23 | 基于自适应遗传算法的新工件重调度优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910061608.8A CN110059908A (zh) | 2019-01-23 | 2019-01-23 | 基于自适应遗传算法的新工件重调度优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110059908A true CN110059908A (zh) | 2019-07-26 |
Family
ID=67316395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910061608.8A Pending CN110059908A (zh) | 2019-01-23 | 2019-01-23 | 基于自适应遗传算法的新工件重调度优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110059908A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461459A (zh) * | 2020-04-24 | 2020-07-28 | 温州大学乐清工业研究院 | 断路器数字制造孪生车间的动态重调度预测方法及*** |
CN113361833A (zh) * | 2020-03-02 | 2021-09-07 | 联芯集成电路制造(厦门)有限公司 | 化学机械抛光***以及相关的派工管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805403A (zh) * | 2018-05-02 | 2018-11-13 | 上海大学 | 一种基于改进遗传算法的单件车间调度方法 |
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 |
CN109034633A (zh) * | 2018-08-04 | 2018-12-18 | 郑州航空工业管理学院 | 改进遗传算法求解带移动时间的柔性作业车间调度方法 |
-
2019
- 2019-01-23 CN CN201910061608.8A patent/CN110059908A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN108805403A (zh) * | 2018-05-02 | 2018-11-13 | 上海大学 | 一种基于改进遗传算法的单件车间调度方法 |
CN109034633A (zh) * | 2018-08-04 | 2018-12-18 | 郑州航空工业管理学院 | 改进遗传算法求解带移动时间的柔性作业车间调度方法 |
Non-Patent Citations (2)
Title |
---|
郭艳东: "初始调度调整受限的新到工件重调度优化方法研究", 《中国博士学位论文全文数据库信息科技辑》 * |
郭艳东等: "新工件到达锁定初始调度的单机重调度问题", 《渤海大学学报(自然科学版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113361833A (zh) * | 2020-03-02 | 2021-09-07 | 联芯集成电路制造(厦门)有限公司 | 化学机械抛光***以及相关的派工管理方法 |
US11397425B2 (en) | 2020-03-02 | 2022-07-26 | United Semiconductor (Xiamen) Co., Ltd. | CMP polishing system and associated pilot management system |
CN111461459A (zh) * | 2020-04-24 | 2020-07-28 | 温州大学乐清工业研究院 | 断路器数字制造孪生车间的动态重调度预测方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359884B (zh) | 航空复杂装备结构件车间作业计划及重调度方法 | |
Tang et al. | An improved differential evolution algorithm for practical dynamic scheduling in steelmaking-continuous casting production | |
CN103955754B (zh) | 基于实时生产数据采集的模具车间调度方法 | |
CN110298589A (zh) | 基于遗传-蚁群融合算法的动态服务资源调度方法 | |
Liu et al. | Energy-oriented bi-objective optimization for the tempered glass scheduling | |
CN108805403A (zh) | 一种基于改进遗传算法的单件车间调度方法 | |
CN105629927A (zh) | 一种基于混合遗传算法的mes生产计划排产方法 | |
CN113159383A (zh) | 一种面向多机协作加工车间的制造资源重构调度方法及*** | |
CN110288185B (zh) | 一种分布式柔性流水线调度方法 | |
Mahmudy et al. | Real coded genetic algorithms for solving flexible job-shop scheduling problem-part I: modelling | |
CN101901426A (zh) | 一种基于蚁群算法的动态滚动调度方法 | |
CN110059908A (zh) | 基于自适应遗传算法的新工件重调度优化方法 | |
CN109116816A (zh) | 一种柔性加工环境下印刷过程的优化调度方法 | |
CN110956371A (zh) | 面向复杂人机耦合的智能制造车间的绿色调度优化方法 | |
CN111401616B (zh) | 一种供应链环境下预制混凝土构件的双层调度方法 | |
CN116700176A (zh) | 一种基于强化学习的分布式阻塞流水车间调度优化*** | |
CN112381273A (zh) | 一种基于u-nsga-iii算法的多目标作业车间节能优化方法 | |
Han et al. | Hybrid flow shop scheduling with finite buffers | |
CN116011723A (zh) | 基于哈里斯鹰算法的焦化炼焦混合流水车间智能调度方法及应用 | |
CN114021895B (zh) | 基于邻域结构的最小化总成本it运维人员调度方法和*** | |
CN110084462A (zh) | 一种基于故障rgv智能二道工序加工调度方法 | |
Esquivel et al. | Parameter settings and representations in Pareto-based optimization for job shop scheduling | |
Guo et al. | Single-machine rework rescheduling to minimize total waiting time with fixed sequence of jobs and release times | |
Choudhury et al. | Appropriate evolutionary algorithm for scheduling in FMS | |
CN114676987A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190726 |