欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2018113502930
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-08-24
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于改进实数编码遗传算法的服装裁剪分床方法,其特征在于,所述方法包括以下步骤:

第一步,设定裁剪分床的约束条件,根据用户的订单确定裁剪数量D,设定服装型号数number,各型号允许的裁剪误差范围er,各裁床上的铺布层数X的上限Xmax和下限Xmin,每层布可裁剪总件数T的上限Tmax和下限Tmin,各型号样片规格配比Y上限Ymax;

第二步,确定裁床数CH的范围,由第一步中设定的Xmax和Xmin根据公式计算出平均每床铺布层数Xave,同理根据公式 计算出平均每层布裁剪件数Tave,进而得出所需裁床数CH的上限CHmax和下限CHmin;

第三步,建立分床优化模型,过程如下:

2

在确定了一个CH值的情况下,目标优化函数E=(X*Y‑D) ,其中,E为每个规格实际生产数量与订单要求数量的误差平方和,X为各裁床上的铺布层数,Y为各型号样片规格配比,D为第一步中设定的裁剪数量;在床数确定的条件下,以E为目标,调整X和Y的取值,尽可能使得E的值足够小;

第四步,先利用改进的实数编码遗传算法搜索各裁床上的铺布层数X,再用枚举法计算对应的最佳各型号样片规格配比Y,过程如下:

4.1)设置初始参数:设定种群大小为SP,进化最大代数为Maxgen,交叉概率参数c1、c2设为常数,初始变异概率为Pm;随机产生2*SP个个体,每个个体有number个基因位,对应number个服装号型;每个基因位表示一张裁床上某种服装号型的铺布层数,采用实数编码方式,不转换为二进制,可以节省编码时间;然后根据公式fit=1/E计算2*SP个个体的适应度函数值fit,其中,E为第三步中的误差平方和,取适应度值最高的SP个个体作为初代铺布层数解集,建立一个库T用于存储所有出现过的个体,并将初代铺布层数X加入T中;

4.2)利用遗传算法结合禁忌搜索思想搜索铺布层数,当搜索到一组铺布层数解时,利用枚举法计算出可能的排放件数组合Y;在迭代寻优的过程中,将一个包含number种规格的订单分解为number个目标,只要number个目标的误差平方和最小,总误差就最小;

4.3)将每代最佳个体GX与历史最佳个体BX比较,根据公式:更新历史最佳个体BX,同时调整与之唯一对应的最佳配比BY,保证算法寻优过程不会出现“返祖”现象,在进化的过程中,历史最佳BX越来越接近全局最佳;

4.4)若迭代次数gen达到进化最大迭代次数Maxgen或误差平方和小于10,结束循环,输出最佳铺布层数组合BestX和最佳配比BestY,否则gen=gen+1,并转到步骤4.2)继续搜索;

第五步,判断最后输出的组合是否满足用户的误差约束条件,若满足条件,则该组合已经是最优方案;否则,需要在(CHmin,CHmax)范围内,求解裁床数CH+1时的最佳铺布层数与排放件数组合,重复执行上述第四、五步;

所述步骤4.2)中,利用遗传算法搜索铺布层数的过程为:

4.2.1)将SP个个体,即SP组铺布层数解,按照适应度值从高到低排序,采取最优保留策略,将排在最靠前的一个个体保留,不参与交叉,淘汰排名后20%的个体,留下排名第2~

0.8*SP的个体,即一共(0.8*SP‑1)个个体参与交叉;

4.2.2)在(0.8*SP‑1)个个体中随机选择两个作为父代,交叉概率为:其中,fitmax,fitavg分别为当前种群最大适应度值和平均适应度值,fitm为参与交叉的两个个体中比较大的适应度值,c1,c2是在步骤4.1)中设定的常数,采用“少生优生”策略;随机产生一个(0,1)之间的数r1,若Pc≤r1,则在(0.8*SP‑1)个个体中重新选择两个作为父代,计算新的Pc值;若Pc>r1,则根据实数编码的算术交叉算子产生子代:其中,r1为(0,1)之间的随机数,X1,X2为父代的两个个体,X′1为产生的子代新个体,令X1,X2的所有基因位均参与交叉,设定交叉环节总共需要产生0.5*SP个新个体;若新个体的某个基因位的铺布层数值超出第一步中设置的铺布层数上界Xmax,则将该基因位的值限定为Xmax,若小于第一步中设置的铺布层数下界Xmin,则将该基因位的值限定为Xmin;

4.2.3)将产生的X′1与库T进行匹配,如果X′1与T中某个个体完全匹配,说明该个体在进化过程中已经产生过,无需重复产生,此时随机产生一个(0,1)之间的随机数,用于更新步骤4.2.2)中的r1,不改变本次选出的两个交叉个体,令它们以不同的r1重新交叉,直至产生历史上从未出现过的铺布层数解,将该铺布层数解加入T中;重复步骤4.2.2)与步骤4.2.3)直至产生0.5*SP个新个体;

4.2.4)对产生的子代以一定变异概率进行变异,公式为:2

Pm=0.001+pause*α           (4)其中,pause为种群陷入停滞的代数,即pause代不产生更优的铺布层数与排放件数组合,初始的变异概率设为0.001;迭代开始后,Pm随进化的程度进行自适应变化,α决定了阈值;当Pm>rand()时,个体利用均匀变异算子X′ik=Xik+Δ进行更新,其中,Xik表示第i个个体的第k位基因,X′ik表示第i个个体的第k位基因变异后的值,k=round(CH*rand()),Δ表示某个基因位上的变异值,一般取值较小,且需要保证变异后的个体各基因位值都不超出第一步中设定的铺布层数界限;

4.2.5)针对变异后的0.5*SP个新个体X,搜索与之对应的最优排放件数组合Y,计算各自的适应度值,与原0.8*SP个个体比较,将这1.3*SP个个体按适应度值从高到低排序,保留前SP个个体。