CN111210125B - 一种基于历史信息指导的多目标工件批调度方法及装置 - Google Patents

一种基于历史信息指导的多目标工件批调度方法及装置 Download PDF

Info

Publication number
CN111210125B
CN111210125B CN201911376115.XA CN201911376115A CN111210125B CN 111210125 B CN111210125 B CN 111210125B CN 201911376115 A CN201911376115 A CN 201911376115A CN 111210125 B CN111210125 B CN 111210125B
Authority
CN
China
Prior art keywords
current
population
workpiece
individuals
workpieces
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.)
Active
Application number
CN201911376115.XA
Other languages
English (en)
Other versions
CN111210125A (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.)
Anhui University
Original Assignee
Anhui University
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 Anhui University filed Critical Anhui University
Priority to CN201911376115.XA priority Critical patent/CN111210125B/zh
Publication of CN111210125A publication Critical patent/CN111210125A/zh
Application granted granted Critical
Publication of CN111210125B publication Critical patent/CN111210125B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Game Theory and Decision Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于历史信息指导的多目标工件批调度方法,包括:1)、获取若干个当前个体;2)、对各个当前种群中的各个个体对应的调度方案进行优化,得到优化后的当前种群;3)、将当前种群分为若干个子种群,运用基于分解的思想获取精英个体;根据所述子种群中各个精英个体的调度方案更新获取第二预设数量个补充个体;4)、将所述精英个体与所述补充个体的组合作为当前种群,获取所述当前种群中的帕累托非支配个体,并将所述当前种群中的帕累托非支配个体加入到非支配解集中,更新所述非支配解集;返回执行步骤2),进行迭代并将最后一次迭代后得到的调度方案作为目标调度方案。本发明可以使订单的实际完成时间接近于合同的订单交付时间。

Description

一种基于历史信息指导的多目标工件批调度方法及装置
技术领域
本发明涉及工件批调度领域,具体涉及一种基于历史信息指导的多目标工件批调度方法及装置。
背景技术
批处理机调度作为经典调度的一个分支广泛存在于众多工业制造系统如,铸造业、家具制造业、金属加工业、航空制造业,制药工业,以及物流运输业之中。平行机调度是批处理机调度中的典型模型。在平行机调度过程中,总完工时间(makespan)以及能耗(TEC)作为批处理机调度性能的重要衡量指标被广泛应用,因此极小化总完工时间和能耗被选定为所研究调度问题的其中两个优化目标。与此同时,总完工时间这个性能指标的缺点也非常明显,它并不能在准时调度的角度反映调度策略的优劣。随着企业与生产商对于时间准时性和准时调度的需求日益增加,基于交付时间的性能衡量指标也变得越来越重要,例如,客户满意度、商品库存等。如果,订单在交付时间之前完成,则可以避免订单延迟所带来的惩罚,如客户满意度的下降;但是与此同时商品的库存成本也会随之增加。由此可见,使订单在合同上的交付日期准时加工完成并交付是最理想的。因此,如何使订单的实际完成时间更加接近于合同上的订单交付时间是亟待解决的技术问题。
发明内容
本发明所要解决的技术问题在于如何提供一种基于历史信息指导的多目标工件批调度方法及装置以使订单的实际完成时间更加接近于合同上的订单交付时间。
本发明通过以下技术手段实现解决上述技术问题的:
本发明实施例提供了一种基于历史信息指导的多目标工件批调度方法,所述方法包括:1)、在满足批调度的约束条件下将各个待调度工件随机调度至各个机器的各个批中,得到若干个当前个体,其中,所述约束条件包括:机器的容量、工件尺寸、同一工件仅能调度一次、最小化能源消耗以及最小加工时间中的一种或组合;
2)、以最小化早到延迟惩罚为目标对各个当前种群中的各个个体对应的调度方案进行优化,得到优化后的当前种群;
3)、将当前种群分为若干个子种群,针对每一个子种群,运用基于分解的思想淘汰掉其中第一预设数量个个体,将剩余的个体作为精英个体;根据所述子种群中各个精英个体的调度方案更新各个子种群的历史信息矩阵;根据更新后的历史信息矩阵以及随机变量获取新个体的生成参数,并根据所述新个体的生成参数生成第二预设数量个补充个体;
4)、将所述精英个体与所述补充个体的组合作为当前种群,获取所述当前种群中的帕累托非支配个体,并将所述当前种群中的帕累托非支配个体加入到非支配解集中,更新所述非支配解集;返回执行步骤2),直至达到最大迭代次数,并将最后一次迭代后得到的更新后的非支配集中的调度方案作为目标调度方案;
其中,所述步骤2),包括:
21)、针对所述当前种群中的每一个个体,将所述个体作为当前个体,将当前个体对应的调度方案中的第一个批作为当前批,针对所述当前批中的每一个当前工件,获取所述当前调度方案对应的最小化早到延迟惩罚;
22)、在满足所述约束条件的情况下,将所述当前工件与除当前批之外的其他批中的各个工件进行模拟交换,计算所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值,在所述最大值大于零时,将该差值的最大值对应的工件与所述当前工件交换位置;
23)、将该差值的最大值对应的工件与所述当前工件交换位置后得到的调度方案作为当前调度方案,将所述当前批的下一个批作为当前批,并返回执行步骤21)中所述获取所述当前调度方案对应的最小化早到延迟惩罚的步骤,直至所有的批都被遍历;
所述步骤22),包括:
利用公式,
Figure GDA0003837352450000021
获取所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件,其中,
Jv为当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件;
Figure GDA0003837352450000022
为在函数取最大值时求解自变量函数;Jλ为当前工件;Jμ为除当前工件之外的其他与当前工件模拟交换的工件;Ω为除当前工件之外的其他与当前工件模拟交换的工件的集合;
Figure GDA0003837352450000023
为工件Jλ的早到惩罚权重;
Figure GDA0003837352450000031
为工件Jλ的早到时间;
Figure GDA0003837352450000032
为工件Jλ的与工件Jμ模拟交换后的早到时间;
Figure GDA0003837352450000033
为工件Jλ的延迟惩罚权重;
Figure GDA0003837352450000034
为工件Jλ的延迟时间;
Figure GDA0003837352450000035
为工件Jλ的与工件Jμ模拟交换后的延迟时间;
Figure GDA0003837352450000036
为工件Jμ的早到惩罚权重;
Figure GDA0003837352450000037
为工件Jμ的早到时间;
Figure GDA0003837352450000038
为工件Jμ的与工件Jλ模拟交换后的早到时间;
Figure GDA0003837352450000039
为工件Jμ的延迟惩罚权重;
Figure GDA00038373524500000310
为工件Jμ的延迟时间;
Figure GDA00038373524500000311
为工件Jμ的与工件Jλ模拟交换后的延迟时间;
判断
Figure GDA00038373524500000312
是否大于零;
若是,将工件Jv与当前工件Jλ交换位置。
本发明实施例将传统调度衡量指标(makespan和TEC)作为所研究调度问题的其中两个优化目标。由于在实际生产环境中不同的订单有着不同的程度的延迟惩罚和库存成本,所以本文将极小化总加权早到延迟惩罚作为所研究调度问题的另一个优化目标,进而可以使订单的实际完成时间更加接近于合同上的订单交付时间。
本发明实施例提供了一种基于历史信息指导的多目标工件批调度装置,所述装置包括:调度模块,用于在满足批调度的约束条件下将各个待调度工件随机调度至各个机器的各个批中,得到若干个当前个体,其中,所述约束条件包括:机器的容量、工件尺寸、同一工件仅能调度一次、最小化能源消耗以及最小加工时间中的一种或组合;
优化模块,用于以最小化早到延迟惩罚为目标对各个当前种群中的各个个体对应的调度方案进行优化,得到优化后的当前种群;
更新模块,用于将当前种群分为若干个子种群,针对每一个子种群,运用基于分解的思想淘汰掉其中第一预设数量个个体,将剩余的个体作为精英个体;根据所述子种群中各个精英个体的调度方案更新各个子种群的历史信息矩阵;根据更新后的历史信息矩阵以及随机变量获取新个体的生成参数,并根据所述新个体的生成参数生成第二预设数量个补充个体;
返回模块,用于将所述精英个体与所述补充个体的组合作为当前种群,获取所述当前种群中的帕累托非支配个体,并将所述当前种群中的帕累托非支配个体加入到非支配解集中,更新所述非支配解集;触发所述优化模块,直至达到最大迭代次数,并将最后一次迭代后得到的更新后的非支配集中的调度方案作为目标调度方案;
其中,所述优化模块还用于:
21)、针对所述当前种群中的每一个个体,将所述个体作为当前个体,将当前个体对应的调度方案中的第一个批作为当前批,针对所述当前批中的每一个当前工件,获取所述当前调度方案对应的最小化早到延迟惩罚;
22)、在满足所述约束条件的情况下,将所述当前工件与除当前批之外的其他批中的各个工件进行模拟交换,计算所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值,在所述最大值大于零时,将该差值的最大值对应的工件与所述当前工件交换位置;
23)、将该差值的最大值对应的工件与所述当前工件交换位置后得到的调度方案作为当前调度方案,将所述当前批的下一个批作为当前批,并返回执行步骤21)中所述获取所述当前调度方案对应的最小化早到延迟惩罚的步骤,直至所有的批都被遍历;
所述步骤22),包括:
利用公式,
Figure GDA0003837352450000041
获取所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件,其中,
Jv为当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件;
Figure GDA0003837352450000042
为在函数取最大值时求解自变量函数;Jλ为当前工件;Jμ为除当前工件之外的其他与当前工件模拟交换的工件;Ω为除当前工件之外的其他与当前工件模拟交换的工件的集合;
Figure GDA0003837352450000043
为工件Jλ的早到惩罚权重;
Figure GDA0003837352450000044
为工件Jλ的早到时间;
Figure GDA0003837352450000045
为工件Jλ的与工件Jμ模拟交换后的早到时间;
Figure GDA0003837352450000046
为工件Jλ的延迟惩罚权重;
Figure GDA0003837352450000047
为工件Jλ的延迟时间;
Figure GDA0003837352450000048
为工件Jλ的与工件Jμ模拟交换后的延迟时间;
Figure GDA0003837352450000049
为工件Jμ的早到惩罚权重;
Figure GDA00038373524500000410
为工件Jμ的早到时间;
Figure GDA00038373524500000411
为工件Jμ的与工件Jλ模拟交换后的早到时间;
Figure GDA00038373524500000412
为工件Jμ的延迟惩罚权重;
Figure GDA00038373524500000413
为工件Jμ的延迟时间;
Figure GDA00038373524500000414
为工件Jμ的与工件Jλ模拟交换后的延迟时间;
判断
Figure GDA0003837352450000051
是否大于零;
若是,将工件Jv与当前工件Jλ交换位置。
发明的优点在于:(1)
本发明实施例将传统调度衡量指标(makespan和TEC)作为所研究调度问题的其中两个优化目标。由于在实际生产环境中不同的订单有着不同的程度的延迟惩罚和库存成本,所以本文将极小化总加权早到延迟惩罚作为所研究调度问题的另一个优化目标,进而可以使订单的实际完成时间更加接近于合同上的订单交付时间。
(2)局部竞争和内部替换作为两个新颖有效的策略在HGEA/D-L算法中被提出。局部竞争策略是基于批的浪费空间比率和工件的加权早到延迟惩罚两个结构指标而制定的。这两个指标可以用来引导工件位置的调整,以寻找优质的邻域个体来和当前个体竞争。在内部替换策略中,基于分解的精英保留策略将目标空间划分成若干个子空间,对应子空间中个体的集合被称为对应子空间的子种群。然后,在保证子种群包含个体数尽可能相等的前提下,淘汰一半数量的个体,保留另一半作为精英个体。随后,通过历代精英个体更新的历史信息矩阵来引导一半数量新个体的生成。最后,这两部分个体组成了下一代的种群。两个策略相辅相成,可以在可期时间内搜索到高质量且分布广的可行解。
附图说明
图1为本发明提供的基于历史信息指导的多目标工件批调度方法的流程示意图;
图2为本发明提供的基于历史信息指导的多目标工件批调度方法的原理示意图;
图3为本发明实施例提供的参考向量分布示意图;
图4为本发明实施例提供的一个可行解样例示意图;
图5为本发明实施例提供的一种基于历史信息指导的多目标工件批调度方法中所有的工件都完成交换后所呈现的一种工件分布示意图;
图6为本发明实施例提供的一种基于历史信息指导的多目标工件批调度方法中所有的工件都完成交换后所呈现的另一种工件分布示意图;
图7为本发明实施例提供的
Figure GDA0003837352450000052
的更新过程示意图;
图8为本发明实施例提供的
Figure GDA0003837352450000061
的更新过程示意图;
图9为本发明实施例提供的
Figure GDA0003837352450000062
的更新过程示意图;
图10为本发明实施例中第一目标矩阵的生成过程;
图11为本发明实施例中第二目标矩阵的生成过程;
图12为本发明实施例中
Figure GDA0003837352450000063
中a与i直接的对应关系的生成过程;
图13为本发明实施例中提供的可行的调度方案示意图;
图14为本发明实施例“MN1S2A2-1”的非支配个体散点图;
图15为本发明实施例“MN2S1A3-1”的非支配个体散点图;
图16为本发明提供的基于历史信息指导的多目标工件批调度装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
图1为本发明提供的基于历史信息指导的多目标工件批调度方法的流程示意图,图2为本发明提供的基于历史信息指导的多目标工件批调度方法的原理示意图,如图1和图2所示,所述方法包括:
S101:在满足批调度的约束条件下将各个待调度工件随机调度至各个机器的各个批中,得到若干个当前个体,其中,所述约束条件包括:机器的容量、工件尺寸、同一工件仅能调度一次、最小化能源消耗以及最小加工时间中的一种或组合。
首先,如图2所示,对本发明实施例提供了一种HGEA/D-L(History-GuidedEvolutionary Algorithm based on Decomposition with Local competition,历史信息指导的带有局部竞争策略的分解进化算法)的算法框架进行介绍,该算法主要体现在S102-S104步骤中。算法的输入包括:种群规模N,最大迭代次数tmax,参考向量V。非支配个体集合A作为算法的输出保存了已经早到的非支配个体。算法3-5行,初始种群P0、空个体集合A、历史信息矩阵H0被分别初始化。主循环包含了两个主要策略。在第7行的局部竞争策略中,优秀的邻域个体替代较差的已有个体。在第8-9行的内部替换策略中,基于分解的精英保留策略将淘汰N/2个个体。随后,算法通过利用剩下N/2个被视为精英的个体来更新历史信息矩阵,并且在更新后历史信息矩阵的指导下生成N/2个新个体。在算法第10行,精英个体和新个体合并成为下一代的新种群。在算法第11行,算法通过帕累托占用规则更新非支配个体集合A,具体伪代码如下:
算法1HGEA/D-L算法框架
1:输入:种群规模N,最大迭代次数tmax,参考向量V;
2:输出:非支配个体集合A;
3:随机初始化一个规模为N初始种群P0
4:初始化一个空的非支配个体集合A;
5:初始化历史信息矩阵H0
6:while t<tmax do
7:Pt'=LC(Pt);/*局部竞争策略*/
8:Pt+1=EP(V,Pt');/*精英保留策略淘汰N/2个体*/
9:Ht+1,Q=UG(Ht);/*更新历史信息,生成N/2新个体*/
10:Pt+1=Pt+1∪Q;
11:将Pt+1中的非支配个体加入集合A并更新A;
12:t=t+1;
13:end while
被研究的问题通过3-field表示法可以表示为Qm∣p-batch,pj,sj,dj,αj,βj,vi,ei,C∣(Cmax,TEC,TWET)。假设n个工件被分配成b个批在m个平行异速机上加工。每一个工件Jj(j=1,2,...,n)都具有5个属性,分别是加工时间pj,工件尺寸sj,交付时间dj,早到惩罚权重αj以及延迟惩罚权重βj。生成的批用B表示。每一个批Bk(k=1,2,...,b)都包含复数个工件,在同一个批中的工件被同时加工。每一台机器Mi(i=1,2,...,m)则具有机器速度vi,单位机器能耗ei和机器容量C,其中vi由机器Mi的加工速度除以标准加工速度而得。所有的机器和工件在调度开始时都是可用的,且已经开始加工的批在加工完成前不能被中断。为了描述该问题的混合整数模型,接下来将会给出参数和决定变量的定义。
参数:i机器索引,i=1,2,...,m;J工件索引,j=1,2,...,n;k批索引,k=1,2,...,b;pj工件j的加工时间;sj工件j的尺寸;dj工件j的交付时间;αj工件j的早到惩罚权重;βj工件j的延迟惩罚权重;vi机器i的加工速度;ei机器i的加工能耗;C机器的容量;Pki第k个批在机器i上的加工时间;Ski第k个批在机器i上的开始时间;Cki第k个批在机器i上的完成时间;决策变量:
Figure GDA0003837352450000081
Figure GDA0003837352450000082
接下来,问题的混合整数模型如下:
Minimize Cmax
Figure GDA0003837352450000083
Figure GDA0003837352450000084
表示了调度问题的三个优化目标,即最小化总完工时间,电能消耗和总加权早到延迟惩罚。
约束:
Figure GDA0003837352450000085
表示了每个批只能分配给一个确定的机器;
Figure GDA0003837352450000086
每个工件只能分配给确定机器的一个批中加工;
Figure GDA0003837352450000087
表示每个批中工件尺寸之和不得超过机器的容量;
Pki≥pjYjkiυi i=1,...,m;j=1,...,n;k=1,...,b,表示批的加工时间等于批中工件的最大加工时间除以机器速度;
Ski=C(k-1)i k=1,...,b;i=1,...,m,表示机器中的批是无缝加工的,即批的调度时间为零;
Cki=Ski+Pki k=1,...,b;i=1,...,m,表示批的完工时间等于批的开始时间加批的加工时间
So,i=0 i=1,...,m表示所有机器都在调度开始时可以加工;
Cmax≥Cki k=1,...,b;i=1,...,m,表示总完工时间;
Figure GDA0003837352450000091
表示工件早到时间;
Figure GDA0003837352450000092
表示工件延迟时间。
示例性的,本发明实施例需要一组预先生成的参考向量作为输入。图3为本发明实施例提供的参考向量分布示意图,如图3所示,通过simplex-lattice设计法生成均匀分布在超平面的参考点。随后,通过连接原点到参考点获得一组参考向量。最后,将所有参考向量转化成单位向量。
为了获得更好的多样性,N个初始个体被随机生成。每一个初始个体x都可以被表示为一个由n个实数组成的临时向量,X={x1,x2,…,xn},其中xj∈[1,m+1)。xj的整数部分代表了工件Jj所属机器的索引,xj的小数部分反映了工件Jj在所属机器上的加工优先级。一个可行的调度方案可以由X通过两个步骤解码而得。第一步,对每台机器上的工件按顺序索引的非递减顺序进行排序。表1为各个机器上的工件排序表,如表1所示,前3行分别给出了样例工件的索引、加工时间和尺寸。表1的第4行给出了每个工件的xj。显而易见,工件Jj所属机器的索引等于
Figure GDA0003837352450000093
例如,工件J1与J2被分配到机器M1,而工件J3被分配到机器M2。同一机器上工件的处理顺序由xj小数部分的非递减顺序决定。所以,从表1可知,机器M1和M2上工件的加工顺序分别为(J2,J1,J7),(J6,J3,J5,J8,J4)。
表1
j 1 2 3 4 5 6 7 8
p<sub>j</sub> 43 14 34 8 29 18 27 28
s<sub>j</sub> 16 6 9 21 13 30 24 4
x<sub>j</sub> 1.75 1.24 2.28 2.85 2.43 2.05 1.92 2.73
然后,在满足机器容量限制的条件下,将工件分批。经过上述两步后,一个可行的调度方案就生成了。表1中的实例经过解码后可以得到如图4所示的调度方案,图4为本发明实施例提供的一种基于历史信息指导的多目标工件批调度方法中其中一个可行解样例示意图。如图4所示,实例中的所有机器的容量为40,机器M1和M2的加工速度分别是2和1。然后,按照上述方式进而得到若干个解,将每一个解作为一个个体,得到当前种群。
S102:以最小化早到延迟惩罚为目标对各个当前种群中的各个个体对应的调度方案进行优化,得到优化后的当前种群,这个优化策略称之为局部竞争策略;
具体的说,为了极小化目标TWET,工件的加工应该尽可能准时完成,每个工件的加权早到延迟惩罚(WET)应该尽可能得低。与此同时,由于每个工件的加工时间和尺寸都不相同,最小化批的空间浪费比可以同时优化总完工时间和TEC。所以,为了加速HGEA/D-L的收敛,这里提出了一个局部竞争策略。通过这个策略,可以达到使工件尽可能在交付时间完成和降低批的空间浪费比的目的。在每一次迭代开始时,算法对现有个体执行一次局部竞争策略。该策略由局部优化和个体竞争两部分组成。局部优化是针对所述当前种群中的每一个个体,将所述个体作为当前个体,将当前个体对应的调度方案中的第一个批作为当前批,针对所述当前批中的每一个当前工件,获取所述当前调度方案对应的最小化早到延迟惩罚。下面是局部竞争策略的两个步骤:
21)、工件交换:在满足机器容量约束的条件下,每一个工件都尝试与其他批的工件交换,以寻求工件的WET尽可能小。利用公式,
Figure GDA0003837352450000101
选择与当前待交换工件Jλ交换的工件Jv,使得两工件交换后对应的早到延迟惩罚之和最小,其中,Jv为最终被选择交换的工件;
Figure GDA0003837352450000102
为在函数取最大值时求解自变量函数;Jλ为当前待交换工件;Jμ为除当前待交换工件之外的其他与当前工件模拟交换的工件;Ω为除当前待交换工件之外的其他与当前工件模拟交换的工件的集合;
Figure GDA0003837352450000103
为工件Jλ的早到惩罚权重;
Figure GDA0003837352450000104
为工件Jλ的早到时间;
Figure GDA0003837352450000105
为工件Jλ的与工件Jμ模拟交换后的早到时间;
Figure GDA0003837352450000106
为工件Jλ的延迟惩罚权重;
Figure GDA0003837352450000107
为工件Jλ的延迟时间;
Figure GDA0003837352450000108
为工件Jλ的与工件Jμ模拟交换后的延迟时间;
Figure GDA0003837352450000109
为工件Jμ的早到惩罚权重;
Figure GDA00038373524500001010
为工件Jμ的早到时间;
Figure GDA0003837352450000111
为工件Jμ的与工件Jλ模拟交换后的早到时间;
Figure GDA0003837352450000112
为工件Jμ的延迟惩罚权重;
Figure GDA0003837352450000113
为工件Jμ的延迟时间;
Figure GDA0003837352450000114
为工件Jμ的与工件Jλ模拟交换后的延迟时间;
随后,判断
Figure GDA0003837352450000115
是否大于零;若大于零代表了工件Jλ和Jv的交换确实可以带来早到延迟惩罚的下降,即可以将工件Jv与当前工件Jλ交换位置;
22)、工件插入:将完工时间较长批中的工件尽可能的向完工时间较短的批中插入,与此同时尽可能保证工件的WET在插入后减小。值得注意的是,如果工件插入操作使得原来的批为空,则在插入操作后直接删除这个批。判断条件
Figure GDA0003837352450000116
Figure GDA0003837352450000117
可以筛选出插入批Bu不违反机器容量约束且被早到延迟惩罚下降的工件。其中,C为批的总容量;
Figure GDA0003837352450000118
为工件Jμ的尺寸;Bu为当前批;Jμ为已调度至当前批中的工件;
Figure GDA0003837352450000119
为工件Jλ的模拟插入到当前批Bu后的早到时间;
Figure GDA00038373524500001110
为工件Jλ的模拟插入到当前批Bu后的延迟时间。为了保证种群个体的多样性,工件插入步骤被设定了50%的执行几率。
21)-22)步骤的伪代码可以为:
Figure GDA00038373524500001111
Figure GDA0003837352450000121
其中算法1到10行为步骤21),算法11到22行为步骤22)。为了使得局部竞争算法更容易理解,下面给出了利用局部竞争算法优化图4例子的详细过程。表2为本发明实施例中所有工件的交付时间,如表2所示,同时为了便于理解,这里假设工件的早到和延迟惩罚为1。
表2
j 1 2 3 4 5 6 7 8
d<sub>j</sub> 50 48 38 15 29 26 34 55
首先,执行算法第1-10行的工件交换方法。由图4可知,批B1、B2、B3和B4的完工时间分别为21.5、35、34和63。按照批的完工时间升序排序后,所得到的批序列为(B1,B3,B2,B4)。根据第2-9行所示,算法将按照(J2,J1,J6,J3,J7,J5,J8,J4)的顺序轮询所有工件,判断并执行工件交换的操作。,如图4所示,以批B1中的工件J2为例,只有工件J3,J4,J5和J8和工件J2交换后满足机器容量约束。根据算法第5行的公式和第6行的条件,工件J4和J2交换可以最大化减少工件的WET。图5为本发明实施例提供的经过步骤21)的工件交换后所有的工件所呈现的一种工件分布示意图。
在可以最大化减少工件的WET的情况下,第二步,执行算法第10-22行的工件插入方法。根据图5可以计算得出,不存在能够满足插入批B1后工件WET下降条件的工件。如图5所示,在批B3和B4中,工件J1插入批B2能够最大化降低工件的WET。工件J1插入批B2后,则不存在满足插入条件的工件。图6为本发明实施例提供的经过步骤22)的工件插入后所有的工件所呈现的另一种工件分布示意图。
S103:将当前种群分为若干个子种群,针对每一个子种群,运用基于分解的思想淘汰掉其中第一预设数量个个体,将剩余的个体作为精英个体;根据所述子种群中各个精英个体的调度方案更新各个子种群的历史信息矩阵;根据更新后的历史信息矩阵以及随机变量获取新个体的生成参数,并根据所述新个体的生成参数生成第二预设数量个补充个体;
示例性的,在本步骤中将会有N/2个较差的个体被淘汰,N/2个新个体在历史信息的引导下加入当前种群。因此,内部替换策略包括两个阶段,基于分解的精英保留和历史信息指导的个体生成。
首先,类似于其他基于分解的进化算法,本发明实施例提供的HGEA/D-L算法会将现有个体分配到由参考向量划分的多个子种群中。随后,HGEA/D-L会对每个子种群都进行一次精英保留。以其中一个子种群为例,基于分解的精英保留策略包含三个步骤,目标值标准化,种群划分和均匀精英保留。
目标值标准化:由于所有的参考向量都是单位向量,所以每个个体的目标向量都需要进行同步的标准化调整。这里ft,I表示个体I在第t次迭代的目标向量,其包含了三个目标值,即ft,I=(ft,I,1,ft,I,2,ft,I,3)。
Figure GDA0003837352450000131
Figure GDA0003837352450000132
则分别代表了第t次迭代的种群中各个目标的最大和最小值集合。如下是第t代中个体I的第o个目标值ft,I,o的标准化公式,
将当前次迭代中优化后个体的组合作为当前种群,并利用公式,
Figure GDA0003837352450000133
对当前种群中的各个个体的目标向量进行标准化处理,其中,f't,I,o为标准化后的第I个个体的目标向量中的第O个目标值;ft,i,o为第I个个体的目标向量中的第O个目标值;
Figure GDA0003837352450000141
为I个体的目标向量中的第O个目标值的最小值;
Figure GDA0003837352450000142
为I个体的目标向量中的第O个目标值的最大值;I为I个体的目标向量的数量;Pt为当前次迭代中个体的集合;O为个体的目标向量中包括的目标值的个数;
种群划分:在目标值标准化之后,种群Pt将被划分成|V|个子种群,分别表示为
Figure GDA0003837352450000143
算法将按照个体I的目标向量与各参考向量夹角的大小,将I划分夹角最小的参考向量所属的子种群。
根据标准化处理后的目标向量以及各个子种群对应的预设的参考向量,利用公式,
Figure GDA0003837352450000144
计算优化后的个体对应的标准化后的目标向量与各个参考向量之间的夹角,并将当前种群中优化后的个体划分至与自身夹角最小的参考向量对应的子种群中,其中,cosθt,I,g为个体I的标准化后的目标向量与参考向量g之间的夹角;f't,I为目标向量标准化后的个体I的目标向量;t为第t次迭代中对应的当前次迭代的序号;||f't,I||为进行目标向量标准化后的个体I的目标向量的模;||vg||为参考向量vg的模;vg为第g个参考向量;Pt为第t次迭代中对应的当前种群;g为当前种群对应的第g个子种群;|V|为子种群的数量;利用公式,Dt,I,o=||f't,I,o||I∈{1,2,...,|Pt|},计算进行目标向量标准化后的个体到原点的距离;这里θt,I,g代表了目标向量f't,I与参考向量vg之前的夹角。因此,当且仅当f't,I与参考向量vg的COS值最大时,个体I被划分到子种群
Figure GDA0003837352450000145
中。以此同时,个体I到原点的距离表示为Dt,I。Dt,I可以反映个体I的收敛程度,通常Dt,I值越小个体I离帕累托前列越近。
均匀精英保留:基于上述提到的Dt,I,N/2个精英个体将被从当前种群Pt选出并进入下一代种群Pt+1,未被选中的个体将被直接删除。选择精英个体的过程中,需尽量保证每个子种群的精英个体数量相等。也就是说,要均匀的在各个子种群中选取精英个体。下面的伪代码详细描述了均匀精英保留策略的过程。
Figure GDA0003837352450000151
其具体可以为:选择每个子种群中个体到原点的距离较小的一半数量的个体,作为精英个体加入下一代种群,各子种群选择的精英数量尽量保持一样。
在精英保留策略选取了N/2个精英个体并将其加入下一代种群Pt+1后,这些个体上的历史信息会被提取出来,以更新历史信息矩阵。随后,算法需要生成另一半有竞争力的个体加入Pt+1。因此,这个策略分为两步,更新历史信息矩阵和新个体生成。
历史信息被表示为三个矩阵,H1、H2和H3。每一个子种群
Figure GDA0003837352450000152
都拥有一组历史信息矩阵,
Figure GDA0003837352450000153
Figure GDA0003837352450000154
根据所述精英个体,利用公式,
Figure GDA0003837352450000156
为初始值,利用公式,
Figure GDA0003837352450000161
更新历史信息矩阵中工件j在第g个子种群中的加工优先级、第g个子种群中加工工件数量排第a位的机器加工工件的数量、第g个子种群中机器Mi是加工工件数量排第a机器的概率,其中,
Figure GDA0003837352450000162
为第L次更新后历史信息矩阵中工件j在第g个子种群中的加工优先级,
Figure GDA0003837352450000163
的值越小,相对应的工件Jj在第g个子种群的加工优先级越高。;L为更新次数,且L小于等于
Figure GDA0003837352450000164
N为精英个体的数量;
Figure GDA0003837352450000165
为第L-1次更新后历史信息矩阵中工件j在第g个子种群中的加工优先级;n为子种群g中包含的工件的数量;φg,I为子种群
Figure GDA0003837352450000166
和个体I之间匹配关系,且
Figure GDA0003837352450000167
Cj,I为个体I中工件Jj的完工时间;j为工件的序号;n为工件的数量;g为子种群的序号;V为子种群的数量;
Figure GDA0003837352450000168
为第L次更新后第g个子种群中加工工件数量排第a位的机器加工工件的数量;
Figure GDA0003837352450000169
为第L-1次更新后第g个子种群中加工工件数量排第a位的机器加工工件的数量;∑为求和函数;
Figure GDA00038373524500001610
为机器Mi和加工工件数量排第a名机器之间的匹配关系,且
Figure GDA00038373524500001611
Ui,I为机器Mi的工件加工数量;
Figure GDA00038373524500001612
为第L次更新后第g个子种群中机器Mi是加工工件数量排第a机器的概率;γt为自适应学习速度,且
Figure GDA00038373524500001613
tmax为最大迭代次数;m为机器数量;这里Cj,I和Ui,I分别代表了在个体I中工件Jj的完工时间和机器Mi的工件加工数量。自适应学习速度γt是一个在0.3到0.7之间的一个实数。为了避免算法在优化过程中陷入局部最优,γt被设定随着迭代数t的增大而增大
利用公式,
Figure GDA0003837352450000171
更新历史信息矩阵中的优先级矩阵、机器加工工件的数量矩阵以及工件数量与机器的匹配概率矩阵,其中,
Figure GDA0003837352450000172
为历史信息矩阵中的优先级矩阵;
Figure GDA0003837352450000173
为机器加工工件的数量矩阵;
Figure GDA0003837352450000174
为工件数量与机器的匹配概率矩阵。
下面结合具体实例,对更新历史信息矩阵的更新过程进行说明。
1、表3为本发明实施例提供的
Figure GDA0003837352450000175
的示例,如表3所示,包含了2台机器和8个工件的
Figure GDA0003837352450000176
样例。这里L和a分别代表了更新次数和机器顺序索引。L=0意味着
Figure GDA0003837352450000177
是初始化的状态,L=1则代表
Figure GDA0003837352450000178
已经通过一个精英个体更新了一次。因此,第二行的数字代表了
Figure GDA0003837352450000179
的初始值。a=1和a=2分别代表了所有机器中加工工件数量排第一和第二的机器。因此,
Figure GDA00038373524500001710
中的元素
Figure GDA00038373524500001711
代表了在第g子种群中加工工件数量排第a位的机器加工工件的数量。需要强调的是,顺序索引a是不同于机器索引i的。如图6所示,当L=0时,
Figure GDA00038373524500001712
中的所有元素都为0,这意味着尚且没有工件被加工。当L=1时,两个机器分别加工了5个和3个工件,但是对应机器的索引不需要被指定。
表3
Figure GDA00038373524500001713
2、第g个子种群中a和i之前的匹配概率矩阵即
Figure GDA00038373524500001714
Figure GDA00038373524500001715
中的元素
Figure GDA00038373524500001716
代表了在第g个子种群中机器Mi是加工工件数量排第a机器的概率。H3的初始化公式如下:
Figure GDA00038373524500001717
表4为本发明实施例提供的对应于表3的
Figure GDA0003837352450000181
初始值,其中每个元素的初始值均为1/m。表5为本发明实施例提供的对应于表3的
Figure GDA0003837352450000182
更新后的值,如表4和表5所示,
表4
Figure GDA0003837352450000183
表5
Figure GDA0003837352450000184
如表5所示,
Figure GDA0003837352450000185
意味着机器M1加工工件的数量有25%的概率多于机器M2加工工件的数量,即75%的概率少于。对于每一个子种群来说,
Figure GDA0003837352450000186
第a行的数据代表了每一个机器加工工件数量排第a名的概率,
Figure GDA0003837352450000187
第i列的数据代表了在所有机器中机器Mi加工工件数量获得各种排名的概率。因此,对于每一个
Figure GDA0003837352450000188
都具有一条显而易见的属性,那就是每一行或者列的数字之和都等于1.
然后,根据上文中种群划分方法,图4中的个体I被分配给第g个子种群。
图7为本发明实施例提供的
Figure GDA0003837352450000189
的更新过程示意图;图8为本发明实施例提供的
Figure GDA00038373524500001810
的更新过程示意图;图9为本发明实施例提供的
Figure GDA00038373524500001811
的更新过程示意图;如图7-9所示,图7提供了一个更新第g个子种群历史信息矩阵
Figure GDA00038373524500001812
的例子。其中,
Figure GDA00038373524500001813
代表了
Figure GDA00038373524500001814
的初始值。根据
Figure GDA00038373524500001815
的计算公式,利用个体I中工件的完工时间,
Figure GDA00038373524500001816
被更新,获得
Figure GDA00038373524500001817
类似于图7,图8提供了一个更新第g个子种群历史信息矩阵
Figure GDA00038373524500001818
的例子。其中,
Figure GDA00038373524500001819
Figure GDA00038373524500001820
分别代表了
Figure GDA00038373524500001821
的初始值和通过
Figure GDA00038373524500001822
的计算公式,以及
Figure GDA0003837352450000191
的计算公式更新一次后的值。图9展示了
Figure GDA0003837352450000192
的更新过程,其中矩阵初始值
Figure GDA0003837352450000193
为0.5。同样的,通过
Figure GDA0003837352450000194
的计算公式更新一次后的
Figure GDA0003837352450000195
称之为
Figure GDA0003837352450000196
最后,生成新的N/2个新的个体加入到当前种群中。在HGEA/D-L算法中,新个体的生成分为三个步骤:历史信息源的选择,过渡数据的生成和可行调度的生成。
(i)历史信息源的选择:在HGEA/D-L算法中,每个子种群都具有相对应的历史信息源,以用来生成接近自身种群的新个体。为了提高算法对于计算性能的利用率和尽可能的探索决策空间,应该尽可能在个体数量较少的子种群附近生成新个体。这样做同时也可以有效的保证个体的多样性。因此,算法将子种群的个体数量转换成了种群选择概率,然后通过轮盘赌的方法来决定新个体的生成将选择哪一个历史信息源。
(ii)过渡数据的生成:图10为本发明实施例中第一目标矩阵的生成过程;图11为本发明实施例中第二目标矩阵的生成过程;图12为本发明实施例中
Figure GDA0003837352450000197
中a与i直接的对应关系的生成过程;如图10-12所示,在构建可行的调度之前,算法还需要利用所选择的历史信息源生成一系列的过渡数据。当生成过渡数据时,算法将会用到一个自定义的计算操作
Figure GDA0003837352450000198
对于两个v维向量H和Y,计算操作
Figure GDA0003837352450000199
被定义如下:
Figure GDA00038373524500001910
算法通过下述三个步骤来生成过渡数据:
(a)计算
Figure GDA00038373524500001911
这里δ是一个与
Figure GDA00038373524500001912
同维的随机变量,其中每一个元素都是一个随机实数。随后,通过将
Figure GDA00038373524500001913
中元素进行非降序排序来获得工件顺序。
(b)计算
Figure GDA00038373524500001914
这里ε是一个与
Figure GDA00038373524500001915
同维的随机变量。随后,通过计算
Figure GDA00038373524500001916
获得一个1*m向量R=(r1,r2,…,rm)。最后,通过计算
Figure GDA00038373524500001917
获得一个1*m向量W=(w1,w2,…,wm)。这里W中的元素wa代表了算法估算出的工件加工数量排第a名的机器应当加工工件的数量。需要注意的是,为了保证W中的元素之和为n,第m个元素的计算公式为
Figure GDA00038373524500001918
其中,a表示为机器顺序索引,
Figure GDA00038373524500001919
表示为第g子种群中加工工件数量排第a位的机器加工工件的数量,m表示机器的数量,y无意义,为求和公式中的自变量,从1到m,
Figure GDA0003837352450000201
表示为第g子种群中所有机器加工工件的总数量,ra表示为第a位机器加工工件数量的比率,n表示为工件的的总数量,
Figure GDA0003837352450000202
表示为第m-1个机器加工工件预期数量,wm表示为最后一个机器m的加工工件预期数量
(c)通过轮盘赌确定
Figure GDA0003837352450000203
中a与i直接的对应关系,其中,i表示为机器索引,具体伪代码如下所示:
Figure GDA0003837352450000204
Figure GDA0003837352450000211
上文随机变量δ和ε值的设定将参照下文参数设定部分。基于图9,图10和图11中的历史信息矩阵,生成过渡数据的三个步骤分别如图12,图13和图14所示。最终,通过a与i的对应关系和向量W,每台机器应当加工工件的数量可以被确定。
(iii)可行调度的生成:通过已经获得的过渡数据,算法可以生成一个可行的调度方案。根据已经生成的工件顺序,将这些工件根据机器容量限制分批。按照这些批的索引升序排序后,按顺序将所有批分配给机器,并且保证满足如下两个条件。其一,保证批分配给机器时,该机器已经分配到的工件数量不超过向量W中对应的数量;其二,保证批分配给所选机器后,该批的完工时间相对于分配到其他机器的完工时间是最小的。利用图10-12中的过渡数据,所生成的可行调度如图13所示,图13为本发明实施例中提供的可行的调度方案示意图,四个批被构建,每个批都具有两个工件。首先,批B1被分配给加工速度最快的机器M1。下一步是分配批B2。由于批B2分配给机器M1和M2后计算得到的完工时间分别是38.5和34,所以选择由机器M2加工批B2。类似地,批B3被分配给机器M1加工。最后,尽管批B4分配给机器M1的完工时间仍小于分配给机器M2的完工时间,但是机器M1的加工工件数已经超过了对应的限制,所以选择由机器M2加工批B4
S104:将所述精英个体与所述补充个体的组合作为当前种群,获取所述当前种群中的帕累托非支配个体,并将所述当前种群中的帕累托非支配个体加入到非支配解集中,更新所述非支配解集;返回执行步骤2),直至达到最大迭代次数,并将最后一次迭代后得到的更新后的非支配集中的调度方案作为目标调度方案。
需要说明的是,本发明S104步骤完成非支配解集更新后若达不到最大迭代次数将跳转至S102步骤进行下一次迭代,本发明实施例在此不再赘述。
为了对本发明实施例的技术效果进行说明,本发明将HGEA/D-L算法与其他两种多目标算法作对比,以实验结果为依据来评价各个算法的性能。两个对比算法分别是Cheng等人提出的RVEA和Deb和jain提出的NSGA-III。由于对比算法不能直接用来求解所研究问题,所以对比算法在编解码部分有一些相关的修改。表6提供了生成本发明实施例所使用的参数列表,
表6
Figure GDA0003837352450000221
如表6所示,参数A用于调整工件交付日期的紧急程度。A的值从集合{0.5,1,1.5}中选择,分别表示交付日期的紧急,正常和宽松。工件的完工时间随机生成与[pj,ACmax]内,其中Cmax为通过FirstFit规则求得的最大完工时间。为了缩减实验时间,实验在工件和机器规模方面,仅考虑了(n=150,m=3)和(n=300,m=5)两组组合的情况。最终,根据本发明实施例参数的不同组合,生成了18组随机本发明实施例,每组本发明实施例包含十个本发明实施例。
根据预实验的结果和其他文献关于参数设置的建议,将一些参数的值设置为:simplex-lattice设计参数为(13,0);参考向量数量为105;种群规模为200;迭代总次数为200;ε∈[0,2];δ∈[0.8,1.2]。
为了衡量对目标对比算法的性能,本文使用的评价指标包含:反转时代距离(IGD)、覆盖率(C)和假设检验的P值,可以从各个方面比较不同算法间的优劣。
表7为算法RVEA,NSGA-III,HGEA/D,RVEA-L,NSGA-III-L和本发明实施例提供的HGEA/D-L算法在每一组本发明实施例上的实验结果对比。这里RVEA,NSGA-III和HGEA/D代表了一组未使用局部竞争策略的算法;RVEA-L,NSGA-III-L和HGEA/D-L则代表了一组使用局部竞争策略的算法。第一列根据表6列出了每一个本发明实施例组所对应的编码。第二行中的“IGD”和“SD”分别代表了算法对应各本发明实施例组的平均IGD值和平均IGD的标准方差。对于每个本发明实施例组中的每个本发明实施例,每个算法都会执行10次。最后,每个算法对于每组本发明实施例的实验结果都会记录求和并算出平均IGD值和平均IGD的标准方差。另外,最后一行提供了每一列数据的总平均值;每一组本发明实施例的“IGD”和“SD”最优值将加粗显示。
表7
Figure GDA0003837352450000231
表7的第2-7列展示了未使用局部竞争策略的三个算法的对比结果,这里不难看出算法HGEA/D在每一组本发明实施例上的IGD值都比比其他两种算法优秀。结果表明,该算法虽然没有考虑局部竞争策略,但其收敛性能仍优于其他两种算法。也就是说,算法HGEA/D的内部替换策略可以更有效率的探索搜索空间,比算法RVEA和NSGA-III的交叉变异策略更加适合解决此类研究问题。
表7的第8-13列展示了带有局部竞争策略的三个算法的实验对比结果。RVEA-L、NSGA-III-L和HGEA/D-L在每个实例组上的平均IGD值明显优于不使用局部竞争策略的对应算法。结果表明,局部竞争策略能够增强算法的探索能力。可以看出,HGEA/D-L在所有组实例上的平均IGD值都优于RVEA-L和NSGA-III-L。也就是说,在局部竞争和内部替换的综合作用下,HGEA/D-L有能力找到更接近真实的帕累托前沿的个体。此外,最后一列HGEA/D-L的平均SD值都比其他算法小很多,说明采用上述两种策略的HGEA/D-L比其他算法更稳定。
表8给出了三个比较算法对每个本发明实施例组的平均覆盖率和假设检验结果。每个算法对每个本发明实施例十次运行所获得个体的非支配解集和用于覆盖率的计算。每组10个本发明实施例的平均覆盖率值是每组的最终结果。
表8
Figure GDA0003837352450000241
Figure GDA0003837352450000251
如表8所示,从第2-5列,可以发现HGEA/D-L在所有本发明实施例组上的性能都优于其他算法。从第6-9列的假设检验结果可以看出,HGEA/D-L与其他两种算法在所有本发明实施例上的结果都存在显著性差异。因此,HGEA/D-L的表现在每个本发明实施例中都明显优于NSGA-III和RVEA。
图14为本发明实施例“MN1S2A2-1”的非支配个体散点图;图15为本发明实施例“MN2S1A3-1”的非支配个体散点图;如图14和图15所示,“MN1S2A2-1”和“MN2S1A3-1”分别代表了本发明实施例组“MN1S2A2”和“MN2S1A3”的第一个本发明实施例。为了让散点图更加具有可读性,这里采取了在二维直角坐标中展现非支配个体的分布而不是三维直角坐标。每个算法在每个本发明实施例上获得的个体由在这个本发明实施例上的每个算法十次运行中发现的个体组成。个体对应的点越接近坐标轴,对应的目标个体的质量越好。由图14可知,代表HGEA/D-L算法所获得个体的红点在三个目标方向都更接近坐标轴,这表明HGEA/D-L获得的个体质量远优于其他算法。与图14类似,图15也显示了HGEA/D-L与RVEA和NSGA-III算法相比的优越性能。
批处理机的调度问题的解具有特定的结构特征。例如,被分配到同一个批的工件共同决定了批的空间利用率和加工时间;批的加工顺序影响了批中工件的早到延迟惩罚。其二,作为一个NP难的多约束组合优化问题,它的解的结构特征难以被有效的表述和利用。因此,基于上述两点考虑,本文提出了一个历史信息引导的基于分解的带有局部竞争的进化算法(HGEA/D-L),HGEA/D-L采用局部竞争策略加速收敛;其次,利用从精英个体中提取的历史信息来生成下一种群,进一步提高了算法的挖掘能力。因此,本发明实施例使用批调度问题解的结构指标作为优化依据和历史信息主体,通过结构特征的积累和学习,可以适应求解大规模批调度问题的算法;而且本发明实施例提供了一种新的优化策略来代替传统的交叉变异策略。综上所述,HGEA/D-L算法的整体性能优于其他比较算法,说明了该算法的有效性和高效性。原因有两个方面。
另外,工件调度问题有两大类传统的解决方法。其一,是通过分支限界法、动态规划算法求得问题的最优解。但是,此类方法无法解决复杂且规模庞大的批调度问题。其二,是以进化算法为代表的群智能算法。进化算法、粒子群算法等类似算法,由于依赖的交叉变异策略不适合批调度问题的求解,而难以获得质量高的调度方案。
为了解决上述问题,局部竞争和内部替换作为两个新颖有效的策略在HGEA/D-L算法中被提出。局部竞争策略是基于批的浪费空间比率和工件的加权早到延迟惩罚两个结构指标而制定的。这两个指标可以用来引导工件位置的调整,以寻找优质的邻域个体来和当前个体竞争。在内部替换策略中,基于分解的精英保留策略将目标空间划分成若干个子空间,对应子空间中个体的集合被称为对应子空间的子种群。然后,在保证子种群包含个体数尽可能相等的前提下,淘汰一半数量的个体,保留另一半作为精英个体。随后,通过历代精英个体更新的历史信息矩阵来引导一半数量新个体的生成。最后,这两部分个体组成了下一代的种群。两个策略相辅相成,可以在可期时间内搜索到高质量且分布广的可行解。
实施例2
与本发明图1所示实施例相对应,本发明还提供了一种基于历史信息指导的多目标工件批调度装置。
图16为本发明提供的基于历史信息指导的多目标工件批调度装置的结构示意图,如图16所示,所述装置包括:
调度模块1601,用于在满足批调度的约束条件下将各个待调度工件随机调度至各个机器的各个批中,得到若干个当前个体,其中,所述约束条件包括:机器的容量、工件尺寸、同一工件仅能调度一次、最小化能源消耗以及最小加工时间中的一种或组合;
优化模块1602,用于以最小化早到延迟惩罚为目标对各个当前种群中的各个个体对应的调度方案进行优化,得到优化后的当前种群;
更新模块1603,用于将当前种群分为若干个子种群,针对每一个子种群,运用基于分解的思想淘汰掉其中第一预设数量个个体,将剩余的个体作为精英个体;根据所述子种群中各个精英个体的调度方案更新各个子种群的历史信息矩阵;根据更新后的历史信息矩阵以及随机变量获取新个体的生成参数,并根据所述新个体的生成参数生成第二预设数量个补充个体;
返回模块1604,用于将所述精英个体与所述补充个体的组合作为当前种群,获取所述当前种群中的帕累托非支配个体,并将所述当前种群中的帕累托非支配个体加入到非支配解集中,更新所述非支配解集;触发优化模块1602,直至达到最大迭代次数,并将最后一次迭代后得到的更新后的非支配集中的调度方案作为目标调度方案。
本发明实施例将准时调度的目标可以表示为极小化总早到延迟时间。由于在实际生产环境中不同的订单有着不同的程度的延迟惩罚和库存成本,所以本文将极小化总加权早到延迟惩罚作为所研究调度问题的另一个优化目标,进而可以使订单的实际完成时间更加接近于合同上的订单交付时间。
在本发明实施例的一种具体实施方式中,所述优化模块1602,用于:
21)、针对所述当前种群中的每一个个体,将所述个体作为当前个体,将当前个体对应的调度方案中的第一个批作为当前批,针对所述当前批中的每一个当前工件,获取所述当前调度方案对应的最小化早到延迟惩罚;
22)、在满足所述约束条件的情况下,将所述当前工件与除当前批之外的其他批中的各个工件进行模拟交换,计算所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值,在所述最大值大于零时,将该差值的最大值对应的工件与所述当前工件交换位置;
23)、将该差值的最大值对应的工件与所述当前工件交换位置后得到的调度方案作为当前调度方案,将所述当前批的下一个批作为当前批,并返回执行步骤21)中所述获取所述当前调度方案对应的最小化早到延迟惩罚的步骤,直至所有的批都被遍历。
12、根据权利要求11所述的一种基于历史信息指导的多目标工件批调度装置,其特征在于,所述优化模块,用于:
利用公式,
Figure GDA0003837352450000271
获取所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件,其中,
Jv为当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件;
Figure GDA0003837352450000272
为在函数取最大值时求解自变量函数;Jλ为当前工件;Jμ为除当前工件之外的其他与当前工件模拟交换的工件;Ω为除当前工件之外的其他与当前工件模拟交换的工件的集合;
Figure GDA0003837352450000281
为工件Jλ的早到惩罚权重;
Figure GDA00038373524500002817
为工件Jλ的早到时间;
Figure GDA0003837352450000282
为工件Jλ的与工件Jμ模拟交换后的早到时间;
Figure GDA0003837352450000283
为工件Jλ的延迟惩罚权重;
Figure GDA0003837352450000284
为工件Jλ的延迟时间;
Figure GDA0003837352450000285
为工件Jλ的与工件Jμ模拟交换后的延迟时间;
Figure GDA0003837352450000286
为工件Jμ的早到惩罚权重;
Figure GDA0003837352450000287
为工件Jμ的早到时间;
Figure GDA0003837352450000288
为工件Jμ的与工件Jλ模拟交换后的早到时间;
Figure GDA0003837352450000289
为工件Jμ的延迟惩罚权重;
Figure GDA00038373524500002810
为工件Jμ的延迟时间;
Figure GDA00038373524500002811
为工件Jμ的与工件Jλ模拟交换后的延迟时间;判断
Figure GDA00038373524500002812
是否大于零;若是,将工件Jv与当前工件Jλ交换位置。
在本发明实施例的一种具体实施方式中,所述优化模块1602,用于:
24)、根据预设的概率值执行步骤25),
25)、将当前调度方案中的第一个批作为当前批,在满足所述约束条件的情况下,将当前批之外的其他批中的工件模拟插入到当前批中,并判断公式,
Figure GDA00038373524500002813
是否成立,其中,
C为批的总容量;
Figure GDA00038373524500002814
为工件Jμ的尺寸;Bu为当前批;Jμ为已调度至当前批中的工件;
Figure GDA00038373524500002815
为工件Jλ的模拟插入到当前批Bu后的早到时间;
Figure GDA00038373524500002816
为工件Jλ的模拟插入到当前批Bu后的延迟时间;
26)、若是,将工件Jλ插入到当前批中,得到的新的调度方案,将所述新的调度方案加入到当前种群中,然后,将所述当前批的下一个批作为当前批,并返回执行所述将当前批之外的其他批中的工件模拟插入到当前批中的步骤,直至当前调度方案中所有的批都被遍历,其中,所述当前种群为调度方案的集合。
在本发明实施例的一种具体实施方式中,所述优化模块1602,用于:
判断步骤25)中的当前调度方案与步骤26)中得到的新的调度方案之间进行帕累托优化,并将支配解代替被支配解加入到当前种群中,或者将不存在帕累托支配关系的两个解加入到当前种群中,其中,所述解为调度方案。
在本发明实施例的一种具体实施方式中,所述参考向量的生成过程包括:通过simplex-lattice设计法生成均匀分布在超平面的参考点;获取所述参考点到超平面所在坐标系的原点的子参考向量;将所述子参考向量转换为单位向量,将所述单位向量的组合作为参考向量。
在本发明实施例的一种具体实施方式中,所述更新模块1603,用于:将当前次迭代中优化后个体的组合作为当前种群,并对当前种群中的各个个体的目标向量进行标准化处理;根据标准化处理后的目标向量以及各个子种群对应的预设的参考向量,利用公式,
Figure GDA0003837352450000291
计算优化后的个体对应的标准化后的目标向量与各个参考向量之间的夹角,并将当前种群中优化后的个体划分至与自身夹角最小的参考向量对应的子种群中,其中,
cosθt,I,g为个体I的标准化后的目标向量与参考向量g之间的夹角;f't,I为目标向量标准化后的个体I的目标向量;t为第t次迭代中对应的当前次迭代的序号;||f't,I||为进行目标向量标准化后的个体I的目标向量的模;||vg||为参考向量vg的模;vg为第g个参考向量;Pt为第t次迭代中对应的当前种群;g为当前种群对应的第g个子种群;|V|为子种群的数量;利用公式,Dt,I,o=||f't,I,o||I∈{1,2,...,|Pt|},计算进行目标向量标准化后的个体到原点的距离;针对每一个子种群,将所述子种群中一半的个体作为精英个体保留,其中,所述精英个体到原点的距离均小于所述子种群中除精英个体以外的其他个体到原点的距离的最小值;根据所述精英个体更新各个子种群的历史信息矩阵;利用公式,
Figure GDA0003837352450000292
计算历史信息矩阵中的优先级矩阵对应的第一目标矩阵,其中,
Figure GDA0003837352450000293
为第一目标矩阵;
Figure GDA0003837352450000294
为历史信息矩阵中的优先级矩阵;
Figure GDA0003837352450000295
为预设的计算操作,且
Figure GDA0003837352450000296
δ为与
Figure GDA0003837352450000297
同维的随机变量;利用公式,
Figure GDA0003837352450000298
计算机器加工工件的数量矩阵对应的第二目标矩阵,根据第二目标矩阵,利用公式
Figure GDA0003837352450000299
计算出中间向量中各个元素的值,且R为1*m维向量,R=(r1,r2,…,rm);然后,根据中间向量R,利用公式,
Figure GDA00038373524500002910
计算目标向量中的各个元素的值,目标向量为1*m向量,且目标向量W=(w1,w2,…,wm),其中,其中,a表示为机器顺序索引,
Figure GDA0003837352450000301
为机器加工工件的数量矩阵;
Figure GDA0003837352450000302
为第二目标矩阵;ε为与
Figure GDA0003837352450000303
同维的随机变量;
Figure GDA0003837352450000304
表示为第g子种群中加工工件数量排第a位的机器加工工件的数量,m表示机器的数量,y无意义,为求和公式中的自变量,从1到m,
Figure GDA0003837352450000305
表示为第g子种群中所有机器加工工件的总数量,ra表示为第a位机器加工工件数量的比率,n表示为工件的的总数量,目标向量W中的元素wa为算法估算出的工件加工数量排第a名的机器应当加工工件的数量;目标向量中的第m个元素的计算公式为
Figure GDA0003837352450000306
其中,
Figure GDA0003837352450000307
表示为第m-1个机器加工工件预期数量,wm表示为最后一个机器m的加工工件预期数量;利用轮盘赌算法确定
Figure GDA0003837352450000308
中a与i直接的对应关系;将第一目标矩阵、目标向量以及
Figure GDA0003837352450000309
中a与i直接的对应关系作为限制条件,生成
Figure GDA00038373524500003010
个可行的调度方案;根据已经生成调度方案对应的工件调度顺序,将这些工件根据机器容量限制分批;按照这些批的索引升序排序后,按顺序将所有批分配给机器,,且在进行批的分配时,使该批分配给所选机器后,该批的完工时间相对于分配到其他机器的完工时间最小,其中,i表示为机器索引,N表示种族规模。
在本发明实施例的一种具体实施方式中,所述更新模块1603,用于:
利用公式,
Figure GDA00038373524500003011
对当前种群中的各个个体的目标向量进行标准化处理,其中,
f't,I,o为标准化后的第I个个体的目标向量中的第O个目标值;ft,i,o为第I个个体的目标向量中的第O个目标值;
Figure GDA00038373524500003012
为I个体的目标向量中的第O个目标值的最小值;
Figure GDA00038373524500003013
为I个体的目标向量中的第O个目标值的最大值;I为I个体的目标向量的数量;Pt为当前次迭代中个体的集合;0为个体的目标向量中包括的目标值的个数。
在本发明实施例的一种具体实施方式中,所述更新模块1603,用于:
根据所述精英个体,利用公式,
Figure GDA0003837352450000311
为初始值,利用公式,
Figure GDA0003837352450000312
更新历史信息矩阵中工件j在第g个子种群中的加工优先级、第g个子种群中加工工件数量排第a位的机器加工工件的数量、第g个子种群中机器Mi是加工工件数量排第a机器的概率,其中,
Figure GDA0003837352450000313
为第L次更新后历史信息矩阵中工件j在第g个子种群中的加工优先级;L为更新次数,且L小于等于
Figure GDA0003837352450000314
N为精英个体的数量;
Figure GDA0003837352450000315
为第L-1次更新后历史信息矩阵中工件j在第g个子种群中的加工优先级;n为子种群g中包含的工件的数量;φg,I为子种群
Figure GDA0003837352450000316
和个体I之间匹配关系,且
Figure GDA0003837352450000317
Cj,I为个体I中工件Jj的完工时间;j为工件的序号;n为工件的数量;g为子种群的序号;V为子种群的数量;
Figure GDA0003837352450000318
为第L次更新后第g个子种群中加工工件数量排第a位的机器加工工件的数量;
Figure GDA0003837352450000319
为第L-1次更新后第g个子种群中加工工件数量排第a位的机器加工工件的数量;∑为求和函数;
Figure GDA00038373524500003110
为机器Mi和加工工件数量排第a名机器之间的匹配关系,且
Figure GDA00038373524500003111
Ui,I为机器Mi的工件加工数量;
Figure GDA00038373524500003112
为第L次更新后第g个子种群中机器Mi是加工工件数量排第a机器的概率;γt为自适应学习速度,且
Figure GDA00038373524500003113
tmax为最大迭代次数;m为机器数量;
利用公式,
Figure GDA0003837352450000321
更新历史信息矩阵中的优先级矩阵、机器加工工件的数量矩阵以及工件数量与机器的匹配概率矩阵,其中,
Figure GDA0003837352450000322
为历史信息矩阵中的优先级矩阵;
Figure GDA0003837352450000323
为机器加工工件的数量矩阵;
Figure GDA0003837352450000324
为工件数量与机器的匹配概率矩阵。

Claims (7)

1.一种基于历史信息指导的多目标工件批调度方法,其特征在于,所述方法包括:
1)、在满足批调度的约束条件下将各个待调度工件随机调度至各个机器的各个批中,得到若干个当前个体,其中,所述约束条件包括:机器的容量、工件尺寸、同一工件仅能调度一次、最小化能源消耗以及最小加工时间中的一种或组合;
2)、以最小化早到延迟惩罚为目标对各个当前种群中的各个个体对应的调度方案进行优化,得到优化后的当前种群;
3)、将当前种群分为若干个子种群,针对每一个子种群,运用基于分解的思想淘汰掉其中第一预设数量个个体,将剩余的个体作为精英个体;根据所述子种群中各个精英个体的调度方案更新各个子种群的历史信息矩阵;根据更新后的历史信息矩阵以及随机变量获取新个体的生成参数,并根据所述新个体的生成参数生成第二预设数量个补充个体;
4)、将所述精英个体与所述补充个体的组合作为当前种群,获取所述当前种群中的帕累托非支配个体,并将所述当前种群中的帕累托非支配个体加入到非支配解集中,更新所述非支配解集;返回执行步骤2),直至达到最大迭代次数,并将最后一次迭代后得到的更新后的非支配集中的调度方案作为目标调度方案;
其中,所述步骤2),包括:
21)、针对所述当前种群中的每一个个体,将所述个体作为当前个体,将当前个体对应的调度方案中的第一个批作为当前批,针对所述当前批中的每一个当前工件,获取所述当前调度方案对应的最小化早到延迟惩罚;
22)、在满足所述约束条件的情况下,将所述当前工件与除当前批之外的其他批中的各个工件进行模拟交换,计算所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值,在所述最大值大于零时,将该差值的最大值对应的工件与所述当前工件交换位置;
23)、将该差值的最大值对应的工件与所述当前工件交换位置后得到的调度方案作为当前调度方案,将所述当前批的下一个批作为当前批,并返回执行步骤21)中所述获取所述当前调度方案对应的最小化早到延迟惩罚的步骤,直至所有的批都被遍历;
所述步骤22),包括:
利用公式,
Figure FDA0003791212080000021
获取所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件,其中,
Jv为当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件;
Figure FDA0003791212080000022
为在函数取最大值时求解自变量函数;Jλ为当前工件;Jμ为除当前工件之外的其他与当前工件模拟交换的工件;Ω为除当前工件之外的其他与当前工件模拟交换的工件的集合;
Figure FDA0003791212080000023
为工件Jλ的早到惩罚权重;
Figure FDA0003791212080000024
为工件Jλ的早到时间;
Figure FDA0003791212080000025
为工件Jλ的与工件Jμ模拟交换后的早到时间;
Figure FDA0003791212080000026
为工件Jλ的延迟惩罚权重;
Figure FDA0003791212080000027
为工件Jλ的延迟时间;
Figure FDA0003791212080000028
为工件Jλ的与工件Jμ模拟交换后的延迟时间;
Figure FDA0003791212080000029
为工件Jμ的早到惩罚权重;
Figure FDA00037912120800000210
为工件Jμ的早到时间;
Figure FDA00037912120800000211
为工件Jμ的与工件Jλ模拟交换后的早到时间;
Figure FDA00037912120800000212
为工件Jμ的延迟惩罚权重;
Figure FDA00037912120800000213
为工件Jμ的延迟时间;
Figure FDA00037912120800000214
为工件Jμ的与工件Jλ模拟交换后的延迟时间;
判断
Figure FDA00037912120800000215
是否大于零;
若是,将工件Jv与当前工件Jλ交换位置;
所述步骤3),包括:
将当前次迭代中优化后个体的组合作为当前种群,并对当前种群中的各个个体的目标向量进行标准化处理;
根据标准化处理后的目标向量以及各个子种群对应的预设的参考向量,利用公式,
Figure FDA00037912120800000216
计算优化后的个体对应的标准化后的目标向量与各个参考向量之间的夹角,并将当前种群中优化后的个体划分至与自身夹角最小的参考向量对应的子种群中,其中,
cosθt,I,g为个体I的标准化后的目标向量与参考向量g之间的夹角;f't,I为目标向量标准化后的个体I的目标向量;t为第t次迭代中对应的当前次迭代的序号;||f't,I||为进行目标向量标准化后的个体I的目标向量的模;||vg||为参考向量vg的模;vg为第g个参考向量;Pt为第t次迭代中对应的当前种群;g为当前种群对应的第g个子种群;|V|为子种群的数量;
利用公式,Dt,I,o=||f't,I,o||I∈{1,2,...,|Pt|},计算进行目标向量标准化后的个体到原点的距离;
针对每一个子种群,将所述子种群中一半的个体作为精英个体保留,其中,所述精英个体到原点的距离均小于所述子种群中除精英个体以外的其他个体到原点的距离的最小值;
根据所述精英个体更新各个子种群的历史信息矩阵;
利用公式,
Figure FDA0003791212080000031
计算历史信息矩阵中的优先级矩阵对应的第一目标矩阵,其中,
Figure FDA0003791212080000032
为第一目标矩阵;
Figure FDA0003791212080000033
为历史信息矩阵中的优先级矩阵;
Figure FDA0003791212080000034
为预设的计算操作,且
Figure FDA0003791212080000035
δ为与
Figure FDA0003791212080000036
同维的随机变量;
利用公式,
Figure FDA0003791212080000037
计算机器加工工件的数量矩阵对应的第二目标矩阵,根据第二目标矩阵,利用公式
Figure FDA0003791212080000038
计算出中间向量中各个元素的值,且R为1*m维向量,R=(r1,r2,…,rm);然后,根据中间向量R,利用公式,
Figure FDA0003791212080000039
计算目标向量中的各个元素的值,目标向量为1*m向量,且目标向量W=(w1,w2,…,wm),其中,a表示为机器顺序索引,
Figure FDA00037912120800000310
为机器加工工件的数量矩阵;
Figure FDA00037912120800000311
为第二目标矩阵;ε为与
Figure FDA00037912120800000312
同维的随机变量;
Figure FDA00037912120800000313
表示为第g子种群中加工工件数量排第a位的机器加工工件的数量,m表示机器的数量,y无意义,为求和公式中的自变量,从1到m,
Figure FDA00037912120800000314
表示为第g子种群中所有机器加工工件的总数量,ra表示为第a位机器加工工件数量的比率,n表示为工件的总数量,目标向量W中的元素wa为算法估算出的工件加工数量排第a名的机器应当加工工件的数量;目标向量中的第m个元素的计算公式为
Figure FDA0003791212080000041
其中,
Figure FDA0003791212080000042
表示为第m-1个机器加工工件预期数量,wm表示为最后一个机器m的加工工件预期数量;
利用轮盘赌算法确定
Figure FDA0003791212080000043
中a与i直接的对应关系;
将第一目标矩阵、目标向量以及
Figure FDA0003791212080000044
中a与i直接的对应关系作为限制条件,生成
Figure FDA0003791212080000045
个可行的调度方案;根据已经生成调度方案对应的工件调度顺序,将这些工件根据机器容量限制分批;按照这些批的索引升序排序后,按顺序将所有批分配给机器,,且在进行批的分配时,使该批分配给所选机器后,该批的完工时间相对于分配到其他机器的完工时间最小,其中,i表示为机器索引,N表示种族规模。
2.根据权利要求1所述的一种基于历史信息指导的多目标工件批调度方法,其特征在于,所述步骤2)中在步骤23)之后,还包括:
24)、根据预设的概率值执行步骤25),
25)、将当前调度方案中的第一个批作为当前批,在满足所述约束条件的情况下,将当前批之外的其他批中的工件模拟插入到当前批中,并判断公式,
Figure FDA0003791212080000046
是否成立,其中,
C为批的总容量;
Figure FDA0003791212080000047
为工件Jμ的尺寸;Bu为当前批;Jμ为已调度至当前批中的工件;
Figure FDA0003791212080000048
为工件Jλ的模拟插入到当前批Bu后的早到时间;
Figure FDA0003791212080000049
为工件Jλ的模拟插入到当前批Bu后的延迟时间;
26)、若是,将工件Jλ插入到当前批中,得到的新的调度方案,将所述新的调度方案加入到当前种群中,然后,将所述当前批的下一个批作为当前批,并返回执行所述将当前批之外的其他批中的工件模拟插入到当前批中的步骤,直至当前调度方案中所有的批都被遍历,其中,所述当前种群为调度方案的集合。
3.根据权利要求2所述的一种基于历史信息指导的多目标工件批调度方法,其特征在于,所述将所述新的调度方案加入到当前种群中,包括:
判断步骤25)中的当前调度方案与步骤26)中得到的新的调度方案之间进行帕累托优化,并将支配解代替被支配解加入到当前种群中,或者将不存在帕累托支配关系的两个解加入到当前种群中,其中,所述解为调度方案。
4.根据权利要求3所述的一种基于历史信息指导的多目标工件批调度方法,其特征在于,所述参考向量的生成过程包括:
通过simplex-lattice设计法生成均匀分布在超平面的参考点;
获取所述参考点到超平面所在坐标系的原点的子参考向量;
将所述子参考向量转换为单位向量,将所述单位向量的组合作为参考向量。
5.根据权利要求4所述的一种基于历史信息指导的多目标工件批调度方法,其特征在于,所述对当前种群中的各个个体的目标向量进行标准化处理,包括:
利用公式,
Figure FDA0003791212080000051
对当前种群中的各个个体的目标向量进行标准化处理,其中,
f't,I,o为标准化后的第I个个体的目标向量中的第O个目标值;ft,i,o为第I个个体的目标向量中的第O个目标值;
Figure FDA0003791212080000052
为I个体的目标向量中的第O个目标值的最小值;
Figure FDA0003791212080000053
为I个体的目标向量中的第O个目标值的最大值;I为I个体的目标向量的数量;Pt为当前次迭代中个体的集合;O为个体的目标向量中包括的目标值的个数。
6.根据权利要求5所述的一种基于历史信息指导的多目标工件批调度方法,其特征在于,所述根据所述精英个体更新各个子种群的历史信息矩阵,包括:
根据所述精英个体,利用公式,
Figure FDA0003791212080000061
为初始值,利用公式,
Figure FDA0003791212080000062
更新历史信息矩阵中工件j在第g个子种群中的加工优先级、第g个子种群中加工工件数量排第a位的机器加工工件的数量、第g个子种群中机器Mi是加工工件数量排第a机器的概率,其中,
Figure FDA0003791212080000063
为第L次更新后历史信息矩阵中工件j在第g个子种群中的加工优先级;L为更新次数,且L小于等于
Figure FDA0003791212080000064
N为精英个体的数量;
Figure FDA0003791212080000065
为第L-1次更新后历史信息矩阵中工件j在第g个子种群中的加工优先级;n为子种群g中包含的工件的数量;φg,I为子种群
Figure FDA0003791212080000066
和个体I之间匹配关系,且
Figure FDA0003791212080000067
Cj,I为个体I中工件Jj的完工时间;j为工件的序号;n为工件的数量;g为子种群的序号;V为子种群的数量;
Figure FDA0003791212080000068
为第L次更新后第g个子种群中加工工件数量排第a位的机器加工工件的数量;
Figure FDA0003791212080000069
为第L-1次更新后第g个子种群中加工工件数量排第a位的机器加工工件的数量;Σ为求和函数;
Figure FDA00037912120800000610
为机器Mi和加工工件数量排第a名机器之间的匹配关系,且
Figure FDA0003791212080000071
Ui,I为机器Mi的工件加工数量;
Figure FDA0003791212080000072
为第L次更新后第g个子种群中机器Mi是加工工件数量排第a机器的概率;γt为自适应学习速度,且
Figure FDA0003791212080000073
tmax为最大迭代次数;m为机器数量;
利用公式,
Figure FDA0003791212080000074
更新历史信息矩阵中的优先级矩阵、机器加工工件的数量矩阵以及工件数量与机器的匹配概率矩阵,其中,
Figure FDA0003791212080000075
为历史信息矩阵中的优先级矩阵;
Figure FDA0003791212080000076
为机器加工工件的数量矩阵;
Figure FDA0003791212080000077
为工件数量与机器的匹配概率矩阵。
7.一种基于历史信息指导的多目标工件批调度装置,其特征在于,所述装置包括:
调度模块,用于在满足批调度的约束条件下将各个待调度工件随机调度至各个机器的各个批中,得到若干个当前个体,其中,所述约束条件包括:机器的容量、工件尺寸、同一工件仅能调度一次、最小化能源消耗以及最小加工时间中的一种或组合;
优化模块,用于以最小化早到延迟惩罚为目标对各个当前种群中的各个个体对应的调度方案进行优化,得到优化后的当前种群;
更新模块,用于将当前种群分为若干个子种群,针对每一个子种群,运用基于分解的思想淘汰掉其中第一预设数量个个体,将剩余的个体作为精英个体;根据所述子种群中各个精英个体的调度方案更新各个子种群的历史信息矩阵;根据更新后的历史信息矩阵以及随机变量获取新个体的生成参数,并根据所述新个体的生成参数生成第二预设数量个补充个体;
返回模块,用于将所述精英个体与所述补充个体的组合作为当前种群,获取所述当前种群中的帕累托非支配个体,并将所述当前种群中的帕累托非支配个体加入到非支配解集中,更新所述非支配解集;触发所述优化模块),直至达到最大迭代次数,并将最后一次迭代后得到的更新后的非支配集中的调度方案作为目标调度方案;
其中,所述优化模块还用于:
21)、针对所述当前种群中的每一个个体,将所述个体作为当前个体,将当前个体对应的调度方案中的第一个批作为当前批,针对所述当前批中的每一个当前工件,获取所述当前调度方案对应的最小化早到延迟惩罚;
22)、在满足所述约束条件的情况下,将所述当前工件与除当前批之外的其他批中的各个工件进行模拟交换,计算所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值,在所述最大值大于零时,将该差值的最大值对应的工件与所述当前工件交换位置;
23)、将该差值的最大值对应的工件与所述当前工件交换位置后得到的调度方案作为当前调度方案,将所述当前批的下一个批作为当前批,并返回执行步骤21)中所述获取所述当前调度方案对应的最小化早到延迟惩罚的步骤,直至所有的批都被遍历;
所述步骤22),包括:
利用公式,
Figure FDA0003791212080000081
获取所述当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件,其中,
Jv为当前调度方案对应的最小化早到延迟惩罚与模拟交换后的得到的若干个新的调度方案对应的最小化早到延迟惩罚之差的最大值对应的工件;
Figure FDA0003791212080000082
为在函数取最大值时求解自变量函数;Jλ为当前工件;Jμ为除当前工件之外的其他与当前工件模拟交换的工件;Ω为除当前工件之外的其他与当前工件模拟交换的工件的集合;
Figure FDA0003791212080000083
为工件Jλ的早到惩罚权重;
Figure FDA0003791212080000084
为工件Jλ的早到时间;
Figure FDA0003791212080000085
为工件Jλ的与工件Jμ模拟交换后的早到时间;
Figure FDA0003791212080000086
为工件Jλ的延迟惩罚权重;
Figure FDA0003791212080000087
为工件Jλ的延迟时间;
Figure FDA0003791212080000088
为工件Jλ的与工件Jμ模拟交换后的延迟时间;
Figure FDA0003791212080000089
为工件Jμ的早到惩罚权重;
Figure FDA00037912120800000810
为工件Jμ的早到时间;
Figure FDA00037912120800000811
为工件Jμ的与工件Jλ模拟交换后的早到时间;
Figure FDA00037912120800000812
为工件Jμ的延迟惩罚权重;
Figure FDA0003791212080000091
为工件Jμ的延迟时间;
Figure FDA0003791212080000092
为工件Jμ的与工件Jλ模拟交换后的延迟时间;
判断
Figure FDA0003791212080000093
是否大于零;
若是,将工件Jv与当前工件Jλ交换位置;
所述更新模块,还包括:
将当前次迭代中优化后个体的组合作为当前种群,并对当前种群中的各个个体的目标向量进行标准化处理;
根据标准化处理后的目标向量以及各个子种群对应的预设的参考向量,利用公式,
Figure FDA0003791212080000094
计算优化后的个体对应的标准化后的目标向量与各个参考向量之间的夹角,并将当前种群中优化后的个体划分至与自身夹角最小的参考向量对应的子种群中,其中,
cosθt,I,g为个体I的标准化后的目标向量与参考向量g之间的夹角;f't,I为目标向量标准化后的个体I的目标向量;t为第t次迭代中对应的当前次迭代的序号;||f't,I||为进行目标向量标准化后的个体I的目标向量的模;||vg||为参考向量vg的模;vg为第g个参考向量;Pt为第t次迭代中对应的当前种群;g为当前种群对应的第g个子种群;|V|为子种群的数量;
利用公式,Dt,I,o=||f't,I,o||I∈{1,2,...,|Pt|},计算进行目标向量标准化后的个体到原点的距离;
针对每一个子种群,将所述子种群中一半的个体作为精英个体保留,其中,所述精英个体到原点的距离均小于所述子种群中除精英个体以外的其他个体到原点的距离的最小值;
根据所述精英个体更新各个子种群的历史信息矩阵;
利用公式,
Figure FDA0003791212080000101
计算历史信息矩阵中的优先级矩阵对应的第一目标矩阵,其中,
Figure FDA0003791212080000102
为第一目标矩阵;
Figure FDA0003791212080000103
为历史信息矩阵中的优先级矩阵;
Figure FDA0003791212080000104
为预设的计算操作,且
Figure FDA0003791212080000105
δ为与
Figure FDA0003791212080000106
同维的随机变量;
利用公式
Figure FDA0003791212080000107
计算机器加工工件的数量矩阵对应的第二目标矩阵,根据第二目标矩阵,利用公式
Figure FDA0003791212080000108
计算出中间向量中各个元素的值,且R为1*m维向量,R=(r1,r2,…,rm);然后,根据中间向量R,利用公式,
Figure FDA0003791212080000109
计算目标向量中的各个元素的值,目标向量为1*m向量,且目标向量W=(w1,w2,…,wm),其中,a表示为机器顺序索引,
Figure FDA00037912120800001010
为机器加工工件的数量矩阵;
Figure FDA00037912120800001011
为第二目标矩阵;ε为与
Figure FDA00037912120800001012
同维的随机变量;
Figure FDA00037912120800001013
表示为第g子种群中加工工件数量排第a位的机器加工工件的数量,m表示机器的数量,y无意义,为求和公式中的自变量,从1到m,
Figure FDA00037912120800001014
表示为第g子种群中所有机器加工工件的总数量,ra表示为第a位机器加工工件数量的比率,n表示为工件的总数量,目标向量W中的元素wa为算法估算出的工件加工数量排第a名的机器应当加工工件的数量;目标向量中的第m个元素的计算公式为
Figure FDA00037912120800001015
其中,
Figure FDA00037912120800001016
表示为第m-1个机器加工工件预期数量,wm表示为最后一个机器m的加工工件预期数量;
利用轮盘赌算法确定
Figure FDA00037912120800001017
中a与i直接的对应关系;
将第一目标矩阵、目标向量以及
Figure FDA00037912120800001018
中a与i直接的对应关系作为限制条件,生成
Figure FDA00037912120800001019
个可行的调度方案;根据已经生成调度方案对应的工件调度顺序,将这些工件根据机器容量限制分批;按照这些批的索引升序排序后,按顺序将所有批分配给机器,,且在进行批的分配时,使该批分配给所选机器后,该批的完工时间相对于分配到其他机器的完工时间最小,其中,i表示为机器索引,N表示种族规模。
CN201911376115.XA 2019-12-27 2019-12-27 一种基于历史信息指导的多目标工件批调度方法及装置 Active CN111210125B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911376115.XA CN111210125B (zh) 2019-12-27 2019-12-27 一种基于历史信息指导的多目标工件批调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911376115.XA CN111210125B (zh) 2019-12-27 2019-12-27 一种基于历史信息指导的多目标工件批调度方法及装置

Publications (2)

Publication Number Publication Date
CN111210125A CN111210125A (zh) 2020-05-29
CN111210125B true CN111210125B (zh) 2022-10-11

Family

ID=70787692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911376115.XA Active CN111210125B (zh) 2019-12-27 2019-12-27 一种基于历史信息指导的多目标工件批调度方法及装置

Country Status (1)

Country Link
CN (1) CN111210125B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113191662B (zh) * 2021-05-17 2022-09-30 合肥工业大学 考虑支配工件和最小化能源消耗的智能协同调度方法及系统
CN113486074B (zh) * 2021-06-02 2023-11-03 北方工业大学 相关过程参量延迟时间的获取方法
CN116702343A (zh) * 2023-04-19 2023-09-05 辽宁工程技术大学 参数的多目标优化野马方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105631759A (zh) * 2015-12-24 2016-06-01 重庆大学 炼钢厂考虑铁水供应条件的多目标调度计划编制方法
CN105929690A (zh) * 2016-04-29 2016-09-07 南京信息工程大学 一种基于分解多目标进化算法的柔性车间鲁棒调度方法
CN106647262A (zh) * 2016-11-28 2017-05-10 中国人民解放军国防科学技术大学 一种面向敏捷卫星多目标任务规划的差分进化方法
CN108563200A (zh) * 2018-04-03 2018-09-21 安徽大学 一种基于蚁群算法的多目标的工件调度方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11379730B2 (en) * 2016-06-16 2022-07-05 The Aerospace Corporation Progressive objective addition in multi-objective heuristic systems and methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105631759A (zh) * 2015-12-24 2016-06-01 重庆大学 炼钢厂考虑铁水供应条件的多目标调度计划编制方法
CN105929690A (zh) * 2016-04-29 2016-09-07 南京信息工程大学 一种基于分解多目标进化算法的柔性车间鲁棒调度方法
CN106647262A (zh) * 2016-11-28 2017-05-10 中国人民解放军国防科学技术大学 一种面向敏捷卫星多目标任务规划的差分进化方法
CN108563200A (zh) * 2018-04-03 2018-09-21 安徽大学 一种基于蚁群算法的多目标的工件调度方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A reference vector guided evolutionary;Cheng Ran .et;《 IEEE Transactions on Evolutionary》;20161001;第20卷(第5期);全文 *
An improved MOEA/D for multi-objective job shop scheduling problem;Zhao, Fuqing.et;《INTERNATIONAL JOURNAL OF COMPUTER INTEGRATED MANUFACTURING》;20170331;第30卷(第6期);全文 *
带相同交货期和差异尺寸的提前/延迟批调度研究;李中亚;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20141015;全文 *
求解差异机器平行批调度的双目标协同蚁群算法;贾兆红等;《自动化学报》;20191207(第06期);全文 *

Also Published As

Publication number Publication date
CN111210125A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
CN111210125B (zh) 一种基于历史信息指导的多目标工件批调度方法及装置
Jiang et al. Energy-efficient scheduling of flexible job shops with complex processes: A case study for the aerospace industry complex components in China
CN104636871B (zh) 一种基于数据的单阶段多产品批处理的控制方法
Attar et al. Hybrid flexible flowshop scheduling problem with unrelated parallel machines and limited waiting times
CN110288185B (zh) 一种分布式柔性流水线调度方法
CN113867295A (zh) 一种基于数字孪生的制造车间agv动态调度方法、系统、设备及存储介质
CN107831740A (zh) 一种应用于笔记本零件的分布式生产制造过程中的优化调度方法
CN115145235B (zh) 一种铸造全流程的多目标智能调度方法
Wang et al. A novel imperialist competitive algorithm with multi-elite individuals guidance for multi-object unrelated parallel machine scheduling problem
CN115099459A (zh) 一种考虑间隙和装卸点的车间多行布局方法
Liu et al. Research on flexible job shop scheduling optimization based on segmented AGV
Thenarasu et al. Development and selection of hybrid dispatching rule for dynamic job shop scheduling using multi-criteria decision making analysis (MCDMA)
Zeng et al. Auction-based approach with improved disjunctive graph model for job shop scheduling problem with parallel batch processing
Zhang et al. A macro-level scheduling method using Lagrangian relaxation
Shivhare et al. Layout optimization in flexible manufacturing system using particle swarm optimization in Matlab
Halim et al. Single-machine integrated production preventive maintenance scheduling: A simheuristic approach
Demir et al. Process planning and due-date assignment with ATC dispatching where earliness, tardiness and due-dates are punished
Mohammadi et al. A rolling horizon-based heuristic to solve a multi-level general lot sizing and scheduling problem with multiple machines (MLGLSP_MM) in job shop manufacturing system
CN113485278B (zh) 优化两生产指标的柔性作业车间调度多目标分布估计方法
Lin et al. A multi-fidelity model approach for simultaneous scheduling of machines and vehicles in flexible manufacturing systems
CN115456268A (zh) 一种导向辊制造资源优化配置方法、装置、设备及介质
Zhou et al. A modified column generation algorithm for scheduling problem of reentrant hybrid flow shops with queue constraints
CN107609678B (zh) 一种考虑矩信息不确定性的同型并行机生产调度方法
Eles et al. Heuristic algorithm utilizing mixed-integer linear programming to schedule mobile workforce
Fattahi et al. A Multi-objective mixed-model assembly line sequencing problem with stochastic operation time

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