CN102222268A - 基于多种群混合粒子群算法的流水车间调度方法 - Google Patents
基于多种群混合粒子群算法的流水车间调度方法 Download PDFInfo
- Publication number
- CN102222268A CN102222268A CN2011101484982A CN201110148498A CN102222268A CN 102222268 A CN102222268 A CN 102222268A CN 2011101484982 A CN2011101484982 A CN 2011101484982A CN 201110148498 A CN201110148498 A CN 201110148498A CN 102222268 A CN102222268 A CN 102222268A
- Authority
- CN
- China
- Prior art keywords
- work
- sequence
- fitness
- new
- population
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属计算机领域,公开一种基于多种群混合粒子群算法的流水车间调度方法,解决了混合粒子群算法的流水车间调度方法易提前收敛和陷入局部最优的问题。步骤包括:设置参数并产生S个子种群;判断终止条件是否满足,如满足则输出当前所获最优调度方案,否则再对每个子种群中的粒子使用粒子群算法进行位置更新,对奇、偶子种群分别使用搜索算子1和2进行局部搜索,得到每个子种群的最优调度序列;使用基于统计的概率模型,共享得到的最优调度序列的信息;使用模拟退火算法优化最优工作序列。本发明增加了多个种群,使用不同的搜索算子进行局部搜索,获得好的流水车间调度方案,缩短生产时间,可用于对作业车间调度方案的选择。
Description
技术领域
本发明属于计算机领域,更进一步涉及人工智能技术领域中提供一种采用进化算法处理流水车间调度问题的方法,具体是一种基于多种群混合粒子群算法的流水车间调度方法。该方法可用于物流、交通、流水线生产等领域,确定每项操作在生产过程的优先顺序,控制生产流程,以减少生产系统完成所有工作序列的时间,提高生产效率。
背景技术
流水车间调度是一个无等待的车间调度问题。在生产实践的环节中,每一个工作序列包含若干个工作,每一个工作包含若干个工序。每个工作在不同的机器上完成,在同一台机器上,不同的工作的完成顺序相同,在同一台机器上一个工序完成后无等待的进行下一个工序。流水车间调度中所有工作的最长完工时间的最小化,可以促使总生产运营的最小化、稳定的资源利用、快速的作业周转和在制品库存的最小化。
流水车间调度问题的研究最初集中在启发式优化方法上,但这些方法并不理想。启发式方法时间复杂度高,在计算时间内只能找出高质量的解,但不是最优解。近几年,人工智能技术快速发展,出现了遗传算法、蚁群算法、粒子群算法(PSO)等,使用这类算法解决调度问题的方法能够在合理的时间内找到尽可能好的解。
PSO是受鸟群和鱼池社会和认知行为启发而提出来的,其具有模型简单、参数少和易实现等优点,因此受到学者们的关注。但是PSO在解决流水车间调度问题上,仍然存在缺陷。首先,PSO在运行初期收敛速度比较快,但在运行后期容易因缺乏拓展能力而陷入局部最优。其次,PSO虽然具有比较好的全局搜索能力,但是在搜索的过程中没有充分利用种群中获得的关于流水车间调度问题解空间的知识来指导粒子位置的更新,因此局部搜索能力较差。基于以上缺点,学者们提出了混合算法以改进该算法的缺陷。
混合算法可以看作是进化算法和局部搜索算子结合而形成的优化工具,其兼具进化算法和局部搜索算子的优点,更具有有效性。Bo Liu等人发表的“An Effective PSO-Based Memetic Algorithm for Flow Shop Scheduling”,2007年IEEE transaction on system,Man and cybernetics,提出了一种基于密母的混合粒子群方法。该方法使用粒子群算法为全局搜索方法,同时使用一种局部搜索方法在一定程度上加强粒子群算法的局部搜索能力。但是因为种群的个体数目较小,且PSO进化速度快,同时只使用一种局部搜索算子,大大降低了种群的多样性,最终无法避免算法陷入局部最优。其次,算法中并没有使用任何策略共享关于流水车间调度的解空间的知识。因此,该方法也不能克服PSO解决流水车间调度问题局部搜索能力差,容易陷入局部最优的缺陷。Hongcheng Liu等人发表的“ A hybrid particle swarm optimization with estimation of distribution algorithm for solving permutati
发明内容
本发明的目的在于克服上述已有技术的不足,针对上述算法提前收敛和容易陷入局部最优的问题,提出一种能够合理安排工作序列,提高流水车间生产效率的基于多种群混合粒子群算法的流水车间调度方法。
基于多种群混合粒子群的流水车间调度方法,具体步骤包括有:
步骤一:设定参数:程序运行最大迭代次数tmax、调度的工作数目n、机器数目m、子种群个数S、粒子位置的最大值xmax和最小值xmin、模拟退火算法的初始温度T0、退火系数d、局部搜索算子1使用概率r1、局部搜索算子2使用概率r2、定义粒子A的适应度值fitness=T,其中T为粒子A的位置向量解码后所对应的调度方案的调度时间,初始化子种群的标记i=1;
步骤二:产生初始种群Q,将初始种群Q平均分为S个子种群,分别为Q1、Q2、...、Qs;
步骤三:程序运行迭代次数t=t+1,判断是否达到最大迭代次数tmax;如果t<tmax,执行步骤四;如果t=tmax,则执行步骤十;
步骤四:使用粒子群算法将子种群Q1、Q2、....、Qs进化为Q1′、Q2′、...、Qs′;
步骤五:对进化后的子种群使用局部搜索算子优化;计算优化后所有个体的适应度值,得到适应度值最小的工作序列πgi,适应度值最大的工作序列πgi′;i=i+1;判断i=S是否成立;若成立,则令i=1,执行步骤六,否则执行步骤五;
步骤六:对步骤五得到的S个子种群的最优序列πg1、πg2、...、πgs进行统计得到最优工作序列的概率模型;通过概率模型,产生S个新的工作序列π1、π2、...、πS;
步骤七:计算新的工作序列π1、π2、...、πS的适应度值,得到fitness(π1)、fitness(π2)、...、fitness(πS);对第i(i=1,...,S)个子种群,如果fitness(πi)<fitness(πgi′),则πgi′=πi;
步骤八:计算所有子种群的粒子的适应度值,得到适应度值最小的工作序列为πbest,使用基于模拟退火算法的局部搜索算子优化πbest;
步骤九:将S个子种群的粒子重新组合为一个种群Q,将种群Q随机平均分为S个子种群Q1、Q2、...、Qs,返回步骤三;
步骤十:输出最优工作序列。
本发明设置参数并产生S个子种群;判断终止条件是否满足,如果满足则输出当前获得的最优调度方案,否则继续对每个子种群中的粒子使用粒子群算法进行位置的更新,然后以概率使用局部搜索算子进行搜索,得到每个子种群的最优调度序列;使用基于统计的概率模型,共享每个子种群得到的最优调度序列的信息;使用基于模拟退火算法的局部搜索算子对全局最优工作序列优化。
本发明的技术方案是采用多种群策略,且对不同的子种群使用不同的局部搜索算子以克服已有算法提前收敛和容易陷入局部最优的缺陷。在种群进化过程中,通过对最优工作序列的统计学习所建立的模型来产生新个体,来达到子种群的最优序列信息的共享,以加快算法的收敛速度,也就是进化速度。
本发明的实现还在于:步骤五所采用的局部搜索算子按照子种群Qi脚标的奇偶不同而不同:其中当i为奇数时,子种群的所有个体以概率r1使用局部搜索算子1;其中当i为偶数时,子种群的所有个体以概率r2使用局部搜索算子2。采用两种不同的局部搜索算子可以克服使用单一局部搜索算子导致种群多样性差,算法局部搜索能力差,和最终陷入局部最优的问题。
本发明的实现还在于:步骤五所采用的对第奇数个子种群使用的IIS局部搜索算子即局部搜索算子1进行局部搜索,其过程如下:
3.1)将当前粒子的位置向量使用Ranked-Order-Value(ROV)转化准则转化为工作序列π;
ROV转化准则如下:假设Xi=[xi,1,xi,2,...,xi,n]代表当前粒子的位置向量,将xi,1,xi,2...,xi,n按照每个值的递增顺序进行排序,得到每维位置值的等级,即是所对应的工作序列的编号,得到工作序列π;
3.2)计算工作序列π的适应度值fitness(π);
3.3)在当前工作序列π中,任意选择位置j(j=1,...,n)处的工作πj与位置i(i=1,...,j-1,j+1,...,n)位置处的工作πi,交换πj与πi,得到一个新的工作序列πnew。计算πnew的适应度值,得到fitness(πnew);如果fitness(πnew)<fitness(π),则替换当前的工作序列π=πnew;
3.4)对步骤3.2)-3.3)进行循环操作n次,得到最优的工作序列π。
IIS局部搜索能力强,能够有效的克服PSO算法局部搜索能力差的缺陷,得到更好的调度方案。
本发明的实现还在于:步骤五所采用的对第偶数个子种群使用的VNS局部搜索算子即局部搜索算子2进行局部搜索,其过程如下:
4.1)使用ROV转化准则将当前解Xi=[xi,1,xi,2...,xi,n]转化为工作序列π=[π1,π2,...,πn];
4.2)计算π的适应度值fitness(π);
4.3)在当前工作序列π中,任意选择位置j(j=1,...,n)处的工作πj与位置i(i=1,...,j-1,j+1,...,n)位置处的工作πi,交换πj与πi,得到一个新的工作序列π′,在序列π′中再任意选择第p(p=1,...,n)和q(q=1,...,p-1,p+1,...,n)位置处的工作πp和πq,将πq插入到位置p之前的任一位置y,得到了新的序列πnew;
如果fitness(πnew)<fitness(π),则替换当前的工作序列π=πnew;
4.4)对步骤4.2)-4.3)循环操作n次,得到最优的工作序列π。
VNS局部搜索算法为变邻域的局部搜索算法,比单邻域局部搜索算法具有更好的局部搜索能力,能够得到更好的调度方案。
本发明的实现还在于:步骤六所采用的建立概率模型和产生新个体的步骤如下:
5.1)对πg1、πg2、...、πgs进行以下参数统计:
ηjk:在S个最优的工作序列中,工作j(j=1,...,n)出现在位置k或者是在位置k(k=1,...,n)之前的次数;
μj[k-1]:在S个最优的序列中,工作j出现在位置k-1之后的次数;
5.2)通过以上统计的两个参数,得到下面的概率模型:
Ωk:在位置k之前还没有调度的工作的集合;
ρ(k,j):工作j安排在位置k处的概率;
5.3)通过这个概率模型对于每个位置k从Ωk中选择一个被安排在此处概率最大的工作,依次得到一个工作序列;按照上述方式,产生S个新的工作序列π1、π2、...、πS。
通过建立概率模型来达到种群中最优解的解的解空间信息得到共享,同时通过该概率模型产生的工作序列的完成时间较短,这样可以有效的提高算法的收敛速度。
本发明的实现还在于:步骤八所采用的基于模拟退火算法的局部搜索算子,其过程如下:
6.1)初始温度T0和退火常数d;
6.2)计算当前工作序列πbest的适应度值fitness(πbest);
6.3)在当前工作序列πbest中,任意选择位置j(j=1,...,n)处的工作πj与位置i(i=1,...,j-1,j+1,...,n)处的工作πi;
6.4)产生随机数r,如果r<=0.5,交换πj和πi,产生新的工作序列πnew;如果r>0.5,则将工作πi插入到j位置之前的任一位置,产生新的工作序列πnew;
6.5)计算两个工作序列的完成时间,得到计算完成时间fitness(πbest)和fitness(πnew);如果fitness(πnew)<=fitness(πbest),则πbest=πnew;否则,产生随机数r∈[0,1],如果则πbest=πnew,改变温度T0=T0×d;
6.6)对步骤6.2)-6.5)进行循环操作n×(n-1)次,得到最优的工作序列πbest。
采用基于全局搜索能力较强的模拟退火算法的局部搜索算子,能够克服局部搜索算法提前收敛的缺陷,有利于得到更好的调度方案。
本发明与现有技术相比具有以下优点:
1、本发明由于在混合粒子群算法的基础上引入了多种群的策略,克服了现有技术中单一种群多样性差的缺陷,有利于克服算法早熟收敛,能够得到更好的调度方案。
2、本发明由于使用了基于对每个子种群最优解的统计学习的建模方法,可以使每个子种群得到的最优解的信息得到共享。通过该模型产生的工作序列来替换种群中最差的工作序列,这样可以有利于提高算法的收敛速度,从而更快的得到好的调度方案。
3、本发明由于采用了两种不同的局部搜索算子,不仅加快了粒子位置的更新,同时克服了已有技术中使用单一局部搜索算子造成的种群多样性差的问题。有利于提高算法的收敛速度同时克服算法提前收敛,从而能更快更好的得到调度方案。
附图说明
图1为本发明的流程图;
图2是本发明的局部搜索算子1搜索流程框图;
图3是本发明的局部搜索算子2搜索流程框图;
图4是本发明的基于模拟退火算法的局部搜索流程框图。
具体实施方式
实施例1
本发明是一种基于多种群混合粒子群算法的流水车间调度方法,参照图1,包括如下步骤:
步骤一:设定参数,所设定的参数包括:程序运行最大迭代次数tmax、调度的工作数目n、机器数目m、子种群个数S(当要调度的工作数目多时,S相对较大)、粒子位置的最大值xmax和最小值xmin、模拟退火算法的初始温度T0、退火系数d、局部搜索算子1使用概率r1、局部搜索算子2使用概率r2、定义粒子A的适应度值f=T,其中T为粒子A的位置向量解码后所对应的调度方案的调度时间,初始化i=1;
步骤二:产生初始种群Q,将初始种群Q平均分为S个子种群,分别为Q1、Q2、...、Qs;
按照以下公式产生S*n个n维向量(x1,x2,...,xi,...xn),xi∈[xmin,xmax]作为初始种群,将S*n个n维向量(x1,x2,...,xi,...xn)平均分为S个集合作为子种群Q1、Q2、...、Qs。其中,n是要安排的工作的数目;
x=xmin+(xmax-xmin)*rand()
v=vmin+(vmax-vmin)*rand()
x为粒子的位置,v为粒子的速度,rand()为[0,1]之间的随机数。
步骤三:程序运行迭代次数t=t+1,判断是否达到最大迭代次数tmax;如果t<tmax,执行步骤四;如果t=tmax,则执行步骤十;
步骤四:使用粒子群算法将每个子种群Q1、Q2、....、Qs进化为Q1′、Q2′、...、Qs′,粒子群算法中粒子的位置和速度的更新方式按照以下公式进行:
vi,j(t+1)=wvi,j(t)i,j+c1r1(pi,j-xi,j(t))+c2r2(pg,j-x(t))
xi,j(t+1)=xi,j(t)+vi,j(t+1)
其中,t为进化迭代数,i代表第i个粒子i=1,...,n,j代表空间维数j=1,...,d,xi,j为粒子i在第j维空间的位置值,vi,j为粒子i在第j维空间的速度,w为惯性权重,c1,c2为学习因子或加速常量,r1,r2为区间[0,1]内的两个随机数,pi,j为粒子i至目前为止在第j维空间的最优位置,pg,j为所有粒子在第j维空间的最优位置。
步骤五:对进化后的子种群使用局部搜索算子进行搜索,所采用的局部搜索算子按照Qi的脚标i奇偶不同而不同;其中当i为奇数时,子种群的所有个体以概率r1使用局部搜索算子1;其中当i为偶数时,子种群的所有个体以概率r2使用局部搜索算子2,计算搜索后所有个体的适应度值,得到适应度值最小的工作序列πgi,适应度值最大的工作序列πgi′;i=i+1,判断i=S是否成立;若成立,则令i=1,执行步骤六;否则执行步骤五;
5.1对奇数子种群的个体以概率r1进行Individual Improvement Scheme(IIS)局部搜索,更新每个个体的最优工作序列。参照图2,局部搜索算子1即IIS局部搜索算法,其过程如下:
1)将当前粒子的位置向量使用ROV转化准则转化为工作序列π。
ROV转化准则如下:假设Xi=[xi,1,xi,2,...,xi,n]代表当前粒子的位置向量,将xi,1,xi,2...,xi,n按照递增顺序进行排序,得到每维位置值的等级,即是所对应的工作序列的编号;
2)i=0;初始化循环次数;
3)i=i+1;判断是否满足i≤n;是,则转至4);否,则转至7);
4)计算当前工作序列的完成时间,得到fitness(π),且使得πoriginal=π;
5)在当前工作序列π中,任意选择位置j(j=1,...,n)处的工作πj与位置i(i=1,...,j-1,j+1,...,n)位置处的工作πi,交换πj与πi,得到一个新的工作序列πnew。计算πnew的完成时间,得到fitness(πnew);
6)如果fitness(πnew)<fitness(π),则当前的工作序列π=πnew,否则π=πorginal;
7)输出当前工作序列π;
5.2对偶数子种群的所有个体以概率r2使用Variable Neighborhood Search(VNS)局部搜索进行搜索,更新每个个体的最优工作序列。参照图3,VNS局部搜索即局部搜索算子2的过程如下:
1)使用ROV转化准则,将当前解转化为工作序列π;
2)i=0;初始化循环次数;
3)i=i+1;判断是否满足i≤n。是,则转至4);否,则转至6);
4)评价当前工作序列的完成时间,得到fitness(π),且使得πoriginal=π;在当前工作序列π中,随机选择第i和第j位置的工作,交换i和j位置处的工作,得到新的工作序列π′。在序列π′中再任意选择第m和n位置处的工作,将n处的工作插入到m处工作之前的任一位置,得到了新的序列πnew;
5)如果fitness(πnew)<fitness(π),则当前的工作序列π=πnew,否则π=πorginal;
6)输出当前工作π;
步骤六:通过对步骤5得到的S个子种群的最优序列πg1、πg2、...、πgs进行统计得到最优工作序列的概率模型。通过概率模型,产生S个新的工作序列π1、π2、...、πS;
建立模型的过程如下:
1)对πg1、πg2、...、πgs进行以下参数统计:
ηjk:在三个最优的个体中,工作j出现在位置k或者是在位置k之前的次数;j:代表第j个工作,j=1,...,n;k:代表第k个位置,k=1,...,m;
μj[k-1]:在三个最优的个体中,工作j出现在位置k-1之后的次数;
2)通过以上统计的两个参数,我们得到下面的产生解的方式:
Ωk:在位置k之前还没有调度的工作的集合;
ρ(k,j):工作j安排在位置k处的概率,按照公式计算;
3)通过这个概率模型,对于每个位置k,从Ωk中选择一个被安排在此处概率最大的工作,依次得到一个工作序列。按照上述方式,产生S个新的工作序列π1、π2、...、πS。
步骤七:计算新的工作序列π1、π2、...、πS的适应度值,得到fitness(π1)、fitness(π2)、...、fitness(πS)。对第i(i=1,...,S)个子种群,如果fitness(πi)<fitness(πgi′),则πgi′=πi;
步骤八:计算所有子种群的粒子的适应度值,得到适应度值最小的工作序列为πbest,对πbest使用基于模拟退火算法的局部搜索。参照图4,基于模拟退火算法局部搜索的过程如下:
1)初始化参数,循环次数i=0、初始温度T0、退火系数d;
2)i=i+1;判断是否满足i≤n*(n-1)。是,则转至3);否,则转至7);
3)评价当前工作序列的完成时间,得到fitness(πbest),且使得πoriginal=πbest;
4)在当前工作序列πbest中,随机选择第i和第j位置处的工作;
5)产生随机数r,如果r<=0.5,则在当前工作下,交换第i和第j位置处的工作,产生新的工作序列πnew。如果r>0.5,则将第j位置处的工作插入到第i位置处工作之前的位置,产生新的工作序列πnew;
6)计算两个工作序列的完成时间,得到计算完成时间fitness(πbest)和fitness(πnew);如果fitness(πnew)<=fitness(πbest),则πbest=πnew;否则,产生随机数r∈[0,1],如果则πbest=πnew,改变温度T0=T0×d;
7)输出πbest。
步骤九:将S个子种群的粒子所对应的工作序列转化为位置值(转化方式如下),重新组合为一个种群Q,将种群Q随机平均分为S个子种群Q1、Q2、...、Qs,返回步骤三;
工作序列π={j1,j2,...,jn}转化为xi=[xi,1,xi,2,...,xi,n]过程如下:
xij=xmin+(xmax-xmin)*(ji-1+rand)/n,j=1,2,...,n.
其中,xmax,xmin分别是粒子位置的最大值和最小值。rand是[0,1]之间的随机数。
步骤十:输出最优工作序列。
本发明解决了现有基于混合粒子群算法的流水车间调度方法容易提前收敛和陷入局部最优的问题。本发明增加了多个种群,不同的子种群使用了不同的搜索算子进行局部搜索,获得好的流水车间调度方案,以缩短生产时间。
实施例2
仿真实验
基于多种群混合粒子群算法的流水车间调度方法同实施例1,本发明的效果可以通过以下实验进一步说明:
1、仿真实验采用的标准测试数据集
本发明仿真测试了26个流水车间调度问题,前8个问题是由Carlier提出的,而其他的18个问题是由Reeves提出的。这些问题是学者们研究流水车间调度问题常用的测试问题。其中表格中C是目前为止所得的每个问题的最优时间。
2、仿真实验的参数设置条件:
本发明涉及到的参数的设定如下:子种群个数S=3,惯性权重w=1.0,学习因子c1=c2=2.0,粒子位置的最小值xmin=-4.0,粒子位置的最大值xmax=4.0,粒子速度的最小值vmin=-4.0,粒子速度的最大值vmax=4.0,局部搜索算子1的使用概率r1=0.5,局部搜索算子2的使用概率r2=0.2。
3、仿真实验环境:
在CPU为core2 2.4HZ、内存2G、WINDOWS XP系统上使用MATLAB 7.0进行了仿真。
4、仿真内容
对于具有参考值的问题,可以进行定量的测试问题的结果,评价算法测试的结果的指标具有3个:
①计算最优相对误差:算法运行20次,取20次的最优值与参考最优值C之间的相对误差,称为最优相对误差BRE。
②计算平均相对误差:算法运行20次,取20次的平均值与参考最优值C之间的相对误差,称为平均相对误差ARE。
③计算最差相对误差:算法运行20次,取20次的最差值与参考最优值C之间的相对误差,称为最差相对误差WRE。
这三个指标反映了基于多种群混合粒子群算法的流水车间调度方法的有效性。
用本发明方法(MPSOMA)与现有的基于密母的粒子群算法(PSOMA)进行对比,以验证引入多种群策略的有效性。
从表1中可以看出,本发明引入了多种群策略,在前8个问题上20次都得到了最优值,对于Reeves提出的几个简单问题,本发明也取得了最优值。对于剩余的其他问题,本发明的方法同样得到了比现有PSOMA方法得到了更好平均值,表中黑体代表本方法比现有方法好的结果。
表1 本发明的方法(MPSOMA)与PSOMA的结果对比
实施例3
基于多种群混合粒子群算法的流水车间调度方法同实施例1,其参数设置同实施例2。用本法明方法(MPSOMA)与现有的基于统计学习的粒子群算法(PSOEDA)进行对比以验证引入的局部搜索算子的有效性。
从表2中可以看出,本发明采用了多个局部搜索算子,与现有方法PSOEDA相比,在大多数的问题上都取得了更好的平均值。本发明能够合理的安排工作序列,使用更少的完成时间,能有效的提高流水车间的生产效率。
表2 本发明的方法(MPSOMA)与PSOEDA的结果对比
Claims (6)
1.一种基于多种群混合粒子群算法的流水车间调度方法,包括如下步骤:
步骤一:设定参数:程序运行最大迭代次数tmax、调度的工作数目n、机器数目m、子种群个数S、粒子位置的最大值xmax和最小值xmin、模拟退火算法的初始温度T0、退火系数d、局部搜索算子1使用概率r1、局部搜索算子2使用概率r2、定义粒子A的适应度值fitness=T,其中T为粒子A的位置向量解码后所对应的调度方案的调度时间,初始化子种群的标记i=1;
步骤二:产生初始种群Q,将初始种群Q平均分为S个子种群,分别为Q1、Q2、...、Qs;
步骤三:程序运行迭代次数t=t+1,判断是否达到最大迭代次数tmax;如果t<tmax,执行步骤四;如果t=tmax,则执行步骤十;
步骤四:使用粒子群算法将子种群Q1、Q2、....、Qs进化为Q1′、Q2′...、Qs′;
步骤五:对进化后的子种群使用局部搜索算子优化;计算优化后所有个体的适应度值,得到适应度值最小的工作序列πgi,适应度值最大的工作序列πgi′;i=i+1;判断i=S是否成立;若成立,则令i=1,执行步骤六,否则执行步骤五;
步骤六:对步骤五得到的S个子种群的最优序列πg1、πg2、...、πgs进行统计得到最优工作序列的概率模型;通过概率模型,产生S个新的工作序列π1、π2、...、πS;
步骤七:计算新的工作序列π1、π2、...、πS的适应度值,得到fitness(π1)、fitness(π2)、...、fitness(πS);对第i(i=1,...,S)个子种群,如果fitness(πi)<fitness(πgi′),则πgi′=πi;
步骤八:计算所有子种群的粒子的适应度值,得到适应度值最小的工作序列为πbest,使用基于模拟退火算法的局部搜索算子优化πbest;
步骤九:将S个子种群的粒子重新组合为一个种群Q,将种群Q随机平均分为S个子种群Q1、Q2、...、Qs,返回步骤三;
步骤十:输出最优工作序列。
2.根据权利要求1所述的基于多种群混合粒子群算法的流水车间调度方法,其中步骤五所采用的局部搜索算子按照Qi的脚标i奇偶不同而不同;其中当i为奇数时,子种群的所有个体以概率r1使用局部搜索算子1;其中当i为偶数时,子种群的所有个体以概率r2使用局部搜索算子2。
3.根据权利要求2所述的对第奇数个子种群使用的局部搜索算子1是Individual Improvement Scheme(IIS),其过程如下:
3.1)将当前粒子的位置向量使用ranked-order-value(ROV)转化准则转化为工作序列π;
ROV转化准则如下:假设Xi=[xi,1,xi,2,...,xi,n]代表当前粒子的位置向量,将xi,1,xi,2...,xi,n按照每个值的递增顺序进行排序,得到每维位置值的等级,即是所对应的工作序列的编号,得到工作序列π;
3.2)计算工作序列π的适应度值fitness(π);
3.3)在当前工作序列π中,任意选择位置j(j=1,...,n)处的工作πj与位置i(i=1,...,j-1,j+1,...,n)位置处的工作πi,交换πj与πi,得到一个新的工作序列πnew。计算πnew的适应度值,得到fitness(πnew);如果fitness(πnew)<fitness(π),则替换当前的工作序列π=πnew;
3.4)对步骤3.2)-3.3)进行循环操作n次,得到最优的工作序列π。
4.根据权利要求2所述的对第偶数个子种群使用的局部搜索算子2即Variable Neighborhood Search(VNS),其过程如下:
4.1)使用ROV转化准则将当前解Xi=[xi,1,xi,2...,xi,n]转化为工作序列π=[π1,π2,...,πn];
4.2)计算π的适应度值fitness(π);
4.3)在当前工作序列π中,任意选择位置j(j=1,...,n)处的工作πj与位置i(i=1,...,j-1,j+1,...,n)位置处的工作πi,交换πj与πi,得到一个新的工作序列π′,在序列π′中再任意选择第p(p=1,...,n)和q(q=1,...,p-1,p+1,...,n)位置处的工作πp和πq,将πq插入到位置p之前的任一位置y,得到了新的序列πnew;如果fitness(πnew)<fitness(π),则替换当前的工作序列π=πnew;
4.4)对步骤4.2)-4.3)循环操作n次,得到最优的工作序列π。
5.根据权利要求1或2或3或4所述的基于多种群混合粒子群算法的流水车间调度方法,其中步骤六所述的建立概率模型和产生新工作序列的步骤如下:
5.1)对πg1、πg2、...、πgs进行以下参数统计:
ηjk:在S个最优的工作序列中,工作j(j=1,...,n)出现在位置k或者是在位置k(k=1,...,n)之前的次数;
μj[k-1]:在S个最优的序列中,工作j出现在位置k-1之后的次数;
5.2)通过以上统计的两个参数,得到下面的概率模型:
Ωk:在位置k之前还没有调度的工作的集合;
ρ(k,j):工作j安排在位置k处的概率;
5.3)通过这个概率模型对于每个位置k从Ωk中选择一个被安排在此处概率最大的工作,依次得到一个工作序列;按照上述方式,产生S个新的工作序列π1、π2、...、πS。
6.根据权利要求5所述的基于多种群混合粒子群算法的流水车间调度方法,其中步骤八所述的基于模拟退火算法的局部搜索算子,其搜索过程如下:
6.1)初始温度T0和退火常数d;
6.2)计算当前工作序列的适应度值fitness(πbest);
6.3)在当前工作序列πbest中,任意选择位置j(j=1,...,n)处的工作πj与位置i(i=1,...,j-1,j+1,...,n)处的工作πi;
6.4)产生随机数r,如果r<=0.5,交换πj和πi,产生新的工作序列πnew;如果r>0.5,则将工作πi插入到j位置之前的任一位置,产生新的工作序列πnew;
6.5)计算两个工作序列的完成时间,得到计算完成时间fitness(πbest)和fitness(πnew);如果fitness(πnew)<=fitness(πbest),则πbest=πnew;否则,产生随机数r∈[0,1],如果则πbest=πnew,改变温度T0=T0×d;
6.6)对步骤6.2)-6.5)进行循环操作n×(n-1)次,得到最优的工作序列πbest。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101484982A CN102222268A (zh) | 2011-06-02 | 2011-06-02 | 基于多种群混合粒子群算法的流水车间调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101484982A CN102222268A (zh) | 2011-06-02 | 2011-06-02 | 基于多种群混合粒子群算法的流水车间调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102222268A true CN102222268A (zh) | 2011-10-19 |
Family
ID=44778813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101484982A Pending CN102222268A (zh) | 2011-06-02 | 2011-06-02 | 基于多种群混合粒子群算法的流水车间调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102222268A (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393634A (zh) * | 2011-11-28 | 2012-03-28 | 浙江工业大学 | 一种基于pso-ga混合优化算法的单目标多生产线调度控制方法 |
CN102663574A (zh) * | 2012-03-23 | 2012-09-12 | 合肥工业大学 | 基于遗传算法的多rgv动态调度方法 |
CN103020731A (zh) * | 2012-11-15 | 2013-04-03 | 北京农业信息技术研究中心 | 基于粒子群的蔬菜种植茬口的安排方法 |
CN103136389A (zh) * | 2011-11-28 | 2013-06-05 | 深圳光启高等理工研究院 | 一种超材料单元结构的参数优化方法及装置 |
CN103136390A (zh) * | 2011-11-28 | 2013-06-05 | 深圳光启高等理工研究院 | 一种超材料单元结构的参数优化方法及装置 |
CN103809506A (zh) * | 2014-01-26 | 2014-05-21 | 西安理工大学 | 基于一维粒子群算法获得零件加工最优调度方案的方法 |
CN104331749A (zh) * | 2014-10-24 | 2015-02-04 | 陕西科技大学 | 基于模拟退火粒子群的agv优化调度方法 |
CN105512755A (zh) * | 2015-11-30 | 2016-04-20 | 清华大学 | 一种基于分解的多目标分布估计优化方法 |
CN106250583A (zh) * | 2016-07-15 | 2016-12-21 | 西安电子科技大学 | 基于双种群基因表达式编程的动态车间调度规则优化方法 |
CN106251031A (zh) * | 2016-05-18 | 2016-12-21 | 河海大学常州校区 | 一种基于生物启发的改进型粒子群优化算法 |
CN103699446B (zh) * | 2013-12-31 | 2017-02-15 | 南京信息工程大学 | 基于量子粒子群优化算法的多目标工作流动态调度方法 |
CN107766994A (zh) * | 2017-12-04 | 2018-03-06 | 长沙理工大学 | 一种共享自行车调度方法与调度系统 |
CN108133260A (zh) * | 2018-01-17 | 2018-06-08 | 浙江理工大学 | 基于实时状态监控的多目标粒子群优化的工作流调度方法 |
CN108288105A (zh) * | 2017-01-10 | 2018-07-17 | 重庆邮电大学 | 一种快递物流背包优化方法 |
CN108596359A (zh) * | 2018-03-16 | 2018-09-28 | 泰康保险集团股份有限公司 | 康复医嘱任务分派优化方法、装置和设备 |
CN108828942A (zh) * | 2018-06-12 | 2018-11-16 | 昆明理工大学 | 一种橡胶轮胎生产中硫化工艺过程的优化调度方法 |
CN109543875A (zh) * | 2018-10-16 | 2019-03-29 | 华南理工大学 | 基于集合型离散粒子群优化的云工作流调度方法 |
CN110400073A (zh) * | 2019-07-24 | 2019-11-01 | 河南工业大学 | 一种基于多方向收敛粒子群优化算法的fsp方法及系统 |
CN110458326A (zh) * | 2019-07-05 | 2019-11-15 | 清华大学 | 一种分布式阻塞型流水线调度的混合群智能优化方法 |
CN110472799A (zh) * | 2019-08-23 | 2019-11-19 | 兰州理工大学 | 一种基于引力搜索算法的阻塞流水车间调度优化方法 |
CN110490372A (zh) * | 2019-07-26 | 2019-11-22 | 华中农业大学 | 一种求解大规模车间作业调度问题的混合分布式进化方法 |
CN111191852A (zh) * | 2020-01-06 | 2020-05-22 | 金陵科技学院 | 一种基于粒子群算法的饲料动态调度方法 |
CN112651482A (zh) * | 2020-12-19 | 2021-04-13 | 湖北工业大学 | 基于混合粒子群算法的混流装配线排序方法及系统 |
CN112668864A (zh) * | 2020-12-24 | 2021-04-16 | 山东大学 | 一种基于狮群算法的车间生产排产方法及系统 |
CN114019922A (zh) * | 2021-11-01 | 2022-02-08 | 电子科技大学 | 一种基于粒子群退火算法的电子精密件柔性车间排程方法 |
CN115564146A (zh) * | 2022-11-18 | 2023-01-03 | 吉林大学 | 一种以改进的粒子群算法为内核的分组车间作业调度方法 |
-
2011
- 2011-06-02 CN CN2011101484982A patent/CN102222268A/zh active Pending
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393634A (zh) * | 2011-11-28 | 2012-03-28 | 浙江工业大学 | 一种基于pso-ga混合优化算法的单目标多生产线调度控制方法 |
CN103136389B (zh) * | 2011-11-28 | 2016-04-13 | 深圳光启高等理工研究院 | 一种超材料单元结构的参数优化方法及装置 |
CN103136389A (zh) * | 2011-11-28 | 2013-06-05 | 深圳光启高等理工研究院 | 一种超材料单元结构的参数优化方法及装置 |
CN103136390A (zh) * | 2011-11-28 | 2013-06-05 | 深圳光启高等理工研究院 | 一种超材料单元结构的参数优化方法及装置 |
CN103136390B (zh) * | 2011-11-28 | 2015-12-16 | 深圳光启高等理工研究院 | 一种超材料单元结构的参数优化方法及装置 |
CN102663574A (zh) * | 2012-03-23 | 2012-09-12 | 合肥工业大学 | 基于遗传算法的多rgv动态调度方法 |
CN102663574B (zh) * | 2012-03-23 | 2014-10-08 | 合肥工业大学 | 基于遗传算法的多rgv动态调度方法 |
CN103020731B (zh) * | 2012-11-15 | 2015-09-30 | 北京农业信息技术研究中心 | 基于粒子群的蔬菜种植茬口的安排方法 |
CN103020731A (zh) * | 2012-11-15 | 2013-04-03 | 北京农业信息技术研究中心 | 基于粒子群的蔬菜种植茬口的安排方法 |
CN103699446B (zh) * | 2013-12-31 | 2017-02-15 | 南京信息工程大学 | 基于量子粒子群优化算法的多目标工作流动态调度方法 |
CN103809506A (zh) * | 2014-01-26 | 2014-05-21 | 西安理工大学 | 基于一维粒子群算法获得零件加工最优调度方案的方法 |
CN103809506B (zh) * | 2014-01-26 | 2016-06-01 | 西安理工大学 | 基于一维粒子群算法获得零件加工最优调度方案的方法 |
CN104331749A (zh) * | 2014-10-24 | 2015-02-04 | 陕西科技大学 | 基于模拟退火粒子群的agv优化调度方法 |
CN105512755A (zh) * | 2015-11-30 | 2016-04-20 | 清华大学 | 一种基于分解的多目标分布估计优化方法 |
CN106251031A (zh) * | 2016-05-18 | 2016-12-21 | 河海大学常州校区 | 一种基于生物启发的改进型粒子群优化算法 |
CN106250583A (zh) * | 2016-07-15 | 2016-12-21 | 西安电子科技大学 | 基于双种群基因表达式编程的动态车间调度规则优化方法 |
CN106250583B (zh) * | 2016-07-15 | 2019-01-29 | 西安电子科技大学 | 基于双种群基因表达式编程的动态车间调度规则优化方法 |
CN108288105A (zh) * | 2017-01-10 | 2018-07-17 | 重庆邮电大学 | 一种快递物流背包优化方法 |
CN107766994A (zh) * | 2017-12-04 | 2018-03-06 | 长沙理工大学 | 一种共享自行车调度方法与调度系统 |
CN108133260B (zh) * | 2018-01-17 | 2021-05-07 | 浙江理工大学 | 基于实时状态监控的多目标粒子群优化的工作流调度方法 |
CN108133260A (zh) * | 2018-01-17 | 2018-06-08 | 浙江理工大学 | 基于实时状态监控的多目标粒子群优化的工作流调度方法 |
CN108596359A (zh) * | 2018-03-16 | 2018-09-28 | 泰康保险集团股份有限公司 | 康复医嘱任务分派优化方法、装置和设备 |
CN108828942A (zh) * | 2018-06-12 | 2018-11-16 | 昆明理工大学 | 一种橡胶轮胎生产中硫化工艺过程的优化调度方法 |
CN109543875A (zh) * | 2018-10-16 | 2019-03-29 | 华南理工大学 | 基于集合型离散粒子群优化的云工作流调度方法 |
CN110458326A (zh) * | 2019-07-05 | 2019-11-15 | 清华大学 | 一种分布式阻塞型流水线调度的混合群智能优化方法 |
CN110458326B (zh) * | 2019-07-05 | 2021-12-10 | 清华大学 | 一种分布式阻塞型流水线调度的混合群智能优化方法 |
CN110400073A (zh) * | 2019-07-24 | 2019-11-01 | 河南工业大学 | 一种基于多方向收敛粒子群优化算法的fsp方法及系统 |
CN110490372B (zh) * | 2019-07-26 | 2022-03-01 | 华中农业大学 | 一种求解大规模车间作业调度问题的混合分布式进化方法 |
CN110490372A (zh) * | 2019-07-26 | 2019-11-22 | 华中农业大学 | 一种求解大规模车间作业调度问题的混合分布式进化方法 |
CN110472799A (zh) * | 2019-08-23 | 2019-11-19 | 兰州理工大学 | 一种基于引力搜索算法的阻塞流水车间调度优化方法 |
CN111191852A (zh) * | 2020-01-06 | 2020-05-22 | 金陵科技学院 | 一种基于粒子群算法的饲料动态调度方法 |
CN112651482A (zh) * | 2020-12-19 | 2021-04-13 | 湖北工业大学 | 基于混合粒子群算法的混流装配线排序方法及系统 |
CN112651482B (zh) * | 2020-12-19 | 2024-01-23 | 湖北工业大学 | 基于混合粒子群算法的混流装配线排序方法及系统 |
CN112668864A (zh) * | 2020-12-24 | 2021-04-16 | 山东大学 | 一种基于狮群算法的车间生产排产方法及系统 |
CN112668864B (zh) * | 2020-12-24 | 2022-06-07 | 山东大学 | 一种基于狮群算法的车间生产排产方法及系统 |
CN114019922A (zh) * | 2021-11-01 | 2022-02-08 | 电子科技大学 | 一种基于粒子群退火算法的电子精密件柔性车间排程方法 |
CN114019922B (zh) * | 2021-11-01 | 2023-04-25 | 电子科技大学 | 一种基于粒子群退火算法的电子精密件柔性车间排程方法 |
CN115564146A (zh) * | 2022-11-18 | 2023-01-03 | 吉林大学 | 一种以改进的粒子群算法为内核的分组车间作业调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102222268A (zh) | 基于多种群混合粒子群算法的流水车间调度方法 | |
Çil et al. | Mathematical model and bee algorithms for mixed-model assembly line balancing problem with physical human–robot collaboration | |
CN107301473B (zh) | 基于改进遗传算法的同类平行机批调度方法及系统 | |
Zhang et al. | Multipopulation ant colony system with knowledge-based local searches for multiobjective supply chain configuration | |
CN106527381B (zh) | 一种面向并行批处理机动态调度的快速评估方法 | |
CN108846570A (zh) | 一种解决资源受限项目调度问题的方法 | |
CN106779372A (zh) | 基于改进免疫禁忌算法的农机调度方法 | |
CN104914835A (zh) | 一种柔性作业车间调度多目标的方法 | |
CN104516785B (zh) | 一种云计算资源调度系统及方法 | |
AU2020101405A4 (en) | An Efficient Distributed Method for Real-Time Traffic Flow Prediction | |
CN104239213A (zh) | 一种面向航天器自动化测试的并行测试任务两阶段调度方法 | |
CN104217258A (zh) | 一种电力负荷条件密度预测方法 | |
CN105974891A (zh) | 一种基于动态看板的模具生产过程自适应控制方法 | |
Xianzhou et al. | An improved genetic algorithm for dual-resource constrained flexible job shop scheduling | |
CN111709526A (zh) | 一种基于多因子迁移学习的多模多目标演化算法 | |
CN101957760A (zh) | 一种过程执行时间的测定方法 | |
Shi et al. | Improving pareto local search using cooperative parallelism strategies for multiobjective combinatorial optimization | |
Zhao et al. | A new bi-objective batch scheduling problem: NSGA-II-and-local-search-based memetic algorithms | |
CN103136032B (zh) | 一种多核体系并行仿真系统 | |
CN105184112A (zh) | 基于改进小生境遗传算法的蛋白质结构预测方法 | |
CN104573331A (zh) | 一种基于MapReduce的K近邻数据预测方法 | |
Xu et al. | Multi-objective optimizer with collaborative resource allocation strategy for U-shaped stochastic disassembly line balancing problem | |
CN109635328A (zh) | 集成电路布局方法以及分布式设计方法 | |
Tangherloni et al. | GPU-powered multi-swarm parameter estimation of biological systems: A master-slave approach | |
Liu et al. | Research on agricultural machine scheduling in hilly areas based on Improved Non-dominated Sorting Genetic Algorithm-III |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111019 |