一种基于双种群混合算法的裁剪分床方法

文档序号:24968434发布日期:2021-05-07 22:38阅读:131来源:国知局
一种基于双种群混合算法的裁剪分床方法

本发明属于计算机辅助服装裁剪分床技术领域,涉及一种基于双种群混合算法的裁剪分床方法。



背景技术:

裁剪分床方案的制定是所有服装生产企业面临的难题,也是整个生产过程的核心问题,服装的生产中有短交期、多款式尺码、中小批量等特点,因此一个优秀的裁剪分床方案尤为重要。只有制定合适的裁剪分床方案,才能满足企业生产的高效率、低成本要求,企业订单生产中的利润越大,在行业中竞争力就会越强。

传统的服装生产中制定裁剪分床方案时,都是使用人工经验计算的方式,这样得到的方案势必会产生较大的误差,造成生产过程中不必要的浪费。计算机智能算法的出现让服装裁剪分床方案的计算有了更多的可能,rose,d.m.和shier,d.r.在文献cutschedulingintheapparelindustry.computers&operationsresearch,2007,34(11):3209–3228.中提出了一种利用计算机枚举方法来寻找合适的裁剪分床方案,使用计算机对所有可能的结果进行计算比较,获取最优秀的结果。但是由于简单的计算枚举法要对每一种结果进行计算,因此需要很长的时间来完成,因此在实际中难以保证生产效率。而遗传智能寻优算法的出现,在寻优问题上带来了极大的突破,国内外学者很快便将其运行于服装裁剪相关领域,王学骥等在文献基于粒子群优化算法的多目标裁剪优化分配的研究[j].工业控制计算机,2014,27(12):112-114.中使用了智能粒子群算法对裁剪分床方案求解过程进行优化,并针对实际裁剪分床的情况设定了多目标模型;江丽林等人在文献基于自适应加速因子粒子群优化算法的裁剪分床研究[j].计算机测量与控制,2018,26(01):181-184+189.中提到了一种自适应加速的粒子群算法,在普通粒子群基础上又提升了方案的准确率;中国专利申请号cn201811350293的文献提出了基于改进实数编码的遗传算法,应用于服装的裁剪分床中。这些现有的裁剪分床方法大多为单体算法,且目标较为单一,已经不太能满足实际生产的需要,单个算法使用时由于自身的缺点容易造成结果方案的不稳定。粒子群等算法速度很快,但极容易陷入局部最优而提前停止;遗传算法由于交叉变异等过程比较繁琐,进化过程耗时过长且局部搜索能力较差,需要很长时间才能找到最优解,而同时针对不同的生产工艺流程,算法的应用性能不一样。

为了在实际裁剪分床中更好的求解问题模型,提高裁剪分床准确性的同时又减少方案规划时间,为企业生产带来利润提升,提出了一种基于双种群混合算法的裁剪分床方法。



技术实现要素:

本发明的目的是提供一种基于双种群混合算法的裁剪分床方法,解决了现有技术中存在的单一算法不稳定、耗时长的问题。

本发明所采用的技术方案是,一种基于双种群混合算法的裁剪分床方法,具体按照以下步骤实施:

步骤1、算法初始化,初始化客户订单信息及生产工艺参数信息来确定裁剪需要的裁床数量区间范围[mmin,mmax],并求得裁剪分床模型参数信息;

步骤2、确定裁剪分床方案的目标函数,在多个维度上设定目标,得到最终算法的目标函数;

步骤3、根据步骤1得到的裁床数量最大值和最小值区间,以及步骤2得到模型的目标函数,选择最小的裁床数量m,进行混合算法的初始化;

步骤4、混合算法中普通种群的进化;

步骤5、精英种群的进化;

步骤6、如果整体混合算法进化完毕,则输出并记录当前裁床数量下的最优方案,然后裁床数量更新为m+1,判断新的裁床数量是否符合订单计算的裁床数量范围;如果仍然满足条件,则针对当前裁床数量初始化群体,再次执行步骤4计算当前裁床数量情况下的最优裁剪分床方案;如果不符合则停止计算,比较多个裁床下的最优方案的最终优秀性;

步骤7、最终根据指定的裁剪分床需求和目标,输出一组或多组优秀的裁剪分床方案。

本发明的特点还在于:

步骤1具体按照以下步骤实施:

步骤1.1、初始化客户订单信息具体包括:初始化订单尺码类型个数、尺码对应产品数量,尺码允许超出裁剪数量、订单使用面料幅宽信息、尺码的裁片长宽,最终消耗该面料长度;

步骤1.2、初始化生产工艺参数信息具体包括:初始化企业拥有裁床台数、裁床可以铺设面料的最小层数和最大层数、裁床可以铺设面料的最大长度、裁床拉布机拉布速度、裁床裁刀运行速度;

步骤1.3、确定模型参数信息:根据步骤1.1和步骤1.2得到实际的订单信息和生产工艺参数,计算裁剪分床模型参数信息。

步骤2具体按照以下步骤实施:

步骤2.1、确定裁剪方案超裁目标函数,通过裁床数量m、每个裁床的铺布层数hi、订单尺码数n、订单尺码需求数量aj以及裁床i需要裁剪尺码j的数量计算超裁目标函数d;

步骤2.2、设定裁剪时间目标函数,通过裁床数量m、尺码数量n、裁床拉布机运行速度v1、裁床铺布长度及裁刀行进速度v2计算裁剪时间t;

步骤2.3、设定面料利用率目标函数,通过每个裁床铺布后进行裁剪时,将不同尺码均匀排布,充分利用铺设的面料计算面料利用率p;

步骤2.4、处理多目标函数,降低目标维度,减少模型求解复杂度;对于超裁数量、裁剪时间和面料利用率三个目标函数,将各自目标函数进行归一化处理,忽略掉目标函数的尺度,根据目标函数中各函数设定的权重参数线性组合,得到混合算法目标函数为:f=αd+γ(1-p)+βt。

步骤3具体按照以下步骤实施:

步骤3.1、初始化混合算法进化过程参数,包括制定算法进化的总代数、遗传算法变异的初始概率、粒子群影响时的初始惯性因子、粒子群算法的学习因子、混合算法种群个体的数量并进行种群的初始化;

步骤3.2、确定算法编码方案,初始化种群、初始化种群个体的裁床矩阵和尺码配比矩阵值,根据算法种设定的种群种个体数量,初始化生成相应数量的个体粒子,每个个体粒子随机生成自己的裁床层数和尺码配比矩阵b。

步骤4具体按照以下步骤实施:

步骤4.1、计算普通种群中个体的适应度;种群进化过程中的适应度函数就是使用模型的目标函数,即f=αd+γ(1-p)+βt,针对每个粒子计算其适应度,然后在种群中根据适应度进行排序,适应度好代表方案更优;

步骤4.2、普通种群进化的选择过程;普通种群进化过程的选择方法使用轮盘赌的机制;

步骤4.3、根据步骤4.2中选择的粒子进行交叉进化处理,进行交叉操作时,对选择出的两个个体的编码,随机生成一个代表交叉位置的随机数值,在该位置的前后,交换两个个体的基因段,形成两个新的个体;

步骤4.4、普通种群进行随机变异,产生新的种群;进化时选择一个个体,并生成一个相应的变异概率矩阵q,然后将矩阵中的概率与当前变异概率qi相比较,如果大于变异概率则当前基因会发生变异;

步骤4.5、一次进化完成,判断由普通种群进化产生的精英个体是否满足精英种群进化的条件;如果不满足则回到步骤4.1继续进行普通种群的进化,并不断产生精英个体供给精英种群;如果精英种群数量达到算法设置的条件,则进行步骤5开始精英种群的进化。

步骤5具体按照以下步骤实施:

步骤5.1、精英种群个体适应度的计算;精英种群数量满足后,以此作为精英种群初始群体,进行精英种群算法进化,根据公式f=αd+γ(1-p)+βt计算精英种群所有个体的适应度,记录当代优于全局最优的个体,并按照适应度对种群个体进行排序;

步骤5.2、计算当前世代精英进化的惯性因子;精英种群进化采用一种改进的惯性因子自适应的粒子群算法,设定一个初始值较大的惯性因子,随着进化代数的增长,惯性系数在减小,加快对全局最优的收敛性,根据权重计算公式获取当前进化代数下的自适应惯性因子;

步骤5.3、更新精英种群个体的速度和位移属性,完成当前代数的进化;精英种群每进化一次,都要找到当前代数的局部最优和全局最优粒子,并以此为标准进行种群粒子的速度和位移的更新;

步骤5.4、精英种群进化完成后,要判断是否达到最大进化次数,如果达到了设定的进化代数或者粒子群进化提前稳定停止,则计算种群粒子的适应度并进行排序,获取前一部分优秀粒子随机替换掉普通种群中相应数量的粒子,完成精英种群对普通种群的进化影响;如果未达到指定进化次数则返回步骤5.1继续进行精英种群的进化。

步骤2.1中超裁目标函数d的计算公式为:

其中

其中,zj是第j个尺码超裁数量,cij是裁床i每层裁剪尺码j的数量。

步骤2.2中裁剪时间t的计算公式为:

其中sj代表尺码j裁剪时裁刀走过的路径,li代表裁床i面料的总长度。

步骤2.3中面料利用率p的计算公式为:

其中,dj代表尺码j裁剪时面料使用长度。

本发明的有益效果是:本发明结合遗传算法的稳定多样性和粒子群算法的高效性;在种群的编码方案中采用了实数编码,降低了过程中编解码和计算的复杂性;在针对裁床铺布层数和尺码配比两个矩阵寻优过程中,将二者作为一个新的增广矩阵进行结果方案的寻优,进一步降低模型复杂度;在算法的进化过程中纵向结合遗传算法和粒子群算法,两者进化的种群交叉影响,在保证总进化代数一致的情况下提升了进化效率;在考虑不同企业生成环境和业务需求不同是,采用了多目标建模,可以自定义目标权重的方式实现算法求解问题模型灵活性和高适应性;整个过程设定好工艺和需求参数后全程由算法自动执行,解决了当下企业实际生产中人工计算工作的耗时耗力且结果不够优秀的问题。

附图说明

图1是本发明一种基于双种群混合算法的裁剪分床方法的流程图;

图2是本发明一种基于双种群混合算法的裁剪分床方法的进化过程中个体交叉流程图;

图3是本发明一种基于双种群混合算法的裁剪分床方法的进化过程中个体变异进化流程图;

图4是本发明一种基于双种群混合算法的裁剪分床方法的遗传算法和粒子群算法混合时的交叉影响机制示意图;

图5是本发明一种基于双种群混合算法的裁剪分床方法的结合多种现有方法求解裁剪分床模型时的进化过程示意图;

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种基于双种群混合算法的裁剪分床方法,如图1所示,具体按照以下步骤实施:

步骤1、算法初始化阶段,初始化客户订单信息及生产工艺参数信息来确定裁剪需要的裁床数量区间范围[mmin,mmax],并得到裁剪分床模型相关参数信息;具体按照以下步骤:

步骤1.1、初始化客户订单信息:订单尺码类型个数n、尺码i对应产品数量ai,尺码i允许超出裁剪数量si、订单使用面料幅宽信息w1,尺码i的裁片长宽li*wi,最终消耗该面料长度li;

步骤1.2、初始化生产工艺参数信息:企业拥有裁床台数x、裁床可以铺设面料的最小层数hmin和最大层数hmax、裁床可以铺设面料的最大长度lmax、裁床拉布机拉布速度v1、裁床裁刀运行速度v2;

步骤1.3、初始化模型相关参数信息,由步骤1.1和步骤1.2得到实际的订单信息和生产工艺参数,进而求得模型相关参数;如订单使用的裁床数量范围[mmin,mmax],裁床j可以铺设的裁片数量cmax;

步骤2、确定裁剪分床方案的目标函数,在多个维度上设定目标,得到最终算法的目标函数,确定裁剪分床问题的数学模型;具体按照以下步骤:

步骤2.1、确定裁剪方案超裁目标函数,超裁数量是裁剪分床计划制定过程中必不可少的一个衡量目标,其决定了最终裁剪时面料的实际使用量,一个优秀的超裁目标可以保证完成订单要求的同时尽量少的浪费,节约了使用的面料,能够最大程度的降低裁剪过程中的原材料成本;超裁目标函数d主要由裁床数量m、每个裁床的铺布层数hi、订单尺码数n、订单尺码需求数量aj以及裁床i需要裁剪尺码j的数量来决定的,则超裁目标函数d的计算公式可以为:

其中

其中,zj是第j个尺码超裁数量,cij是裁床i每层裁剪尺码j的数量;

步骤2.2、设定裁剪时间目标函数,裁剪时间是指裁剪分床过程中拉布机的拉布时间和裁刀裁剪时间的总称,具体的裁剪时间与裁剪方案设定的裁床数量m、裁床拉布机运行速度v1、裁床铺布长度及裁刀行进速度v2相关,其计算公式为:

其中sj代表尺码j裁剪时裁刀走过的路径,li代表裁床i面料的总长度;

步骤2.3、设定面料利用率目标函数,面料利用率主要是计算每个裁床上的铺布后进行裁剪时,将不同尺码均匀排布,充分利用铺设的面料;其计算公式为:

其中,dj代表尺码j裁剪时面料使用长度;

步骤2.4、处理多目标函数,降低目标维度,减少模型求解复杂度;对于超裁数量、裁剪时间和面料利用率三个目标函数,由于三个目标函数尺度不同、因此要想将目标进行线性处理,就要将各自目标函数进行归一化处理,忽略掉目标函数的尺度,然后根据每个目标函数所拥有的权重进行线性组合,得到最终的一个目标函数值。面料利用率已经是单位化的数值,因此针对超裁数量和裁剪时间进行归一化处理为:

根据目标函数中各函数设定的权重参数α、β、γ进行线性组合,得到混合算法目标函数为:f=αd+γ(1-p)+βt;结合步骤1中相关参数,以及当前目标函数,可以确定裁剪分床问题的数学模型:

f=αd+γ(1-p)+βt,其中

后续模型的计算求解过程中即以此为约束条件,对所有可能的裁剪分床方案代入模型计算,算法的最终结果就是找到使目标函数f最小的方案b,此时对应实际裁剪分床中能够更好的满足超裁数量少、裁剪时间短、面料利用率高的生产需求;具体的算法求解模型流程如后续步骤:

步骤3、根据得到的裁床数量最大值和最小值区间,以及模型的目标函数,选择最小的裁床数量m,进行混合算法参数的初始化;具体按照以下步骤:

步骤3.1、初始化混合算法进化过程参数,包括制定算法进化的总代数maxiter,遗传算法变异的初始概率q0,粒子群影响时的初始惯性因子w0,粒子群算法的学习因子c1、c2,设定混合算法种群个体的数量并进行种群的初始化;初始化时根据个体取值范围进行限制,保证所有产生的个体方案都满足实际工艺要求;

步骤3.2、确定算法编码方案,初始化种群、初始化种群个体的裁床矩阵和尺码配比矩阵值;据算法种设定的种群种个体数量,初始化生成相应数量的个体粒子,每个个体粒子随机生成自己的裁床层数和尺码配比矩阵b;并根据裁床的铺布层数范围,以及裁床每层可以获得裁片数量限制矩阵b中实数的随机取值;考虑到二进制编码过长而不利于算法的计算,为保证算法计算有效性及含义直观性,采用了实数编码的遗传算法编码方案;使用a代表客户订单的各个尺码需求数量,h表示各裁床的面料铺布层数,c表示各个裁床中不同尺码之间的配比,具体表示为:

这样在进化过程中只考虑变化一个矩阵,会显著提升算法的执行效率,在更短的时间获取到最优方案;

步骤4、混合算法中普通种群的进化过程,如图2所示为普通种群进化过程的流程图,具体按照以下步骤进行:

步骤4.1、计算普通种群中个体的适应度;种群进化过程中的适应度函数就是使用模型的目标函数,即f=αd+γ(1-p)+βt,针对每个粒子计算其适应度,然后在种群中根据适应度进行排序,适应度好代表方案更优;

步骤4.2、普通种群进化的选择过程;普通种群的进化过程和精英种群进化是交叉影响、相互促进的,每一次普通种群进化完成后,计算种群的适应度并进行排序,选取指定数量的粒子加入到精英种群中,当精英种群数量满足时会停止普通种群进化而开始精英种群的进化。普通种群进化过程的选择方法使用了轮盘赌的机制,轮盘赌机制中即保证了适应度更高的粒子更有可能被选中,又保证了每一个粒子都有选中的可能,有利于种群的多样性;使用时要计算所有粒子的适应度的总和,然后每个粒子的适应度占比就是其被选择的概率,使用公式为:

步骤4.3、根据步骤4.2中选择的粒子进行交叉进化处理;普通种群进化时的交叉机制是对选中的两个体进行染色体配对,并将两者染色体上的基因片段相互交换形成两个新的个体,从而增加进化种群的多样性;进行交叉处理时,对选择出的两个个体的编码,随机生成一个代表交叉位置的随机数值,在该位置的前后,交换两个个体的基因段,形成两个新的个体;其具体的交叉方式可以表示为:

交叉得到

步骤4.4、普通种群进行随机变异,产生新的种群;变异操作是对个体产生随机的变化产生新个体来更加适应进化的操作;普通种群进化过程中,前期主要依靠交叉进化来保证种群个体的优越性,后期则需要变异操作来保证种群的多样性;混合算法中设计的个体变异概率和进化的代数呈线性相关,进化时选择一个个体,并生成一个相应的变异概率矩阵q,然后将矩阵中的概率与当前变异概率qi相比较,如果大于变异概率则当前基因会发生变异,变异算子则是参考了粒子群算法思想中的位移更新公式,提升整个进化过程的效率;涉及的当代变异概率公式和变异尺度计算公式为:

步骤4.5、一次进化完成,判断由普通种群进化产生的精英个体是否满足精英种群进化的条件;由于是普通种群和精英种群交叉影响、相互促进的进化,因此在算法进化的过程判断精英种群是否满足粒子群进化的条件,如果不满足则回到步骤4.1继续进行普通种群的进化,并不断产生精英个体供给精英种群;如果精英种群数量达到算法设置的条件,则向下进行步骤5开始精英种群的进化;

步骤5、精英种群的进化过程,如图3所示为精英种群进化流程图,具体按照以下步骤进行:

步骤5.1、精英种群个体适应度的计算;精英种群数量满足后,以此作为精英种群初始群体,进行精英种群算法进化;因为普通种群和精英种群都旨在寻找裁剪分床模型的最优方案,两者目标函数是一致的,因此精英种群的适应度计算方式和普通种群一致,为:f=αd+γ(1-p)+βt;根据公式计算精英种群所有个体的适应度,记录当代最优于全局最优的个体,并按照适应度对种群个体进行排序;

步骤5.2、精英种群的向优进化,计算当前世代精英进化的惯性因子;为了提升进化效率,精英种群进化采用了粒子群算法,种群中所有粒子都会收到全局最优粒子的影响,因此更容易陷入局部最优而无法跳出寻求真正的全局最优方案;因此精英种群进化采用一种改进的惯性因子自适应的粒子群算法;设定一个初始值较大的惯性因子,在开始进化时增加种群的多样性,避免过早陷入局部最优;随着进化代数的增长,惯性系数在减少,加快对全局最优的收敛性;根据权重计算公式获取当前进化代数下的自适应惯性因子,然后进行粒子群的进化,惯性因子的变化公式为:

步骤5.3、更新精英种群个体的速度和位移属性,完成当前代数的进化;精英种群每进化一次,都要找到当前代数的局部最优和全局最优粒子,并以此为标准进行种群粒子的速度和位移的更新,整个过程中所有粒子的进化都是向优进化的;具体位移和速度变化公式为:

步骤5.4、精英种群进化完成后,要判断是否达到最大进化次数,如果达到了设定的进化代数或者粒子群进化提前稳定停止,则计算种群粒子的适应度并进行排序,获取前一部分优秀粒子随机替换掉普通种群中相应数量的粒子,完成精英种群对普通种群的进化影响;如果未达到指定进化次数则重复步骤5.1继续进行精英种群的进化;

步骤6、如果整体混合算法进化完毕,则输出并记录当前裁床数量下的最优方案,然后裁床数量更新为m+1,判断新的裁床数量是否符合订单计算的裁床数量范围;如果仍然满足条件,则针对当前裁床数量初始化群体,再次执行步骤4计算当前裁床数量情况下的最优裁剪分床方案;如果不符合则停止计算,比较多个裁床下的最优方案的最终优秀性;

步骤7、最终根据指定的裁剪分床需求和目标,输出一组或多组优秀的裁剪分床方案。

在本发明基于双种群混合算法的泳装裁剪分床的方法中:步骤3的作用为将实际生产中的工艺参数与混合算法模型联系起来,将工艺参数作为模型的量进行计算,简化模型,为混合算法求解裁剪分床模型提供支持。

步骤3.2混合算法编码方案,算法中需要进行编码的是各个裁床铺布层数,各个裁床铺设各个尺码的数量配比,根据实际生产中的情形,裁床的铺布层数多达几百层,而订单的尺码种类是10个左右,每层面料可以铺设的尺码的数量为20左右,如果针对裁床铺布层数和各尺码配比使用二进制编码,则此二进制编码会过长而不利用后续算法的计算,因此考虑到保证算法后续的计算有效性,以及表示的含义更明显,采用了实数编码的遗传算法编码方案。如a代表客户订单的各个尺码需求数量,h表示各裁床的面料铺布层数,c表示各个裁床中不同尺码之间的配比,具体表示为:

则对于本文的必要目标函数超裁数量的关系计算可以表示为:

算法的进化过程中,寻优过程涉及对目标函数计算和比较筛选,并在此基础上针对两个矩阵进行进化时,运算性能较低。由于裁床铺布层数h是m*1矩阵,可以将两个矩阵合并为一个,最终计算时将其分开进行计算,合并的矩阵可以表示为:

这样在进化过程中只考虑变化一个矩阵,会显著提升算法的执行效率,在更短的时间获取到最优方案。

步骤4中的普通种群进化过程和步骤5中的精英种群进化过程是交叉影响、相互促进的,主要体现在步骤4.5普通种群进化后要向精英种群种提供优秀的个体,以满足精英种群进化的初始条件,而步骤5.4在精英种群进化完成后,得到的更优秀的个体,又会加入到普通种群中来,保证了寻优的效率,如图4为两个种群在进化过程中相互影响的原理图示。使用双种群思想,将两种算法结合起来,发挥遗传算法的稳定性和多样性,又保有了粒子群算法的高效性,保证总进化次数不变的情况下,能够更快的寻找到最优秀的解决方案。

通过一个具体的实施例对本申请的一种基于双种群混合算法的泳装裁剪分床方法进一步讲述,并与现有的其他裁剪分床方法对比,验证提出方法的有效性和优越性。

表1服装生产订单

表1使用一个客户服装生产订单信息,显示了企业在生产是订单种具体的尺码信息和尺码相应的数量信息。按照步骤1种指定相应的工艺参数信息,裁床台数x、裁床可以铺设面料的最小层数hmin和最大层数hmax、尺码允许超出裁剪数量si、面料幅宽信息w1,尺码i的裁片长宽li*wi,裁床拉布机拉布速度v1、裁床裁刀运行速度v2。

根据步骤2中流程进一步计算出订单尺码对面料的单耗长度li,裁剪分床方案种裁床使用范围[mmin,mmax]。并根据订单时间要求和质量要求指定目标函数的权重,得到最终目标函数f=αd+γ(1-p)+βt。

有了裁剪方案目标函数和计算得到的裁床取值范围[mmin,mmax],可以在步骤3中初始化混合算法的初始参数,包括制定算法进化的总代数maxiter,遗传算法变异的初始概率q0,粒子群影响时的初始惯性因子w0,粒子群算法的学习因子c1、c2,设定混合算法种群个体的数量并进行种群的初始化,保证所有产生的个体方案都满足实际工艺要求。种群中个体的编码格式为:

按照步骤4中过程执行算法,使用目标函数f=αd+γ(1-p)+βt计算普通种群中个体的适应度,然后在种群中根据适应度进行排序,并选择两个最优个体加入到精英种群。使用轮盘赌的方法选择普通种群的个体,使用公式为:对选择出的个体进行交叉进化,产生两个新个体,新个体保留父代个体的优越性,并增加了一定的多样性,交叉结果可以表示为:

交叉得到:

对交叉变异后的种群个体进行随机变异进化,选择一个个体,并生成一个相应的变异概率矩阵q,然后将矩阵中的概率与当前变异概率qi相比较,如果大于变异概率则当前基因会发生变异,变异算子则是参考了粒子群算法思想中的位移更新公式,提升整个进化过程的效率。涉及的当代变异概率公式和变异尺度计算公式为:

进化完成后判断精英种群个体是否满足精英种群进化的条件。不满足则继续进行普通种群的进化,并不断产生精英个体供给精英种群。满足则向下进行精英种群的进化。

精英种群的进化按照步骤5过程进行,精英种群以f=αd+γ(1-p)+βt为个体适应度,记录当代最优与全局最优的个体。计算当前世代精英进化的惯性因子为并更新精英种群个体的速度和位移属性,完成当前代数的进化,公式为:

精英种群进化完成后,要判断是否达到最大进化次数,如果达到了设定的进化代数或者粒子群进化提前稳定停止,则计算种群粒子的适应度并进行排序,获取前一部分优秀粒子随机替换掉普通种群中相应数量的粒子,完成精英种群对普通种群的进化影响。如果未达到指定进化次数则继续进行精英种群的进化。

混合算法进化完毕,则输出并记录当前裁床数量下的最优方案,然后裁床数量更新为m+1,判断新的裁床数量是否符合订单计算的裁床数量范围。如果仍然满足条件,则针对当前裁床数量初始化群体,再次执行步骤4计算当前裁床数量情况下的最优裁剪分床方案;如果不符合则停止计算,比较多个裁床下的最优方案的最终优秀性。对当前订单信息算法最终求解得到最优裁剪分床方案为:

如图5是使用了已有的遗传算法、粒子群算法和本发明中的双种群混合对示施例1进行裁剪分床方案求解的过程,算法总迭代次数为1000代,随着迭代次数的增加,粒子群算法在100代左右便已经达到最优并陷入稳定,停止了进化;遗传算法直到1000次迭代完成仍然在不断寻找最优方案,稳定但速度较慢;而本发明的双种群混合算法在200代左右寻找到一个优秀的方案,方案结果比粒子群要更优秀,与遗传算法基本一致。即保证了粒子群算法的速度也拥有了遗传算法的稳定和寻优能力。

表2多种算法的裁剪分床方案最优结果对比

为了增加发明算法的对比性,增加了根据生产经验进行手工计算的结果,表2中为人工计算、粒子群、遗传算法、双种群混合算法四种方法对订单求解结果的对比,从数据对比可以得到人工计算的方法需求一定规律性,对于规律不明显的订单数据计算复杂且误差大,本订单中要比智能算法增加一个裁床的使用。粒子群算法求解模型时速度快、迭代次数较小时就可以找到最优,遗传算法比较稳定。从双种群混合算法的寻优结果来看,在各方面数据均超过了粒子群算法,且裁剪超出数量比人工算法减少一半以上,与单个改进遗传算法相比,裁剪超出数量少了6件,裁剪时间提升了0.24分钟,且算法的执行时间更是加快了16.2%,由此可见混合算法即保留了遗传算法的稳定优势,又融合了粒子群收敛速度快的特性,能较好较快的寻找到最优方案。

表3不同维度的目标函数结果比较

表3是针对不同维度的目标函数时,发明的双种群混合算法对模型求解的性能对比。可以看到在针对不同维度的目标模型时,算法优化的方向是不同的。不考虑裁剪时间和面料利用率时,得到了超出数量为18的结果,而裁剪时间增加了7.96分钟,面料利用率则下降了3个百分点;考虑其中两个目标时,则剩余目标会造成较大的浪费。因此针对企业实际生产中需求不同、目的不同的情况下,可以为了满足客户要求而去调整相应的参数,保证准时准量的完成生产。

以上内容通过一个实施例验证了发明算法的有效性能,整合算法的优势,将其应用到裁剪分床问题上,为服装生产企业提供一种新的技术手段,来提高企业的生产效率和生产利润。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1