一种基于NSGA-II的三维打印多任务优化调度方法转让专利

申请号 : CN201510241009.6

文献号 : CN104842564B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭晨郭灿灿杨继全

申请人 : 南京师范大学

摘要 :

本发明提供了一种基于NSGA-II的三维打印多任务优化调度方法,主要利用带精英策略的非支配排序遗传算法实现三维打印多任务的优化调度问题。本发明是在三维打印产品逐渐定制化、规模化生产模式下,考虑到三维打印服务商和需求客户的整体利益,建立了工期-成本-资源-质量四维多目标优化调度模型,首次将打印精度差价建立在模型范围内,针对实时下达的打印任务进行优化调度,分别解决了三维打印多任务生产的被服务时间最短、生产成本最低、空闲等待时间最短和打印精度偏差最小的优化问题,对三维打印制造领域具有较好的实用价值和广阔的应用前景。

权利要求 :

1.一种基于NSGA-II的三维打印多任务优化调度方法,其特征在于,包括如下步骤:

1)选定三维打印的任务打印方式、任务下达方式和打印材料的方式;

2)建立工期-成本-资源-质量四维多目标优化调度模型,包括多任务调度的优化目标和约束条件;

所述优化目标包括如下:

①基于完成时间的性能指标,即工期f1;假设各打印任务从打印开始至打印结束,中间不存在中断;

式中,Tfi表示任务i打印完成时间;Tai表示任务i下达时间;S={1,2,…,s}表示打印任务集合;

②基于成本的性能指标,即成本f2;包括加工成本和打印精度有关的惩罚成本,以最小化平均打印成本为性能指标;

式中,l表示打印精度标差,mm;Ei表示任务i的需求吐丝量;c0表示单精度差价,元/(0.1mm);c1表示单位长度材料成本,元/mm;c2表示单位用电成本,元/(kw·h);Pi表示任务i偏好打印机;SBi为决策变量,表示任务i分配到的打印机;Thi表示任务i开始打印时间;Dj表示打印机j的单位时间耗电量;

③基于资源利用的性能指标,即资源f3;打印过程中存在打印机等待任务到达和打印任务等待打印机空闲;为降低资源待机等待和任务等待时间,将打印提前时间和打印延迟时间统一称为等待时间,构建以下性能指标:

式中,wait1i表示打印任务i打印前等待时间;wait2j表示打印机j打印间隙等待时间;

④基于客户满意度的性能指标,即质量f4;为了尽可能小的产生精度误差,满足客户需求的同时降低精度差价产生的打印成本,同时更小的精度误差才能更好的确保客户满意度,构建以下性能指标:

所述约束条件如下:

① 保证每个打印任务有且只有一次被打印的机会,

式中,B={1,2,…,b}表示打印机集合;SOi为决策变量,表示任务i的打印顺序;如果任务i在打印机j上以顺序k被打印,则从属变量xijk=1,否则等于0;其中,i∈S,j∈B,k∈SO;

② 表示某一台打印机上同时打印的任务不超过一项;

③ 保证任务到达后才能被服务,

式中,Tbi表示任务i分配到打印机的时间;

④ 表示任务被打印时间与需求吐丝量成正比,与打印机

打印效率成反比,

式中,VBj表示打印机j的工作效率,即单位时间吐丝量;

3)随机产生初始种群P0,对所有个体进行非支配排序,然后根据个体排序的级别分配相应的适应度值,即求解所述多目标优化调度模型的目标函数值;

4)对排序后的种群P0进行遗传操作,得到新的子代种群Q0;

5)将种群Pt与其子代种群Qt合并,得到新的种群Rt,进化初始时t=0;对合并后的种群Rt进行非支配排序,得到最优前端Fi(i=1,2,…);

6)对全部Fi按照拥挤距离进行排序,根据锦标赛策略选取最优的N个个体,形成种群Pt+1;

7)对种群Pt+1进行遗传操作,形成子种群Qt+1,以进化代数为终止条件,如果当前进化代数小于终止条件的进化代数,则返回步骤3),重复;否则,输出最终结果。

2.根据权利要求1所述的一种基于NSGA-II的三维打印多任务优化调度方法,其特征在于,所述步骤1)中,任务打印方式包括固性打印、柔性打印和混合打印,固性打印指的是单个打印机同时仅能服务一个打印任务,柔性打印指的是可以将单一打印任务拆分出多个部分并分别交付给不同的打印机同时打印,混合打印指的是固性打印和柔性打印两种方式同时进行;所述任务下达方式包括静态下达、动态下达和柔性下达,静态下达指的是在制定调度计划时,假定所有的任务已经下达并等候分配和打印;动态下达指的是各打印任务在打印过程中陆续下达;柔性下达指的是任务下达的某一特殊情况;所述打印材料包括固定一种打印材料和使用多种打印材料。

3.根据权利要求1所述的一种基于NSGA-II的三维打印多任务优化调度方法,其特征在于,所述步骤3)中的求解目标函数值利用启发式算法,根据决策变量先求出从属变量,具体步骤如下:①获取信息,确定打印顺序SO和打印机SB;

②确定当前打印任务,i=1;

③对待打印任务i,确定其分配到的打印机SBi;

④等待打印:判断打印机SBi是否空闲,如果空闲则开始打印,确定开始时间Thi和完成时间Tfi;否则等待打印机空闲,遵循任务打印时中途不中断的规则;

⑤如果打印任务i是打印顺序SO中最后一项打印任务,则算法结束;否则,i=i+1,转至③。

4.根据权利要求1所述的一种基于NSGA-II的三维打印多任务优化调度方法,其特征在于:所述步骤4)的遗传操作,用染色体的方式表示个体,染色体基因所在的位置表示打印任务编号,基因值为打印任务分配到的打印机编号,染色体采用实数编码方式;采用模拟二进制交叉法和多项式变异方法进行遗传操作。

5.根据权利要求3所述的一种基于NSGA-II的三维打印多任务优化调度方法,其特征在于,所述求解目标函数值的过程中,为表示打印机被占用的情况,设置打印机属性和工作动态库,其中,工作动态库通过事件触发方式控制,事件触发条件包括打印任务分配到打印机、打印任务开始打印和当前打印任务完成;打印任务分配到打印机和打印任务开始打印时锁定打印机,当前打印任务完成时释放打印机。

说明书 :

一种基于NSGA-II的三维打印多任务优化调度方法

技术领域

[0001] 本发明具体涉及一种基于NSGA-II的三维打印多任务优化调度方法,属于先进制造系统运行控制理论中的调度问题,在三维打印产品逐渐定制化、规模化生产模式下,利用带精英策略的非支配排序遗传算法实现三维打印多任务生产的优化调度。

背景技术

[0002] 作为一种新兴技术,三维打印技术被认为是引导第三次工业革命的主要因素之一。而在2013年4月的德国汉诺威工业博览会上,“第四次工业革命”(又称工业4.0,Industry 4.0)战略被正式推出,并得到了世界各地科研机构和产业界的广泛认同。2014年11月李克强总理访问德国期间,宣布两国将开展工业4.0合作。工业4.0项目主要分为智能工厂、智能生产和智能物流三大主题,其中智能生产主要涉及整个企业的生产物流管理、人机互动以及3D技术在工业生产过程中的应用等。在工业4.0时代,未来制造业的商业模式将以解决顾客问题为主,走软性制造+个性化定制道路。因此,如何实现3D打印的大规模定制化生产将是未来学术研究领域和生产制造领域的主要研究方向。
[0003] 现有文献中有大量关于生产调度问题、多目标优化和遗传算法(Genetic Algorithm,GA)的研究,如Haghighi A等在《Uncertainty analysis of water supply networks using the fuzzy set theory and NSGA-II》(Engineering Applications of Artificial Intelligence,2014,32:270-282)中利用NSGA-II算法对具有不确定管道摩擦系数和节点需求的供水管网络进行了水力分析,并验证了NSGA-II在网络模糊分析中的有效性;Ghodratnama A等在《Solving a new multi-obiective multi-route flexible flow line problem by multi-objective particle swarm optimization and NSGA-II》(Journal of Manufacturing Systems,2014)中针对多路径柔性生产线建立了最小时延、最小加工成本和最小路径选择成本三个数学模型,并利用NSGA-II和MOPSO方法对模型进行了优化求解;Bayat M等在《Dynamic multi-objective optimization of industrial radial-flow fixed-bed reactor of heavy paraffin dehydrogenation in LAB plant using NSGA-II method》(Journal of the Taiwan Institute of Chemical Engineers,2014,45(4):1474-1484)中利用NSGA-II对重工业石蜡脱氢径向流固定床反应器进行多目标动态优化,得出最大石蜡产出率,并使得选择最大化;Bandyopadhyay S等在《Solving multi-objective parallel machine scheduling problem by a modified NSGA-II》(Applied Mathematical Modeling,2013,37(10):6718-6729.)中分别利用原始NSGA-II、SPEA2和改进的NSGA-II算法进行了多并行机调度研究,并验证了算法的有效性;Rokh B等在《Proposing an efficient combination of interesting measures for mining association rules via NSGA-II》(Technology,Communication and Knowledge(ICTCK),
2014International Congress on.IEEE,2014:1-7)中利用NSGA-II算法研究数据样本的关联规则,并验证置信度和余弦平方的组合对规则选择更有效;Dixit S等在《Optimal location and sizing of SVC for minimization of power loss and voltage deviation using NSGA II》(Communication Systems and Network Technologies(CSNT),2014 Fourth International Conference on.IEEE,2014:975-980)中利用NSGA-II计算出使得能量损失最少和电压偏差最小的最优SVC位点和尺寸。
[0004] 另外,亦有一部分相关专利出现,如郑征等的《一种基于遗传算法的卫星并行测试资源配置方法》(专利号:201210046718.5,2012-02-27);薛胜军等的《一种基于改进NSGA-II的云计算任务调度方法》(专利号:201410220452.0,2014-05-22);雷晓辉等的《一种基于多目标遗传算法的调度图优化方法》(专利号:201210142732.5,2012-05-10);李志等的《基于NSGA-II的轮胎模具加工及装配集成优化方法》(专利号:201410318457.7,2014-07-04)。
[0005] 以上均是遗传算法、生产调度和多目标优化问题近几年的应用研究情况,但到目前为止,尚未有涉及三维打印的多任务调度问题研究成果出现。三维打印亦属于一种制造过程,其任务调度过程可简单的归类为一种NP-hard(Non-deterministic Polynomial)问题。对于此种任务的调度技术必须能适应各种组件的变化和失效,能及时响应内外部的各种突变因素如订单变化、供应商变化、生产设计改变(工艺计划变更)等,并能满足多目标的优化,包括成本、质量、时间和系统柔性等。多目标优化问题(Multi-obiective Optimization Problem,MOP)最早是由意大利经济学家Vilfredo Pareto于1896年提出的,这种优化问题往往不能得到唯一最优解,而是以集合的形式得到一组Pareto最优解。NSGA-II是Deb等人在2000年提出的,也是迄今为止最优秀的进化多目标优化算法之一,NSGA-II将快速非支配排序方法进行分级运算,引入拥挤距离比较算子和精英保留策略,较好的保持了种群的多样性。在NSGA的基础上,NSGA-II将快速非支配排序方法进行分级运算,降低了计算复杂度;取代NSGA中适应度共享方法,引入拥挤距离比较算子将非支配排序后同一等级具有相同适应度值的解区分开,使处于当前最优前端的个体扩展到整个最优前端并均匀分布;利用精英保留策略,使被选择进入繁衍池的个体后代与其父代竞争产生下一代种群,尽量多的保留了基因优良的个体,提高了种群进化水平。

发明内容

[0006] 为了克服现有技术存在的缺点与不足,本发明的目的是提供一种基于NSGA-II的三维打印多任务优化调度方法,利用带精英策略的非支配排序遗传算法,根据三维打印服务商及规模化定制客户需求,将多个实时上传的打印任务按照合理的分配方式调度至相应的打印设备,以实现商家及客户均满意的服务时间、打印成本、空闲等待时间和打印精度偏差最小化。
[0007] 本发明解决其技术问题所采用的技术方案是:
[0008] 一种基于NSGA-II的三维打印多任务优化调度方法,包括如下步骤:
[0009] 1)选定三维打印的任务打印方式、任务下达方式和打印材料的方式;
[0010] 2)建立工期-成本-资源-质量四维多目标优化调度模型,包括多任务调度的优化目标和约束条件;
[0011] 3)随机产生初始种群P0,对所有个体进行非支配排序,然后根据个体排序的级别分配相应的适应度值,即求解所述多目标优化调度模型的目标函数值;
[0012] 4)对排序后的种群P0进行遗传操作,得到新的子代种群Q0;
[0013] 5)将种群Pt与其子代种群Qt合并,得到新的种群Rt,进化初始时t=0;对合并后的种群Rt进行非支配排序,得到最优前端Fi(i=1,2,…);
[0014] 6)对全部Fi按照拥挤距离进行排序,根据锦标赛策略选取最优的N个个体,形成种群Pt+1;
[0015] 7)对种群Pt+1进行遗传操作,形成子种群Qt+1,以进化代数为终止条件,如果当前进化代数小于终止条件的进化代数,则返回步骤3),重复;否则,输出最终结果。
[0016] 进一步地,所述步骤4)的遗传操作,用染色体的方式表示个体,染色体基因所在的位置表示打印任务编号,基因值为打印任务分配到的打印机编号,染色体采用实数编码方式;采用模拟二进制交叉法和多项式变异方法进行遗传操作。
[0017] 所述求解目标函数值的过程中,为表示打印机被占用的情况,设置打印机属性和工作动态库,其中,工作动态库通过事件触发方式控制,事件触发条件包括打印任务分配到打印机、打印任务开始打印和当前打印任务完成;打印任务分配到打印机和打印任务开始打印时锁定打印机,当前打印任务完成时释放打印机。
[0018] 现有3D打印产品的生产延期可能会导致订单交货期滞后,无法正常出货,而提前完工则会导致空闲等待时间增长,浪费时间、资源和成本,并产生更多的库存。另外,打印精度偏差过大会导致客户满意度下降、订单数量下降、精度差价和生产成本提高等问题。本发明针对3D打印服务供应商和产品需求客户的综合利益,建立了工期-成本-资源-质量四维多目标优化调度模型,首次将打印精度差价建立在模型范围内,首次利用NSGA-II算法解决了三维打印多任务优化调度问题,利用带精英策略的非支配排序遗传算法对目标函数进行多目标优化,为三维打印规模化定制生产提供了有力的理论依据,为工业4.0时代贡献了一份力量。
[0019] 此外,本发明在三维打印产品逐渐定制化、规模化生产模式下,针对实时下达的打印任务进行优化调度,分别解决了三维打印多任务生产的被服务时间最短、生产成本最低、空闲等待时间最短和打印精度偏差最小的优化问题,在三维打印制造领域具有较好的实用价值和广阔的应用前景。

附图说明

[0020] 图1为本发明有关任务下达、分配打印机、打印过程和任务交付流程图;
[0021] 图2为本发明的NSGA-II的算法流程图;
[0022] 图3为本发明的NSGA-II编码的基因表述。

具体实施方式

[0023] 本发明利用NSGA-II多目标优化方法实现三维打印多任务优化调度,其实现步骤如下:
[0024] 1.三维打印模式概化
[0025] 三维打印多任务调度是指三维打印任务下达后,按照一定的打印要求(打印精度、交付时间、打印成本、打印材料等)分配至相应的空闲打印机,是一系列的打印任务下达、分配至适当的打印机、打印的过程。从时间上,三维打印多任务调度可以分为调度方案生成和调度方案执行两个阶段。第一阶段是指通过运筹优化等手段生成一个最优或者较优的调度方案,方案正常运行的前提是指打印环境(任务分配和打印机状态等)是固定不变的。第二阶段的执行前提是实际打印环境与假定条件一致,否则需对原调度方案进行适当修改或调整。
[0026] 通常,在三维打印任务下达后,商家要根据打印任务的相关需求和优化调度策略将任务分配至适当的打印设备。为了方便问题建模,需要对实际问题进行进一步的抽象处理:
[0027] 1)任务打印方式
[0028] 三维打印方式可以分为固性打印、柔性打印和混合打印三种。固性打印指的是单个打印机同时仅能服务一个打印任务,一般情况下,单个打印机若仅有一个喷头,则只能选取此种打印方式。柔性打印指的是可以将单一打印任务拆分出多个部分并分别交付给不同的打印机同时打印。此种打印方式能够较大程度上减少打印设备因上下移动带来的机械损伤。混合打印指的是固性打印和柔性打印两种方式同时进行。针对不同的任务打印方式,应选取不同的调度优化方案,本实施例考虑固性打印方式。
[0029] 2)任务下达方式
[0030] 三维打印任务可以分为静态下达、动态下达和柔性下达三种。静态下达指的是在制定调度计划时,假定所有的任务已经下达并等候分配和打印,此种方式是模拟实际情况的最简单易行的方式。动态下达指的是各打印任务在打印过程中陆续下达,下达时间可以由商家确定也可以由消费者决定,更加贴合实际情况。柔性下达指的是任务下达的某一特殊情况,即商家经过一系列宣传、打折、促销、提前定制等活动允许打印任务提前下达。因为动态下达方式更加贴近实际情况,本实施例仅考虑此种情况。
[0031] 3)打印材料角度
[0032] 三维打印材料可以分为固定和不固定两种情况。一般情况下,某一类型的打印机在生产完成之后会固定分配一种打印材料,并在生产制造过程中仅能更换、添加此种材料,这种情况下叫做固定打印材料。另外,不固定打印材料指的是,某一打印机可以使用多种打印材料,中途更换其他类型的材料或者同时安装两种以上的材料进行打印。为简化模型,本实施例考虑固定打印材料方式。
[0033] 2.三维打印调度模型
[0034] 1)变量定义
[0035] S={1,2,…,s}表示打印任务集合;B={1,2,…,b}表示打印机集合;l(mm)表示打印精度标差;Tai表示任务i下达时间;Pi表示任务i偏好打印机;Ei表示任务i的需求吐丝量;VBj表示打印机j的工作效率(单位时间吐丝量,Dj表示打印机j的单位时间耗电量;c0(元/(0.1mm))表示单精度差价;c1(元/mm)表示单位长度材料成本;c2(元/(kw·h))表示单位用电成本;wait1i表示打印任务i打印前等待时间;wait2j表示打印机j打印间隙等待时间;SBi为决策变量,表示任务i分配到的打印机;SOi为决策变量,表示任务i的打印顺序;Tbi表示任务i分配到打印机的时间;Thi表示任务i开始打印时间;Tfi表示任务i打印完成时间;如果任务i在打印机j上以顺序k被打印,则从属变量xijk=1,否则等于0。其中,i∈S,j∈B,k∈SO。
[0036] 需要说明的是,在本发明中,打印任务下达顺序即为任务被打印的顺序,打印机以打印精度差l(mm)为标准降序排列,任务下达时刻便是任务分配到打印机的时刻(Tbi=Tai)。
[0037] 2)模型建立(优化目标及其约束条件)
[0038] a)基于完成时间的性能指标f1(工期)
[0039] 假设各打印任务从打印开始至打印结束,中间不存在中断。根据各打印任务从下达至打印完成的时间,计算各打印任务的平均被服务时间,并以最小化平均被服务时间为优化目标。
[0040]
[0041] b)基于成本的性能指标f2(成本)
[0042] 除时间指标外,成本指标以加工成本(包括原料费、能源费等)和打印精度有关的惩罚成本(未能以约定精度进行打印时,赔偿相应损失)为主,并以最小化平均打印成本为性能指标。
[0043]
[0044] 式(2)中第一个表达式为打印精度差价,与打印任务需求吐丝量和精度差成正比,考虑到打印任务首选偏好打印机进行打印,用偏好打印机与实际分配到打印机的编码之差表示精度差距;第二个表达式为打印材料成本,与需求吐丝量成正比;第三个表达式为用电成本,与打印任务总打印时间成正比。
[0045] c)基于资源利用的性能指标f3(资源)
[0046] 打印过程中存在以下两种等待情况:打印机等待任务到达和打印任务等待打印机空闲。为降低资源待机等待和任务等待时间,将打印提前时间和打印延迟时间统一称为等待时间,构建以下性能指标:
[0047]
[0048] d)基于客户满意度的性能指标f4(质量)
[0049] 若打印设备均为出厂便设置好了打印精度,则各打印任务的加工精度及客户对打印产品的满意程度之间可能存在一些偏差。基于平均被服务时间和基于平均生产成本的优化指标中,若一味的注重产品的打印精度可能出现只集中使用某一部分打印设备,其他设备闲置的情况。因此,为更好的调度各打印任务和打印设备,需综合考虑机器负荷和加工质量两方面。
[0050]
[0051] 式(4)为任务偏好打印机与分配打印机改变程度度量尺度。为了尽可能小的产生精度误差,满足客户需求的同时降低精度差价产生的打印成本,同时更小的精度误差才能更好的确保客户满意度,上式表示的基于客户满意程度的性能指标是必须要考虑的性能指标之一。
[0052] 此外,目标函数的约束条件有:
[0053]
[0054]
[0055]
[0056]
[0057] 式(5)保证了每个打印任务有且只有一次被打印的机会;
[0058] 式(6)表示某一台打印机上同时打印的任务不超过一项;
[0059] 式(7)保证任务到达后才能被服务;
[0060] 式(8)表示任务被打印时间与需求吐丝量成正比,与打印机打印效率成反比。
[0061] 根据决策变量和启发式算法决定从属变量:
[0062] Step 1:获取信息,确定打印顺序SO和打印机SB。
[0063] Step 2:确定当前打印任务,i=1。
[0064] Step 3:对待打印任务i,确定其分配到的打印机SBi。
[0065] Step 4:等待打印。判断打印机SBi是否空闲,如果空闲则开始打印,确定开始时间Thi和完成时间Tfi;否则等待打印机空闲(遵循任务打印时中途不中断的规则)。
[0066] Step 5:如果打印任务i是打印顺序SO中最后一项打印任务,则算法结束;否则,i=i+1,转至Step 3。
[0067] 求解目标函数需要启发式算法,为表示打印机被占用的情况,设置了打印机属性和工作动态库,动态库通过事件触发方式控制。触发条件包括打印任务分配到打印机、打印任务开始打印和当前打印任务完成三种情况。打印任务分配到打印机和打印任务开始打印时锁定打印机,当前打印任务完成时释放打印机。
[0068] 3.优化模型求解
[0069] NSGA-II的操作步骤如下:
[0070] 1)随机产生初始种群P0,对其中所有个体进行非支配排序,然后根据个体排序的级别分配相应的适应度值。
[0071] 2)对排序后的种群P0进行遗传操作(交叉、变异等),得到新的子代种群Q0。
[0072] 3)将种群Pt与其子代Qt合并,得到新的种群Rt,进化初始时t=0。对合并后的种群Rt进行非支配排序,得到最优前端Fi(i=1,2,…)。
[0073] 4)对全部Fi按照拥挤距离进行排序,根据锦标赛策略选取最优的N个个体,形成种群Pt+1。
[0074] 5)对种群Pt+1进行遗传操作,形成子种群Qt+1,重复,直至满足终止条件。
[0075] 其中,对某一个体i,设ni为种群中支配个体i的个体数量,Si为被个体i支配的个体集合,其快速非支配排序过程为:
[0076] 1)找出所有ni=0的个体,并存入集合F1。
[0077] 2)对集合F1中的每一个个体j,考察其所支配的个体集合Sj,并令集合Sj中每个个体k支配个体数nk=nk-1。
[0078] 3)若此时nk=nk-1=0,则新建集合H保存个体k。
[0079] 4)非支配个体集合F1标记为rank=1,标记F1中个体的非支配序为irank。
[0080] 5)对集合H做以上分级操作,标记rank和irank
[0081] 6)判断是否所有个体都被标记,是则结束,否则重复上一步。
[0082] 其中,拥挤距离的计算如下:若I为种群中的非支配集,I[i]m表示集合I中第i个个体相对于第m个目标函数的值,sort(I,m)指的是在目标函数m下对个体进行非支配排序,计算步骤如下:
[0083] 1)计算集合I=sort(I,m)中解个体的个数l=|I|。
[0084] 2)设置每个个体i的拥挤度初始值都为0,即I[i]d=0。
[0085] 3)对每一个目标函数m,将每个在前端I边界的个体拥挤距离设置为无穷大,即I[1]d=I[l]d=∞。
[0086] 4)i=2到l-1,个体拥挤距离
[0087] 下面通过三维打印的订单实例具体说明本发明的实施方式。根据三维打印机基础资料和实际打印任务数据,评价模型和算法的有效性。选取不同型号、不同规格的打印机四台,应用同种打印材料进行仿真实验。实验用打印材料均为应用最广泛的ABS塑料,价格为c1=1.25×10-3元/mm(参考市场价)。其中,打印机型号、配置信息详见表1。
[0088] 表1 打印机型号与配置
[0089]
[0090] 单位工业用电价格参考南京2009年标准c2=0.75元/(kw·h)。精度差价设定为c0=1元/(0.1mm)。从零时起,选取连续下达三维打印任务15项,打印任务相关数据:任务下达时间、任务偏好打印设备、任务需求打印材料量,详见表2。
[0091] 表2 打印任务数据
[0092]
[0093]
[0094] 通过多次试验,确定基于NSGA-II的三维打印多任务调度仿真模型参数设定为:种群大小pop=80,遗传进化代数generation=1000,交叉概率Pc=0.9,变异概率Pm=0.1。基于以上数据,本发明的具体实施步骤如下:
[0095] 1.染色体编码。因为优化模型的决策变量有SO和SB两组,而为了简化模型,定义任务打印顺序集合SO即为打印任务下达顺序集合,因此仅需对SB进行编码。用染色体的方式表示个体,染色体基因所在的位置表示打印任务编号,基因值为打印任务分配到的打印机编号,染色体采用实数编码方式,如图3。
[0096] 2.初始化种群。初始种群采用随机生成的方式,染色体基因在打印机集合B中随机抽取,但需要在集合B定义范围内。
[0097] 3.目标函数值计算。求解目标函数值需利用启发式算法,根据各决策变量先求出从属变量,并分别带入式(1)至(4)求解。
[0098] 4.Pareto分级
[0099] 1)令级别grad=1;
[0100] 2)从第G代种群pop(G)中任取一个解x*作为参考,将其与种群中所有其他解进行比较;
[0101] 3)如果X*支配所有其他解,则令其级别grad(x*)=grad,重复此过程,直到种群中所有解都被选择作为参考解为止;
[0102] 4)删除所有级别为grad的个体;
[0103] 5)若种群中还存在没有被确定级别的个体,则令grad=grad+1,转至2)。
[0104] 5.拥挤距离计算。求各目标函数值fk(x),k∈{1,2,3,4},并按函数值大小将个体{x1,x2,…,xx}进行排列。排列完成后,定义对应于minfk与maxfk的个体min与max之间的拥挤距离为无穷大,除此之外 i,j≠min,i,j≠max,拥挤距离为:
[0105] di,j(fk)=|fk(xi)-fk(xj)|  (9)
[0106] 种群中任意两个体之间的拥挤距离为:
[0107]
[0108] 6.选择。此时种群规模为2n。首先将所有个体按照Pareto分级后的grad从小到大排列;然后,具有相同grad值的个体按照拥挤距离从大到小的顺序排列;最后,按照以上排列顺序选取前n个个体作为下一代种群。
[0109] 7.交叉。采用模拟二进制交叉(Simulated Binary Crossover,SBC)法,其在帮助种群跳出局部最优解、避免早熟收敛方面的积极作用已得以证实。若xr,i,k是随机选择的父代个体,xi,k(i=1,2)表示父代个体在SBC后产生的子代个体的第k个基因位,产生新个体为:
[0110]
[0111] 若u是(0,1)内的随机数,ηc定义了新个体产生的分布指数,等于种群规模,βk≥0可以由下式产生:
[0112]
[0113] 8.变异。采用多项式变异方法,当种群个体经过连续几代没有得到提升时,对新产生的个体进行多项式变异。u是[0,1]区间内的随机数,ηm是用户选取的分布指数,多项式变异的形式为:
[0114]
[0115]
[0116] 9.终止条件。以进化代数为终止条件,如果当前进化代数小于设定值,则返回3;否则,输出最终结果。
[0117] 基于以上操作,得出一系列非支配解集合如表3。
[0118] 表3 NSGA-II非支配解集
[0119]
[0120] 为验证算法及模型的有效性,将NSGA-II非支配解与标准遗传算法单目标优化结果进行对比 ,得出其优化程度如表4。其中单目标优化解为各目标函数的优化程度由式 表示,其中n
=1,2,3。
[0121] 表4 优化程度
[0122]
[0123] 由表4的优化程度比较得出,方案1和方案7均能得出较优于其他方案和单目标优化结果的解,但从表3可以看出两种方案的打印精度偏差分别为8和4,因此可以判定方案7为NSGA-II调度最佳方案。