CN112148446A - 一种用于多技能资源受限项目调度的进化策略算法 - Google Patents

一种用于多技能资源受限项目调度的进化策略算法 Download PDF

Info

Publication number
CN112148446A
CN112148446A CN202011001300.3A CN202011001300A CN112148446A CN 112148446 A CN112148446 A CN 112148446A CN 202011001300 A CN202011001300 A CN 202011001300A CN 112148446 A CN112148446 A CN 112148446A
Authority
CN
China
Prior art keywords
resource
population
individuals
task
skill
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.)
Granted
Application number
CN202011001300.3A
Other languages
English (en)
Other versions
CN112148446B (zh
Inventor
熊体凡
田源
刘振元
高鑫浩
吴航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202011001300.3A priority Critical patent/CN112148446B/zh
Publication of CN112148446A publication Critical patent/CN112148446A/zh
Application granted granted Critical
Publication of CN112148446B publication Critical patent/CN112148446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种用于多技能资源受限项目调度的进化策略算法,包括设置算法参数及初始化变量、初始化种群、对种群中的个体执行变异操作、评估种群适应度、更新帕累托种群、选择下一代的父代种群、判断是否满足迭代的终止条件,若满足条件,则终止程序并输出帕累托种群等步骤;本发明进一步考虑了资源在使用不同技能时的切换情况,更切合实际的应用场景。新的个体编码结构仅表示任务的资源指派,减少搜索空间。新的计划生成方案,采用贪婪策略,将任务分为两个集合依次安排其开始时间,并尽量减少不必要的技能切换,使得生成的调度方案的工期和成本大大减少。在解集的延展性、多样性和收敛性上好于目前已有的同类算法。

Description

一种用于多技能资源受限项目调度的进化策略算法
技术领域
本发明涉及智能优化算法技术领域,尤其涉及一种用于考虑技能切换背景下多技能资源受限项目调度的进化策略算法。
背景技术
资源受限项目调度(Resource Constrained Project Scheduling Problem,RCPSP)是运筹学和项目管理中最经典的组合优化问题。最基本的RCPSP问题研究在资源有限的情况下,安排各任务的开始时间,并且满足资源用量上限及任务间的紧前约束。问题的目标函数常为项目的工期类指标或成本类指标最短。资源受限项目调度问题并不能完全适用于各类实际场景中。
多技能资源受限项目调度问题(Multi-skill Resource Constrained ProjectScheduling Problem,MS-RCPSP)是RCPSP的一类扩展问题。相较于RCPSP中假设的同质化资源,该问题假设资源具有一种(或多种)技能,不同的任务需要由具有特定技能的资源完成。这类问题常用于人力资源调度或柔性制造车间中。考虑技能的人力资源调度常见于复杂产品的众包研发或软件开发行业中,任务的技能需求差异较大,需要由具有该技能的人员完成。在柔性制造车间中,工件的某道工序可由具备加工条件的某个机器完成。
求解调度类问题的方法大体可分为精确式算法(Exact Algorithm)、启发式算法(Heuristics)和智能优化算法(Intelligent Optimization Algorithm)三大类。精确式算法以分支定界算法为主,可以求得问题的最优解,但可求解的问题规模小,面对实际应用中的大规模问题显得无能为力。启发式算法基于优先规则(Priority Rule,PR)和计划生成方案(Schedule Generator Scheme,SGS)。其生成的解的质量极大地依赖于优先规则的设计和选取。针对不同的实际问题,往往所适用的最佳规则也有所不同。智能优化算法以随机搜索为基础,利用计算机强大运算能力尝试在有限的时间内寻找较优的解。这类算法的设计思路简单,且能够求解的问题广泛。常见的智能优化算法有遗传算法(GeneticAlgorithm)、模拟退火(Simulated Annealing)、粒子群算法(Particle SwarmOptimization)等。科研人员也常在这些经典的算法上,对某些执行步骤进行细微的改进,设计出新的算法。一般而而言,智能优化算法包含以下要素:(1)编码,按照某种对应规则与调度生成计划相对应的一组代码;(2)解码,采用一定规则将编码转换为可行的调度方案;(3)初始解,采用其他方法得到的一组编码,对应初始的可行调度方案;(4)邻域解,一组编码经过邻域搜索算子(local search operator)得到的所有新的编码的集合。
目前已有的多技能资源受限项目调度问题及算法存在以下不足:
1)在多技能受限项目调度中,大部分的调度问题假设资源在不同技能间切换是不需要花费时间的,但在实际应用中,技能的切换所花费的时间往往也较为可观。如员工在执行不同技能类型的任务时,需要做些准备工作,如前往不同配置的工作台,获取适合的工具等。在制造车间中,加工不同要求的工件可能意为着更换不同类型的刀具、原料或者夹紧装置。上述的这些操作都会花费额外的时间,且频繁的切换会延长项目的完成时间。因此,合理地安排资源上任务的执行顺序也显得尤为重要。
2)目前针对多技能资源受限项目调度的智能优化算法以单目标为主,多目标的研究相对较少。且目前已有的算法中,个体的编码常采用双列表的形式,导致其搜索空间较大,求解效率低,获得的非支配解集质量不高。
3)目前已提出的智能优化算法并没有针对技能切换场景做专门的优化,因此其求解效率较低,难以在较大范围的解空间中寻得较有的解。目前已有的智能计算算法中,也没有讨论针对该问题的有效的编码和解码方案,局部搜索算子等。
发明内容
本发明的目的就在于为了解决上述问题而提供一种用于多技能资源受限项目调度的进化策略算法。
本发明通过以下技术方案来实现上述目的:
本发明包括以下步骤:
S1:设置算法参数及初始化变量;
S2:初始化种群;
S3:对种群中的个体执行变异操作;
S4:评估种群适应度;
S5:更新帕累托种群;
S6:选择下一代的父代种群;
S7:判断是否满足迭代的终止条件,若满足条件,则终止程序并输出帕累托种群,否则继续执行步骤三。
进一步,所述步骤S1具体为:设置种群大小Psize,子代生成数λ,资源平衡强度∈,最大迭代次数Gmax;初始化当前迭代次数g=0,父代种群集合
Figure BDA0002694418980000031
子代种群集合
Figure BDA0002694418980000032
帕累托解集
Figure BDA0002694418980000033
帕累托解集的定义为:在多目标优化问题中,对于两个解S1和S2,如果S1的每个目标都不差于S2且至少一个目标优于S2,则S1支配S2,如果S1没有被种群其它解支配,则称S1为种群非支配解,一个种群所有的非支配解组成种群的Pareto解集。
所述步骤S2:种群中的个体采用长度为N的整数编码,其表示为RL={R(1),R(2),…,R(N)};其中N为待求解问题的任务集规模;R(i)表示任务Ti所指派的资源序号;该步骤分为两个子步骤:
S2.1:在初始化阶段,种群按照“最低成本-最长工期”策略仅生成一个个体;具体而言,为每一个任务,在能够执行该任务的资源集合中,为其分配工时成本最低的资源,如果存在工时成本多个工时成本最低的资源,则取资源序号小的资源,即
Figure BDA0002694418980000041
S2.2:在适应度评估阶段,计划生成方案(SGS)将个体p的编码转换为可行的调度方案,并计算其目标函数。
将待调度的任务分为两个集合:集合一A1中包含拥有紧前约束关系的任务;集合二A2中包含其余无紧前约束关系的任务。贪婪策略体现在先对安排集合一中的任务,再安排集合二中的任务。集合一中的任务Tj∈A1按照其序号升序排列,各个任务按照个体编码RL中指定的资源,安排其开始时间sj,并且将任务完成指派的任务添加至相应资源的执行队列πr中。对于集合二A2中任务,将其按照所指定的资源(个体编码RL的信息)进行归类,并且将在同一资源上执行的任务按照技能切换的时间代价采用贪婪策略排序,之后再安排各个任务的开始时间,并将安排好的任务添加至相应资源的执行队列πr中。最后,所有的任务都被安排完毕,根据式(5)和(6)计算整个项目的工期和成本。个体p的适应度分别为工期和成本,分别记为fitnessp,1和fitnessp,2
所述步骤S3:以种群P中的每个个体作为父体,每个父体(p∈P)生成λ个子代个体,从而形成子代集合Q;变异操作由资源平衡算子执行,其步骤如下:
S3.1:读取父体生成的调度方案,根据方案中每个资源所分配到的任务πr(r∈R),计算每个资源的实际工作时长ur(r∈R);初始化计数变量n=0;复制父体p的编码,并命名为q;
S3.2:以资源的时间工作时长ur为权重,根据轮盘赌规则(Roulette Selection)选出一个资源Rs(s∈R);权重越高,被选中的概率越大;
S3.3:针对选出的资源Rs,随机选出该资源上的某个任务(Ti∈πr),并将其重新分配给其他资源Rx(x∈Ri),
S3.4:将新指派资源的更改应用到新的个体编码上;
S3.5:计数变量自增n=n+1;如果n≤∈,则转至步骤A2;否则,输出新生成的个体q并加入到子代集合Q中,算子执行结束。
所述步骤S4为:评估子代种群中的每个个体q∈Q的适应度,求得每个个体的所生成的工期(fitnessq,1)和成本适应度(fitnessq,2)。
所述步骤S6:
S6.1:对PA中的个体进行排序,顺序首先按照个体的支配等级升序排列;如果个体的支配等级相同,则再按照拥挤度降序排列;具体而言,假设有两个个体(p,q∈PA),其排列顺序由下式决定:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
S6.2:迭代次数自增g=g+1。
所述步骤S7:判断是否满足迭代的终止条件(g<G_max),若满足条件,则终止程序并输出PA集合中的非支配个体,否则继续执行步骤S3。
本发明的有益效果在于:
本发明是一种用于多技能资源受限项目调度的进化策略算法,与现有技术相比,本发明具有如下优点:
1.相较于经典的多技能资源受限项目调度问题,本发明进一步考虑了资源在使用不同技能时的切换情况,更切合实际的应用场景。
2.本发明提出了新的个体编码结构和计划生成方案。新的个体编码结构仅表示任务的资源指派,减少搜索空间。新的计划生成方案,采用贪婪策略,将任务分为两个集合依次安排其开始时间,并尽量减少不必要的技能切换,使得生成的调度方案的工期和成本大大减少。
3.本发明提出了基于资源平衡的变异算子,通过对父代个体生成的调度方案进行资源平衡操作,减少不同资源使用时间的差异,进而减少子代个体的工期,生成质量更高的子代个体。
4.本发明提出了求解上述问题的多目标进化策略算法,应用个体编码结构和计划生成方案,以及基于资源平衡的变异算子,能够显著地提高求解质量。在解集的延展性、多样性和收敛性上好于目前已有的同类算法。
附图说明
图1是本发明的技能切换矩阵;
图2是本发明的算法流程图;
图3是本发明的变异算子执行示意图;
图4是本发明的算法效果对比图。
具体实施方式
下面结合附图对本发明作进一步说明:
考虑技能切换的多技能资源受限项目调度问题可以详细描述为:某项目包含任务集合J、技能集合Q以及资源集合R。对于每个任务Tj(j=1,2,…,N),其工期为dj且不可中断。任务间存在“结束-开始”紧前约束,即任务Tj仅能在其紧前集Pj内所有任务结束后才能开始执行。技能集合中有K个技能,即Q={Q1,Q2,…,QK}。对于资源集中的每个资源Rr(r=1,2,…,M),其提供一组技能Qr={qr,1,qr,2,…,qr,h},其中每个技能的等级为{lr,1,lr,2,…,lr,h}。每个任务仅需要一个具有qj∈Q且技能等级不小于lj的资源执行。资源Rr的工时成本为cr,其同一时刻仅能执行一个任务。
资源在执行需要不同技能的任务时需要额外的时间来进行技能切换。具体而言,技能的切换时间由矩阵W=(ωk,l)决定,表示由技能Qk切换到Ql时所需要的额外时间。同一技能间切换时间为0,进一步地,根据技能切换矩阵可以生成任务间的切换矩阵B=(bi,j),表示不同任务间的切换时间。该时间与资源无关,仅代表不同任务间的由于技能类型差异所带来的切换关系。
未不失一般性,项目中引入了虚开始任务(dummy start)和虚结束任务(dummyend)。这两个任务的工期均为0(d0=dE=0),虚任务到所有任务间的切换时间为0。在项目开始前,所有的资源都集中在虚开始任务处,在项目结束后,所有的资源都要集中在虚结束任务处。
该问题的目标在于生成一种调度方案:在满足技能约束、紧前约束和切换时间的情况下,安排任务集中每个任务该由哪个资源在何时执行。
该问题的目标函数有两个:项目的执行工期和项目的总执行成本。项目执行工期由项目中的虚结束任务的结束时间决定。项目总执行成本由资源的单位成本和资源工作时长决定。工作时长分为两部分:①资源在执行任务时花费的时间;②资源在技能间进行切换所花费的时间。
根据上文描述的问题,建立数学模型,其中包括决策变量,目标函数和约束条件。
决策变量:
sj≥0;(任务j的结束时间) (1)
Figure BDA0002694418980000073
Figure BDA0002694418980000071
Figure BDA0002694418980000072
目标函数:式(5)为项目的执行工期,式(6)为项目的总执行成本。
Minimize Makespan=sE (5)
Figure BDA0002694418980000081
其中,fE为虚结束任务(dummy end)的结束时间。
约束条件:
式(7)表示任务间的“结束-开始”约束。
Figure BDA0002694418980000082
其中Pj表示任务Tj的紧前任务集合。
式(8)表示在相同资源上执行的任务间的技能切换时间约束。
Figure BDA0002694418980000083
式(9)表示资源的能力约束,即资源Rr需要具有任务要求的技能(qr,h=qj)且技能等级不小于任务要求的等级(lr,h≥lj)。
Figure BDA0002694418980000084
式(10)表示,如果任务Tj在资源Rr上执行,则必然有任务Ti在其前面先执行。
Figure BDA0002694418980000085
式(11)表示,如果任务Ti在资源Rr上执行,则必然有任务Tj在其后面执行。
Figure BDA0002694418980000086
式(12)表示每个任务都应当由一个资源执行。
Figure BDA0002694418980000087
式(13)表示同一时刻,一个资源仅能执行一个任务。
Figure BDA0002694418980000091
式(14)表示在开始阶段,所有的资源集中在虚开始任务处。
Figure BDA0002694418980000092
式(15)表示在结束阶段,所有的资源都集中在虚结束任务处。
Figure BDA0002694418980000093
算法求解:
本发明基于进化策略(Evolution Strategy,ES)算法提出了新的个体编码和解码机制,设计了新的变异算子和选择选择。
该算法的调度求解主要包括以下几个步骤:步骤一:设置算法参数及初始化变量;步骤二:初始化种群;步骤三:对种群中的个体执行变异操作;步骤四:评估种群适应度;步骤五:更新帕累托种群;步骤六:选择下一代的父代种群;步骤七:判断是否满足迭代的终止条件,若满足条件,则终止程序并输出帕累托种群,否则继续执行步骤三。具体流程图如,以下分别进行详细说明:
步骤一:设置算法参数及初始化变量。
设置种群大小Psize,子代生成数λ,资源平衡强度∈,最大迭代次数Gmax。初始化当前迭代次数g=0,父代种群集合
Figure BDA0002694418980000094
子代种群集合
Figure BDA0002694418980000095
帕累托解集
Figure BDA0002694418980000096
帕累托解集的定义为:在多目标优化问题中,对于两个解S1和S2,如果S1的每个目标都不差于S2且至少一个目标优于S2,则S1支配S2,如果S1没有被种群其它解支配,则称S1为种群非支配解,一个种群所有的非支配解组成种群的Pareto解集。
步骤二:初始化种群并计算适应度。
种群中的个体采用长度为N的整数编码,其表示为RL={R(1),R(2),…,R(N)}。其中N为待求解问题的任务集规模。R(i)表示任务Ti所指派的资源序号。该步骤分为两个子步骤。
步骤2.1:在初始化阶段,种群按照“最低成本-最长工期”策略仅生成一个个体。具体而言,为每一个任务,在能够执行该任务的资源集合中,为其分配工时成本最低的资源,如果存在工时成本多个工时成本最低的资源,则取资源序号小的资源,即
Figure BDA0002694418980000101
步骤2.2:在适应度评估阶段,计划生成方案(SGS)将个体p的编码转换为可行的调度方案,并计算其目标函数。
将待调度的任务分为两个集合:集合一A1中包含拥有紧前约束关系的任务;集合二A2中包含其余无紧前约束关系的任务。贪婪策略体现在先对安排集合一中的任务,再安排集合二中的任务。集合一中的任务Tj∈A1按照其序号升序排列,各个任务按照个体编码RL中指定的资源,安排其开始时间sj,并且将任务完成指派的任务添加至相应资源的执行队列πr中。对于集合二A2中任务,将其按照所指定的资源(个体编码RL的信息)进行归类,并且将在同一资源上执行的任务按照技能切换的时间代价采用贪婪策略排序,之后再安排各个任务的开始时间,并将安排好的任务添加至相应资源的执行队列πr中。最后,所有的任务都被安排完毕,根据式(5)和(6)计算整个项目的工期和成本。个体p的适应度分别为工期和成本,分别记为fitnessp,1和fitnessp,2
步骤三:对种群中的个体执行变异操作。
以种群P中的每个个体作为父体,每个父体(p∈P)生成λ个子代个体,从而形成子代集合Q。
变异操作由资源平衡算子执行,其步骤如下:
步骤A1:读取父体生成的调度方案,根据方案中每个资源所分配到的任务πr(r∈R),计算每个资源的实际工作时长ur(r∈R)。初始化计数变量n=0。复制父体p的编码,并命名为q。
步骤A2:以资源的时间工作时长ur为权重,根据轮盘赌规则(RouletteSelection)选出一个资源Rs(s∈R)。权重越高,被选中的概率越大。
步骤A3:针对选出的资源RS,随机选出该资源上的某个任务(Ti∈πr),并将其重新分配给其他资源Rx(x∈Ri),
步骤A4:将新指派资源的更改应用到新的个体编码上。
步骤A5:计数变量自增n=n+1。如果n≤∈,则转至步骤A2;否则,输出新生成的个体q并加入到子代集合Q中,算子执行结束。
步骤四:评估种群适应度。
评估子代种群中的每个个体q∈Q的适应度,其计算方法参照上述的步骤2.2,求得每个个体的所生成的工期(fitnessq,1)和成本适应度(finessq,2)。
步骤五:更新帕累托种群。
步骤5.1:将子代集合Q添加到帕累托集合中,即PA=PA∪Q。
步骤5.2:去除集合PA中重复的个体,即编码相同的个体。
步骤5.3:采用快速非支配排序算法,将集合PA中的个体分为不同支配等级prank,并计算每一层中个体的拥挤度pdistance。其中非支配个体的等级为1,依次类推,等级越高,则意味着该个体被其他个体支配的个数越多。
步骤六:选择下一代的父代种群。
步骤6.1:对PA中的个体进行排序,顺序首先按照个体的支配等级升序排列。如果个体的支配等级相同,则再按照拥挤度降序排列。具体而言,假设有两个个体(p,q∈PA),其排列顺序由下式决定:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
步骤6.2:迭代次数自增。g=g+1
步骤七:判断是否满足迭代的终止条件(g<Gmax),若满足条件,则终止程序并输出PA集合中的非支配个体,否则继续执行步骤三。
实施例:
一个项目由100个任务,5个资源和9个技能组成。任务的序号,工期dj,需要的技能qj及等级lj,紧前任务集Pj由表1所示。资源的序号,工时成本cr和掌握的技能集Qr如表2所示。技能间切换时间矩阵B如图1所示。
表1任务集属性
Figure BDA0002694418980000121
Figure BDA0002694418980000131
表2资源集属性
资源序号 工时成本 掌握的技能
1 86.1 Q0:2 Q8:2 Q5:1 Q6:2 Q7:2 Q3:0
2 86.6 Q3:0 Q7:0 Q8:2 Q5:2 Q2:2 Q1:1
3 92.7 Q3:2 Q1:0 Q2:1 Q5:1 Q8:2 Q4:0
4 75.3 Q5:2 Q6:0 Q1:0 Q4:1 Q3:0 Q8:1
5 58.7 Q8:2 Q3:0 Q6:1 Q0:1 Q2:0 Q7:1
B=针对上述案例,一种基于多目标进化策略的考虑技能切换的多技能资源受限项目调度方法,包括以下实施步骤:
步骤一:设置算法参数及初始化变量。
设置种群大小Psize=20,子代生成数λ=2,资源平衡强度∈=5,最大迭代次数Gmax=625。
初始化当前迭代次数g=0,父代种群集合
Figure BDA0002694418980000132
子代种群集合
Figure BDA0002694418980000133
帕累托解集
Figure BDA0002694418980000134
步骤二:初始化种群。
种群中的个体采用长度为N的整数编码,其表示为RL={R(1),R(2),…,R(N)}。其中N为待求解问题的任务集规模。R(i)表示任务Ti所指派的资源序号。该步骤分为两个子步骤。
步骤2.1:在初始化阶段,种群按照“最低成本-最长工期”策略仅生成一个个体。具体而言,为每一个任务,在能够执行该任务的资源集合中,为其分配工时成本最低的资源,如果存在工时成本多个工时成本最低的资源,则取资源序号小的资源,即
Figure BDA0002694418980000135
如下所示为根据该策略生成的个体p*编码:
Figure BDA0002694418980000136
Figure BDA0002694418980000141
步骤2.2:在适应度评估阶段,计划生成方案(SGS)将个体p的编码转换为可行的调度方案,并计算其目标函数。
将待调度的任务分为两个集合:集合一A1中包含拥有紧前约束关系的任务;集合二A2中包含其余无紧前约束关系的任务。贪婪策略体现在先对安排集合一中的任务,再安排集合二中的任务。集合一中的任务Tj∈A1按照其序号升序排列,各个任务按照个体编码RL中指定的资源,安排其开始时间sj,并且将任务完成指派的任务添加至相应资源的执行队列πr中。对于集合二A2中任务,将其按照所指定的资源(个体编码RL的信息)进行归类,并且将在同一资源上执行的任务按照技能切换的时间代价采用贪婪策略排序,之后再安排各个任务的开始时间,并将安排好的任务添加至相应资源的执行队列πr中。最后,所有的任务都被安排完毕,根据式(5)和(6)计算整个项目的工期和成本。
个体p的适应度分别为工期和成本,分别记为fitnessp,1和fitnessp,2
在该案例中,集合A1和A2中包含的任务如下所示:
A1={12,19,29,30,35,36,37,39,43,46,47,50,52,53,54,55,56,57,58,61,63,64,65,67,71,72,75,78,79,83,85,91,92,96,97}
A2={1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,31,32,33,34,38,40,41,42,44,45,48,49,51,59,60,62,66,68,69,70,73,74,76,77,80,81,82,84,86,87,88,89,90,93,94,95,98,99,100}
以个体p*的编码生成调度计划后,各个资源的执行序列πr如下所示:
Figure BDA0002694418980000142
Figure BDA0002694418980000151
个体p*的适应度分别为工期和成本,分别记为fitnessp,1=1118和fitnessp,2=187797。
步骤三:对种群中的个体执行变异操作。
以种群P中的每个个体作为父体,每个父体(p∈P)生成λ个子代个体,从而形成子代集合Q。
变异操作由资源平衡算子执行,其步骤如下:
步骤A1:读取父体生成的调度方案,根据方案中每个资源所分配到的任务πr(r∈R),计算每个资源的实际工作时长ur(r∈R)。初始化计数变量n=0。复制父体p的编码,并命名为q。
步骤A2:以资源的时间工作时长ur为权重,根据轮盘赌规则(RouletteSelection)选出一个资源Rs(s∈R)。权重越高,被选中的概率越大。
步骤A3:针对选出的资源Rs,随机选出该资源上的某个任务(Ti∈πr),并将其重新分配给其他资源Rx(x∈Ri),
步骤A4:将新指派资源的更改应用到新的个体编码上。
步骤A5:计数变量自增n=n+1。如果n≤∈,则转至步骤A2;否则,输出新生成的个体q并加入到子代集合Q中,算子执行结束。
以个体p*为例,变异操作如图3所示。在步骤A1中读取了个体p*的编码调度方案中资源的工作时长μr和任务序列πr。在步骤A2中,以实际工作时长ur为权重,进行轮盘赌,假设资源R5被选中。在步骤A3中,假设在资源R5的工作执行序列中选中了任务T91,将该任务分配给其他资源,如资源R2。在步骤A4中,将这一重新分配应用到子代个体q的编码中,即将索引位91的编码改为2。步骤五,计数变量n自增。如果n≤∈,则转至步骤A2;否则,输出新生成的个体q并加入到子代集合Q中,算子执行结束。
步骤四:评估种群适应度。
评估子代种群中的每个个体q∈Q的适应度,其计算方法参照上述的步骤2.2,求得每个个体的所生成的工期(fitnessq,1)和成本适应度(fitnessq,2)。
步骤五:更新帕累托种群。
步骤5.1:将子代集合Q添加到帕累托集合中,即PA=PA∪Q。
步骤5.2:去除集合PA中重复的个体,即编码相同的个体。
步骤5.3:采用快速非支配排序算法,将集合PA中的个体分为不同支配等级prank,并计算每一层中个体的拥挤度pdistance。其中非支配个体的等级为1,依次类推,等级越高,则意味着该个体被其他个体支配的个数越多。
步骤六:选择下一代的父代种群。
步骤6.1:对PA中的个体进行排序,顺序首先按照个体的支配等级升序排列。如果个体的支配等级相同,则再按照拥挤度降序排列。具体而言,假设有两个个体(p,q∈PA),其排列顺序由下式决定:
p>q if(prank<qrank)V((prank=qrank)∧(pdistance>qdistance))
步骤6.2:迭代次数自增。g=g+1
步骤七:判断是否满足迭代的终止条件,若满足条件,则终止程序并输出帕累托种群,否则继续执行步骤三。
对本实施例进行计算机方真,并与文献中已有的解决多技能资源受限项目调度算法NTGA和MOFOA进行比较。图4所示展示了本发明提出的算法与NTGA和MOFOA在相同评估次数下帕累托解集的比较,可以看出本发明提出的多目标进化策略算法在解的延展性、多样性和收敛性上好于目前已有的算法。在多目标优化下,本文的发明的算法的帕累托集中的解都支配其他两个算法中所有的解,可以看出该算法在解决考虑技能切换的多目标资源受限项目调度问题效果较好,解的质量较优。
本发明数学模型中符号如下表:
Figure BDA0002694418980000171
Figure BDA0002694418980000181
以上显示和描述了本发明的基本原理和主要特征及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (7)

1.一种用于多技能资源受限项目调度的进化策略算法,其特征在于,包括以下步骤:
S1:设置算法参数及初始化变量;
S2:初始化种群;
S3:对种群中的个体执行变异操作;
S4:评估种群适应度;
S5:更新帕累托种群;
S6:选择下一代的父代种群;
S7:判断是否满足迭代的终止条件,若满足条件,则终止程序并输出帕累托种群,否则继续执行步骤三。
2.根据权利要求1所述的用于多技能资源受限项目调度的进化策略算法,其特征在于:所述步骤S1具体为:设置种群大小Psize,子代生成数λ,资源平衡强度∈,最大迭代次数Gmax;初始化当前迭代次数g=0,父代种群集合
Figure FDA0002694418970000011
子代种群集合
Figure FDA0002694418970000012
帕累托解集
Figure FDA0002694418970000013
帕累托解集的定义为:在多目标优化问题中,对于两个解S1和S2,如果S1的每个目标都不差于S2且至少一个目标优于S2,则S1支配S2,如果S1没有被种群其它解支配,则称S1为种群非支配解,一个种群所有的非支配解组成种群的Pareto解集。
3.根据权利要求1所述的用于多技能资源受限项目调度的进化策略算法,其特征在于:所述步骤S2:种群中的个体采用长度为N的整数编码,其表示为RL={R(1),R(2),...,R(N)};其中N为待求解问题的任务集规模;R(i)表示任务Ti所指派的资源序号;该步骤分为两个子步骤:
S2.1:在初始化阶段,种群按照“最低成本-最长工期”策略仅生成一个个体;具体而言,为每一个任务,在能够执行该任务的资源集合中,为其分配工时成本最低的资源,如果存在工时成本多个工时成本最低的资源,则取资源序号小的资源,即
Figure FDA0002694418970000021
S2.2:在适应度评估阶段,计划生成方案(SGS)将个体p的编码转换为可行的调度方案,并计算其目标函数。
4.根据权利要求1所述的用于多技能资源受限项目调度的进化策略算法,其特征在于:所述步骤S3:以种群P中的每个个体作为父体,每个父体(p∈P)生成λ个子代个体,从而形成子代集合Q;变异操作由资源平衡算子执行,其步骤如下:
S3.1:读取父体生成的调度方案,根据方案中每个资源所分配到的任务πr(r∈R),计算每个资源的实际工作时长ur(r∈R);初始化计数变量n=0;复制父体p的编码,并命名为q;
S3.2:以资源的时间工作时长ur为权重,根据轮盘赌规则(Roulette Selection)选出一个资源Rs(s∈R);权重越高,被选中的概率越大;
S3.3:针对选出的资源Rs,随机选出该资源上的某个任务(Ti∈πr),并将其重新分配给其他资源Rx(x∈Ri),
S3.4:将新指派资源的更改应用到新的个体编码上;
S3.5:计数变量自增n=n+1;如果n≤∈,则转至步骤A2;否则,输出新生成的个体q并加入到子代集合Q中,算子执行结束。
5.根据权利要求1所述的用于多技能资源受限项目调度的进化策略算法,其特征在于:所述步骤S4为:评估子代种群中的每个个体q∈Q的适应度,求得每个个体的所生成的工期(fitness_(q,1))和成本适应度(fitness_(q,2))。
6.根据权利要求1所述的用于多技能资源受限项目调度的进化策略算法,其特征在于:所述步骤S6:
S6.1:对PA中的个体进行排序,顺序首先按照个体的支配等级升序排列;如果个体的支配等级相同,则再按照拥挤度降序排列;具体而言,假设有两个个体(p,q∈PA),其排列顺序由下式决定:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
S6.2:迭代次数自增g=g+1。
7.根据权利要求1所述的用于多技能资源受限项目调度的进化策略算法,其特征在于:所述步骤S7:判断是否满足迭代的终止条件(g<G_max),若满足条件,则终止程序并输出PA集合中的非支配个体,否则继续执行步骤S3。
CN202011001300.3A 2020-09-22 2020-09-22 一种用于多技能资源受限项目调度的进化策略方法 Active CN112148446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011001300.3A CN112148446B (zh) 2020-09-22 2020-09-22 一种用于多技能资源受限项目调度的进化策略方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011001300.3A CN112148446B (zh) 2020-09-22 2020-09-22 一种用于多技能资源受限项目调度的进化策略方法

Publications (2)

Publication Number Publication Date
CN112148446A true CN112148446A (zh) 2020-12-29
CN112148446B CN112148446B (zh) 2024-05-14

Family

ID=73892549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011001300.3A Active CN112148446B (zh) 2020-09-22 2020-09-22 一种用于多技能资源受限项目调度的进化策略方法

Country Status (1)

Country Link
CN (1) CN112148446B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116911518A (zh) * 2023-06-08 2023-10-20 广东省华智能信息技术有限公司 一种燃气工单的多业务融合派单方法及存储介质
CN117391393A (zh) * 2023-11-17 2024-01-12 西安电子科技大学广州研究院 一种大型工程快速施工组织设计的智能编制优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012126105A1 (en) * 2011-03-21 2012-09-27 Hegazi Tarek Mohamed Mohamed System and method for schedule optimization
CN110909787A (zh) * 2019-11-18 2020-03-24 安徽大学 基于聚类的进化算法进行多目标批调度优化的方法和***
CN111126800A (zh) * 2019-12-10 2020-05-08 浙江工业大学 使用分层自适应智能算法的多模资源受限项目调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012126105A1 (en) * 2011-03-21 2012-09-27 Hegazi Tarek Mohamed Mohamed System and method for schedule optimization
CN110909787A (zh) * 2019-11-18 2020-03-24 安徽大学 基于聚类的进化算法进行多目标批调度优化的方法和***
CN111126800A (zh) * 2019-12-10 2020-05-08 浙江工业大学 使用分层自适应智能算法的多模资源受限项目调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘雅婷: "多技能人力资源调度策略在资源限制型项目中的应用", 重庆工学院学报(自然科学版), vol. 21, no. 3, pages 31 - 40 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116911518A (zh) * 2023-06-08 2023-10-20 广东省华智能信息技术有限公司 一种燃气工单的多业务融合派单方法及存储介质
CN116911518B (zh) * 2023-06-08 2023-12-26 广东省华智能信息技术有限公司 一种燃气工单的多业务融合派单方法及存储介质
CN117391393A (zh) * 2023-11-17 2024-01-12 西安电子科技大学广州研究院 一种大型工程快速施工组织设计的智能编制优化方法

Also Published As

Publication number Publication date
CN112148446B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
CN109190857B (zh) 一种基于多目标资源受限项目调度模型的优化算法
US20210373888A1 (en) Multi-objective optimization method and system for master production plan of casting parallel workshops
Zhu et al. An efficient evolutionary grey wolf optimizer for multi-objective flexible job shop scheduling problem with hierarchical job precedence constraints
Li et al. Two-stage knowledge-driven evolutionary algorithm for distributed green flexible job shop scheduling with type-2 fuzzy processing time
Shen et al. Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems
CN114186749B (zh) 基于强化学习及遗传算法的柔性车间调度方法及模型
CN113792924A (zh) 一种基于Deep Q-network深度强化学习的单件作业车间调度方法
CN104572297B (zh) 一种基于遗传算法的Hadoop作业调度方法
CN105629927A (zh) 一种基于混合遗传算法的mes生产计划排产方法
CN113139710B (zh) 一种基于遗传算法的多资源并行任务高级计划排程方法
CN101901425A (zh) 一种基于多种群协同进化的柔性作业车间调度方法
WO2021088436A1 (zh) 一种用于多语言协同开发的项目调度方法及装置
CN108710970B (zh) 一种巨型梯级水电***的多目标调度并行降维方法
CN112148446A (zh) 一种用于多技能资源受限项目调度的进化策略算法
CN105550825B (zh) 云计算环境下的基于MapReduce并行化的柔性工厂作业调度方法
CN114021934A (zh) 基于改进spea2求解车间节能调度问题的方法
CN113821972A (zh) 一种考虑能效的多机器人协同装配线平衡方法
CN111553610B (zh) 一种基于学习-遗忘效应的调度方法及***
Yusof et al. Constraint-chromosome genetic algorithm for flexible manufacturing system machine-loading problem
CN113723695B (zh) 一种基于场景的再制造调度优化方法
CN115470977A (zh) 基于帝国竞争算法的多目标柔性作业车间分批调度方法
CN110928670B (zh) 云计算环境下基于偏序自适应遗传算法的工作流优化方法
CN110968428B (zh) 云工作流虚拟机配置和任务调度协同优化方法
Raghavendra Scheduling in parallel machines environment using genetic algorithm
CN110689320A (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
GR01 Patent grant
GR01 Patent grant