多目标调度图(精选5篇)
1.多目标调度图 篇一
2012年我站调度室工作目标计划
2011年我站调度室会紧紧围绕“搞好服务抓生产,紧抓调配出效益”的工作方针有了良好的成果,新的一年我站调度室还要继续抓好既定方针按部就班的开展工作。
一、2012年调度工作目标。
加强认识,提高意识,从大局意识出发,牢固树立“以站为家,服务旅客”的思想观念,摆正自己的位置,树立全局意识,切实转变工作思路,在保证车站生产的基础上积极组织包车业务,早日完成车站生产任务。
二、2012年调度工作计划。
1、加强思想学习,提升个人素质。
(1)要加强邓小平理论、“三个代表”重要思想和科学发展观的学习,坚定立场、观点和方法,端正自己思想观念,在学习贯彻的深入、深度和深化上下功夫。贯彻领会上级主管部门、公司、车站的各项政策、文件和规章制度。
(2)加强组织学习本部门人员业务知识培训,努力使本部门人员都了解车站的工作职责、工作标准和考核制度,对车站的发车班次计划都能做到了然于心。
2、落实“四证一卡”报班制度,严格保证运营安全。
2012年本部门会继续加强站内经营车辆 “四证一卡” 报班制度,杜绝证件不全的车辆进站经营,严格检查禁止无从业资格证的司机驾驶客车。坚持日检制度,严查车载消防设施,对技术不合格车辆及伤车病车严禁载客出站。
3、合理调配进站车辆,紧抓站务收入。
(1)依据往年车辆运行经验评估今年客流情况,积极制定合理的车站运行计划,要求本部门认真填写调度日志做好个班线的班次运行记录,及时跟踪汇总客流状态,配合好领导及时制定相应的生产预案。
(2)2012年本部门会依照以往的工作方针积极调配车辆,依据车站客流情况对车辆进行合理调配并组织好车辆加班,协调好车站与车主之间的关系。积极运作调动一切可调配的车辆,争取在2012年里不滞留一名旅客。
总之,2012年我会带领我站调度人员积极响应站领导制定的各项方针政策,齐心协力配合车站其他部门团结一致,奋力拼搏,为全面完成2012年各项目标任务而努力奋斗!
2.多目标调度图 篇二
在模具项目执行过程中经常会出现各种突发事件,如资源发生故障、任务拖期、随机插入新项目、工程与生产变更等,结果导致开始制订的项目计划被破坏。只有采取科学的多项目动态调度与协同监控手段,才能有效地应对突发事件,确保项目顺利进行。目前,专门研究风险性和不确定环境下项目调度理论与方法的文献较少。对现有文献进行初步归类,可以大致分为两大类:第一类将项目网络图的结构假设为确定的,而将项目中的其他参数,如任务工期等作为不确定性变量,对项目调度方案的制订展开研究,文献[1]全面地综述了这类研究工作,认为主要存在四种不同的调度方法,即反应性调度、随机性调度、模糊调度和前摄鲁棒性调度;第二类将项目网络图的结构假设为随机的,研究项目调度计划与控制方法,文献[2,3]介绍了这类研究工作。
就模具项目调度而言,文献[4]对确定条件下的多个模具项目的工期费用规划作了初步研究,文献[5,6]在单个模具项目的工期与费用的不确定性规划方面作了大量的研究,文献[7]研究了具有工件约束的模具零件制造的动态调度问题,文献[8,9]考虑了任务工时、费用、质量、是否返修等不确定因素,基于Markov理论,研究了基于启发式策略仿真和Q学习算法的多模具制造过程的随机调度问题,但针对不确定环境下多个模具项目的分析、设计、制造过程的动态调度研究,国内外文献并不多见。
本文从多目标优化的角度出发,研究在可再生资源(以下简称资源)发生故障、任务拖期、随机插入新项目等多种不确定因素影响下的模具多项目反应调度算法。
1 问题描述
一个典型完整的模具项目的网络拓扑结构如图1所示,其中每个节点(圆圈表示)表示一个任务,共有16个任务,各任务名称及其对资源的需求如表1所示。由于模具项目的分析、设计与制造的工艺流程大致相同,因此它们的网络拓扑结构也大体相同,因此可以把多个模具的网络结构图采用并行连接的方法合并为一个网络图G=(N,A),首尾加两个虚拟节点,并对各节点重新编号,其中,N为网络中的节点(包括虚拟的开始节点和结束节点),A为任务之间的紧前约束关系集合,即若任务i为任务j的前驱,则弧(i,j)∈A。图2为三个模具项目的网络结构图,其中0、49号节点分别表示虚拟的开始任务和结束任务,工期为0,也不需要任何资源。
模具生产过程中,首先需要制订一个初始调度计划,然后执行该初始计划。在项目执行过程中,当可用资源数量不足、任务拖期或随机插入新项目导致正在执行的调度计划St-1无法继续执行时,则进行反应调度,产生一个新的调度计划St。本文提出的反应调度的优化目标为:①St与St-1的偏差最小,通常用因反应调度产生的计划变更而带来的附加费用来衡量这种偏差[10,11],附加费用越小则偏差越小;②St的项目加权工期之和最小,从而减少由于项目拖期而造成的高额罚款。上述优化目标可用如下模型进行描述:
式中,n为G中非虚拟任务的个数;s
式(1)、式(2)表示多目标优化模型的两个优化目标,式(3)表示任务之间的紧前约束条件(即任意一个任务必须在其所有前驱任务完成之后才可以开始),式(4)表示资源约束条件(即任意一个时段正在执行的任务所需要的各类资源数量不能超过该时段各类资源的可用数量)。
对于上述多目标优化模型,有以下定义:
定义1 Pareto支配[13]。定义解u=(u1,u2,…,ux)支配(或非劣于)解v=(v1,v2,…,vx),记作u≺v,当且仅当∀i∈{1,2,…,h},fi(u)≤fi(v)且∃j∈{1,2,…,h},fj(u)<fj(v)(h为目标函数的个数)。
定义2 Pareto最优解[14]。定义解u为解集空间Y中的任意一向量,u为Pareto最优解,当且仅当⇁∃v∈Y,v≺u。Y中所有u的集合P称为Pareto最优解集,对应的f(P)为Pareto最优前端,记为PF。
2 初始调度计划的构建
2.1基于生灭过程的资源不确定性分析
通常,机器发生故障的时间间隔与机器的修复时间均服从一定参数的指数分布。如果工作人员(如前述的设计员、程序员、工艺员、采购员)因各种原因而发生缺勤的时间间隔,以及人员缺勤的时间也服从指数分布,则可用生灭过程来分析资源的不确定性。为方便起见,将机器故障与人员缺勤统一描述为资源故障,而将机器修复与人员复工统一描述为资源修复。
设项目执行共需要K类资源,t=0时资源k(k∈K)的总量为ak,资源k的平均故障时间间隔为TF,k,平均修复时间为TR,k。任意时段t的系统状态jk表示故障资源k的个数为jk(为了描述方便,暂时省去下标k)。若生灭过程在时段t处于状态j,则该过程的状态转变服从如下两个定理。
定理1[15] 在时段t和t+Δt之间出现“生”的概率为λjΔt+ο(Δt),“生”使系统状态增加1,成为j+1,变量λj称为状态j下的出生率;在时段t和t+Δt之间出现“灭”的概率为μjΔt+ο(Δ t),“灭”使系统状态减少1,成为j-1,变量μj称为状态j下的灭亡率,μ0=0必须成立,否则可能出现负状态。
定理2[15] “生”和“灭”彼此独立。
显然,本文中的“生”指资源发生故障,“灭”指资源被修复。因此,有λj=(a-j)/TF,μj=j/TR。状态j的稳态概率πj可以通过求解如下的流量平衡方程而得到[15]:
由式(5)可知:
π1=λ0π0/μ1
π2=λ0λ1π0/(μ1μ2)
︙
πj=λ0λ1…λj-1π0/(μ1μ2…μj)=
λja(a-1)…(a-j+1)π0/(μjj!)=C
由于在任何指定的时段,系统必须处于某种状态,所以
由此可见,单位时段资源k的故障资源个数的期望值
2.2基于拓扑排序的初始调度计划构建
初始调度计划的构建为典型的资源受限项目调度问题(resource constrained project scheduling problem,RCPSP),目前的解法主要有精确算法和启发式算法两大类。对于规模较大的RCPSP问题主要采用后者进行求解。本文中令资源k单位时段的可用数量为E(ak),采用一种基于优先规则的拓扑排序法来产生一个项目加权工期之和最小的初始调度计划[16]。
3 基于改进多目标微粒群算法的反应调度
3.1反应调度算法描述
设S0表示时间t=0时执行的调度计划,则本文提出的反应调度算法流程如下:①初始化,t=0,St=S0;②若时间t所有任务全部完成,则调度结束,否则转向步骤③;③若时间t出现资源不足、任务拖期或插入新项目的情况,则转向步骤④,否则St=St-1,转向步骤⑤;④将当前正在执行的调度计划St-1中计划完成时间不小于t的任务及其时序关系组成新调度的项目网络图,并采用改进的多目标微粒群算法求出新的调度计划St;⑤开始执行St中所有开始时间为t的任务;⑥t←t+1,返回步骤②。
上述算法步骤④中,对于在t时段正在执行的任务,进行反应调度时通常有两种处理模式,即所谓的Preempt-repeat模式和Preempt-resume模式。前者指的是在t之前的工作完全损失,反应调度时该任务需要从头开始执行,而后者指的是在t之前的工作不会损失,反应调度时该任务从中断处继续开始执行。本文采用Preempt-repeat模式,同时假设在没有出现资源不足、任务拖期或插入新项目的情况下,正在执行的任务所使用的资源不能被强占,即任务不能被中断(简称为不可强占资源)。
3.2改进的多目标微粒群算法
文献[17]提出利用微粒群优化算法解决多目标优化问题,在理论研究和实际应用中都取得了大量的成果。多目标优化的多重任务要求整个群体既要向Pareto最优前端逼近,又要能维持群体的多样性与均匀性,因此在更新微粒位置与速度时,往往面临着一定的矛盾。本文借鉴文献[18]的最优解评估选取方法,将孤立点搜索策略与精英归档策略相结合,提出采用一种改进的多目标微粒群算法(improved multi-objective particle swarm optimization,IMOPSO)来求解反应调度时的新计划。算法流程描述如下:
(1)初始化,设定算法的各参数(种群规模为M,最大迭代次数为Imax,惯性权重为ω,学习因子分别为c1、c2、c3,精英集的容量大小为Selite)。随机产生每个微粒的位置向量X(i)和速度向量V(i)(i=1,2,…,M),X(i)为对应任务的优先权,为[0,1]之间的随机数,微粒速度为[-0.9,0.9]之间的随机数。分别随机产生每个微粒i在目标函数f1、f2下的最优位置向量Pbest1(i)、Pbest2(i),以及全局最优位置向量Gbest1、Gbest2,置当前迭代次数m=1。
(2)对每个微粒i,利用修改后的串行调度生成方案[16]产生一个调度计划,分别用目标函数f1、f2计算调度计划的适应值f1(X(i))和f2(X(i))。
(3)分别求得每个微粒i在目标函数f1、f2下的最优位置向量,即
f or i=1:M
if f1(X(i))<f1(Pbest1(i)) then Pbest1(i)=X(i)
if f2(X(i))<f2(Pbest2(i)) then Pbest2(i)=X(i)
end f or
(4)分别求得在目标函数f1、f2下的全局最优位置向量,即
f or i=1:M
if f1(X(i))<f1(Gbest1) then Gbest1=X(i)
if f2(X(i))<f2(Gbest2) then Gbest2=X(i)
end f or
(5)计算全局最优位置向量Gbest和每个微粒的最优位置向量Pbest(i):
Gbest=Gbest1η+Gbest2(1-η) (6)
Pbest(i)=Pbest1(i)(1-η)+Pbest2(i)η (7)
式中,η为(0,1)之间的随机数。
(6)计算每个微粒的稀疏度,并得到稀疏度最大的微粒,其位置向量记为X(l)。
(7)更新每个微粒的速度向量和位置向量:
V(i)m+1=ωV(i)m+c1r1(Pbest(i)m-X(i)m)+
c2r2(Gbestm-X(i)m)+c3r3(X(l)m-X(i)m) (8)
X(i)m+1=X(i)m+V(i)m+1 (9)
式中,r1、r2、r3为(0,1)之间的随机数。
(8)将当前种群中的非劣解加入精英集,并更新精英集(更新算法见3.3节)。
(9)m←m+1,若m≤Imax,则返回步骤(2);否则,转向步骤(10)。
(10)在精英集中选择一个最优折中解(见3.4节),算法结束。
算法步骤(6)中的稀疏度表示种群中个体周围的稀疏程度,它等价于在个体周围包含个体本身但是不包含其他个体的最大的长方形。“稀疏度”越大的个体与其周围邻近的个体的平均距离越大,因而该个体周围显得越稀疏,“稀疏度”最大的个体称为孤立点。在解空间进行搜索时,使微粒朝着群体分布最为稀疏的区域飞行,有利于提高解的分布均匀性。分别将微粒按照目标函数f1、f2排序,则微粒i的“稀疏度”可按下式计算[19]:
式中,β为(0,1)之间的随机数。
3.3精英集更新算法
当IMOPSO算法中微粒进化到第m代时,种群中具有bm(bm≤M)个非劣解SNm,此时精英集Aelite,m中共有em(em≤Selite)个非劣解SEm,SNm,i为SNm中的第i个非劣解,SEm,j为SEm中的第j个非劣解,则本文提出的精英集更新算法描述如下:
(1)定义两个数组RN、RE,其值分别用来表示SNm、SEm中每个非劣解的保留或删除(值为“1”表示保留,为“0”表示删除)。初始值全部置为1,即RN[1:bm]=1,RE[1:em]=1。
(2)程序为
f or i=1:bm
f or j=1:em
if (RN(i)==1 && RE(j)==1) then
if (SNm,i==SEm,j) then RN(i)=0
else
if (SNm,i≺SEm,j) then RE(j)=0
else if(SEm,j≺SNm,i) then RN(i)=0
else
RN(i)=1,RE(j)=1
end f or
end f or
(3)求RN数组中值为1与RE数组中值为1的元素所对应的非劣解的并集S
(4)若S
简单的聚类方法(如K均值聚类)一般需要事先给定聚类的数目,具有较强的主观性,而且对于高维数据(通常认为超过16维即为高维)的聚类效果较差;另外,算法实现过程中往往需要对数据集进行反复聚类,计算效率较低。本文采用一种高性能的层次聚类算法(clusters optimization on preprocessing stage,COPS)对微粒位置向量进行聚类分析。COPS的原理与主要过程是[20]:①将每个数据点看作为一个单独的簇;②自底向上层次式地构造出数据集所有合理的划分组合,进而生成一条关于不同划分的聚类质量曲线;③抽取出对应曲线极小值点的划分来计算数据集的最佳聚类数目;④根据最佳聚类数目确定每个类中的样本个数及其中心。若n′、d分别表示数据集的数据个数与维度,则COPS的时间复杂度仅为O(dn′log2n′),计算效率较高。
3.4选择最优折中解
由于多目标优化算法得到的解是一组Pareto解集,故项目管理者需要从Pareto解集中选择一个解作为反应调度的结果。本文应用模糊隶属度函数来分别表示每个Pareto解中各个目标函数对应的满意度[21]。设fmaxi、fmini分别表示Pareto解集中目标函数i的最大值与最小值,fki表示Pareto解集中第k个解的目标函数i的值,则Pareto解集中第k个解的目标函数i对应的满意度定义如下:
则第k个解的标准化满意度值
4 仿真实验
4.1算例介绍与算法参数设置
某模具厂同时开始三个模具项目,其网络拓扑结构如图2所示,其中编号为46、47、48的任务所在的项目分别为项目1、2、3,其项目重要性权重γ1、γ2、γ3分别为0.35、0.37、0.28。项目所需的各类资源的初始总量、平均故障时间间隔TF、平均修复时间TR如表3所示,项目各任务的权重如表4所示,任务估算工期与资源需求如表5所示。
设有一个新项目在第10~15天、第16~25天、第26~35、第36~45天插入的概率分别为10%、20%、40%、30%,其重要性权重为1。新插入项目的各任务的估算工期、资源需求以及任务权重如表6所示。
设各任务(包括新插入项目的任务)发生拖期的概率为15%,任务拖期的天数为其估算工期的20%~40%。
微粒群种群规模M=50,最大迭代次数Imax=60,精英集容量大小Selite=120,学习因子c1=c2=2,c3=0.5,惯性权重ω=exp(-15×(Ic/Imax)10)(Ic为当前迭代次数)。
采用MATLAB7编写应用程序,在配置为Intel(R) Xeon(R) CPU E5335@2.00GHz 3GB内存的服务器上进行仿真实验。
4.2仿真结果分析
通常情况下,主要是从解的质量方面评价多目标进化算法的优劣。Zitzler等[22]提出了一系列非劣解的评价指标,然而这些评价指标都是在真实Pareto最优解已知的情况下建立的,称之为理论型评价指标。但是,实际问题的真实Pareto最优解集往往并不知道,理论型评价指标存在一定的局限性。因此,本文用算法实际求得的非劣解集合(近似Pareto最优解集)替代真实的Pareto最优解集,主要采用如下两种应用型评价指标来进行算法优劣的比较:
(1)修正距离Dm[23]。该指标反映算法所得非劣解逼近近似Pareto最优解的程度,定义为
其中,n″为算法求得的非劣解的个数,di为第i个非劣解到近似Pareto最优前端的最小距离。Dm越小,则算法所得非劣解越靠近近似Pareto最优前端,反之亦然。若Dm=0,则说明非劣解完全落在近似Pareto最优前端。
(2)近似Pareto最优解集的平均线密度
其中,m′为目标函数的个数。
求得初始调度计划后,对项目执行过程进行了100次随机仿真(从开始执行初始调度计划到各项目全部完成称为一次仿真)。每次仿真过程中,由于资源故障、任务拖期或插入新项目的影响,将出现若干次反应调度。分别采用本文提出的IMOPSO算法和文献[18]、文献[24]中的算法(种群规模、最大迭代次数、学习因子、惯性权重的设置同IMOPSO)进行反应调度,则100次仿真共进行反应调度的次数分别为1659、1684、1662,多次反应调度的Dm平均值、
由表7可知,本文提出的IMOPSO算法性能优于文献[18]和文献[24]中的算法。另外,由于IMOPSO算法和文献[24]中的算法均采用了精英归档策略,所以两种算法所得解全部都是非劣解,而文献[18]算法未采用精英归档策略,结果平均只有74.6%的解为非劣解。
从计算时间上看,IMOPSO算法耗时最长,文献[18]算法次之,文献[24]算法耗时最短,三者的平均反应调度时间依次约为261s、108s、52s。这主要是因为IMOPSO算法的精英归档策略中的聚类算法增加了计算复杂度,而文献[24]中的算法执行流程相对简单,所以耗时最短。
5 结束语
本文分析了资源不确定、任务拖期以及随机插入新项目等不确定因素对模具多项目调度的影响,建立了以调度计划变更产生的附加费用最小以及项目加权工期之和最小为优化目标的多目标反应调度模型,并提出了一种改进的多目标微粒群算法IMOPSO进行模型求解。IMOPSO采用一种最优解评估选取方法,并将孤立点搜索策略与精英归档策略相结合,增加了非劣解的多样性与均匀性。通过仿真计算,并分别与文献[18]和文献[24]中的算法进行对比和分析,表明IMOPSO具有良好的性能,能够有效解决模具多项目的动态调度问题。
本文的研究是在Preempt-repeat模式下,以不能强占资源为前提展开的,取得了初步的研究成果。对Preempt-resume模式和可强占资源条件下的模具多项目动态调度的研究将是我们下一步的主要工作。
3.多目标调度图 篇三
关键词:满意度;多目标;电力调度
1、电力客户满意度分析
客户满意度:在激烈的市场环境竞争中,再加上市场供需结构和企业营销战略的变化,逐渐形成了客户满意的理念。客户满意作为一种感觉,指的是客户对自己的要求被满足程度的感觉,这种感知了综合了多个方面,比如企业提供产品的实现、产品的使用以及处理产品的过程等。客户满意度指的是对用户接受过企业以及企业产品或服务的满意程度进行评价,它是从本质上来对产品或服务的质量进行评价,不仅可以将客户满意的程度给体现出来,又可以将企业提供产品的成效给有效的反映出来。
2、工业用电效率以及污染排放指标分析
通过相关的资料可知,近些年来,我国的排放总量中,有相当一部分比重都是工业污染排放,随着城市化进程加快,工业部门将会越来越多的进行污染和排放,对于环境质量和经济的可持续发展产生很大的影响。目前,我国的能源危机和环境污染问题日趋严重,国家在相关规划中已经在约束性目标中加入了节能和减排的内容。因此,从节能减排的角度上来讲,电力部门应该对那些有着较高能耗和较重污染的企业用电进行限制,鼓励那些污染较轻以及能耗较低的用户多用电,但是,这样就出现了一个问题,因为能耗很高的用户往往有着较高的产值和较高的利润,可以缓解就业问题,那么就需要对工业污染排放的因素进行分析,探讨工业各个行业用电量和污染排放之间的关系。
工业用电效率:通过研究表明,工业用电量和工业总产值都不是孤立存在的,两者存在着互相影响的关系。工业总产值在提高的同时,往往会增加用电量。而工业总产值又会在很大程度上影响到工业用电量。那么,就需要大力研究工业用电效率。
工业污染指标:工业污染是一个综合性很强的名词,它涉及到诸多方面的内容,比如工业废弃、工业废水、工业固体废弃物等等。并且,工业行业的不同,在工业污染特征方面也会呈现出很大的差异。 比如冶金、电力、建材等行业主要会产生工业废弃污染,而造纸、化工以及纺织等行业则主要产生工业废水污染,冶金行业如粉煤灰等主要会产生工业固体废弃物污染等等。因此,在核算工业污染排放量时,就需要认真核算水污染排放量、大气污染排放量和固体废弃物污染排放量等。
3、基于满意度的多目标电力调度模型建立及求解
基于满意度的多目标电力调度主要指的是针对各个用电客户的污染排放以及单位产值用电量等情况,相关的电力运行管理部门对各个客户用电量的电量分配目标进行合理确定,在电力客户电量需求得到满足的前提下,保证有最小的环境污染和最高的电力资源利用率。这种思想不仅可以对电力客户的需求进行充分满足,还可以对那些有着较高耗能和污染的企业发展进行限制,可以在很大程度上促进资源的节约和环境的保护。
模型的目标函数:通过分析我们可以将电力客户满意度的函数给得出来,也就是
在这个公式中,客户满意度用S来评价,第j家工业企业的客户满意度就可以用Sj来表示,企业最大的电能需求量则用Yj来表示。
同理,我们结合企业的电力消耗量、电力资源利用效率以及其他污染物的排放量,就可以得到污染排放的函数,进而得出最小的总用电量。
模型的约束条件:电力目前被人们所广泛使用,作为一种二次能源,特殊性比较强,到如今,还没有有效的解决如何来对其进行大规模的存储,这样就需要在生产和供应电力的过程中实现平衡,有着较强的计划性。在电力供应平衡方面,需要保证本区域计划供应给工业企业的电力总量要大于本区域内所有工业客户的用电量之和。在污染排放约束方面,要想保证本区域的环境质量目标可以达到,就需要严格的控制本区域内污染源的允许排放总量,通过环境容量,来合理确定允许排放总量。而环境容量指的是则是环境能承受最大量的污染物质,但是不能够给影响到人类的正常生存,不会损害到自然生态环境。
模型的求解方法:通常情况下,需要遵循三条原则来对多目标决策问题进行处理,一是化多为少,指的是对目标函数进行全面分析,对目标函数的个数进行最大限度的减少,但是需要保证的是不能影响到正常的决策。二是统一量纲原则,指的是为了更加方便的进行比较,在单目标决策中,需要统一不同方案目标函数值的单位。在多目标决策中,因为各个目标都是独立的,并且有着不同的计量单位,那么在进行多目标决策的过程中,为了消除量纲的影响,就虚假要标准化处理这些指标值,然后对两种指标进行比较。目前,应用比较广泛的主要有两种优化方法,分别是经典的多目标优化方法和灰色例子群算法,前者指的是通过处理或者数学转换多目标优化中的各子目标函数,将其转化为简单的单目标函数,然后进行求解。后者则是通过鸟群捕食行为演化来的,首先对一组随机解进行优化,用粒子来称呼每一个备选解,每一个粒子都有一个速度来对它的移动方向和距离进行决定,还有一个被优化的函数决定的适应度,在解空间内,粒子们在搜索时追寻最优粒子的行为,然后寻找最优解。
4、结语
通过上文的叙述我们可以得知,电力调度在电力系统中占据着十分重要的地位;研究发现,工业用电量和工业总产值都不是孤立存在的,那么就需要对工业污染排放的因素进行分析,探讨工业各个行业用电量和污染排放之间的关系;同时,顾客满意度也是非常重要的一个方面。本文简要分析了基于满意度的多目标电力调度优化,希望可以提供一些有价值的参考意见。
参考文献:
[1]贾永基,王长军.基于满意优化的多目标车辆调度问题模型与算法[J].东华大学学报,2009,2(3):123-125.
4.多目标调度图 篇四
粒子群算法 (Particle Swarm Optimization, PSO) 是一种基于群智能的演化计算技术。其操作简单且容易实现的特点引起演化计算领域的关注, 形成了一个研究热点[4]。但是基本PSO容易出现“早熟”现象, 即局部收敛这个缺陷, 因此学者们纷纷对其改进, 例如, 文献[5]将混沌和粒子群结合提出了混沌粒子群算法, 通过仿真说明该方法能提高计算精度、收敛速度和全局寻优能力;文献[6]分别采用基于优先级和基于排列的编码方式, 用粒子群算法对RCPSP进行求解。
本文则主要对工程项目调度定义分类模式选择、全面考虑调度所涉及的重要目标并建立综合优化模型, 并将混沌粒子群算法引入调度优化求解中, 最终实现工程项目的工期、成本、质量各目标的综合寻优效果, 有效地解决项目各个目标的对立问题。
1 项目优化模型建立
1.1 概念界定
首先, 根据实际情况, 对工程项目中工期、成本、质量以及资源等给予如下定义与假设[7]。
定义1:合理工期是工程项目在正常的条件下, 使项目的投资方和各参建单位均获得满意的经济效益的工期。
定义2:工程总成本是工程的直接成本与间接成本之和。
定义3:工程总质量由各个单项任务的质量加权平均得到。
本文问题具体可描述如下:一个工程中包含J项任务, 因技术上的要求, 规定任务j在其全部紧前任务i (i∈Pj, Pj为任务j的紧前任务集) 完成之前不能开始。任务1与任务J是均为虚拟任务, 即不消耗资源且执行时间为0, 表示整个工程的开始和结束。规定任务j (j=1, 2, …, J) 必须选择Mj种执行模式之一进行执行, 且过程中不能中断或改变执行模式。在第m (1≤m≤Mj) 种模式下任务j执行时间为djm。根据各任务在其执行模式下的最短执行时间, 可计算出各任务的最早、最晚完成时间窗口[EFj, LFj]。
同时, 引进以下决策变量
1.2 项目工期模型
工程项目的工期优化模型为
确定最后一项任务结束的最小时间, 即代表项目工期最短;式 (2) 表示一项任务j只能在其执行模式mj中选择一种模式去完成;式 (3) 是紧前关系约束, 其中i是j的紧前任务, djm表示任务j所需要的时间;式 (4) 表示每一阶段可更新资源k的消耗量不能超过其可用总量, 其中rρjmk指任务j在m模式下对可更新资源k的需求量;式 (5) 确保了整个项目不可更新资源n的消耗量不能大于其总量;式 (6) 则规定了变量的取值范围。
1.3 项目成本模型
本文定义的总成本包括直接成本和间接成本, 即C=C直接+C间接。
直接成本主要考虑了直接工程费, 即直接为生产产品而发生的各项费用 (包括人工、材料、机械使用等实体资源消耗费用) 和工程项目的现场办公维护费 (指项目中开展的安全保证、文明施工以及装卸运输等措施所花的费用) [8]。根据本文研究特点, 直接成本主要与工程项目资源实际使用量和工期有关, 即不同的执行模式所造成的这部分成本是不同的, 其公式表示为
C直接=Cr+Cm。
, 指资源消耗总费用;
其中, Ckρ表示第k种可更新资源的单位成本, 同理, 定义第n种不可更新资源的单位成本为Cnv;
指整个工期内可更新资源k的最大消耗水平;
为整个项目不可更新资源n的消耗量;
指项目所需维护措施费用总和, 其中, γ指单位时间 (天) 所需的项目维护成本;
所以, 工程项目的直接成本优化模型为
同时, 在实际工程中总会生成一笔企业日常运营管理费用, 并且工程商对于符合合同要求提前完工的往往会进行奖赏, 对于拖期完工的工程会给予惩罚, 而这些费用不可忽视, 其构成了项目的间接成本。因此, 加上间接成本后可以得到改进后的工程项目总成本标准优化模型为
其中:∂为项目工期拖期一天完工或提前一天完工的成本奖罚系数;TJ为工程实际完工天数;D为工程计划完工天数;CJ为整个项目活动过程中所需的企业管理成本, 其他符号同前。
为项目成本目标函数, 式 (2-2) 代表整个项目的资源消耗成本最小, 式 (9) 指最后一项任务的开始时间小于项目规定的工期结点, 即代表项目工期的约束。
1.4 项目质量模型
考虑到工程质量的特殊性, 参照文献[9-12], 这里主要采用专家评估法来对工程项目各工序质量进行评分, 同时, 由于构成整个项目的各个工序任务有其轻重之分, 因此根据各个工序的重要程度对其进行权重赋值, 即对于重要性大, 其质量的下降或提升会对整个项目调度质量产生较大的影响工序, 分配较大的权重值, 反之亦然。然后通过各项工序任务所占的权重乘以该项任务的质量得分确定此项任务的质量, 最后求和得到项目整体质量。具体目标函数如下:
s.t.式 (2) ~式 (6) 。
为项目质量目标函数, 式 (10) 表示质量最优, 其中, wj指任务j的权重;qjm指任务j在m模式下的质量得分。
1.5 多目标优化模型建立
为了能够对工程项目进行综合优化, 这里将前面的工期、成本、资源和质量各优化目标函数加权求和, 建立多目标优化函数为
其中:WT、WC、WQ分别为各个目标函数的权重。
在进行多目标综合优化求解时需要注意的是, 由于各个模型的目标函数值具有不同的单位和量纲, 为了将多个目标综合成一个统一有效的总目标, 在进行多目标决策之前首先需要将这些定量目标再进一步无量纲化, 即仅用数值的大小来反映各目标属性值的优劣。因此, 对本文所研究的项目调度问题进行模型各目标无量纲化, 具体计算如下
上式中, FT*、FC*、FQ*是将各目标函数通过无纲量化所得到值, FTmax, FTmin为工期最小化的目标函数FT得到的最大值和最小值, 同理FCmax, FCmin和FQmin, FQmin。
同时, 为了能够对工程项目进行综合优化, 需要将上述无量纲化后的工期、成本、质量各目标值进行加权求和。考虑到一般的静态加权求和法具有较大的主观性, 根据本文研究特点, 采用了基于动态调整的多目标加权法, 即在多目标调度优化过程中, 根据每次迭代后所得各单目标函数Fi (X) 的值来确定各目标所对应的加权因子值Wi, (i=1, …, n, n为目标总数) , 具体公式为
其中: 为各分目标的期望值, 一般如果设计者经验丰富的话, 可直接给出较为可靠的 值。
从式 (15) 中可以看出目标权重Wi的确定原则是:各目标距离其期望值越远获得的权重值则越大, 并且在未获得最优解前, Wi值是动态变化着的, 只有当迭代过程逼近问题的最优解时, 各个目标权重值才会趋于稳定。
最后, 在上述无量纲化、动态加权等技术优化之后, 建立多目标项目调度综合优化模型为
2 混沌粒子群优化算法
2.1 粒子群算法思想
粒子群优化算法是由Eberhart与Kennedy提出的一种新的全局优化进化算法。该算法源于对鸟类捕食行为的模拟。粒子群优化算法首先初始化一群随机粒子, 然后通过迭代找到最优解。在每一次迭代中, 粒子通过跟踪2个“极值”来更新自己。一个是粒子本身所找到的最优解, 即个体极值pBest。另一个是整个种群目前找到的最优解, 称之为全局极值gBest。同时粒子根据下面2个公式来更新自己的速度与位置:
其中:V是粒子的速度, Present是粒子的当前位置, pBest与gBest见前面定义。rand () 是 (0, 1) 之间的随机数, C1和C2被称作学习因子。通常, C1=C2=2, w是加权系数, 取值在0.1到0.9之间。根据上述公式, 粒子最终飞至解空间中最优解所在的位置, 搜索过程结束。
2.2 混沌思想及算法流程
混沌指的是将确定的运动方程得到的具有随机性的运动状态。典型的混沌系统式Logistic映射方程为
其中:μ为控制参数, xk为变量, k=0, 1, 2, …。
混沌优化的基本思想是首先产生一组与优化变量相同数目的混沌变量, 用类似载波的方式将混沌引入优化变量使其呈现混沌状态, 同时把混沌运动的遍历范围放大到优化变量的取值范围, 然后直接利用混沌变量搜索[13]。
利用混沌具有遍历性、随机性特点, 将其与PSO算法结合形成一种混合算法, 便可使得局部搜索更加有效。具体算法流程如下:
步骤1混沌初始化。随机生成一组模式选择的粒子, 混沌初始化粒子的位置和速度。通过适应度函数计算初始粒子的适应值, 从而记录下初始粒子个体极值和全局极值;
步骤2更新粒子群。利用式 (18) 、式 (19) 分别更新粒子的位置和速度, 通过适应度函数计算粒子的适应值F1;
步骤3以步骤2更新好的粒子位置作为混沌变量, 利用式 (20) 更新混沌序列, 产生混沌后的新的粒子位置, 通过适应度函数计算粒子的适应值F2;
步骤4比较两个适应值F1和F2, 保留较优的解。从而更新粒子局部最优解, 并比较更新全局最优解;
步骤5若达到最大迭代次数, 则返回全局最优解gbest;否则跳至步骤2。
2.3 算法编码设计
2.3.1 粒子编码与初始化
在多执行模式的项目调度过程中, 需要选择一个可行的执行模式和调度顺序。因此, 本文算法中有2种类型的粒子:模式粒子和优先级粒子。其中, 模式粒子用以选择执行模式, 优先级粒子用以选择各个任务的加工顺序。这两种粒子数量相同, 组合形成了一个调度方案, 如图1所示。
粒子群的搜索空间维度表示项目中的任务数, 总数为J, 模式粒子xim每个维度的值ximj都是随机值, 大小不超过其对应的任务的可选模式总数, 这个值表示任务j所选择的模式。优先级粒子yim每个维度的值都是[0, 1]的随机实数, 这个值的大小表示选择m模式的任务j调度的优先顺序, 值越大越优先调度。为方便理解和计算, 取虚拟开始任务的优先值为1, 虚拟结束任务的优先值为0, 其余任务都在[0, 1]中取随机实数。经过简单的降序排序后就得到一个调度顺序, 但是这个调度顺序可能不符合逻辑关系约束, 所以在生成一个调度顺序后, 需要加入一个逻辑关系判断程序, 以剔掉不符合要求的粒子。
2.3.2 调度生成方式
基于优先规则的调度生成方式可分为2种:串行调度方案 (Serial Scheduling Scheme, SSS) 和并行调度方案 (Parallel Scheduling Scheme, PSS) [14], 本文采用的是串行调度方案。
串行调度方案的主要思路是:根据已经确定的调度顺序, 按顺序加工, 某个任务j的实际开始时间在其最早开始时间EFj与最晚开始时间LFj之间, 并且在满足紧前紧后关系约束下, 尽可能早地安排任务的实际开始时间Tf。
2.3.3 粒子更新方式
粒子采用式 (18) 和式 (19) 的方程对粒子速度和位置进行更新。更新后, 如果非虚拟工序的xij≥1或xij≤0, 则xij=rand, rand是产生[0, 1]随机实数的函数, 经过去同处理, 使得xi各个维度值互不相同, 再采用初始化时的排序方法消除紧前约束, 最后得到一个xi′, 将其带入串行调度求适应值。如果vij>1, 则vij=1;如果vij<-1, 则vij=-1。
3 应用实例
参考文献[9]实际项目案例, 采用混沌粒子群算法求解该综合模型下的多目标项目调度问题。作业信息, 如表1所示。同时, 设置项目工期成本奖罚系数为5 000元/天;单位时间企业管理成本为3 500元/天;工程计划完工天数210天。
根据表1中工序的紧前紧后关系, 绘制出本项目的网络图, 如图2所示。
这里采用matlab7.0对案例进行编程, 算法参数设置:学习因子c1=c2=2, 种群规模POPSIZE=30, 粒子群迭代运行次数M=50。w惯性权重取值w=wmax- (wmax-wmin) /Dmax, wmax、wmin分别取1.2和0.8。采用粒子群和混沌粒子群2种算法程序, 对该多目标问题分别进行了运算, 如表2所示。
同时, 可以得到该多目标模型下最优方案的具体模式选择情况以及任务对应的调度顺序, 如表3所示。
根据运算过程绘制该多目标算例分别在基本粒子群算法和混沌粒子群算法下所得到的平均最优适应值曲线图, 即收敛对比图, 如图3所示。可以看到, PSO算法在求解该项目调度问题时, 通过15次进化运算基本达到收敛效果, 而混沌粒子群算法只需5次进化运算即可达到收敛, 由此可见CPSO算法具有更高的收敛性, 且方差较小, 结果比较稳定。
4 结语
工期、成本和质量是工程项目的几大控制目标, 它们之间相互依存、相互影响。本文提出的在进行项目优化问题求解时, 将这些控制目标有效地结合统一, 形成一个综合、科学、有效的数学模型, 是解决实际问题的根本、是最优化设计成败的关键。
当然, 实际的项目调度问题通常是相当复杂的, 构建的数学模型必须对实际问题加以适当的抽象和简化。本文建立了工期-成本-质量的优化模型, 并采用无量纲化、动态加权技术将各个单目标综合化为一个整体性问题。而采用混沌粒子群优化算法求解工程项目多目标问题, 能较好地平衡全局与局部搜索能力, 保持种群的多样性, 避免早熟。
5.多目标调度图 篇五
关键词:置换流水车间调度,多目标优化,食物链算法,Pareto最优解
0引言
流水车间调度问题作为许多实际流水线生产调度的简化模型,是生产调度中的一个重要研究对象。在实际生产中,生产者追求的目标并不是单一的,往往要求生产能够满足多个目标。因此,多目标流水车间调度问题更加符合生产制造的实际情况,具有研究的现实意义。Ishibuchi等[1]提出了基于局部搜索的遗传算法,求解了以最小化最大完成时间和最大延迟时间为目标的流水车间调度问题。Ravindran等[2]分析了最小化最大完成时间和最小化总流程时间的双目标流水车间调度问题,设计了三 种启发式 算法。Yagmahan等[3]采用蚁群算法,解决了以最小化最大完成时间和总流 程时间为 目标的流 水车间调 度问题。Lee等[4]针对目标函数为最小化加权延迟时间和最大完成时间的流水车间调度问题,给出了遗传算法。多目标置换流水车间调度要求每台机器上工件加工顺序相同,是一类典型多目标流水车间调度问题,受到了众多研究学者的关注。Pasupathy等[5]研究了以最小化最大完成时间和总流程时间为目标的置换流水车间调度问题,提出了基于Pareto最优解的 遗传算法。Lemesre等[6]应用精确并行方法,解决了目标函数为最小化最大完成时间和总延迟时间的置换流水车间调度问题。Qian等[7]探讨了具有有限缓冲区的同时最小化最大完成时间和最大延迟时间的多目标置换流水车间调度问题,给出了混合差分进化算法。Dubois-Lacoste等[8]将最大完成时间、总完成时间、无加权总延迟时间、加权总延迟时间组合成五类双目标置换流水车间调度问题,设计了基于两阶段局部搜索和Pareto局部搜索 的混合算 法。Arroyo等[9]针对最小化最大完成时间、最大延迟时间、总流程时间的多目标置换流水车间调度问题,提出了基于贪婪随机自适应搜索的启发式算法。不难看出,智能算法已逐渐成为求解多目标流水车间调度问题的重要工具,对于智能算法的探索加快了复杂多目标置换流水车间调度问题的求解,使得结果更加贴近实际需求。
近年来,国内学者对多目标置换流水车间调度问题的关注也越来越多。杨开兵等[10]将遗传算法与局部搜索相结合,求解了带调整时间的以最小化最大完成时间和最大延迟时间为目标的置换流水车间调度问题。董兴业等[11]针对最小化最大完成时间和总流程时间的多目标置换流水车间调度问题,给出了局部搜索算法。秦艳[12]采用改进交叉策略的遗传算法,解决了加权形式的多目标置换流水车间调度问题。显然,国内学者在研究多目标置换流水车间调度问题时,注重对现有算法进行改进,从而完善算法性能,提高算法精度。
食物链算法是模拟生态系统中食物链现象而提出的一种新型人工生命算法,具有鲁棒性强、并行处理容易等优点,已在供应链计划[13]、分销网络优化[14]等问题中取得了良好的应用效果。食物链与流水车间之间具有链式结构相似性,食物链算法对于多目标置换流水车间调度优化问题有着独特的优势。然而,从国内外已有文献来看,将食物链算法应用于流水车间调度问题的研究相对较少,将食物链算法与多目标置换流水车间问题相结合的研究更少。基于此,本文设计了多目标置换流水车间调度的改进食物链算法,通过算例分析,验证了算法的有效性。
1问题描述
1.1多目标优化问题
假设求解多目标最小化问题,多目标优化问题的数学形式可描述为[15]
其中,x为决策向量,y为目标向量,X为决策向量x形成的决策空间,Y为目标向量y形成的目标空间。F()为将x映射至目标向量空间的优化函数,gi(x)≤0(i=1,2,…,h)为x需要满足的h个约束条件。
定义2Pareto最优解。如果在某一集合中不存在其他解x′Pareto支配x,则称x为该集合中的Pareto非支配解(简称非支配解);如果x为多目标优化问题整个可行解集中的Pareto非支配解,则称x为该问题的Pareto最优解。
定义3Pareto最优前沿。一个多目标优化问题所有的Pareto最优解对应的目标向量集合,构成了该问题的Pareto最优前沿。
1.2多目标置换流水车间调度问题
流水车间调度问题是研究m台机器上n个工件的流水加工过程,每个工件以相同顺序依次经过各台机器的加工,同时约定每个工件在每台机器上只加工一次,每台机器一次在某一时刻只能够加工一个工件,各个工件在各台机器上所需的加工时间已知。进一步,若约定每台机器上各个工件的加工顺序相同,则称其为置换流水车间调度问题。
本文多目标置换流水车间调度问题的优化目标是:确定各个工件在每台机器上的最优加工顺序,使得最大完成时间以及总延迟时间达到最小,最大完成时间越小意味着机器的利用率越高,总延迟时间越小意味着所有工件满足交货期的总体情况越好。
对于多目标置换流水车间调度问题有如下的数学模型:
式(4)~式(9)表示最大完成时间Cmax的计算过程;式(10)表示工件Ji的延迟时间等于工件Ji 完成时间和交货期的差值与零之间的较大者;式(11)表示在某一时刻,机器Mj上最多只能加工一个工件;式(12)表示所有工件的工艺路线均相同;式(13)表示工件Ji在机器Mj上结束加工时间等于该工件在机器Mj上开始加工时间加上加工时间;式(14)为非负约束。
2 算法设计
2.1食物链算法介绍
食物链算法是根据生态系统中食物链这一重要的生态现象,借鉴行为生态学理论,利用具有一定自主推理且自主决策、能够与环境动态交互的人工生命来仿真食物链物种之间的捕食行为和进化特征,所构造的一类具有食物链形式的人工生命算法。食物链算法的基本步骤如下[13,14]:
(1)初始化。随机产生若干个人工生命个体形成人工生命集。设置各个人工生命个体的初始能量水平Eio、成熟能量水平Eim以及消亡能量水平Eid;设置人工生命个体的初始邻域δ和最大迭代次数Kmax。
(2)觅食。人工生命个体在邻域范围内进行觅食,寻找最优的食物资源。若找到,则设当前最优食物资源位置为局部最优解,并增加能量Ee。若当前局部最优解优于历史全局最优解,则更新全局最优解。若没有找到,则消耗能量Ep。所有人工生命个体都要完成一次觅食搜索。
(3)位置更新。所有人工生命个体移动到当前最优食物资源位置。
(4)新陈代谢。对各个人工生命个体的能量进行测量,达到成熟能量水平Eim的个体可以进一步产生下一代人工生命个体,低于消亡能量水平Eid的个体则被移出人工生命集。
(5)循环控制。每完成一次人工生命集的新陈代谢,迭代次数K增加1。若迭代次 数K<Kmax,则返回步骤(2);否则算法终止。
2.2改进食物链算法设计
多目标优化问题的传统处理方法是给各个目标附加权重,将多目标转化为单目标优化问题,从而求得唯一最优解。然而在实际多目标优化问题中,各个目标之间往往是相互制约、相互冲突的,同时决策者对于权重系数的选择存在主观因素,因此求解出多目标优化问题的Pareto最优解集,更加有利于决策者制定正确的决策。NSGA-Ⅱ是公认的最为有效的多目标进化算法之一[16],它对NSGA进行了改进,采用快速非支配排序,将种群中的个体进行分层,降低了计算的复杂性;通过计算个体的拥挤距离,判断个体的分布是否均匀,提高了Pareto最优解的分布性。基于以上优点,本文引入NSGA-Ⅱ的快速非支配排序和个体拥挤距离计算,改进食物链算法,用于求解多目标置换流水车间调度问题。改进食物链算法的流程图如图1所示,具体计算步骤如下:
(1)初始化。定义N个人工生命个体,构成初始人工生命集。人工生命个体包括3个部分:第一部分采用基于工序的编码方法,n个元素是n个工件号随机排序形成的可行解;第二部分的2个元素为根据该可行解计算出的2个目标函数值;第三部分的2个元素分别是根据第二部分函数值进行快速非支配排序得到的个体等级数以及计算得到的个体拥挤距离,在初始化阶段,该部分为空,在新陈代谢阶段,该部分将被计算。例如,对于工件数量n=4、机器数量m =3的置换流水车间调度问题,加工时间矩阵t和交货期矩阵d(本文加工时间和交货期均为量纲一参量)为
根据初始化方法,形成人工生命个体Gk1(其中k表示第k个个体):(4-3-1-2)-(36-15)-(nullnull)。其中(4-3-1-2)是4个工件随机排序形成的一个可行解;(36-15)中,36为该可行解的最大完成时间,15为该可行 解的总延 迟时间;(nullnull)中,由于初始人工生命个体尚未进行快速非支配排序及拥挤距离计算,因此均用null表示。
(2)觅食。在算法的觅食阶段,对人工生命个体中第一部分的元素排序进行调整,并重新计算第二部分的目标函数值。本文采用可变邻域实现觅食,通过可变邻域,使得觅食的方向多样化,提高觅食的遍 历性。可变邻 域设置为δ=δinitialmod(K,10)×(δinitial/10),其中,δinitial为初始邻域,mod(K,10)为求K/10的余数。为了保证至少调整两个元素,通过计算max(2,δn),确定人工生命个体中需要调整的元素个数。对于步骤(1)所生成的人工生命个体Gk1,假设δinitial=0.5,K=6,因此δ=0.2,max(2,δn)=2。随机选出2个元素,假设为元素“4”和元素“1”,对这两个元素随机排序,得到新人工生命个体Gk2:(1-3-4-2)-(3214)-(null-null)。对新个体和原个体进行非支配排序,可以看出,新个体的两个目标函数值都比原个体的两个目标函数值小,新个体支配原个体,此次觅食成功,个体更新。若新个体的两个目标函数值,一个比原个体大,一个比原个体小,则这两个个体处于同一非支配等级上,个体不更新;若新个体的两个目标函数值都比原个体要大,原个体支配新个体,个体也不更新;对于这两种情况,原个体没有觅食成功。
(3)位置更新。当人工生命集中所有人工生命个体且完成觅食行为后,形成一个新的人工生命集,其中的人工生命个体实现了位置的优化和更新。
(4)新陈代谢。在算法的新陈代谢阶段,选取成熟的人工生命个体繁殖产生下一代新的人工生命个体,以弥补死亡的人工生命个体,使人工生命集中的个体数量保持不变。在选择成熟人工生命个体时,引入快速非支配排序及个体拥挤距离计算的方法,代替传统的适应值计算比较,以便能够更加有效地选出成熟人工生命个体。
非支配排序就是按照Pareto支配的定义,确定人工生命个体的非支配性。快速非支配排序,是将人工生命集中的人工生命个体按照非支配性进行分层,每一层人工生命个体的非支配性相同。具体过程为:首先,找出当前人工生命集中的所有非支配个体并分配等级1;然后,排除该层非支配个体集,对剩下的个体进行非支配个体集搜索并分配等级2;重复这个过程,直到人工生命集中的所有个体都被赋予相应的等级为止。
拥挤距离的基本思想是通过计算同一非支配层中每个个体与它相邻两个个体的距离,来比较个体的密集程度,判断个体的分布是否均匀。拥挤距离小说明分布较密集,拥挤距离大说明分布较为分散。Pareto最优解集中的每个解都不能说比其他解更好,因此要找出尽可能多的Pareto最优解。分布均匀的最优解集可以为决策人提供更多的选择。通过拥挤距离的计算和比较,使得在同一非支配层中的个体也有了优劣划分。拥挤距离的计算方法为:首先,初始化所有个体的拥挤距离为0,即I(dk)=0,表示非支配层I中第k个个体的拥挤距离为0。然后,将同一非支配层中的人工生命个体根据每个目标函数值的大小分别进行升序排序,并分别计算拥挤距离。在第m个目标函数的升序排序中,令非支配层I中的边界个体(即第m个目标函数最大值和最小值所对应的个体)的拥挤距离为无穷大:I(d1)→∞,I(dn)=∞。对于非支配层I中的其他个体:),其中,I(k).m表示非支配层I中第k个个体的第m个目标函数值,fmaxm和fminm表示第m个目标函数的最大值和最小值。最后,将每个个体在所有目标函数下计算出来的拥挤距离相加,得到该个体最终的拥挤距离。
通过快速非支配排序及个体拥挤距离计算,实现人工生命个体第三部分等级数和拥挤距离2个元素的赋值,进而完成新陈代谢。对人工生命个体进行快速非支配排序,赋予等级数。将人工生命个体按照等级数从小到大排序,选取前N/2个人工生命个体,采用与觅食行为相同的策略,产生N/2个新人工生命个体。将N/2个新人工生命个体与原来N个人工生命个体混合,再次进行快速非支配排序,更新等级数。对同一非支配层中的人工生命个体,计算拥挤距离,将人工生命个体按照拥挤距离从大到小排序。通过非支配等级和拥挤距离的双重排序,淘汰排序靠后的N/2个人工生命个体,保留前N个成熟人工生命个体形成新一代的人工生命集。例如,对于步骤(1)生成的Gk1和步骤(2)生成的Gk2,采用快速非支配排序对它们分配等级数,由于Gk2的两个目标函数值都要小于Gk1,因此Gk2分配等级1、Gk1分配等级2。同时,由于Gk2优于Gk1,Gk2产生一个新人工生命个体Gk3:(2-1-3-4)-(33-21)-(null-null)。对Gk1、Gk2、Gk3三个人工生命个体再次进行快速非支配排序,Gk1和Gk2等级不变,Gk3分配等级2。假设三个人工生命个体的拥挤距离分别为0.6、0.7、∞,则Gk1:(4-3-1-2)-(36-15)-(2-0.6);Gk2:(1-3-4-2)?(32-14)-(1-0.7);Gk3:(2-1-3-4)-(33-21)-(2-∞)。因此三个人工生命 个体的排 序为:Gk2-Gk3 -Gk1。按照新陈代谢原则,淘汰Gk1。
步骤(5)循环控制。通过以上步骤,人工生命集完成了一次循环过程,达到最大循环次数后,算法终止。非支配等级为1的所有个体就是算法找到的一组Pareto最优解。
3算例分析
3.1Pareto最优解比较指标
本文采用以下两个指标对算法求得的Pareto最优解进行比较:
(1)Pareto最优解的个数。通过将每种算法求得的Pareto最优解的个数进行比较,可以看出不同算法的搜索能力。个数越多,表明算法搜索能力越强。
(2)C指标。采用文献[15]中的C指标评价两种算法产生的Pareto最优解集A和B,C指标的计算公式:
C(A,B)表示B的Pareto最优解被A的Pareto最优解占优支配的个数占B的Pareto最优解总数的比率,它的取值介于0到1之间。当B中任何点都被A中某些点占优支配时,C(A,B)=1。当B中所有点都不被A中任何点占优支配时,C(A,B)=0。一般C(A,B)≠C(B,A)。该指标反映了解的质量及算法的收敛性。
3.2算例结果分析
为了验证改 进食物链 算法的有 效性,选取OR-Library[17]发布的21个REC算例中的三个典型算例 进行测试。 三个典型 算例分别 是REC03(工件数为20,机器数为5)、REC11(工件数为20,机器数为10)、REC21(工件数为30,机器数为10)。由于算例 中并未包 含交货期 的信息,因此,参照文献[18],采用基于TWK的工件交货期计算公式:,其中,w为TWK方法中确定误工比例 的常数,取1.5,即表示工件平均延迟比例为50%。
以文献[16]提出的NSGA?Ⅱ作为参照算法,它克服了NSGA的缺点,是目前公认的最为有效的多目标进化算法之一。设置两种算法的群体规模均为200,最大迭代次数均为500,NSGA-Ⅱ的交叉概率和变异概率分别为0.9和0.1,改进食物链算法的初 始邻域为0.5。在IntelCorei32350M CPU2.30GHz处理器、2GB内存、WindowsXP系统下,以MATLAB实现两种算法,分别对三个典型算例运算15次,合并各次的解集,剔除其中的劣解,获得三个典型算例最终的Pareto最优解集(图2~ 图4)。结果显示,改进食物链算法比NSGA-Ⅱ能够获得更多的Pareto最优解,同时改进食物链算法产生的Pareto最优解均在NSGA-Ⅱ产生的解的左下方,得出的结果要优于NSGA-Ⅱ。
将改进食物链算法与NSGA?Ⅱ两种算法优化三个典型算例的求解统计结果列于表1。从表1可以看出,对于三个典型算例,改进食物链算法求得的Pareto最优解个数均多于NSGA-Ⅱ。C指标结果更进一步表明,改进食物链算法获得的Pareto最优解集A与NSGA-Ⅱ获得的Pareto最优解集B相比,在B中任意一个Pareto最优解,A中都存在优于它的解。就单次平均计算时间而言,改进食物链算法求解三个典型算例的时间均稍长于NSGA-Ⅱ。这主要是由于为了寻找更多的最优解,改进食物链算法在觅食阶段对于Pareto最优解的局部搜索花费了较多时间。综合以上结果可知,在相同的条件下,虽然改进食物链算法的优化时间略长于NSGA-Ⅱ,但是改进食物链算法对多目标置换流水车间调度问题的寻优能力明显胜过NSGA-Ⅱ,从而验证了改进食物链算法求解多目标置换流水车间调度问题的有效性。
4结语