CN111008745A - 混合启发式与智能算法的多模资源受限项目调度优化方法 - Google Patents
混合启发式与智能算法的多模资源受限项目调度优化方法 Download PDFInfo
- Publication number
- CN111008745A CN111008745A CN201911261523.0A CN201911261523A CN111008745A CN 111008745 A CN111008745 A CN 111008745A CN 201911261523 A CN201911261523 A CN 201911261523A CN 111008745 A CN111008745 A CN 111008745A
- Authority
- CN
- China
- Prior art keywords
- task
- individual
- genes
- resource
- 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.)
- Withdrawn
Links
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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- 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/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Evolutionary Biology (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Genetics & Genomics (AREA)
- Educational Administration (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physiology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种混合启发式与智能算法的多模资源受限项目调度优化方法,包括以下步骤:获取调度所需信息;判断是否存在可行的调度方案;进行预处理;初始化当代种群并解码获得适应度值;计算适应度值的平均偏差,进行加强型混合单双点交叉操作形成新种群;对新种群进行加强型混合单双点变异操作;从当代和新种群中选出N个不同的个体形成新的当代种群;直到满足进化终止条件输出调度优化结果。本发明采用了混合动态关键任务优先调度的启发式方法和遗传算法、动态的个体选择操作及加强型混合单双点遗传操作等方法,提高了搜索效率和质量。
Description
技术领域
本发明涉及计算机技术、信息技术和系统工程领域,具体涉及一种多模资源受限项目调度优化方法,更具体的说,尤其涉及一种混合启发式与智能算法的多模资源受限项目调度优化方法。
背景技术
资源受限项目调度问题RCPSP(Resource-Constrained Project SchedulingProblem)是指在满足资源及任务时序关系的约束下,如何科学合理地分配资源、安排任务执行顺序确定其开始和完成时间,以实现既定目标如:工期、费用等的最优化。随着越来越多的现代企业采用趋于面向项目的组织结构和管理模式,RCPSP广泛存在于建筑工程、软件开发、飞机及轮船制造等单件或小批量生产方式的企业中,具有很强的工程应用背景。RCPSP可进一步分为单模式资源受限项目调度问题SRCPSP和多模式资源受限项目调度问题MRCPSP,其中SRCPSP中每个任务只有一种执行模式,资源为可更新资源,任务的工期和资源需求量是确定的;而MRCPSP中任务有多种执行模式,资源包括可更新资源和不可更新资源,且任务的各种执行模式对应的活动工期和资源需求量均不相同。因此SRCPSP可以认为是MRCPSP的一个特例,相比于SRCPSP,MRCPSP是一个更复杂的问题,但其更具有实际意义。
在现阶段求解RCPSP的方法主要分为:1)精确算法,如:0-1整数规划和分支定界法;2)启发式算法,如:基于优先规则的启发式算法、分离弧法和局部搜索计算等;3)智能算法,如:遗传算法、粒子群优化算法、蚁群算法等。其中精确算法尽管在理论上能够得到最优解,但计算时间通常无法接受,一般只适用于小规模问题,启发式算法基于一定的启发式规则可以快速得到问题的解,但通常不能保证解的质量,智能算法基于计算智能,采用改进的启发式规则和搜索方式在合理的时间内找到近优解或满意解,但其效率通常依赖于算法本身的设计及问题的类型。
发明内容
为了克服精确算法无法适用于大规模问题、传统启发式算法不能保证解的质量及传统智能计算方法存在搜索空间过大,其效率依赖于编码与解码、进化迭代策略的设计及控制参数的选择等方面的不足,本发明提供了一种混合启发式与智能算法的多模资源受限项目调度优化方法,有效减少了求解时间,提高了求解质量。
本发明解决其技术问题所采用的技术方案如下:一种混合启发式与智能算法的多模资源受限项目调度优化方法,包括以下步骤:
步骤1:形式化多模资源受限项目调度问题,获取调度优化所需的信息;
获取项目任务集T={t0,t1,…,tJ,tJ+1};其中tj表示任务j,即编号为j的任务,t0与tJ+1是人为增加的虚拟任务,即不占用项目工期也不占用资源,J是需要调度的实际任务数量;
获取可更新资源k在任意时刻的可使用量Rk,k=1,…,K,K是可更新资源种类数量;获取不可更新资源l在整个项目工期中的可使用量Nl,l=1,…,L,L是不可更新资源种类数量;
获取任务j在模式m下执行时需要的时间即工期dj,m和占用的可更新资源k的数量rj,m,k、不可更新资源l的数量nj,m,l;j=1,…,J,m=1,…,Mj,k=1,…,K,l=1,…,L,其中Mj是可供任务j选择采用的模式数量;
步骤3:进行预处理:对模式和资源进行冗余和无效检查,去除冗余模式、无效模式和冗余资源;
步骤3.1:令模式标记值mflg=0、资源标记值rflg=0;如果存在rj,m,k>Rk或nj,m,l>Nl,那么对于任务j模式m是无效的,在任务j中去除模式m:令 其中:k=1,…,K,l=1,…,L;令Mj=Mj-1;
步骤3.2:如果mflg=0,那么令mflg=1,转到步骤3.3;否则转到步骤3.4;
步骤3.3:如果存在任务j,模式m和m′满足:dj,m′≤dj,m,rj,m′,k≤rj,m,k,nj,m′,l≤nj,m,l,m′≠m,k=1,…,K,l=1,…,L;那么对于任务j模式m是冗余的,在任务j中去除模式m:令其中:k=1,…,K,l=1,…,L;令Mj=Mj-1,rflg=0;
步骤3.4:如果rflg=0,那么令rflg=1,转到步骤3.5;否则转到步骤3.7;
步骤3.7:如果mflg=1∧rflg=1,那么转到步骤3.8,否则转到步骤3.2;
步骤3.8:预处理结束;
步骤4:基于个体随机生成操作生成N个不同的个体,形成初始当代种群,并对当代种群中的每个个体进行个体解码,获得个体的适应度值;
其中N是种群规模;
所述个体采用J位整数编码,其方法如下:ch={g1,…,gJ},基因gj表示任务j执行时采用的模式,gj=1,…,Mj,例如:g1=2表示任务1执行时采用模式2;
所述个体随机生成操作描述如下:对于每一个任务j,j=1,…,J,从可以执行该任务的模式中随机选择一个模式m,即gj=m;
所述个体解码采用基于动态关键任务优先调度的启发解码方法,包括如下步骤:
步骤A2:系统状态初始化:令任务0的完成时间f0=0、完成时间集F={f0,lf},F中的元素从小到大排列;对应于F中各完成时间可更新资源k的剩余可用量为:k=1,…,K;令就绪任务集令要调度的任务集UT={t1,t2,…,tJ};令要调度任务的父任务中还没有完成调度的任务集P(tj)=PRj-{t0},j=1,…,J;把UT中的移到RT中;
步骤A3:从RT中取出关键任务,即任务就绪时间与rank之和最大的任务,不妨设为任务j,取出任务j采用的模式m=gj;
步骤A4:计算任务j的完成时间
步骤A4.3:在AUj中找出满足υj-νj≥dj,m的最早时间段[νj,υj];
步骤A4.4:令任务j的开始时间sj=vj,结束时间fj=sj+dj,m;
步骤A6:更新[sj,fj)时段内可更新资源的剩余可用量:
步骤A8:如果RT不为空则转到步骤A3,否则转到步骤A9;
所述个体适应度值越小,个体越优;
步骤5:判断是否满足进化终止条件,如满足,则转到步骤10,否则转到步骤6;
所述终止条件为迭代到指定的代数TG或连续迭代GG代最优个体没有改进;
所述加强型混合单双点交叉操作包括如下步骤:
步骤B1:如果dv≤ε,那么采用基于排序的轮赌法从当代种群中随机选择两个不同的个体作为父体1和父体2,否则采用基于值的轮赌法从当代种群中随机选择两个不同的个体作为父体1和父体2;不妨设父体1和父体2为:生成的4个子体分别为:
步骤B2:从前向后找出chp1和chp2的第1个不同基因的位置n,从后开始向前找出chp1和chp2的第1个不同基因的位置m;如果n≠m那么转到步骤B3,否则转到步骤B1;
步骤B3:随机产生1个n到m-1的正整数α;
步骤B6:随机产生2个n到m-1的正整数α、β,不妨设α≤β;
步骤B9:对chc1、chc2、chc3、chc4进行个体解码,按顺序把其中的一个最优个体放到新种群中;
其中:ε为偏差阈值;
步骤7:对新种群中的每个个体进行加强型混合单双点变异操作;
所述加强型混合单双点变异操作描述如下:
步骤C1:随机生成一个随机数λ∈[0,1);如果λ≤pi,那么转到步骤C2,否则转到步骤C5;
步骤C2:从可供选择的模式数量大于1的任务中随机选择一个任务;为该任务重新随机选择一个与当前所用模式不同的模式,形成变异后的新个体chm1;
步骤C3:从可供选择的模式数量大于1的任务中随机选择两个任务;为这两个任务重新随机选择一个与当前所用模式不同的模式,形成变异后的新个体chm2;
步骤C4:对变异后的新个体chm1、chm2进行个体解码,按顺序用其中的一个最优个体替换原个体ch;
步骤C5:变异操作结束;
其中:pi∈(0,1)是变异率;
步骤8:从当代种群和新种群中从优到劣选出N个不同的个体形成下一代种群;
步骤9:令下一代种群为当代种群,转到步骤5;
进一步的,所述步骤B1中基于排序的轮赌法从当代种群中随机选择两个不同个体作为父体1和父体2的具体步骤如下:
步骤D1:对当代种群中的个体从优到劣进行排序,获得个体n的排序值rkn,n=1,…,N,其中排第一的其取1,排第二的其取2,以此类推,排最后一名的其取N;
步骤D4:产生一个随机数λ1∈[0,1),如果An-1≤λ1<An,那么选择个体n作为父体1;
步骤D5:产生一个随机数λ2∈[0,1),如果An′-1≤λ2<An′,并且n′≠n,那么选择个体n′作为父体2,转到步骤D6,否则转到步骤D5;
步骤D6:个体选择操作结束。
进一步的,所述步骤B1中基于值的轮赌法从当代种群中随机选择两个不同个体作为父体1和父体2的具体步骤如下:
步骤E3:产生一个随机数λ1∈[0,1),如果An-1≤λ1<An,那么选择个体n作为父体1;
步骤E4:产生一个随机数λ2∈[0,1),如果An′-1≤λ2<An′并且n′≠n,那么选择个体n′作为父体2,转到步骤E5,否则转到步骤E4;
步骤E5:个体选择操作结束。
本发明的有益效果在于:
(1)相对传统的启发式调度方法和智能计算方法,本发明设计采用了混合动态关键任务优先调度的启发式方法和遗传算法,提高了搜索效率和质量。
(2)相对于传统的单双点交叉变异操作,设计采用了加强型混合单双点交叉变异操作,有效提高了形成新个体的质量。
(3)相对于传统的个体选择操作,根据种群中个体适应度值的平均偏差来选择合适的个体选择操作,有利于从种群中选出更合适的个体作为父体,提高了算法的效率。
(4)采用由当代种群和新种群合并产生下一代种群的策略,可以保证最优个体被遗传到下一代,使算法单调收敛。
附图说明
图1是本发明一种混合启发式与智能算法的多模资源受限项目调度优化方法的流程示意图。
图2是本发明实施例中任务间的时序关系图。
具体实施方式
下面结合图1、图2及实施例对本发明做进一步详细说明,但本发明并不仅限于以下的实施例。
一个项目由编号为0至19的20个任务组成,其任务结构即时序关系如图2所示,其中t0和t19是人为增加的虚拟任务,即不占用项目工期也不占用资源,t1到t18的可执行模式,以及该模式下执行时需要的时间、占用可更新资源和不可更新资源的数量如表1所示;在该项目中可更新资源1在任意时刻的可使用量为12、可更新资源2在任意时刻的可使用量为13、不可更新资源1在整个项目工期中的可使用量为70、不可更新资源2在整个项目工期中的可使用量为85。
表1
针对上述案例,如图1所示,一种混合启发式与智能算法的多模资源受限项目调度优化方法,包括以下实施步骤:
执行步骤1:形式化多模资源受限项目调度问题,获取调度优化所需的信息;
获取项目的任务集T={t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19},其中任务0和任务19,即t0和t19是虚拟任务,任务1到任务18,即t1,…,t18是实际需要调度的任务;
SC0={t1,t2,t3};PR1={t0},SC1={t4,t6,t14};PR2={t0},SC2={t8};PR3={t0},SC3={t4,t5,t6};
PR4={t1,t3},SC4={t10,t11,t13};PR5={t3},SC5={t7,t12,t13};PR6={t1,t3},SC6={t10,t18};
PR7={t5},SC7={t8};PR8={t2,t7},SC8={t9,t14,t15};PR9={t8},SC9={t11,t16};
PR10={t4,t6},SC10={t12,t16};PR11={t4,t9},SC11={t18};PR12={t5,t10},SC12={t17};
PR13={t4,t5},SC13={t15,t17};PR14={t1,t8},SC14={t17};PR15={t8,t13},SC15={t16,t18};
PR16={t9,t10,t15},SC16={t19};PR17={t12,t13,t14},SC17={t19};PR18={t6,t11,t15},SC18={t19};
获取项目中可更新资源k在任意时刻的可使用量Rk:R1=12,R2=13,不可更新资源l在整个项目工期中的可使用量Nl:N1=70,N2=85;
获取任务j在模式m下执行时需要的时间即工期dj,m和占用的可更新资源数量rj,m,k、不可更新资源数量nj,m,l:d1,1=2,r1,1,1=6,r1,1,2=9,n1,1,1=0,n1,1,2=8;d1,2=3,r1,2,1=5,r1,2,2=7,n1,2,1=4,n1,2,2=0;d1,3=5,r1,3,1=5,r1,3,2=6,n1,3,1=0,n1,3,2=6;……;d18,1=2,r18,1,1=6,r18,1,2=6,n18,1,1=0,n18,1,2=10;d18,2=4,r18,2,1=3,r18,2,2=4,n18,2,1=8,n18,2,2=0;d18,3=5,r18,3,1=3,r18,3,2=1,n18,3,1=2,n18,3,2=0。
对于不可更新资源1,
对于不可更新资源2,对于可更新资源1,所有的任务j都满足对于可更新资源2,所有的任务j都满足因此,该问题可能存在可行的调度方案,转到步骤3。执行步骤3:进行预处理:对模式和资源进行冗余和无效检查,去除冗余模式、无效模式和冗余资源;
执行步骤3.1:mflg=0,rflg=0;由于不存在rj,m,k>Rk及nj,m,l>Nl,j=1,…,18,m=1,…,Mj,k=1,2,l=1,2,因此本项目不存在无效模式;
执行步骤3.2:由于mflg=0,因此令mflg=1,转到步骤3.3;
执行步骤3.3;由于存在任务12及其模式2和模式3满足:d12,2=8<d12,3=9,r12,2,1=6≤r12,3,1=6,r12,2,2=1≤r12,3,2=1,n12,2,1=3<n12,3,1=6,n12,2,2=2<n12,3,2=4,因此对于任务12来说,模式3是冗余的,从任务12中去除模式3:令M12=3-1=2,rflg=0;
执行步骤3.4:由于rflg=0,因此令rflg=1,转到步骤3.5;
执行步骤3.5:对于可更新资源1:
执行步骤3.7:由于mflg=1∧rflg=1,因此转到步骤3.8;
执行步骤3.8:预处理结束。
执行步骤4:基于个体随机生成操作生成N个不同的个体,形成初始当代种群,并对当代种群中的每个个体进行个体解码,获得个体的适应度值;
设种群规模N=10;
基于个体随机生成操作生成一个个体的具体实施过程如下:
从可以执行任务1的模式中随机选择一个模式,其为模式1,即g1=1;从可以执行任务2的模式中随机选择一个模式,其为模式1,即g2=1;……,不断重复以上操作,直至所有基因位都确定,生成个体ch1={1,1,1,2,1,2,2,2,1,3,1,1,3,1,3,2,2,1};
同理,可以生成当代种群的剩余9个不同个体如下:
ch2={1,1,2,1,3,2,3,1,2,3,3,1,2,3,1,1,3,2};ch3={2,2,1,1,2,3,1,3,3,3,3,2,1,1,3,2,2,1};
ch4={3,1,3,1,1,1,1,3,3,1,3,1,2,3,3,3,1,3};ch5={2,3,2,3,2,3,3,3,2,1,1,1,3,1,1,1,3,1};
ch6={1,1,3,3,1,3,3,1,3,3,3,2,3,2,1,1,2,3};ch7={1,1,3,3,3,3,2,2,1,2,3,1,3,2,1,2,2,3};
ch8={3,1,2,1,2,1,1,1,2,2,3,2,3,2,2,2,1,1};ch9={3,1,2,3,3,1,3,3,2,3,1,1,3,1,3,2,1,2};
ch10={1,1,1,2,3,3,2,1,3,1,3,1,2,1,2,1,2,1};
这样最终形成的初始当代种群为CP={ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8,ch9,ch10}。
以个体ch1={1,1,1,2,1,2,2,2,1,3,1,1,3,1,3,2,2,1}为例,个体解码的具体实施步骤如下:
执行步骤A1:计算任务的rank值:对于没有子任务的任务19,其rank19=0,其它任务的rank递归计算如下:rank18=d18,1+max{rank19}=2+0=2,rank17=d17,2+max{rank19}=8,同理,rank16=4,rank15=9,rank14=12,rank13=16,rank12=15,rank11=8,rank10=19,rank9=11,rank8=20,rank7=29,rank6=22,rank5=32,rank4=21,rank3=40,rank2=26,rank1=24;
执行步骤A2:系统状态初始化:f0=0,
P(t4)={t1,t3},P(t5)={t3},P(t6)={t1,t3},P(t7)={t5},P(t8)={t2,t7},P(t9)={t8},P(t10)={t4,t6},P(t11)={t4,t9},P(t12)={t5,t10},P(t13)={t4,t5},P(t14)={t1,t8},P(t15)={t8,t13},P(t16)={t9,t10,t15},P(t17)={t12,t13,t14},P(t18)={t6,t11,t15};
UT={t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18};把UT中的任务,即t1,t2,t3,移动到RT中,则UT={t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18},RT={t1,t2,t3};
执行步骤A3:由于rt1+rank1=0+24=24、rt2+rank2=26、rt3+rank3=40,rt3+rank3最大,因此任务3为关键任务,从RT={t1,t2,t3}中取出任务3,任务3采用的模式为m=g3=1;
执行步骤A4:计算任务3的完成时间;即执行步骤A4.1:任务3的就绪时间由于r3,1,1=5>0,在F={f0,lf}={0,122}中,因此可更新资源1的剩余可用量满足任务3且开始时间点大于rt3=0的时间段为[0,122],即由于r3,1,2=5>0,在F={f0,lf}={0,122}中,因此可更新资源2的剩余可用量满足任务3且开始时间点大于rt3=0的时间段为[0,122],即执行步骤A4.2:找出所有可更新资源的剩余可用量都满足任务3的公共时间段AU3=AU3,1∩AU3,2=[0,122]∩[0,122]=[0,122];执行步骤A4.3:在AU3中找出可以执行任务3的最早时间段[0,122],满足122-0=122>d3,1=8;执行步骤A4.4:令任务3的开始时间s3=0,结束时间f3=s3+d3,1=0+8=8;
F=F∪{f3}={f0,lf}∪f3={f0,f3,lf}={0,8,122},增加f3=8时刻可更新资源的剩余可用量:
执行步骤A6:更新[s3,f3)=[0,8)时段内可更新资源的剩余可用量:
执行步骤A7:在P(t4)、P(t5)、P(t6)中删除t3,则P(t4)={t1}、P(t6)={t1},由于故把UT中的t5移到RT中,则UT={t4,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18},RT={t1,t2,t5};
执行步骤A8:由于RT={t1,t2,t5}不为空,故转到步骤A3;
执行步骤A3:由于rt1+rank1=24,rt2+rank2=26,rt5+rank5=8+32=40,rt5+rank5最大,因此任务5为关键任务,从RT={t1,t2,t5}中取出t5,任务5采用的模式为m=g5=1;
执行步骤A4:计算任务5的完成时间;即执行步骤A4.1:任务5的就绪时间rt5=f3=8,由于r5,1,1=6>0,在F={f0,f3,lf}={0,8,122}中,因此资源1的剩余可用量满足任务5且开始时间点大于rt5=8的时间段为[8,122],即由于r5,1,2=9>0,在F={f0,f3,lf}={0,8,122}中,因此可更新资源2的剩余可用量满足任务5且开始时间点大于rt5=8的时间段为[8,122],即执行步骤A4.2:找出所有可更新资源的剩余可用量都满足任务5的公共时间段AU5=AU5,1∩AU5,2=[8,122]∩[8,122]=[8,122];执行步骤A4.3:在AU5中找出可以执行任务5的最早时间段[8,122],满足122-8=114>d5,1=3;执行步骤A4.4:令任务5的开始时间s5=8,结束时间f5=s5+d5,1=8+3=11;
执行步骤A7:在P(t7)、P(t12)、P(t13)中删除t5,则P(t12)={t10},P(t13)={t4},由于故把UT中的t7移到RT中,则UT={t4,t6,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18},RT={t1,t2,t7};
执行步骤A8:由于RT={t1,t2,t7}不为空,故转到步骤A3;
……
这样不断复执行步骤A3至步骤A8,直至获得所有任务的完成时间:f1=13,f2=26,f3=8,f4=18,f5=11,f6=16,f7=20,f8=34,f9=37,f10=30,f11=47,f12=54,f13=61,f14=41,f15=66,f16=70,f17=69,f18=71,转到步骤A9;
对个体ch2={1,1,2,1,3,2,3,1,2,3,3,1,2,3,1,1,3,2}进行个体解码的具体过程如下:
执行步骤A1到A8获得所有任务的完成时间:f1=16,f2=30,f3=9,f4=20,f5=14,f6=19,f7=24,f8=37,f9=41,f10=24,f11=50,f12=57,f13=63,f14=43,f15=64,f16=75,f17=72,f18=68;
同理,经个体解码可得当代种群中其它剩余个体的适应度值:fit3=66,fit4=78,fit5=62,fit6=76,fit7=77,fit8=190,fit9=75,fit10=74。
执行步骤5:判断是否满足进化终止条件,如满足,则转到步骤10,否则转到步骤6;
终止条件设为连续GG=20代最优个体没有改进;
当前种群是初始种群,迭代进化了1代,没有满足进化终止条件,因此转到步骤6。
取偏差阈值ε=0.15;
对当代种群进行N次加强型混合单双点交叉操作形成新种群的具体实施过程如下:
执行步骤B1:由于dv=0.401>ε=0.15,因此采用基于值的轮赌法从当代种群中随机选择两个不同的个体作为父体1和父体2,即执行步骤E1:计算个体被选中的概率:同理A2=0.032,A3=0.121,A4=0.113,A5=0.123,A6=0.114,A7=0.113,A8=0.037,A9=0.115,A10=0.115;执行步骤E2:计算累计概率:A0=0,A3=0.270,A4=0.383,A5=0.506,A6=0.620,A7=0.733,A8=0.770,A9=0.885,A10=1.000;执行步骤E3:产生一个[0,1)的随机数,其为0.954,由于A9=0.885≤0.954<1.000=A10,因此选择ch10={1,1,1,2,3,3,2,1,3,1,3,1,2,1,2,1,2,1}作为父体1,即chp1=ch10;执行步骤E4:产生一个[0,1)的随机数,其为0.438,由于A4=0.383≤0.438<0.506=A5,且5≠10,因此选择ch5={2,3,2,3,2,3,3,3,2,1,1,1,3,1,1,1,3,1}作为父体2,即chp2=ch5;执行步骤E5:个体选择操作结束;
执行步骤B2:从前向后找出父体1和父体2的第一个不同基因的位置,其为1,从后向前找出父体1和父体2的第一个不同基因的位置,其为17;由于1<17,故转到步骤B3;
执行步骤B3:随机产生一个1到16之间的正整数,其为6;
执行步骤B4:如表2所示,子体1的前6个基因来自于父体1的前6个基因,后12个基因来自于父体2的后12个基因;
执行步骤B5:如表2所示,子体2的前6个基因来自于父体2的前6个基因,后12个基因来自于父体1的后12个基因;
基因 | g<sub>1</sub> | g<sub>2</sub> | g<sub>3</sub> | g<sub>4</sub> | g<sub>5</sub> | g<sub>6</sub> | g<sub>7</sub> | g<sub>8</sub> | g<sub>9</sub> | g<sub>10</sub> | g<sub>11</sub> | g<sub>12</sub> | g<sub>13</sub> | g<sub>14</sub> | g<sub>15</sub> | g<sub>16</sub> | g<sub>17</sub> | g<sub>18</sub> |
父体1 | 1 | 1 | 1 | 2 | 3 | 3 | 2 | 1 | 3 | 1 | 3 | 1 | 2 | 1 | 2 | 1 | 2 | 1 |
父体2 | 2 | 3 | 2 | 3 | 2 | 3 | 3 | 3 | 2 | 1 | 1 | 1 | 3 | 1 | 1 | 1 | 3 | 1 |
子体1 | 1 | 1 | 1 | 2 | 3 | 3 | 3 | 3 | 2 | 1 | 1 | 1 | 3 | 1 | 1 | 1 | 3 | 1 |
子体2 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 1 | 3 | 1 | 3 | 1 | 2 | 1 | 2 | 1 | 2 | 1 |
表2
执行步骤B6:随机产生2个1到16之间的正整数,其为6和11;
执行步骤B7:如表3所示,子体3的前6个基因和后7个基因来自于父体1的前6个基因和后7个基因,中间的5个基因来自于父体2的中间的5个基因;
执行步骤B8:如表3所示,子体4的前6个基因和后7个基因来自于父体2的前6个基因和后7个基因,中间的5个基因来自于父体1的中间的5个基因;
执行步骤B9:对子体1、子体2、子体3、子体4进行个体解码,其适应度值分别为68、68、73、70,因此将子体1放到新种群中,即ch′1={1,1,1,2,3,3,3,3,2,1,1,1,3,1,1,1,3,1};
表3
同理,经交叉后生成新种群中的剩余个体为:
ch′2={2,2,1,1,2,2,3,1,2,3,3,1,2,3,1,1,3,2};ch′3={2,1,2,1,2,1,3,3,2,1,1,1,3,1,1,1,3,1};
ch′4={1,1,1,2,3,1,3,3,2,3,1,1,3,1,3,2,1,1};ch′5={1,1,2,1,3,2,3,1,2,3,3,1,3,2,1,2,2,3};
ch′6={1,1,2,3,3,1,3,3,2,3,1,1,3,1,3,2,1,2};ch′7={1,1,3,3,1,3,3,1,3,3,1,1,3,2,1,1,2,3};
ch′8={1,1,2,1,3,2,3,1,2,3,3,1,2,2,1,1,2,3};ch′9={1,1,2,1,3,2,3,1,2,3,1,1,3,1,3,2,1,2};
ch′10={3,1,2,1,2,1,1,1,2,2,3,2,3,1,3,2,2,1};
这样最终生成的新种群为NP={ch′1,ch′2,ch′3,ch′4,ch′5,ch′6,ch′7,ch′8,ch′9,ch′10};
其中的个体适应度值分别为:fit′1=68,fit′2=67,fit′3=65,fit′4=71,fit′5=73,fit′6=70,fit′7=72,fit′8=75,fit′9=77,fit′10=60。
执行步骤7:对新种群中的每个个体进行加强型混合单双点变异操作;
对新种群进行变异操作的具体实施过程如下:
取变异率pi=0.2;
对于ch′1={1,1,1,2,3,3,3,3,2,1,1,1,3,1,1,1,3,1};
执行步骤C1:随机产生一个[0,1)的随机数λ,其为0.36,由于0.36>0.2,转到步骤C5;
执行步骤C5:变异操作结束;
……
对于ch′7={1,1,3,3,1,3,3,1,3,3,1,1,3,2,1,1,2,3};
执行步骤C1:随机产生一个[0,1)的随机数λ,其为0.01,转到步骤C2;
执行步骤C2:从可供选择的模式数量大于1的任务中随机选择一个任务,其为任务4,从任务4的可执行模式1,2,3中重新随机选择一个与当前所用模式m=g4=3不同的模式,其为模式2,即g4=2,形成变异后的新个体chm1={1,1,3,2,1,3,3,1,3,3,1,1,3,2,1,1,2,3};
执行步骤C3:从可供选择的模式数量大于1的任务中随机选择两个任务,其为任务7和任务15,从任务7的可执行模式1,2,3中重新随机选择一个与当前所用模式m=g7=3不同的模式,其为模式1,即g7=1,从任务15的可执行模式1,2,3中重新随机选择一个与当前所用模式m=g15=1不同的模式,其为模式3,即g15=3,形成变异后的新个体chm2={1,1,3,3,1,3,1,1,3,3,1,1,3,2,3,1,2,3};
执行步骤C4:对变异后的新个体chm1、chm2进行个体解码,其适应度值分别为72、69,则用个体chm2替换原个体ch′7,即ch′7={1,1,3,3,1,3,1,1,3,3,1,1,3,2,3,1,2,3},fit′7=69;
执行步骤C5:变异操作结束;
……
这样,经变异后新种群中的个体变为:
ch′1={1,1,1,2,3,3,3,3,2,1,1,1,3,1,1,1,3,1};ch′2={2,2,1,1,2,2,3,1,2,3,3,1,2,3,1,1,3,2};
ch′3={2,1,2,1,2,1,3,3,2,1,1,1,3,1,1,1,3,1};ch′4={1,1,1,2,3,1,3,3,2,3,1,1,3,1,3,2,1,1};
ch′5={1,1,2,1,3,2,3,1,2,3,3,1,3,2,1,2,2,3};ch′6={1,1,2,3,3,1,3,3,2,3,1,1,3,1,3,2,1,2};
ch′7={1,1,3,3,1,3,1,1,3,3,1,1,3,2,3,1,2,3};ch′8={1,1,2,1,3,2,3,1,2,3,3,1,2,2,1,1,2,3};
ch′9={1,2,2,1,3,2,3,1,2,3,1,1,3,1,3,2,1,2};ch′10={3,1,2,1,2,1,1,1,2,2,3,2,3,1,3,1,2,1};
其适应度值分别为:fit′1=68,fit′2=67,fit′3=65,fit′4=71,fit′5=73,fit′6=70,fit′7=69,fit′8=75,fit′9=71,fit′10=60。
执行步骤8:从当代种群和新种群中从优到劣选出N个不同的个体形成下一代种群;
根据适应度值,选择当代种群的ch1、ch3、ch5和新种群的ch′1、ch′2、ch′3、ch′4、ch′6、ch′7、ch′10形成下一代种群,即GP={ch1,ch3,ch5,ch′1,ch′2,ch′3,ch′4,ch′6,ch′7,ch′10}。
执行步骤9:令下一代种群为当代种群,转到步骤5;
令CP=GP,则当代种群的所有个体为:
ch1={1,1,1,2,1,2,2,2,1,3,1,1,3,1,3,2,2,1};ch2={2,2,1,1,2,3,1,3,3,3,3,2,1,1,3,2,2,1};
ch3={2,3,2,3,2,3,3,3,2,1,1,1,3,1,1,1,3,1};ch4={1,1,1,2,3,3,3,3,2,1,1,1,3,1,1,1,3,1};
ch5={2,2,1,1,2,2,3,1,2,3,3,1,2,3,1,1,3,2};ch6={2,1,2,1,2,1,3,3,2,1,1,1,3,1,1,1,3,1};
ch7={1,1,1,2,3,1,3,3,2,3,1,1,3,1,3,2,1,1};ch8={1,1,2,3,3,1,3,3,2,3,1,1,3,1,3,2,1,2};
ch9={1,1,3,3,1,3,1,1,3,3,1,1,3,2,3,1,2,3};ch10={3,1,2,1,2,1,1,1,2,2,3,2,3,1,3,1,2,1};
其适应度值分别为:fit1=71,fit2=66,fit3=62,fit4=68,fit5=67,fit6=65,fit7=71,fit8=70,fit9=69,fit10=60;
转到步骤5。
执行步骤5:判断是否满足进化终止条件,如满足,则转到步骤10,否则转到步骤6;
由于种群只迭代进化了2代,没有满足进化终止条件,因此转到步骤6。
对当代种群进行交叉操作的过程如下:
执行步骤B1:由于由于dv=0.046≤ε=0.15,因此采用基于排序的轮赌法当代种群中随机选择两个不同的个体作为父体1和父体2,即执行步骤D1:对当代种群中的个体从优到劣进行排序,获得每个个体对应的排序值:rk1=9,rk2=4,rk3=2,rk4=6,rk5=5,rk6=3,rk7=10,rk8=8,rk9=7,rk10=1;执行步骤D2:令R=1+1/N=1.1,计算个体被选中的概率:同理A2=0.111,A3=0.135,A4=0.092,A5=0.101,A6=0.122,A7=0.063,A8=0.076,A9=0.083,A10=0.148;执行步骤D3:计算累计概率:A0=0,A3=0.315,A4=0.407,A5=0.508,A6=0.630,A7=0.693,A8=0.769,A9=0.852,A10=1.000;执行步骤D4:产生一个[0,1)的随机数,其为0.318,由于A3=0.315≤0.318<0.407=A4,因此选择ch4作为父体1,即chp1=ch4;执行步骤D5:产生一个[0,1)的随机数,其为0.572,由于A5=0.508≤0.572<0.630=A6,且6≠4,因此选择ch6作为父体2,即chp2=ch6;执行步骤D6:个体选择操作结束。
执行步骤B2至步骤B9,生成新个体ch′1={1,1,2,1,2,3,3,3,2,1,1,1,3,1,1,1,3,1},其适应度值为fit′1=68;
同理,经交叉后生成新种群中的剩余个体:
ch′2={3,1,2,1,2,1,1,1,2,2,3,2,3,1,1,1,3,1};ch′3={1,1,1,2,1,1,3,3,2,3,1,1,3,1,3,2,2,1};
ch′4={2,2,1,1,2,3,1,3,2,3,1,1,3,1,3,2,2,1};ch′5={2,3,3,3,1,3,3,3,2,1,1,1,3,1,1,1,3,1};
ch′6={2,1,2,1,2,1,3,3,2,1,1,1,3,1,3,1,3,1};ch′7={3,1,2,1,2,1,1,1,2,2,3,2,3,1,3,1,2,1};
ch′8={1,1,3,3,1,3,1,1,3,3,1,1,3,1,3,2,2,3};ch′9={2,2,1,1,2,3,1,3,3,3,1,1,1,1,3,2,2,1};
ch′10={2,2,1,1,2,1,1,1,2,2,3,2,1,1,3,2,2,1};
这样最终生成的新种群为NP={ch′1,ch′2,ch′3,ch′4,ch′5,ch′6,ch′7,ch′8,ch′9,ch′10};
其适应度值分别为:fit′1=68;fit′2=60,fit′3=68,fit′4=63,fit′5=62,fit′6=65,fit′7=60,fit′8=68,fit′9=62,fit′10=66。
执行步骤7:对新种群中的每个个体进行加强型混合单双点变异操作;
新种群中的所有个体经变异后变为:
ch′1={1,1,2,1,2,3,3,3,2,1,1,1,3,1,1,1,3,2};ch′2={3,1,2,1,2,1,1,1,2,1,3,2,3,1,1,1,3,1};
ch′3={1,1,1,2,1,1,3,3,1,2,1,1,3,1,3,2,2,1};ch′4={2,2,1,1,2,3,1,3,2,3,1,1,3,1,3,2,2,1};
ch′5={2,3,3,3,1,3,3,3,2,1,1,1,3,1,1,1,3,1};ch′6={2,1,2,1,2,1,3,3,2,1,1,1,3,1,3,1,3,1};
ch′7={3,1,2,1,2,1,1,1,2,2,3,2,3,1,3,1,2,1};ch′8={1,1,3,3,1,3,1,1,3,3,1,1,3,1,3,2,2,3};
ch′9={2,2,1,1,2,3,1,3,3,3,1,1,1,1,1,2,2,1};ch′10={2,2,1,1,2,1,1,1,2,2,3,2,1,1,3,2,2,1};
其适应度值分别为:fit′1=68,fit′2=63,fit′3=69,fit′4=63,fit′5=62,fit′6=65,fit′7=60,fit′8=68,fit′9=60,fit′10=66。
执行步骤8:从当代种群和新种群中从优到劣选出N个不同的个体形成下一代种群;
根据适应度值,选择当代种群的ch2、ch3、ch6、ch10和新种群的ch′2、ch′4、ch′5、ch′6、ch′9、ch′10形成下一代种群,即GP={ch2,ch3,ch6,ch10,ch′2,ch′4,ch′5,ch′6,ch′9,ch′10}。
执行步骤9:令下一代种群为当代种群,转到步骤5;
令CP=GP,则当代种群的所有个体为:
ch1={2,2,1,1,2,3,1,3,3,3,3,2,1,1,3,2,2,1};ch2={2,3,2,3,2,3,3,3,2,1,1,1,3,1,1,1,3,1};
ch3={2,1,2,1,2,1,3,3,2,1,1,1,3,1,1,1,3,1};ch4={3,1,2,1,2,1,1,1,2,2,3,2,3,1,3,1,2,1};
ch5={3,1,2,1,2,1,1,1,2,1,3,2,3,1,1,1,3,1};ch6={2,2,1,1,2,3,1,3,2,3,1,1,3,1,3,2,2,1};
ch7={2,3,3,3,1,3,3,3,2,1,1,1,3,1,1,1,3,1};ch8={2,1,2,1,2,1,3,3,2,1,1,1,3,1,3,1,3,1};
ch9={2,2,1,1,2,3,1,3,3,3,1,1,1,1,1,2,2,1};ch10={2,2,1,1,2,1,1,1,2,2,3,2,1,1,3,2,2,1};
其适应度值分别为:fit1=66,fit2=62,fit3=65,fit4=60,fit5=63,fit6=63,fit7=62,fit8=65,fit9=60,fit10=66;
转到步骤5。
……
这样不断重复执行步骤5至步骤9,直至进化终止条件满足,即连续迭代GG=20代最优个体没改进,当代种群变为:
ch1={1,3,2,3,2,2,1,3,2,1,1,2,1,1,1,3,2,1};ch2={1,3,2,3,1,2,1,3,2,1,1,2,1,1,1,3,2,1};
ch3={1,3,2,3,1,2,1,3,2,1,1,2,1,1,1,2,2,1};ch4={1,2,3,3,1,2,2,3,2,1,2,2,3,1,1,2,2,1};
ch5={1,2,3,1,1,2,2,3,2,1,1,2,3,1,1,3,2,1};ch6={1,3,3,1,1,2,1,3,2,3,1,1,3,1,3,3,2,1};
ch7={1,3,3,1,1,2,1,3,2,3,1,2,3,1,3,2,1,1};ch8={1,2,3,1,1,2,2,3,2,1,1,2,3,1,1,2,3,3};
ch9={1,2,3,1,1,2,2,3,2,1,1,2,3,1,1,2,2,1};ch10={1,3,3,1,1,2,1,3,2,1,1,2,3,1,1,3,2,1};
其适应度值分别为:fit1=54,fit2=53,fit3=52,fit4=49,fit5=51,fit6=55,fit7=57,fit8=48,fit9=50,fit10=56;
转到步骤10。
ch8={1,2,3,1,1,2,2,3,2,1,1,2,3,1,1,2,3,3}为当代种群中最优的个体,由于该个体是可行个体,故输出对应的调度方案如表4所示,其项目执行时间为ms=48。
表4
上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。
Claims (3)
1.一种混合启发式与智能算法的多模资源受限项目调度优化方法,其特征在于:包括以下步骤:
步骤1:形式化多模资源受限项目调度问题,获取调度优化所需的信息;
获取项目任务集T={t0,t1,...,tJ,tJ+1};其中tj表示任务j,即编号为j的任务,t0与tJ+1是人为增加的虚拟任务,即不占用项目工期也不占用资源,J是需要调度的实际任务数量;
获取可更新资源k在任意时刻的可使用量Rk,k=1,…,K,K是可更新资源种类数量;获取不可更新资源l在整个项目工期中的可使用量Nl,l=1,…,L,L是不可更新资源种类数量;
获取任务j在模式m下执行时需要的时间即工期dj,m和占用的可更新资源k的数量rj,m,k、不可更新资源l的数量nj,m,l;j=1,…,J,m=1,…,Mj,k=1,…,K,l=1,…,L,其中Mj是可供任务j选择采用的模式数量;
步骤3:进行预处理:对模式和资源进行冗余和无效检查,去除冗余模式、无效模式和冗余资源;
步骤3.1:令模式标记值mflg=0、资源标记值rflg=0;如果存在rj,m,k>Rk或nj,m,l>Nl,那么对于任务j模式m是无效的,在任务j中去除模式m:令 其中:k=1,…,K,l=1,…,L;令Mj=Mj-1;
步骤3.2:如果mflg=0,那么令mflg=1,转到步骤3.3;否则转到步骤3.4;
步骤3.3:如果存在任务j,模式m和m′满足:dj,m′≤dj,m,rj,m′,k≤rj,m,k,nj,m′,l≤nj,m,l,m′≠m,k=1,…,K,l=1,…,L;那么对于任务j模式m是冗余的,在任务j中去除模式m:令其中:k=1,…,K,l=1,…,L;令Mj=Mj-1,rflg=0;
步骤3.4:如果rflg=0,那么令rflg=1,转到步骤3.5;否则转到步骤3.7;
步骤3.7:如果mflg=1∧rflg=1,那么转到步骤3.8,否则转到步骤3.2;
步骤3.8:预处理结束;
步骤4:基于个体随机生成操作生成N个不同的个体,形成初始当代种群,并对当代种群中的每个个体进行个体解码,获得个体的适应度值;
其中N是种群规模;
所述个体采用J位整数编码,其方法如下:ch={g1,…,gJ},基因gj表示任务j执行时采用的模式,gj=1,…,Mj;
所述个体随机生成操作描述如下:对于每一个任务j,j=1,…,J,从可以执行该任务的模式中随机选择一个模式m,即gj=m;
所述个体解码采用基于动态关键任务优先调度的启发解码方法,包括如下步骤:
步骤A2:系统状态初始化:令任务0的完成时间f0=0、完成时间集F={f0,lf},F中的元素从小到大排列;对应于F中各完成时间可更新资源k的剩余可用量为:令就绪任务集令要调度的任务集UT={t1,t2,…,tJ};令要调度任务的父任务中还没有完成调度的任务集P(tj)=PRj-{t0},j=1,…,J;把UT中的移到RT中;
步骤A3:从RT中取出关键任务,即任务就绪时间与rank之和最大的任务,不妨设为任务j,取出任务j采用的模式m=gj;
步骤A4:计算任务j的完成时间
步骤A4.3:在AUj中找出满足υj-νj≥dj,m的最早时间段[νj,υj];
步骤A4.4:令任务j的开始时间sj=vj,结束时间fj=sj+dj,m;
步骤A6:更新[sj,fj)时段内可更新资源的剩余可用量:
步骤A8:如果RT不为空则转到步骤A3,否则转到步骤A9;
所述个体适应度值越小,个体越优;
步骤5:判断是否满足进化终止条件,如满足,则转到步骤10,否则转到步骤6;
所述终止条件为迭代到指定的代数TG或连续迭代GG代最优个体没有改进;
所述加强型混合单双点交叉操作包括如下步骤:
步骤B1:如果dv≤ε,那么采用基于排序的轮赌法从当代种群中随机选择两个不同的个体作为父体1和父体2,否则采用基于值的轮赌法从当代种群中随机选择两个不同的个体作为父体1和父体2;不妨设父体1和父体2为:生成的4个子体分别为:
步骤B2:从前向后找出chp1和chp2的第1个不同基因的位置n,从后开始向前找出chp1和chp2的第1个不同基因的位置m;如果n≠m那么转到步骤B3,否则转到步骤B1;
步骤B3:随机产生1个n到m-1的正整数α;
步骤B6:随机产生2个n到m-1的正整数α、β,不妨设α≤β;
步骤B9:对chc1、chc2、chc3、chc4进行个体解码,按顺序把其中的一个最优个体放到新种群中;
其中:ε为偏差阈值;
步骤7:对新种群中的每个个体进行加强型混合单双点变异操作;
所述加强型混合单双点变异操作描述如下:
步骤C1:随机生成一个随机数λ∈[0,1);如果λ≤pi,那么转到步骤C2,否则转到步骤C5;
步骤C2:从可供选择的模式数量大于1的任务中随机选择一个任务;为该任务重新随机选择一个与当前所用模式不同的模式,形成变异后的新个体chm1;
步骤C3:从可供选择的模式数量大于1的任务中随机选择两个任务;为这两个任务重新随机选择一个与当前所用模式不同的模式,形成变异后的新个体chm2;
步骤C4:对变异后的新个体chm1、chm2进行个体解码,按顺序用其中的一个最优个体替换原个体ch;
步骤C5:变异操作结束;
其中:pi∈(0,1)是变异率;
步骤8:从当代种群和新种群中从优到劣选出N个不同的个体形成下一代种群;
步骤9:令下一代种群为当代种群,转到步骤5;
2.根据权利要求1所述的一种混合启发式与智能算法的多模资源受限项目调度优化方法,其特征在于:所述步骤B1中基于排序的轮赌法从当代种群中随机选择两个不同个体作为父体1和父体2的具体步骤如下:
步骤D1:对当代种群中的个体从优到劣进行排序,获得个体n的排序值rkn,n=1,…,N,其中排第一的其取1,排第二的其取2,以此类推,排最后一名的其取N;
步骤D6:个体选择操作结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261523.0A CN111008745A (zh) | 2019-12-10 | 2019-12-10 | 混合启发式与智能算法的多模资源受限项目调度优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261523.0A CN111008745A (zh) | 2019-12-10 | 2019-12-10 | 混合启发式与智能算法的多模资源受限项目调度优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111008745A true CN111008745A (zh) | 2020-04-14 |
Family
ID=70114323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911261523.0A Withdrawn CN111008745A (zh) | 2019-12-10 | 2019-12-10 | 混合启发式与智能算法的多模资源受限项目调度优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008745A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434996A (zh) * | 2021-01-21 | 2021-09-24 | 北京建筑大学 | 装配式混凝土结构塔机吊装服务调度方法 |
CN113723937A (zh) * | 2021-11-02 | 2021-11-30 | 南京理工大学 | 一种基于启发式规则遗传算法的测发项目双层排期方法 |
CN113721545A (zh) * | 2021-09-02 | 2021-11-30 | 内蒙古第一机械集团股份有限公司 | 一种含批处理机的混合流水车间排产方法 |
-
2019
- 2019-12-10 CN CN201911261523.0A patent/CN111008745A/zh not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434996A (zh) * | 2021-01-21 | 2021-09-24 | 北京建筑大学 | 装配式混凝土结构塔机吊装服务调度方法 |
CN113434996B (zh) * | 2021-01-21 | 2023-04-25 | 北京建筑大学 | 装配式混凝土结构塔机吊装服务调度方法 |
CN113721545A (zh) * | 2021-09-02 | 2021-11-30 | 内蒙古第一机械集团股份有限公司 | 一种含批处理机的混合流水车间排产方法 |
CN113721545B (zh) * | 2021-09-02 | 2024-02-23 | 内蒙古第一机械集团股份有限公司 | 一种含批处理机的混合流水车间排产方法 |
CN113723937A (zh) * | 2021-11-02 | 2021-11-30 | 南京理工大学 | 一种基于启发式规则遗传算法的测发项目双层排期方法 |
CN113723937B (zh) * | 2021-11-02 | 2022-04-01 | 南京理工大学 | 一种基于启发式规则遗传算法的测发项目双层排期方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008745A (zh) | 混合启发式与智能算法的多模资源受限项目调度优化方法 | |
CN114186749B (zh) | 基于强化学习及遗传算法的柔性车间调度方法及模型 | |
CN111126800B (zh) | 使用分层自适应智能算法的多模资源受限项目调度方法 | |
CN107656799B (zh) | 一种多云环境下考虑通信和计算代价的工作流调度方法 | |
CN110991917B (zh) | 采用两阶段遗传算法的多模资源受限项目调度优化方法 | |
CN116027753A (zh) | 一种多目标混合流水车间调度方法及系统 | |
CN110928648B (zh) | 融合启发式和智能计算的云工作流分段在线调度优化方法 | |
CN116985146B (zh) | 退役电子产品的机器人并行拆解规划方法 | |
CN111090510A (zh) | 混合启发式和遗传算法的两阶段云工作流调度优化方法 | |
CN111026534B (zh) | 云计算环境下基于多种群遗传算法的工作流执行优化方法 | |
CN113467399A (zh) | 一种知识驱动的柔性离散制造生产调度优化方法 | |
CN110928670B (zh) | 云计算环境下基于偏序自适应遗传算法的工作流优化方法 | |
CN111027856B (zh) | 基于二维多种群遗传算法的多模资源受限项目调度方法 | |
CN110968428B (zh) | 云工作流虚拟机配置和任务调度协同优化方法 | |
CN111047183A (zh) | 基于分层自适应智能计算算法的云工作流调度优化方法 | |
CN110942209B (zh) | 基于分层两阶段智能算法的资源受限项目调度优化方法 | |
CN115545406A (zh) | 异址机器的生产配送协同调度方法和系统 | |
CN111078361A (zh) | 基于分布式估计算法的云工作流调度优化方法 | |
CN117610867A (zh) | 一种无人集群多传感器任务分配调度优化方法与装置 | |
CN110928669B (zh) | 基于多种群遗传算法的能耗感知云工作流调度优化方法 | |
CN111062528A (zh) | 基于多解码智能算法的多模资源受限项目调度优化方法 | |
LU501439B1 (en) | A Hybrid Genetic Algorithm with Heuristics for Optimizing Multimodal Resource-Constrained Project Scheduling | |
CN111026506A (zh) | 采用多种群协同进化遗传算法的云工作流调度优化方法 | |
CN111026533A (zh) | 云计算环境下基于分布式估计算法的工作流执行优化方法 | |
CN110941487B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200414 |