CN110414826B - 一种云制造环境下柔性多任务前摄性调度优化方法 - Google Patents
一种云制造环境下柔性多任务前摄性调度优化方法 Download PDFInfo
- Publication number
- CN110414826B CN110414826B CN201910666241.2A CN201910666241A CN110414826B CN 110414826 B CN110414826 B CN 110414826B CN 201910666241 A CN201910666241 A CN 201910666241A CN 110414826 B CN110414826 B CN 110414826B
- Authority
- CN
- China
- Prior art keywords
- individual
- task
- service
- fitness
- 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.)
- Active
Links
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000005457 optimization Methods 0.000 title claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 63
- 230000008569 process Effects 0.000 claims abstract description 14
- 230000035772 mutation Effects 0.000 claims description 28
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000002922 simulated annealing Methods 0.000 claims description 12
- 230000003044 adaptive effect Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000010845 search algorithm Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 230000002068 genetic effect Effects 0.000 claims description 6
- 230000008439 repair process Effects 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims 2
- 230000002028 premature Effects 0.000 abstract description 7
- 238000002474 experimental method Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000001793 Wilcoxon signed-rank test Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010353 genetic engineering Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012311 Shapiro-Wilk normality test Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 150000002148 esters Chemical class 0.000 description 1
- 230000008303 genetic mechanism Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- 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
-
- 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/06315—Needs-based resource requirements planning or analysis
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Primary Health Care (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manufacturing & Machinery (AREA)
Abstract
本发明公开了一种云制造环境下柔性多任务前摄性调度优化方法,云制造环境下柔性多任务前摄性调度优化方法面向服务供应方和服务使用方,用于优化服务供应方和服务使用方之间的任务调度,云制造环境下柔性多任务前摄性调度优化方法包括:建立基于时间、成本和可靠性的适应度函数;根据所述适应度函数,建立基于适应度、鲁棒性和稳定性的多任务前摄性调度目标函数;采用GA算法求解所述多任务前摄性调度目标函数。本发明考虑服务中断问题,结合多目标进行优化,在保证种群多样性的同时避免目标函数优化过程中过早收敛,从而获得更加强健且稳定的调度方案。
Description
技术领域
本申请属于云制造领域,具体涉及一种云制造环境下柔性多任务前摄性调度优化方法。
背景技术
云制造(cloud manufacturing,CMfg)是一种新兴的面向服务的制造模式,由制造网格、敏捷制造、虚拟制造等先进制造模式发展而来。云制造结合了云计算、物联网、人工智能、信息化技术、面向服务技术等不同类型的先进技术,以实现全球分布式制造资源的大规模共享和按需使用。通过将制造服务匹配到特定任务来实现定制服务供应,对柔性多任务调度是至关重要的。
CMfg系统能虚拟化制造资源并将其封装为制造服务,以支持不同客户的定制需求。CMfg系统的关键特点是能够同时响应多个个性化制造任务。与典型制造系统中的柔性作业车间调度问题相比,CMfg系统中的柔性多任务调度问题具有以下四个特点:首先,大规模定制环境下的制造需求是多样化的。其次,由不同分布式服务供应商提供的相同类型的服务具有不同的服务能力。再次,评估服务性能的指标不仅仅局限于时间,其具有多样化的特点,如时间、成本和可靠性等。最后,CMfg系统中的服务具有高度的不确定性,因为所有服务都可以自由地加入或退出CMfg系统。
近年来,CMfg环境下的柔性多任务调度问题引起了学者的广泛关注。柔性多任务调度问题包括任务分配和任务排序两个子问题:通过任务分配为每个子任务分配制造服务,并对由同一服务实现的不同子任务进行排序,以获得近似最优的调度方案。柔性多任务调度问题是NP-hard问题。一般来说,调度问题的所有参数都是提前确定的。然而,这一假设在不确定情况下不成立。在真实的制造环境中,制造过程中可能会出现许多不确定情况。不确定性是信息不精确的一种形式。对于服务供应商来说,其服务可以动态地进入或退出CMfg系统,从而导致服务在某一段时间内不可用。对于客户来说,可以随时提交制造任务并对此进行调度,从而导致紧急任务到达和意外任务到达等问题。
解决调度问题有两种方法:确定性调度方法和前摄性调度方法。对于确定性调度方法,制造过程将完全按照计划执行,潜在的不确定性将被忽略。该方法的目标是优化解的适应度,包括最小化时间、最小化成本和最大化可靠性。然而,在真实的制造环境中,简单的确定性调度方法得到的调度方案是脆弱的,其难以灵活应对不确定性。前摄性调度方法考虑鲁棒性和稳定性来应对不确定情况。根据历史制造记录,可以得到包括中断次数、中断时间和中断持续时间在内的服务中断信息。最坏的情况就是所有预计的服务中断都实际发生了。一个强健且稳定的调度方案是可以应对最坏情况的。显然,前摄性调度方案比确定性调度方案更有效、更实用。
但是,现有的前摄性调度方法往往考虑的目标单一,优化方法得到的种群的多样性较弱,并且在目标函数优化过程中过早收敛,难以得到较优的调度方案。因此需要一种更加完善的调度方案来解决上述不足。
发明内容
本申请的目的在于提供一种云制造环境下柔性多任务前摄性调度优化方法,考虑服务中断问题,结合多目标进行优化,在保证种群多样性的同时避免目标函数优化过程中过早收敛,从而获得更加强健且稳定的调度方案。
为实现上述目的,本申请所采取的技术方案为:
一种云制造环境下柔性多任务前摄性调度优化方法,所述云制造环境下柔性多任务前摄性调度优化方法面向服务供应方和服务使用方,用于优化服务供应方和服务使用方之间的任务调度,所述云制造环境下柔性多任务前摄性调度优化方法包括:
步骤1、建立基于时间、成本和可靠性的适应度函数;
步骤2、根据所述适应度函数,建立基于适应度、鲁棒性和稳定性的多任务前摄性调度目标函数;
步骤3、采用遗传算法求解所述多任务前摄性调度目标函数,包括:
第一阶段:
步骤3.1、初始化获得种群,该种群包含多个个体,每个个体即一个前摄性调度方案,采用矩阵编码方式表示各个体;
步骤3.2、计算自适应交叉概率和自适应变异概率,利用所述适应度函数得到每一个体对应的适应度,根据个体的适应度采用轮盘赌方法从种群中选择父母个体,父母个体依据自适应交叉概率进行交叉操作或依据自适应变异概率进行变异操作,得到子个体保存至当前的种群;
步骤3.3、每隔预设的迭代次数,以步骤3.2更新后的种群中适应度最优的个体为出发点进行禁忌搜索算法操作得到子个体,并基于精英策略更新种群;
步骤3.4、对步骤3.3更新后的种群进行模拟退火算法操作,保留种群中的部分个体作为新的种群;
步骤3.5、判断是否达到预设的第一阶段迭代次数,若达到预设的第一阶段迭代次数,则保留步骤3.4更新后的种群作为第二阶段初始的种群,并进入第二阶段;否则返回步骤3.2继续迭代;
第二阶段:
步骤3.6、随机选取一个或多个服务供应方模拟服务中断;
步骤3.7、计算自适应交叉概率和自适应变异概率,利用所述多任务前摄性调度目标函数得到每一个体对应的目标函数,根据个体的目标函数采用轮盘赌方法从种群中选择父母个体,父母个体依据自适应交叉概率进行交叉操作或依据自适应变异概率进行变异操作,得到子个体保存至当前的种群;
步骤3.8、每隔预设的迭代次数,以步骤3.7更新后的种群中目标函数的值最优的个体为出发点进行禁忌搜索算法操作得到子个体,并基于精英策略更新当前的种群;
步骤3.9、获取步骤3.8更新后的种群中因服务中断而不可行的个体,采用改良的受影响的操作重调度方法或全重调度方法对不可行的个体进行重调度操作,并利用所述多任务前摄性调度目标函数计算重调度操作后修复的个体的目标函数;
步骤3.10、对步骤3.9更新后的种群进行模拟退火算法操作,保留种群中的部分个体作为新的种群;
步骤3.11、判断是否达到预设的第二阶段迭代次数,若达到预设的第二阶段迭代次数,则输出迭代过程中产生的最优个体,即最佳的前摄性调度方案;否则将返回步骤3.7继续迭代。
作为优选,所述建立基于时间、成本和可靠性的适应度函数,包括:
建立适应度函数如下:
其中,ωt、ωc和ωr分别表示时间、成本和可靠性的权重,且ωt+ωc+ωr=1,ttmax、tcmax和trmax分别表示完成所有任务的最大总时间、最大总成本和最大总可靠性,ttmin、tcmin和trmin分别表示完成所有任务的最小总时间、最小总成本和最小总可靠性,tt、tc和tr分别表示完成所有任务的总时间、总成本和总可靠性,且通过以下公式计算:
其中,aetij表示第i个任务的第j个子任务的实际结束时间,i表示任务的索引,且i=1,…,I,j表示第i个任务的子任务的索引,且j=1,…,Ji,k表示制造服务的索引,且k=1,…,K,cijk表示第k个制造服务完成第i个任务的第j个子任务的成本,rijk表示第k个制造服务完成第i个任务的第j个子任务的可靠性,λijk为决策变量,如果选择第k个制造服务完成第i个任务的第j个子任务,那么λijk=1;否则,λijk=0。
作为优选,所述根据所述适应度函数,建立基于适应度、鲁棒性和稳定性的多任务前摄性调度目标函数,包括:
计算鲁棒性指标RM如下:
RM=|fitnessP-fitnessR|
其中,fitnessP为前摄性调度方案的适应度,fitnessR为实际调度方案的适应度,实际调度方案指前摄性调度方案因服务中断而进行重调度操作修复后的调度方案;
计算稳定性指标SM如下:
其中,aetijP、cijP和rijP分别表示前摄性调度方案中第i个任务的第j个子任务的实际结束时间、成本和可靠性,aetijR、cijR和rijR分别表示实际调度方案中第i个任务的第j个子任务的实际结束时间、成本和可靠性,tmax、cmax和rmax分别表示制造服务中的最大时间、最大成本和最大可靠性,tmin、cmin和rmin分别表示制造服务中的最小时间、最小成本和最小可靠性;
根据所述鲁棒性指标和稳定性指标建立多任务前摄性调度目标函数如下:
max f=β1fitnessP+β2e-RM+β3e-SM
其中,β1、β2和β3分别表示前摄调度方案的适应度、鲁棒性和稳定性的权重,且β1+β2+β3=1,fitnessP为前摄性调度方案的适应度,RM为鲁棒性指标,SM为稳定性指标。
作为优选,所述多任务前摄性调度目标函数的约束条件为:
每个子任务至少有一个可用的制造服务供选择:
每个子任务只能由一个可用的制造服务完成:
每个制造服务在同一时间最多只能处理一个子任务:
一个任务内的子任务都按给定的顺序执行:
子任务的制造过程连续:
所有任务的总时间不超过总时间限制:
所有任务的总成本不超过总成本限制:
所有任务的总可靠性不低于总可靠性限制:
其中,αijk为决策变量,如果第k个制造服务能够用于完成第i个任务的第j个子任务,那么αijk=1;否则,αijk=0,λijk(s)为决策变量,如果第k个制造服务在时间段s被第i个任务的第j个子任务占用,那么λijk(s)=1;否则,λijk(s)=0,s为时间段的索引,且s=1,…,S,estij表示第i个任务的第j个子任务的最早开始时间,esti(j+1)表示第i个任务的第j+1个子任务的最早开始时间,astij表示第i个任务的第j个子任务的实际开始时间,tijk表示第k个制造服务完成第i个任务的第j个子任务的时间,eetij表示第i个任务的第j个子任务的最早结束时间,tt0表示完成所有任务的总时间限制,tc0表示完成所有任务的总成本限制,tr0表示完成所有任务的总可靠性限制。
作为优选,所述采用矩阵编码方式表示各个体,包括:
所述个体包含任务分配和任务排序,采用包含两行的矩阵表示一个个体,矩阵的两行中,一行为顺序链用于表示任务排序,另一行为服务链用于表示任务分配;
所述顺序链中,不同元素表示不同任务的子任务,相同元素表示相同任务的不同子任务,且从顺序链的初始位至末位为各子任务的调度顺序;
所述服务链中,不同元素表示不同的制造服务,相同元素表示同一制造服务被分配多个子任务,服务链的初始位至末位对应于按默认顺序排列后的各子任务,其中每个任务和每个子任务都给定数字表示,所述的默认顺序指任务和子任务按照给定的数字从小到大排列。
作为优选,所述交叉操作包括基于优先级的交叉操作和基于服务的交叉操作;
所述顺序链采用基于优先级的交叉操作,所述基于优先级的交叉操作包括:将包含不同任务的任务集随机分为两个子集,将从种群中被选中的两个个体分为母个体和父个体,并生成空白的第一子个体和第二子个体,将所述母个体中属于第一个子集的元素复制到第一子个体的对应位置,将所述父个体中属于第一个子集的元素复制到第二子个体的对应位置,将所述母个体中属于第二个子集的元素按序填充至第二子个体的空白位置,将所述父个体中属于第二个子集的元素按序填充至第一子个体的空白位置;
所述服务链采用基于服务的交叉操作,所述基于服务的交叉操作包括:选取两个交叉点确定交叉片段,将从种群中被选中的两个个体分为母个体和父个体,并生成空白的第一子个体和第二子个体,交换母个体和父个体中属于交叉片段的元素,将元素交换后的母个体中的元素复制到第一子个体的对应位置,将元素交换后的父个体中的元素复制到第二子个体的对应位置。
作为优选,所述变异操作包括单点变异和两点变异,所述单点变异应用于服务链,两点变异应用于顺序链;
所述单点变异包括:将从种群中被选中的一个个体作为母个体,将所述母个体复制一份作为子个体,随机选择子个体中的一个位置,并对该位置的元素进行变异;
所述两点变异包括:将从种群中被选中的一个个体作为母个体,将所述母个体复制一份作为子个体,随机选择子个体中的两个位置,并交换选中的两个位置的元素。
作为优选,所述自适应交叉概率的计算公式如下:
所述自适应变异概率的计算公式如下:
其中,δ1,δ2,δ3∈(0,1),h表示当前迭代次数,maxiter表示遗传算法的最大迭代次数,μ为正无穷小数,表示当前的种群的平均目标值,Fmax表示当前的种群的最大目标值,Fmin表示当前的种群的最小目标值,Xg表示种群中的第g个个体,在第一阶段,F(Xg)表示根据所述适应度函数得到的个体g的适应度,在第二阶段,F(Xg)表示根据所述多任务前摄性调度目标函数得到的个体g的目标函数f。
本申请提供的云制造环境下柔性多任务前摄性调度优化方法,第一阶段的目标是最大化调度方案的适应度,第二阶段的目标是最大化调度方案的适应度并最小化服务中断的影响;在调度过程中考虑服务中断情况,以更好地避免将子任务分配给未来在该时段可能会出现中断的服务,降低不确定性的影响;提出了综合考虑适应度、鲁棒性和稳定性的目标函数,以解决考虑服务中断的柔性多任务前摄性调度问题;在解决多任务前摄性调度问题时,采用矩阵编码方式直观表示调度方案,并且通过结合自适应参数和两种局部搜索策略以保持种群的多样性并克服过早收敛的问题,从而获得更加强健且稳定的调度方案。
附图说明
图1为本申请的云制造环境下柔性多任务前摄性调度优化方法的流程图;
图2为本申请采用GA算法求解多任务前摄性调度目标函数的流程图;
图3为本申请采用矩阵编码方式表示个体的一种实施例示意图;
图4为本申请对个体进行交叉操作的一种实施例示意图;
图5为本申请对个体进行变异操作的一种实施例示意图;
图6为实施例1中β1=0.6,β2=0.2,β3=0.2;ω1=0.4,ω2=0.3,ω3=0.3;种群大小=30的参数条件下得到的适应度和f的曲线图;
图7为实施例1中β1=0.6,β2=0.2,β3=0.2;ω1=0.2,ω2=0.4,ω3=0.4;种群大小=30的参数条件下得到的适应度和f的曲线图;
图8为实施例1中β1=0.5,β2=0.1,β3=0.4;ω1=0.4,ω2=0.3,ω3=0.3;种群大小=30的参数条件下得到的适应度和f的曲线图;
图9为实施例1中β1=0.6,β2=0.2,β3=0.2;ω1=0.4,ω2=0.3,ω3=0.3;种群大小=50的参数条件下得到的适应度和f的曲线图;
图10为实施例1基于两种权重函数得到的前摄性调度方案的适应度箱线图;
图11为实施例1基于两种权重函数得到的实际调度方案的适应度箱线图;
图12为实施例1中前摄性调度性方案和确定性调度方案分别重调度后得到的实际调度方案的最大适应度的均值矩形图;
图13为实施例1前摄性调度方案和确定性调度方案的最大目标函数f的均值的矩形图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
其中一实施例中,提供一种云制造环境下柔性多任务前摄性调度优化方法,提供的云制造环境下柔性多任务前摄性调度优化方法面向服务供应方和服务使用方,用于优化服务供应方和服务使用方之间的任务调度,得到强健且稳定的调度方案。
在柔性多任务前摄性调度问题中,存在一组独立的制造任务Task={task1,task2,...,taskI}(以下简称任务)和一组制造服务MS={ms1,ms2,...,msK}(以下简称服务)。每个任务由一个或多个子任务组成,且每个服务可以被分配实现多个子任务。每个任务内的子任务将按给定的顺序执行。
由于只考虑确定性信息的调度方案过于理想化,故本实施例中考虑了服务中断这种不确定情况,以最小化不确定性对原调度方案的影响。当服务中断时,将采用重调度方法获得实际调度方案。实际调度方案是指前摄性调度方案因服务中断而重调度后的方案。为了便于对任务调度的讨论,本实施例事先设定以下讨论前提:
(1)所有服务在开始时都是可用的。
(2)子任务的制造过程是连续的,一旦中断,子任务需要重新启动。
(3)制造时间相比,准备时间可以忽略不计。
为了更清楚地理解本实施例中提出的柔性多任务前摄性调度问题,优先定义相应的参数和决策变量表示如下:
参数:
i表示任务的索引,且i=1,…,I;j表示第i个任务的子任务的索引,且j=1,…,Ji;k表示制造服务的索引,且k=1,…,K;s表示时间段的索引,且s=1,…,S;stij表示第i个任务的第j个子任务;msk表示第k个制造服务;tijk表示msk完成stij的时间;cijk表示msk完成stij的成本;rijk表示msk完成stij的可靠性;estij表示stij的最早开始时间;eetij表示stij的最早结束时间;astij表示stij的实际开始时间;aetij表示stij的实际结束时间;tt表示完成所有任务的总时间;tc表示完成所有任务的总成本;tr表示完成所有任务的总可靠性;tt0表示完成所有任务的总时间限制;tc0表示完成所有任务的总成本限制;tr0表示完成所有任务的总可靠性限制。
决策变量:
αijk为二元变量:如果服务msk能够用于完成子任务stij,那么αijk=1;否则,αijk=0;
λijk为二元变量:如果选择服务msk完成子任务stij,那么λijk=1;否则,λijk=0;
λijk(s)为二元变量:如果服务msk在时间段s被子任务stij占用,那么λijk(s)=1;否则,λijk(s)=0。
具体的,如图1所示,本实施例的云制造环境下柔性多任务前摄性调度优化方法包括以下步骤:
步骤1、建立基于时间、成本和可靠性的适应度函数。
解决柔性多任务前摄性调度问题的方法主要是优化适应度,适应度是整合多个QoS属性的优化目标,在一个实施例中,适应度包括三个子目标:最小化时间、最小化成本和最大化可靠性。
所建立的适应度函数如下:
其中,ωt、ωc和ωr分别表示时间、成本和可靠性的权重,且ωt+ωc+ωr=1,ttmax、tcmax和trmax分别表示完成所有任务的最大总时间、最大总成本和最大总可靠性,ttmin、tcmin和trmin分别表示完成所有任务的最小总时间、最小总成本和最小总可靠性,tt、tc和tr分别表示完成所有任务的总时间、总成本和总可靠性,且通过以下公式计算:
其中,aetij表示第i个任务的第j个子任务的实际结束时间,i表示任务的索引,且i=1,…,I,j表示第i个任务的子任务的索引,且j=1,…,Ji,k表示制造服务的索引,且k=1,…,K,cijk表示第k个制造服务完成第i个任务的第j个子任务的成本,rijk表示第k个制造服务完成第i个任务的第j个子任务的可靠性,λijk为决策变量。
其中,最大总时间(时间即制造时间)应理解为所有子任务中各子任务的最大时间之和,最大总成本(成本即制造成本)应理解为所有子任务中各子任务的最大成本之和,最大总可靠性应理解为所有子任务中各子任务的最大可靠性之和。同理得到最小总时间、最小总成本和最小总可靠性。
步骤2、根据所述适应度函数,建立基于适应度、鲁棒性和稳定性的多任务前摄性调度目标函数。
本实施例针对柔性多任务前摄性调度优化问题,提出三个优化目标:(1)适应度值高;(2)鲁棒性强,即适应度值的偏差小;(3)稳定性好,即QoS属性值的偏差小。
在多任务前摄性调度目标函数中,适应度是整合多个QoS属性的优化目标,鲁棒性和稳定性则代表一个调度方案对不确定情况的应对能力。
鲁棒性是指前摄性调度方案和实际调度方案之间的总体差异。当服务中断发生时,前摄性调度方案需要重调度以保持其可行性。如果一个前摄性调度方案在重调度后仍然表现较好,则称其为强健的前摄性调度方案。
本实施例中,鲁棒性指标(robustness measure,RM)用于计算前摄性调度方案与实际调度方案之间的适应度偏差,且RM越小,前摄性调度方案的鲁棒性越强,鲁棒性指标计算公式如下:
RM=|fitnessP-fitnessR| (5)
其中,fitnessP为前摄性调度方案的适应度,fitnessR为实际调度方案的适应度。
当服务中断发生时,如果一个前摄性调度方案中每个子任务的表现与实际调度方案中的表现没有显著偏差,则称其为稳定的前摄性调度方案。
本实施例提出了一种改进的稳定性指标(stability measure,SM),以评估前摄性调度方案与实际调度方案之间的多QoS属性的偏差。且SM值越小,前摄性调度方案的稳定性越好,稳定性指标的计算公式如下:
其中,aetijP、cijP和rijP分别表示前摄性调度方案中第i个任务的第j个子任务的实际结束时间、成本和可靠性,aetijR、cijR和rijR分别表示实际调度方案中第i个任务的第j个子任务的实际结束时间、成本和可靠性,tmax、cmax和rmax分别表示所有制造服务中的最大时间、最大成本和最大可靠性,tmin、cmin和rmin分别表示所有制造服务中的最小时间、最小成本和最小可靠性。
稳定性指标的计算公式中的归一化操作可保证多个QoS属性在相同的数量级上。
本实施例根据以上所提的三个优化目标,建立多任务前摄性调度目标函数如下:
maxf=β1fitnessP+β2e-RM+β3e-SM (7)
其中,β1、β2和β3分别表示前摄性调度方案的适应度、鲁棒性和稳定性的权重,且β1+β2+β3=1,fitnessP为前摄性调度方案的适应度,RM为鲁棒性指标,SM为稳定性指标。
建立公式(7),即多任务前摄性调度目标函数的约束条件为:
1、每个子任务至少有一个可用的制造服务供选择:
2、每个子任务只能由一个可用的制造服务完成:
3、每个制造服务在同一时间最多只能处理一个子任务:
4、一个任务内的子任务都按给定的顺序执行:
5、子任务的制造过程连续:
6、所有任务的总时间不超过总时间限制:
7、所有任务的总成本不超过总成本限制:
8、所有任务的总可靠性不超过总可靠性限制:
其中,αijk、λijk和λijk(s)为决策变量,s为时间段的索引,且s=1,…,S,estij表示第i个任务的第j个子任务的最早开始时间,esti(j+1)表示第i个任务的第j+1个子任务的最早开始时间,astij表示第i个任务的第j个子任务的实际开始时间,tijk表示第k个制造服务完成第i个任务的第j个子任务的时间。
步骤3、如图2所示,采用GA算法求解所述多任务前摄性调度目标函数。
GA算法是一种启发式搜索算法,其模拟达尔文进化的自然选择和遗传机制以寻找最优解。本实施例所采用的GA算法包括两个阶段,对GA算法改进以得到效果更好的优化算法,为了便于描述本实施例中将改进后的GA算法命名为两阶段改进型遗传算法(two stageextended genetic algorithm,2S-EGA),具体如下:
第一阶段:
步骤3.1、初始化获得种群,该种群包含多个个体,每个个体即一个前摄性调度方案,采用矩阵编码方式表示各个体。
由于柔性多任务前摄性调度问题由任务分配和任务排序两个子问题组成,故种群中的各个体包含任务分配和任务排序。
本实施例采用包含两行的矩阵表示一个个体,矩阵的两行中,一行为顺序链用于表示任务排序,另一行为服务链用于表示任务分配。
如图3所示,顺序链中,不同元素表示不同任务的子任务,相同元素表示相同任务的不同子任务,且从顺序链的初始位至末位为各子任务的调度顺序。
例如图3的顺序链中,两个元素“2”表示任务2包含两个子任务,第一个(在第一列中)和第二个(在第五列中)分别表示任务2的第一个子任务st21和第二个子任务st22。同样的,两个元素“1”表示任务1包含两个子任务,第一个(在第二列中)和第二个(在第四列中)分别表示任务1的第一个子任务st11和第二个子任务st12。两个元素“3”表示任务3也包含两个子任务。且根据从顺序链的初始位至末位为各子任务的调度顺序可得,本例中的子任务调度顺序为“st21-st11-st31-st12-st22-st32”。
服务链中,不同元素表示不同的制造服务,相同元素表示同一制造服务被分配多个子任务,服务链的初始位至末位对应于按默认顺序排列后的各子任务。
本实施例中每个任务和每个子任务都给定数字,所述的默认顺序指任务和子任务都按照给定的数字从小到大排列,以图3中的顺序链为例,该顺序链包括任务1、任务2和任务3,任务1包括子任务11和子任务12,任务2包括子任务21和子任务22,任务3包括子任务31和子任务32,则按默认顺序排列后的各子任务为“st11-st12-st21-st22-st31-st32”。
故服务链中,第一个元素“2”(在第一列中)和第二个元素“3”(在第二列中)表示分别选择服务ms2和ms3实现任务1的子任务st11和st12;第三个元素“2”(在第三列中)和第四个元素“1”(在第四列中)表示分别选择服务ms2和ms1实现任务2的子任务st21和st22。因此,图3的服务链表示服务“ms2-ms3-ms2-ms1-ms3-ms1”分别完成子任务“st11-st12-st21-st22-st31-st32”。
步骤3.2、计算自适应交叉概率和自适应变异概率,利用所述适应度函数得到每一个体对应的适应度,根据个体的适应度采用轮盘赌方法从种群中选择父母个体,父母个体依据自适应交叉概率进行交叉操作或依据自适应变异概率进行变异操作,得到子个体保存至当前的种群。
遗传操作是GA算法产生新个体的必要步骤,遗传操作包括三种类型:选择操作、交叉操作和变异操作。
本实施例采用轮盘赌的方法来确定种群中每个个体被选择的可能性,从而进行选择操作。轮盘赌中被选择的可能性的计算公式如下:
其中,G表示种群大小,Xg表示种群中的第g个个体,在第一阶段,F(Xg)为公式(1)中得到的个体g的适应度。
交叉操作和变异操作是GA算法产生新个体的主要过程。对于求解离散优化问题,固定交叉概率和固定变异概率无法很好地求解问题。过大的交叉概率加快了新个体的生成,相当于纯随机搜索算法,很难找到最优解。过小的交叉概率又降低了收敛速度。对于突变概率,如果其值太小,不容易产生新的个体。如果突变概率过大,精英个体往往会被破坏掉。
本实施例提供一种自适应交叉概率和自适应变异概率,随着迭代次数的增加,为了保持种群的多样性,防止陷入局部最优,会增加交叉概率和变异概率。此外,适应度较差的个体有更多的机会被新个体替代,以克服早熟收敛问题。
其中,自适应交叉概率的计算公式如下:
所述自适应变异概率的计算公式如下:
其中,δ1,δ2,δ3∈(0,1),h表示当前迭代次数,maxiter表示GA算法的最大迭代次数(GA算法两个阶段的总最大迭代次数),μ为正无穷小数,表示当前的种群的平均目标值,Fmax表示当前的种群的最大目标值,Fmin为当前的种群的最小目标值,Xg表示种群中的第g个个体,在第一阶段,F(Xg)表示根据所述适应度函数得到的个体g的适应度。
在得到自适应交叉概率和自适应变异概率后,对种群进行相应的交叉操作和变异操作,本实施例中针对矩阵编码方式表示的个体提供了如下方式实现交叉和变异。
在一个实施例中,交叉操作包括基于优先级的交叉操作和基于服务的交叉操作。
个体中的顺序链采用基于优先级的交叉操作,基于优先级的交叉操作包括:将包含不同任务的任务集随机分为两个子集,将从种群中被选中的两个个体分为母个体和父个体,并生成空白的第一子个体和第二子个体,将所述母个体中属于第一个子集的元素复制到第一子个体的对应位置,将所述父个体中属于第一个子集的元素复制到第二子个体的对应位置,将所述母个体中属于第二个子集的元素按序填充至第二子个体的空白位置,将所述父个体中属于第二个子集的元素按序填充至第一子个体的空白位置。
以如图4(a)所示为例对基于优先级的交叉操作进一步说明:任务集随机得到的两个子集中,一个子集包含元素3,另一个子集包含元素1和2。交叉时,现将母个体中的元素3复制到子个体1的对应位置,将父个体中的元素3复制到子个体2的对应位置,再将母个体中的元素1和元素2按序填充至子个体2的空白位置,将父个体中的元素1和元素2按序填充至子个体1的空白位置。
个体中的服务链采用基于服务的交叉操作,基于服务的交叉操作包括:选取两个交叉点确定交叉片段,将从种群中被选中的两个个体分为母个体和父个体,并生成空白的第一子个体和第二子个体,交换母个体和父个体中属于交叉片段的元素,将元素交换后的母个体中的元素复制到第一子个体的对应位置,将元素交换后的父个体中的元素复制到第二子个体的对应位置。
以如图4(b)所示为例对基于服务的交叉操作进一步说明:
选取第一列和第二列之间为交叉点1,选取第四列和第五列之间为交叉点2,将母个体和父个体的第二列、第三列和第四列的元素对应交换,即将母个体中的1-3-1与父个体中的3-2-1交换,并将交换后的母个体中的元素复制到第一子个体的对应位置,将交换后的父个体中的元素复制到第二子个体的对应位置。
在一个实施例中,变异操作包括单点变异和两点变异,所述单点变异应用于服务链,两点变异应用于顺序链。
如图5(a)所示,单点变异包括:将从种群中被选中的一个个体作为母个体,将所述母个体复制一份作为子个体,随机选择子个体中的一个位置,并对该位置的元素进行变异。
如图5(b)所示,两点变异包括:将从种群中被选中的一个个体作为母个体,将所述母个体复制一份作为子个体,随机选择子个体中的两个位置,并交换选中的两个位置的元素。
步骤3.3、每隔预设的迭代次数,以步骤3.2更新后的种群中适应度最优的个体为出发点进行禁忌搜索算法操作得到子个体,并基于精英策略更新种群。
为了避免陷入局部最优,本实施例采用了两种局部搜索策略对基础型GA算法进行改进。第一个局部搜索策略是禁忌搜索(tabu search,TS)。TS算法通过记录并有意识地避开表现良好的个体以扩大搜索空间,通常用于与其它启发式算法相集成。
考虑到该算法的计算复杂度,本实施例设置每隔预设的迭代次数后才进行一次禁忌搜索。在一个实施例中,设置预设的迭代次数为d,且d=10。即每d次迭代会对当前的种群的最优个体执行一次TS算法相关操作,在执行TS过程中,即使没有生成更好的子个体,TS算法的迭代次数也不超过maxts,maxts为TS算法的最大迭代次数,本实施例中设置maxts=150。
将其与精英策略相结合,精英策略在一系列的遗传操作后将精英个体保留到下一代,以进一步更新种群,保留较优个体。
步骤3.4、对步骤3.3更新后的种群进行模拟退火算法操作,保留种群中的部分个体作为新的种群。
第二种局部搜索策略是模拟退火(simulate anneal,SA)。SA算法用于个体保留而不是产生新个体,精英策略在一系列的遗传操作后将精英个体保留到下一代,而SA算法能够确保种群的多样性。因此,通过加入SA算法,表现较差的子个体仍然有机会被保留到下一代。
步骤3.5、判断是否达到预设的第一阶段迭代次数,若达到预设的第一阶段迭代次数,则保留步骤3.4更新后的种群作为第二阶段初始的种群,并进入第二阶段;否则返回步骤3.2继续迭代。
在一个实施例中,设置第一阶段迭代次数为100次。
当满足第一阶段的终止条件时,第二阶段基于第一阶段的最终种群进行迭代,以生成强健且稳定的前摄性调度方案。
第二阶段:
步骤3.6、随机选取一个或多个服务供应方模拟服务中断。
服务中断是最常见的不确定情况。在服务执行期间,服务可能由于某种原因被强制占用,使得该服务在此后的一段时间内不可用。现有技术为了简化问题,将所有中断视为一个中断。为了更好地反映真实场景,本实施例允许有多个服务中断,并假设:一个服务上只有一次服务中断,但每个服务都有可能产生服务中断。
本实施例的服务中断涉及四个元素:中断次数、中断的服务、中断开始时间和中断持续时间。本实施例首先假设服务中断相关信息是可以提前获得的。
其中,中断次数是一个随机生成的正整数(小于服务总数),然后随机中断几个服务。中断开始时间τk和中断持续时间τk,duration的计算公式如下:
τk=θ·ttmin (21)
τk,duration=η·tmax (22)
其中,θ为一个0到1范围内的小数,参数η决定了服务的中断持续时间。考虑到不同的中断持续时间可能会对实际结果产生不同的影响,本实施例将服务中断分为两种类型:类型1(η∈(0,0.5))和类型2(η∈(0.5,1))。
步骤3.7、计算自适应交叉概率和自适应变异概率,利用所述多任务前摄性调度目标函数得到每一个体对应的目标函数,根据个体的目标函数采用轮盘赌方法从种群中选择父母个体,父母个体依据自适应交叉概率进行交叉操作或依据自适应变异概率进行变异操作,得到子个体保存至当前的种群。
步骤3.7的具体操作流程参见步骤3.2,在此不再进行赘述。需要指出的是,步骤3.7与步骤3.2的不同之处在于,采用轮盘赌方法选择个体时,公式(18)中的F(Xg)为公式(7)中得到的个体g的目标函数f。同时,计算自适应交叉概率和自适应变异概率时,公式(19)和(20)中的F(Xg)为公式(7)中得到的个体g的目标函数f。
步骤3.8、每隔预设的迭代次数,以步骤3.7更新后的种群中目标函数的值最优的个体为出发点进行禁忌搜索算法操作得到子个体,并基于精英策略更新当前的种群。
步骤3.8的具体操作流程参见步骤3.3,在此不再进行赘述。
步骤3.9、获取步骤3.8更新后的种群中因服务中断而不可行的个体,采用mAOR方法或TR方法对不可行的个体进行重调度操作,并利用所述多任务前摄性调度目标函数计算重调度操作后修复的个体的目标函数。
改良的受影响的操作重调度(modified affected operations rescheduling,mAOR)(Subramaniam和Raheja,2003),即mAOR方法可以通过按顺序执行常见的修复操作来处理各种不确定情况。使用mAOR方法可以使子任务的顺序保持不变以减少调度方案的波动,且当服务中断时只有直接或间接受影响的子任务会被重新调度。
服务中断发生后,实际调度方案的子任务的实际结束时间aetijR由以下公式计算得到:
aetijR=astijR+tijk (23)
estijR=max{aeti(j-1)R,ptk} (25)
其中,astijR为实际调度方案中任务i中子任务j的实际开始时间,τk和τk,duration为服务k的中断开始时间和中断持续时间,estijR为实际调度方案中任务i中的子任务j的最早开始时间,ptk为服务k被占用的累积时间。
将通过重调度操作生成可行的实际调度方案,以适应服务中断造成的影响。
若通过mAOR方法得到的实际调度方案不满足约束条件(15)~(17),则采用全重调度(total rescheduling,TR)(Abumaizar和Svestka,2010),即TR方法再次进行重调度,直到生成可行的实际调度方案或满足TR的终止条件。如果在TR的最大迭代次数范围内没有发现可行的实际调度方案,则将前摄性调度方案的目标函数f设为0,以区别于其它可行的实际调度方案。
步骤3.10、对步骤3.9更新后的种群进行模拟退火算法操作,保留种群中的部分个体作为新的种群。
步骤3.10的具体操作流程参见步骤3.4,在此不再进行赘述。
步骤3.11、判断是否达到预设的第二阶段迭代次数,若达到预设的第二阶段迭代次数,则输出迭代过程中产生的最优个体,即最佳的前摄性调度方案;否则将返回步骤3.7继续迭代。
在一个实施例中,设置第二阶段迭代次数为400次。
从整体上来看,本实施例所提供的云制造环境下柔性多任务前摄性调度优化方法可分为前摄性调度方法以及优化算法两部分。其中,前摄性调度方法可视为与步骤1和步骤2对应,考虑了适应度、鲁棒性和稳定性等多个目标,优化算法可视为与步骤3对应,通过对优化算法的改进,使得到的种群具有多样性,且避免在目标函数优化过程中过早收敛,以得到更加稳健的调度方案。
以下通过实验进一步说明本实施例的云制造环境下柔性多任务前摄性调度优化方法的实用性和有效性。
实施例1
本实验中每个任务包含多个子任务,每个子任务可以由任何可用的服务完成。用于完成同一子任务的不同服务有不同的QoS值,QoS值是在一定的范围内随机产生的,但QoS值的范围受到如下限制:时间(0-10)、成本(0-30)和可靠性(0.99-1)。
2S-EGA算法的默认参数设置如下:(1)GA算法的相关参数:种群规模为50,两个阶段的最大迭代次数为500,算法在第一阶段迭代100次之后转到第二阶段,δ1=0.8、δ2=0.2、δ3=0.1;(2)TS算法的相关参数:d=10,TS算法最大迭代次数=150,禁忌列表长度为30,禁忌候选数为50;(3)SA算法的相关参数:初始温度为500,冷却速率为0.98;(4)TR的相关参数:TR的最大迭代次数为50。每个实验均在相同条件下运行30次取平均值作为最终结果,以减少实验偶然性。实验数据包含8个实例,可从网址“https://doi.org/10.6084/m9.figshare.7275728”下载得到。
(一)柔性多任务前摄性调度模型的实用性验证
为了评估柔性多任务前摄性调度模型的实用性,本实施例对四个不同参数的实例进行评估,改变的参数有:目标适应度权重、目标函数f权重和种群大小。在这四个实例中,制造服务完成每个子任务的QoS值是保持不变的。
如图6~9所示,图6展示了β1=0.6,β2=0.2,β3=0.2;ω1=0.4,ω2=0.3,ω3=0.3;种群大小=30的参数条件下得到的适应度和f;图7展示了β1=0.6,β2=0.2,β3=0.2;ω1=0.2,ω2=0.4,ω3=0.4;种群大小=30的参数条件下得到的适应度和f;图8展示了β1=0.5,β2=0.1,β3=0.4;ω1=0.4,ω2=0.3,ω3=0.3;种群大小=30的参数条件下得到的适应度和f;图9展示了β1=0.6,β2=0.2,β3=0.2;ω1=0.4,ω2=0.3,ω3=0.3;种群大小=50的参数条件下得到的适应度和f。
图6~9中,适应度是在考虑不确定性之前根据公式(1)计算出的目标值,f是根据公式(7)计算出的考虑不确定性的目标函数。根据实验结果可以得出两个结论:首先,随着迭代次数的增加,目标适应度和目标函数f的最大值和平均值都逐渐增大;其次,2S-EGA算法迭代得到最优解的能力并不受模型相关参数变化的影响。图6~9表明,本实施例所建立的柔性多任务前摄性调度模型,即适应度函数和多任务前摄性调度目标函数具有实用性。
为了保持本实施例中的柔性多任务前摄性调度模型具有较优的效果,在后续实验中,目标适应度的权重,即ω1、ω2和ω3分别设为0.4、0.3和0.3;目标函数f的权重,即β1、β2和β3分别设为0.6、0.2和0.2。
(二)前摄性调度方法的有效性验证
为了验证前摄性调度方法的有效性,本实施例进行了两个实验。实验基于六个实例展开,包括三个数据集(Ex1 6/4/5、Ex2 8/6/8和Ex3 10/5/6)和两种中断类型(类型1(η∈(0,0.5))和类型2(η∈(0.5,1))),其中i/j/k分别表示任务数量、子任务数量和服务数量。在同一实例中,制造服务完成每个子任务的QoS值是保持不变的。
如图10~11所示,图10展示了基于两种权重函数得到的前摄性调度方案的适应度;图11展示了基于两种权重函数得到的实际调度方案的适应度。
从图10和图11可以看出,无论是前摄性调度方案的适应度还是实际调度方案的适应度,用适应度、鲁棒性和稳定性作为加权评价函数的前摄性调度方法都要优于用鲁棒性和稳定性作为加权评价函数的前摄性调度方法。本实施例提出的用适应度、鲁棒性和稳定性作为加权评价函数的前摄性调度方法将在适应度较大的调度方案中寻找受服务中断影响小的解。即使服务中断发生,实际调度方案的适应度也不会受到显著的影响。因此,用适应度、鲁棒性和稳定性作为加权评价函数的前摄性调度方法比用鲁棒性和稳定性作为加权评价函数的前摄性调度方法更有效。
如图12~13所示,图12展示了前摄性调度性方案和确定性调度方案分别重调度后得到的实际调度方案(简称fitness_R)的最大适应度的均值。图13展示了前摄性调度方案和确定性调度方案的最大目标函数f的均值。
结果表明,前摄性调度方案重调度后得到的实际调度方案的最大适应度和目标函数f的均高于确定性调度方案重调度后得到的实际调度方案。从而验证了前摄性调度方法比确定性调度方法能更有效地解决服务中断情况下的柔性多任务前摄性调度问题。
(三)2S-EGA算法的有效性验证
为了验证2S-EGA算法的有效性,本实施例基于四个实例(Ex4 5/8/3、Ex510/4/7、Ex6 8/10/8、Ex7 20/8/10)将2S-EGA算法与两种基准算法进行对比,即两阶段粒子群优化算法(two-stage particle swarm optimization,2S-PSO)(Nouiri等,2017)和混合遗传算法(hybrid genetic algorithm,HGA)(Al-Hinai和ElMekkawy,2011),其中实例中的任务数量为5到20个,服务数量为3到10个,子任务总数为40到160个。且应用两种类型不同的服务中断:类型1(η∈(0,0.5))和类型2(η∈(0.5,1))。
对于同一实例,每个制造服务完成每个子任务的QoS值都保持不变。表1展示了实际调度方案的最大目标函数f和适应度的均值
表1 2S-EGA、HGA和2S-PSO算法得到的两个目标值的比较结果
表1的结果表明,在解决考虑服务中断的柔性多任务前摄性调度问题上,由2S-EGA算法得到的实际调度方案的最大目标函数f和适应度的均值均优于通过HGA算法和2S-PSO算法得到的。此外,随着子任务数量的增加,2S-EGA算法和HGA算法的性能差异减小,2S-EGA算法与2S-PSO算法的性能差异增大。
为了进一步对比2S-EGA算法与其它两种基准算法的性能差异,本文针对实验结果进行了统计分析。由于结果的分布是未知的,所以对目标f进行了Shapiro-Wilk正态检验,检验结果如表2所示。
表2 目标函数f的Shapiro-Wilk正态性检验
如表2所示,Ex4和Ex7的p值均大于0.05,而Ex5和Ex6的多个p值低于0.05。因此,Ex4和Ex7的结果都是正态分布的,Ex5和Ex6的结果并不都是正态分布的。所以本实施例对Ex4和Ex7进行T检验,对Ex5和Ex6进行Wilcoxon检验。T检验结果如表3所示,Wilcoxon检验结果如表4所示。
表3 目标函数f的T检验结果
表4 目标函数f的Wilcoxon检验结果
表3和表4表明,2S-EGA算法和2S-PSO算法基于目标函数f比较得到的p值均小于0.05,且2S-EGA算法和2S-PSO算法基于适应度比较得到的p值几乎都小于0.05。因此,三种算法得到的目标函数f比较的差异都是比较显著的,再次证实了2S-EGA算法的有效性。
实施例提供的云制造环境下柔性多任务前摄性调度优化方法,第一阶段的目标是最大化调度方案的适应度,第二阶段的目标是最大化调度方案的适应度并最小化服务中断的影响;在调度过程中考虑服务中断情况,以更好地避免将子任务分配给未来在该时段可能会出现中断的服务,降低不确定性的影响;提出了综合考虑适应度、鲁棒性和稳定性的目标函数,以解决考虑服务中断的柔性多任务前摄性调度问题;在解决多任务前摄性调度问题时,采用矩阵编码方式直观表示调度方案,并且通过结合自适应参数和两种局部搜索策略以保持种群的多样性并克服过早收敛的问题,从而获得更加强健且稳定的调度方案。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种云制造环境下柔性多任务前摄性调度优化方法,所述云制造环境下柔性多任务前摄性调度优化方法面向服务供应方和服务使用方,用于优化服务供应方和服务使用方之间的任务调度,其特征在于,所述云制造环境下柔性多任务前摄性调度优化方法包括:
步骤1、建立基于时间、成本和可靠性的适应度函数;
步骤2、根据所述适应度函数,建立基于适应度、鲁棒性和稳定性的多任务前摄性调度目标函数;
步骤3、采用遗传算法求解所述多任务前摄性调度目标函数,包括:
第一阶段:
步骤3.1、初始化获得种群,该种群包含多个个体,每个个体即一个前摄性调度方案,采用矩阵编码方式表示各个体;
步骤3.2、计算自适应交叉概率和自适应变异概率,利用所述适应度函数得到每一个体对应的适应度,根据个体的适应度采用轮盘赌方法从种群中选择父母个体,父母个体依据自适应交叉概率进行交叉操作或依据自适应变异概率进行变异操作,得到子个体保存至当前的种群;
步骤3.3、每隔预设的迭代次数,以步骤3.2更新后的种群中适应度最优的个体为出发点进行禁忌搜索算法操作得到子个体,并基于精英策略更新种群;
步骤3.4、对步骤3.3更新后的种群进行模拟退火算法操作,保留种群中的部分个体作为新的种群;
步骤3.5、判断是否达到预设的第一阶段迭代次数,若达到预设的第一阶段迭代次数,则保留步骤3.4更新后的种群作为第二阶段初始的种群,并进入第二阶段;否则返回步骤3.2继续迭代;
第二阶段:
步骤3.6、随机选取一个或多个服务供应方模拟服务中断;
步骤3.7、计算自适应交叉概率和自适应变异概率,利用所述多任务前摄性调度目标函数得到每一个体对应的目标函数,根据个体的目标函数采用轮盘赌方法从种群中选择父母个体,父母个体依据自适应交叉概率进行交叉操作或依据自适应变异概率进行变异操作,得到子个体保存至当前的种群;
步骤3.8、每隔预设的迭代次数,以步骤3.7更新后的种群中目标函数的值最优的个体为出发点进行禁忌搜索算法操作得到子个体,并基于精英策略更新当前的种群;
步骤3.9、获取步骤3.8更新后的种群中因服务中断而不可行的个体,采用改良的受影响的操作重调度方法或全重调度方法对不可行的个体进行重调度操作,并利用所述多任务前摄性调度目标函数计算重调度操作后修复的个体的目标函数;
步骤3.10、对步骤3.9更新后的种群进行模拟退火算法操作,保留种群中的部分个体作为新的种群;
步骤3.11、判断是否达到预设的第二阶段迭代次数,若达到预设的第二阶段迭代次数,则输出迭代过程中产生的最优个体,即最佳的前摄性调度方案;否则将返回步骤3.7继续迭代。
2.如权利要求1所述的云制造环境下柔性多任务前摄性调度优化方法,其特征在于,所述建立基于时间、成本和可靠性的适应度函数,包括:
建立适应度函数如下:
其中,ωt、ωc和ωr分别表示时间、成本和可靠性的权重,且ωt+ωc+ωr=1,ttmax、tcmax和trmax分别表示完成所有任务的最大总时间、最大总成本和最大总可靠性,ttmin、tcmin和trmin分别表示完成所有任务的最小总时间、最小总成本和最小总可靠性,tt、tc和tr分别表示完成所有任务的总时间、总成本和总可靠性,且通过以下公式计算:
其中,aet ij 表示第i个任务的第j个子任务的实际结束时间,i表示任务的索引,且i=1,…,I,j表示第i个任务的子任务的索引,且j=1,…,Ji,k表示制造服务的索引,且k=1,…,K,cijk表示第k个制造服务完成第i个任务的第j个子任务的成本,rijk表示第k个制造服务完成第i个任务的第j个子任务的可靠性,λijk为决策变量,如果选择第k个制造服务完成第i个任务的第j个子任务,那么λijk=1;否则,λijk=0。
3.如权利要求2所述的云制造环境下柔性多任务前摄性调度优化方法,其特征在于,所述根据所述适应度函数,建立基于适应度、鲁棒性和稳定性的多任务前摄性调度目标函数,包括:
计算鲁棒性指标RM如下:
RM=|fitnessP-fitnessR|
其中,fitnessP为前摄性调度方案的适应度,fitnessR为实际调度方案的适应度,实际调度方案指前摄性调度方案因服务中断而进行重调度操作修复后的调度方案;
计算稳定性指标SM如下:
其中,aet ijP 、cijP和rijP分别表示前摄性调度方案中第i个任务的第j个子任务的实际结束时间、成本和可靠性,aet ijR 、cijR和rijR分别表示实际调度方案中第i个任务的第j个子任务的实际结束时间、成本和可靠性,tmax、cmax和rmax分别表示制造服务中的最大时间、最大成本和最大可靠性,tmin、cmin和rmin分别表示制造服务中的最小时间、最小成本和最小可靠性;
根据所述鲁棒性指标和稳定性指标建立多任务前摄性调度目标函数如下:
max f=β1fitnessP+β2e-RM+β3e-SM
其中,β1、β2和β3分别表示前摄调度方案的适应度、鲁棒性和稳定性的权重,且β1+β2+β3=1,fitnessP为前摄性调度方案的适应度,RM为鲁棒性指标,SM为稳定性指标。
4.如权利要求3所述的云制造环境下柔性多任务前摄性调度优化方法,其特征在于,所述多任务前摄性调度目标函数的约束条件为:
每个子任务至少有一个可用的制造服务供选择:
每个子任务只能由一个可用的制造服务完成:
每个制造服务在同一时间最多只能处理一个子任务:
一个任务内的子任务都按给定的顺序执行:
子任务的制造过程连续:
所有任务的总时间不超过总时间限制:
所有任务的总成本不超过总成本限制:
所有任务的总可靠性不低于总可靠性限制:
其中,αijk为决策变量,如果第k个制造服务能够用于完成第i个任务的第j个子任务,那么αijk=1;否则,αijk=0,λijk(s)为决策变量,如果第k个制造服务在时间段s被第i个任务的第j个子任务占用,那么λijk(s)=1;否则,λijk(s)=0,s为时间段的索引,且s=1,…,S,estij表示第i个任务的第j个子任务的最早开始时间,esti(j+1)表示第i个任务的第j+1个子任务的最早开始时间,ast ij 表示第i个任务的第j个子任务的实际开始时间,tijk表示第k个制造服务完成第i个任务的第j个子任务的时间,eetij表示第i个任务的第j个子任务的最早结束时间,tt0表示完成所有任务的总时间限制,tc0表示完成所有任务的总成本限制,tr0表示完成所有任务的总可靠性限制。
5.如权利要求1所述的云制造环境下柔性多任务前摄性调度优化方法,其特征在于,所述采用矩阵编码方式表示各个体,包括:
所述个体包含任务分配和任务排序,采用包含两行的矩阵表示一个个体,矩阵的两行中,一行为顺序链用于表示任务排序,另一行为服务链用于表示任务分配;
所述顺序链中,不同元素表示不同任务的子任务,相同元素表示相同任务的不同子任务,且从顺序链的初始位至末位为各子任务的调度顺序;
所述服务链中,不同元素表示不同的制造服务,相同元素表示同一制造服务被分配多个子任务,服务链的初始位至末位对应于按默认顺序排列后的各子任务,其中每个任务和每个子任务都给定数字表示,所述的默认顺序指任务和子任务按照给定的数字从小到大排列。
6.如权利要求5所述的云制造环境下柔性多任务前摄性调度优化方法,其特征在于,所述交叉操作包括基于优先级的交叉操作和基于服务的交叉操作;
所述顺序链采用基于优先级的交叉操作,所述基于优先级的交叉操作包括:将包含不同任务的任务集随机分为两个子集,将从种群中被选中的两个个体分为母个体和父个体,并生成空白的第一子个体和第二子个体,将所述母个体中属于第一个子集的元素复制到第一子个体的对应位置,将所述父个体中属于第一个子集的元素复制到第二子个体的对应位置,将所述母个体中属于第二个子集的元素按序填充至第二子个体的空白位置,将所述父个体中属于第二个子集的元素按序填充至第一子个体的空白位置;
所述服务链采用基于服务的交叉操作,所述基于服务的交叉操作包括:选取两个交叉点确定交叉片段,将从种群中被选中的两个个体分为母个体和父个体,并生成空白的第一子个体和第二子个体,交换母个体和父个体中属于交叉片段的元素,将元素交换后的母个体中的元素复制到第一子个体的对应位置,将元素交换后的父个体中的元素复制到第二子个体的对应位置。
7.如权利要求5所述的云制造环境下柔性多任务前摄性调度优化方法,其特征在于,所述变异操作包括单点变异和两点变异,所述单点变异应用于服务链,两点变异应用于顺序链;
所述单点变异包括:将从种群中被选中的一个个体作为母个体,将所述母个体复制一份作为子个体,随机选择子个体中的一个位置,并对该位置的元素进行变异;
所述两点变异包括:将从种群中被选中的一个个体作为母个体,将所述母个体复制一份作为子个体,随机选择子个体中的两个位置,并交换选中的两个位置的元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910666241.2A CN110414826B (zh) | 2019-07-23 | 2019-07-23 | 一种云制造环境下柔性多任务前摄性调度优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910666241.2A CN110414826B (zh) | 2019-07-23 | 2019-07-23 | 一种云制造环境下柔性多任务前摄性调度优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110414826A CN110414826A (zh) | 2019-11-05 |
CN110414826B true CN110414826B (zh) | 2022-03-15 |
Family
ID=68362603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910666241.2A Active CN110414826B (zh) | 2019-07-23 | 2019-07-23 | 一种云制造环境下柔性多任务前摄性调度优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110414826B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427688B (zh) * | 2020-03-23 | 2023-08-11 | 武汉轻工大学 | 云任务多目标调度方法、装置、电子设备及存储介质 |
CN111679637B (zh) * | 2020-05-29 | 2021-10-08 | 浙江财经大学 | 一种制造系统中柔性多任务调度方法 |
CN112053002B (zh) * | 2020-09-11 | 2023-07-07 | 浙江财经大学 | 一种基于效用感知的云制造多任务调度方法 |
CN113392527B (zh) * | 2021-06-17 | 2022-08-12 | 华南理工大学 | 操纵序列适用性评价方法、装置、计算机设备和存储介质 |
CN113554231B (zh) * | 2021-07-26 | 2023-07-04 | 浙江财经大学 | 一种带有作业族的作业车间调度方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317699B (zh) * | 2017-05-25 | 2020-11-13 | 南京邮电大学 | 一种云制造服务组合的动态蚁群快速优选方法 |
CN107392402B (zh) * | 2017-09-11 | 2018-08-31 | 合肥工业大学 | 基于改进禁忌搜索算法的生产运输协同调度方法及系统 |
CN109146160A (zh) * | 2018-08-06 | 2019-01-04 | 河海大学常州校区 | 一种云制造资源服务调度方法 |
CN109765862B (zh) * | 2018-12-26 | 2021-07-16 | 同济大学 | 基于自适应遗传算法的混合流水车间可持续调度控制方法 |
-
2019
- 2019-07-23 CN CN201910666241.2A patent/CN110414826B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110414826A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110414826B (zh) | 一种云制造环境下柔性多任务前摄性调度优化方法 | |
Shen et al. | Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems | |
Pinto et al. | Adaptive learning in agents behaviour: A framework for electricity markets simulation | |
CN114756358B (zh) | 一种dag任务调度方法、装置、设备及存储介质 | |
US11900259B2 (en) | Systems and methods for parameter optimization | |
CN110837981B (zh) | 一种调度与控制协同处理方法及相关设备 | |
Wang | Constraint-based schedule repair for product development projects with time-limited constraints | |
Mahnam et al. | Single machine scheduling with unequal release times and idle insert for minimizing the sum of maximum earliness and tardiness | |
CN115271130B (zh) | 面向船舶主动力设备维修订单的动态调度方法及系统 | |
CN111813500A (zh) | 一种多目标云工作流调度方法及装置 | |
US20230267007A1 (en) | System and method to simulate demand and optimize control parameters for a technology platform | |
CN115421885B (zh) | 一种分布式多目标云任务的调度方法、装置及云服务系统 | |
Zaman et al. | Evolutionary algorithm for project scheduling under irregular resource changes | |
CN113220437B (zh) | 一种工作流多目标调度方法及装置 | |
WO2020062047A1 (zh) | 更新调度规则的方法、设备、系统、存储介质和终端 | |
Liu et al. | Multi-objective adaptive large neighbourhood search algorithm for dynamic flexible job shop schedule problem with transportation resource | |
Kamalinia et al. | Hybrid task scheduling method for cloud computing by genetic and PSO algorithms | |
CN114327925A (zh) | 一种电力数据实时计算调度优化方法及系统 | |
JP7097261B2 (ja) | 学習データの解析方法及び計算機システム | |
CN113127167A (zh) | 一种基于改进遗传算法的异构资源智能并行调度方法 | |
Ge et al. | Capability-based project scheduling with genetic algorithms | |
Tedford et al. | Production scheduling using adaptable fuzzy logic with genetic algorithms | |
Nguyen | Optimization, dispatching rules and hyper-heuristics: A comparison in dynamic single machine scheduling | |
US11656887B2 (en) | System and method to simulate demand and optimize control parameters for a technology platform | |
CN116401037B (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 |