一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种原材料下料排样的求解方法

2022-12-10 19:57:55 来源:中国专利 TAG:


1.本发明涉及原材料下料技术领域,特别涉及一种原材料下料排样的求解方法。


背景技术:

2.减少原材料消耗是企业实现绿色制造的必要手段之一,关乎着企业提高经济效益和改善生态环境问题,是一种节能减排的最直接有效的方法,更是一种助力国家实现碳中和目标的重要手段。而与原材料消耗直接相关的切割问题普遍存在于实际工程问题中,如在造纸、钢铁、塑料、铝和木材等各种行业的生产计划中,切割问题是必不可少的。切割问题也称为下料问题,其求解效果直接关系着制造企业的原材料消耗和生产效率。具体来讲,经典一维切割库存问题(csp)的数学模型是指通过优化给定的目标函数(原材料成本最小化),将一组可用的库存原料切割成客户订单要求的各种不同尺寸规格的产品。从数学理论层面上讲,切割问题是典型的np组合优化问题。目前,研究者们将求解此类问题的算法分为两种,一种是通过构造优良的(以材料浪费最少为目标)切割排样模式的方法,并尽可能反复使用这种切割模式来使目标函数最小化(材料成本最小),满足客户订单对不同规格产品的需求量,这种方法通常被称为构造式启发式优化算法;另外一种是先使用列生成精确方法获得原问题的松弛解,再结合启发式算法将四舍五入技术应用于松弛解,同时更新切割模式以得到切割优化问题的最佳整数解,这种方法通常被称为剩余式启发式算法。
3.对于一维切割下料一般问题的求解方法,目前的研究技术基本上趋于成熟,但针对低需求下料问题的求解,现有存在的近似解算法几乎都很难获得令人满意的最优解。而列生成精确算法(cg算法)虽能获得最优松弛解,但其取整之后的整数解与理想最优整数解之间的差距往往较大,且产生不同的切割模式(不同下料排样方案)数量较多,这致使企业制造产生大量的原材料浪费,并导致企业生产效率低下。


技术实现要素:

4.本发明提供了一种原材料下料排样的求解方法,以解决现有技术中现有算法获得的最优解容易造成原材料浪费的技术问题。
5.为达到上述目的,本发明的技术方案是这样实现的:本发明提供了一种原材料下料排样的求解方法,包括如下步骤:步骤s1、确定原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小;步骤s2、依据原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小建立原始数学模型,对原始数学模型矩阵化得到简化后的数学模型;步骤s3、建立初始单位矩阵,引入常量参数,利用初始单位矩阵和常量参数对简化后的数学模型进行初等行变化,得到新数学模型;步骤s4、借助gurobi优化器对新数学模型(称为vtc模型)进行求解,得到新数学模型的初始可行解,初始可行解包括下料排样方案和决策变量,决策变量指不同排样方案对应的变量,即对应每一种排样方案所使用原材料的数量;
步骤s5、利用cg算法在初始可行解的基础上继续进行求解,得到最优松弛解,最优松弛解是指最优决策变量,若最优松弛解全为非负整数,则将最优决策变量求和的值与步骤s4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤s6;步骤s6、借助启发式算法对步骤s5获得的最优松弛解进行取整,得到非负整数解,将最优决策变量求和的值与步骤s4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案。
6.在本实施例中,所述步骤s2中的原始数学模型为:第一目标函数:第一约束条件:第一约束条件:第一约束条件:第一约束条件:,,,,(1)其中,表示决策变量,具体表示第j种切割模式下所使用的原材料的数量;表示第j种切割模式中第i种待下料的产品的数量;表示第i种待下料的工件所需要的总数量;表示所需第i种待下料的工件的尺寸大小;l代表原材料的长度;表示非负整数。
7.优选的,所述步骤s2中简化后的数学模型具体为:第二目标函数:第二约束条件:第二约束条件:第二约束条件:,,,,(2)其中, 表示一个1行n列的矩阵;解向量矩阵表示是一个n行1列的矩阵,该矩阵的元素是决策变量,它的值被约束为大于或等于零且为整数;a表示排样方案(切割模式)的矩阵,是一个m行n列的矩阵(),当求解完成所有的切割模式后,由产生的切割模式组成矩阵a中所有的列,每一列代表一种切割模式,在迭代开始前,它是一个m行m列的单位矩阵;表示一个m行1列的列向量需求矩阵,该矩阵的
元素值表示不同尺寸工件的需求数量,m表示所需求工件种类的数量等于m;表示一个m行1列的矩阵,该矩阵是一个列变量向量矩阵,其中的元素值为非负整数,代表当前需要被求解的一种切割模式,用作为的索引,表示所有可能的切割模式集,如:表示当前迭代需要被求解的一种切割模式,其中元素表示在切割模式中,第i种工件的数量,;表示一个1行m列的行向量矩阵,该矩阵的元素代表m个不同工件的尺寸大小;如代表第i种工件的尺寸大小;表示在切割模式中,不同工件的尺寸乘以各自对应不同工件数量的乘积之和要小于等于原材料的长度;中的0 表示一个元素全为0的m行1列的列向量矩阵,其中,矩阵中所有的变量值被约束为大于或等于零,且必须小于或等于各类工件对应的需求数量,其值,表示非负整数。
8.优选的,所述步骤s3具体包含如下步骤:步骤s310、建立初始单位矩阵,引入一个常量参数,在每次迭代过程中,将第k列(未知列)对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;在迭代开始时,取,表示列向量需求矩阵d 中的第1个元素值,对应第一种工件的需求数量,表示排样方案矩阵a中对应第1列的决策变量,也表示对应第一种切割模式的决策变量;步骤s320、利用常量参数对简化后的数学模型进行初等行变化,得到新数学模型。
9.优选的,所述步骤s320中的新数学模型具体为:假设决策变量的数量为m个,不同工件种类的数量为m个,每迭代一次,生成一个新列,也代表生成一种新的切割模式,当迭代求解生成第k种切割模式时,其目标函数和约束条件可写成如下:第三目标函数:第三约束条件:第三约束条件:第三约束条件:第三约束条件:, and,,,,,
,(3)在(3)式中,代表当前需要被求解的一种切割模式,用作为的索引,表示所有可能的切割模式集,表示一个m行1列的矩阵,该矩阵是一个列变量向量矩阵,如:表示当前需要被求解的切割模式,其中元素表示在切割模式中,第i种工件的数量,;其中,表示在当前迭代中,将切割模式(对应矩阵a中第k列)对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;表示求解切割模式(对应矩阵a中第k列)时,通过将列向量矩阵的第k个元素强制为0获得;同理,表示求解切割模式时,通过将矩阵的第k行的元素强制为0元素获得,其作用是替代矩阵a,可避免对矩阵a进行重复繁琐的矩阵变化,仅需提供前一次迭代求解出的和则可;表示列向量变量矩阵参与矩阵初等变化之后的矩阵表达式;而约束表示决策变量矩阵中除第k列对应的决策变量为固定值外,其余决策变量全部被约束为大于或等于零;在约束中,表示一个1行m列的行向量矩阵,该矩阵的元素代表m个不同工件的尺寸大小,如代表第i种工件的尺寸大小;表示在切割模式中,不同工件的尺寸乘以各自对应不同工件数量的乘积之和要小于等于原材料的长度;表示未知列向量变量矩阵参与矩阵a进行初等行变化之后,矩阵a中第k行第k列元素的表达式,其值等于1,其中是一个1行m列矩阵,是通过将矩阵的第k行构建的行向量矩阵; 0≤a
p
≤d 表示列向量变量矩阵中所有的变量值被约束为大于或等于零,且必须小于或等于各类工件对应的需求数量,其值,表示非负整数;目标函数中是一个元素全为1的1行m列矩阵;注意:当迭代次数k≥m 1时,每生成一种切割模式,替代一个旧列,具体替代规则:第m 1种切割模式替代矩阵a中的第1列,第m 2种切割模式替代矩阵a中的第2列,以此类推,第2m种切割模式替代矩阵a中的第m列;同时注意,当矩阵a在进行矩阵初等行变化之后,a中的每一列不是切割模式,只有在完成所有切割模式的求解之后,将切割模式组成矩阵a中的每一列,此时a中的每一列表示一种切割模式。
10.优选的,所述步骤s4具体包含如下步骤:步骤s410、利用gurobi优化器对新数学模型进行求解;
步骤s420、通过,和对新数学模型中的第三目标函数和第三约束条件进行更新,其中,和可通过初始单位矩阵获得;借助gurobi优化器求解得到和,此时,第一种切割模式被求解出,并用和对矩阵a的第一列进行更新,对更新后的矩阵a进行初等行变化,同时对初始单位矩阵和矩阵做与矩阵a相同的初等行变化,得到更新矩阵后的矩阵,然后根据矩阵,得到矩阵,同时得到更新矩阵后的矩阵,根据矩阵,得到矩阵;同理,用,和更新迭代1次后新数学模型所对应的第三目标函数和第三约束条件,此时,未知,需要被求解,其中通过得到;步骤s430、借助gurobi优化器对新数学模型进行k次迭代,k=2...k,计算和:将和的计算结果作为矩阵a的第k列,其中,可通过矩阵获得,然后对矩阵a进行初等行变化,同时对矩阵和矩阵做与矩阵a相同的初等行变化,得到矩阵,然后根据矩阵得到矩阵,同时得到更新矩阵后的矩阵,再根据矩阵得到矩阵,并用,和更新迭代k次后新数学模型所对应的第三目标函数和第三约束条件,此时,未知,需要被求解,其中是通过将矩阵中第k 1行的元素构建的行向量矩阵;步骤s440、循环步骤s430,直至迭代的次数k=βm,m值等于待下料的不同工件种类的数量,β表示迭代的系数,β=1or2;迭代k次后,得到第三约束条件和第三目标函数所构成的新数学模型的可行解。
11.优选的,所述步骤s420中初始单位矩阵,迭代开始前矩阵a具体分别为:(4)(5)优选的,所述步骤s430中计算k次迭代是使用gurobi优化器进行求解。
12.优选的,所述步骤s5具体包含如下步骤:步骤s510、初始可行解即由上述求解产生的m种切割模式组成矩阵a中的每一列,
矩阵a中的每一列(每一种切割模式)对应的决策变量,依据矩阵a建立cg算法的初始迭代基矩阵b;步骤s520、提出新数学模型(vtc模型),并借助gurobi优化器对其进行迭代训练,直至迭代的次数达到设定值,得到初始可行解,并由此构造初始迭代基矩阵b;步骤s530、基于初始迭代基矩阵b,利用cg算法对其进行迭代训练,直至第二目标函数的值不再变小,获得最优松弛解;则将最优决策变量求和的值与步骤s4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤s6。
13.本发明的有益效果:本发明包含两个不同的阶段,分别为第一阶段和第二阶段,第一阶段即步骤s4中的vtc算法求解阶段,第二阶段即步骤s5中的cg算法求解阶段,基于vtc新模型改进的cg算法组成vtccg算法,通过vtccg算法求得的切割排样方案数量较少,优于现有存在的类似求解算法,且在求解小规格且低需求的下料问题时,可很好地提升列生成精确算法的求解质量;同时本发明的求解结果,具有更省材料、节省成本和更少数量的切割模式的优势。
附图说明
14.图1为本发明的流程图;图2为本发明求解实例1的排样方案;图3为创盈门窗下料软件求解实例1的排样方案。
具体实施方式
15.下面结合附图及具体实施例对本发明再作进一步详细的说明。
16.参照图1,本技术实施例提供了一种原材料下料排样的求解方法,包括如下步骤:步骤s1、确定原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小;步骤s2、依据原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小建立原始数学模型,对原始数学模型矩阵化得到简化后的数学模型;步骤s3、建立初始单位矩阵,引入常量参数,利用初始单位矩阵和常量参数对简化后的数学模型进行初等行变化,得到新数学模型;步骤s4、借助gurobi优化器对新数学模型(称为vtc模型)进行求解,得到新数学模型的初始可行解,初始可行解包括下料排样方案和决策变量,决策变量指不同排样方案对应的变量,即对应每一种排样方案所使用原材料的数量;步骤s5、利用cg算法在初始可行解的基础上继续进行求解,得到最优松弛解,最优松弛解是指最优决策变量,若最优松弛解全为非负整数,则将最优决策变量求和的值与步骤s4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤s6;步骤s6、借助启发式算法对步骤s5获得的最优松弛解进行取整,得到非负整数解,将最优决策变量求和的值与步骤s4中决策变量求和的值进行比较,选择求和最小的一方所
产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案。
17.在本实施例中,所述步骤s2中的原始数学模型为:第一目标函数: 第一约束条件:第一约束条件:第一约束条件:第一约束条件:,,,,(1)其中,表示决策变量,具体表示第j种切割模式下所使用的原材料的数量;表示第j种切割模式中第i种待下料的产品的数量;表示第i种待下料的工件所需要的总数量;表示所需第i种待下料的工件的尺寸大小;l代表原材料的长度;表示非负整数。
18.在本实施例中,所述步骤s2中简化后的数学模型具体为:第二目标函数:第二约束条件:第二约束条件:第二约束条件:,,,,(2)其中, 表示一个1行n列的矩阵;解向量矩阵表示是一个n行1列的矩阵,该矩阵的元素是决策变量,它的值被约束为大于或等于零且为整数;a表示排样方案(切割模式)的矩阵,是一个m行n列的矩阵(),当求解完成所有的切割模式后,由产生的切割模式组成矩阵a中所有的列,每一列代表一种切割模式,在迭代开始前,它是一个m行m列的单位矩阵;表示一个m行1列的列向量需求矩阵,该矩阵的元素值表示不同尺寸工件的需求数量,m表示所需求工件种类的数量等于m;表示一个m行1列的矩阵,该矩阵是一个列变量向量矩阵,其中的元素值为非负整数,代表当前需要被求解的一种切割模式,用作为的索引,表示所有可能的切割模式集,如:表示当前迭代需要被求解的一种切割模式,其中元素表示在切割模式中,第i种工件的数量,;表示一个1行m列的行向
量矩阵,该矩阵的元素代表m个不同工件的尺寸大小,如代表第i种工件的尺寸大小;表示在切割模式中,不同工件的尺寸乘以各自对应不同工件数量的乘积之和要小于等于原材料的长度;中的0 表示一个元素全为0的m行1列的列向量矩阵,其中,矩阵中所有的变量值被约束为大于或等于零,且必须小于或等于各类工件对应的需求数量,其值,表示非负整数。
19.在本实施例中,所述步骤s3具体包含如下步骤:步骤s310、建立初始单位矩阵,引入一个常量参数,在每次迭代过程中,将第k列(未知列)对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;在迭代开始时,取,表示列向量需求矩阵d 中的第1个元素值,对应第一种工件的需求数量,表示排样方案矩阵a中对应第1列的决策变量,也表示对应第一种切割模式的决策变量;步骤s320、利用常量参数对简化后的数学模型进行初等行变化,得到新数学模型。
20.在本实施例中,所述步骤s320中的新数学模型具体为:假设决策变量的数量为m个,不同工件种类的数量为m个,每迭代一次,生成一个新列,也代表生成一种新的切割模式,当迭代求解生成第k种切割模式,其目标函数和约束条件可写成如下:第三目标函数:第三约束条件:第三约束条件:第三约束条件:第三约束条件:, and,,,,,,,(3)在(3)式中,代表当前需要被求解的一种切割模式,用作为的索引,表示所有可能的切割模式集,表示一个m行1列的矩阵,该矩阵是一个列变
量向量矩阵,如:表示当前需要被求解的切割模式,其中元素表示在切割模式中,第i种工件的数量,;其中,表示在当前迭代中,将切割模式(对应矩阵a中第k列)对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;表示求解切割模式(对应矩阵a中第k列)时,通过将列向量矩阵的第k个元素强制为0获得;同理,表示求解切割模式时,通过将矩阵的第k行的元素强制为0元素获得,其作用是替代矩阵a,可避免对矩阵a进行重复繁琐的矩阵变化,仅需提供前一次迭代求解出的和则可;表示列向量变量矩阵参与矩阵初等变化之后的矩阵表达式;而约束表示决策变量矩阵中除第k列对应的决策变量为固定值外,其余决策变量全部被约束为大于或等于零;在约束中,表示一个1行m列的行向量矩阵,该矩阵的元素代表m个不同工件的尺寸大小,如代表第i种工件的尺寸大小;表示在切割模式中,不同工件的尺寸乘以各自对应不同工件数量的乘积之和要小于等于原材料的长度;表示未知列向量变量矩阵参与矩阵a进行初等行变化之后,矩阵a中第k行第k列元素的表达式,其值等于1,其中是一个1行m列矩阵,是通过将矩阵的第k行构建的行向量矩阵; 0≤a
p
≤d 表示列向量变量矩阵中所有的变量值被约束为大于或等于零,且必须小于或等于各类工件对应的需求数量,其值,表示非负整数;目标函数中是一个元素全为1的1行m列矩阵;注意:当迭代次数k≥m 1时,每生成一种切割模式,替代一个旧列,具体替代规则:第m 1种切割模式替代矩阵a中的第1列,第m 2种切割模式替代矩阵a中的第2列,以此类推,第2m种切割模式替代矩阵a中的第m列;同时注意,当矩阵a在进行矩阵初等行变化之后,a中的每一列不能切割模式,只有在完成所有切割模式的求解之后,将切割模式组成矩阵a中的每一列,此时a中的每一列表示一种切割模式。
21.在本实施例中,所述步骤s4具体包含如下步骤:步骤s410、利用gurobi优化器对新数学模型进行求解;步骤s420、通过,和对新数学模型中的第三目标函数和第三约束条件进行更新,其中,和可通过初始单位矩阵获得;借助gurobi优化器求解得到和,此时,第一种切割模式被求解出,并用和对矩阵a的第一列进行更新,对更新后的矩阵a进行初等行变化,同时对初始单位矩阵和矩阵做与矩阵a相
同的初等行变化,得到更新矩阵后的矩阵,然后根据矩阵,得到矩阵,同时得到更新矩阵后的矩阵,根据矩阵,得到矩阵;同理,用,和更新迭代1次后新数学模型所对应的第三目标函数和第三约束条件,此时,未知,需要被求解,其中通过得到;步骤s430、借助gurobi优化器对新数学模型进行k次迭代,k=2...k,计算和:将和的计算结果作为矩阵a的第k列,其中,可通过矩阵获得,然后对矩阵a进行初等行变化,同时对矩阵和矩阵做与矩阵a相同的初等行变化,得到矩阵,然后根据矩阵得到矩阵,同时得到更新矩阵后的矩阵,再根据矩阵得到矩阵,并用,和更新迭代k次后新数学模型所对应的第三目标函数和第三约束条件,此时,未知,需要被求解,其中通过得到;步骤s440、循环步骤s430,直至迭代的次数k=βm,m值等于待下料的不同工件种类的数量,β表示迭代的系数,β=1or2;迭代k次后,得到第三约束条件和第三目标函数所构成的新数学模型的可行解。
22.在本实施例中,所述步骤s420中初始单位矩阵,迭代开始前矩阵a具体分别为:(4)(5)在本实施例中,所述步骤s430中计算k次迭代是使用gurobi优化器进行求解。
23.步骤s410至步骤s440即vtc新模型求解阶段,以下用一个简单的例子对vtc新模型的求解阶段进行举例说明。
24.假设订单需求4种不同类型工件的下料,原下材料长度l =300,列向量需求矩阵;需求4种工件的尺寸,是一个行向量矩阵。是一个列向量变量矩阵,表示正在求解的一种切割模式。设置t=(1,1,1,1)为一个行为1列为4的矩阵。迭代开始前,初始化以下两个矩阵:

(6) (7)建立矩阵式新数学模型:目标函数: (8)约束条件:
ꢀꢀꢀ
(9)此时,我们可以获得:
ꢀꢀ
(10)
ꢀꢀ
(11)第1次迭代开始(第1种切割模式生成):根据(3)式,我们得到目标优化问题如下:目标函数: (12)约束条件: (13) (14),
ꢀꢀ
, , (15),,
ꢀꢀ
, , (16)为了简化矩阵重复繁琐的初等行变化, 我们将矩阵中的第一列表述为如下:

(17)将决策变量固定为常量参数,所以我们可以得到: (18) (19) (20) (21)通过(7)式中的,我们可以获得,通过得到,这样,(18)式到(20)式可以被转换成: (22)现在我们将(18)式到(20)式代入到式(12)式,这样,目标优化问题可以写成:目标函数: (23)约束条件: (24) (25) (26) (27)
,,, (28)现在,我们可以将约束(24)式到(27)式转化成以下矩阵形式: (29) (30)借助gurobi优化器对上述优化问题进行求解,我们可以得到:,,,;,,,;因此,将求解获得的切割模式更新矩阵a中的第1列我们可以得到如下: (31)第2次迭代开始(第2种切割模式生成):同样,根据(31)式,我们得到目标优化问题如下:目标函数: (32)约束条件: (33) (34)

ꢀꢀ
, , (35),
ꢀꢀ
, , .
ꢀꢀ
(36)现在,我们对(33)式进行矩阵初等行变化,同时,(7)式中的矩阵做与(33)式相同的矩阵初等行变化,得到,分别如下(37)式和(38)式所示: (37) (38)此时,将决策变量固定为所以,我们可以得到: (39) (40) (41) (42)同理,通过令,通过(37)式,令,因此,(39)到(41)式可以写成如下矩阵形式: (43)所以,上述目标优化问题可以被更新成如下形式:
目标函数:(44)约束条件: (45) (46) (47) (48) (49),,, (50)可以将约束(45)式到(48)式写成如下矩阵形式: (51) (52)将矩阵中的第2行构建一个行向量矩阵,这样,可以将等式约束(49)式写成如下形式: (53)借助gurobi优化器对上述优化问题进行求解,我们可以得到:
,,,;,,,;所以,第2种切割模式被求解出,并用该切割模式更新矩阵a中的第2列,得到,如下所示: (54)第3次迭代开始(第3种切割模式生成):第3次迭代,目标优化问题被更新成如下:目标函数: (55)约束条件: (56) (57),,, (58),
ꢀꢀ
, , .
ꢀꢀꢀ
(59)此时,对(56)式进行初等行变化,使其变化成(60)式,但是我们为了简化重复繁琐的矩阵变化,降低矩阵变化的计算时间,我们可以选择直接对(37)式中的第2列进行初等行变化则可,该列可以通过和得到,因为第2种切割模式已经被第2次迭代求解出。因此,具体地说,我们直接对和进行初等行变化就行,同时得到被更新成,使其变成如下(60)式和(61)式所示: (60)

(61)此时, 我们将决策变量固定为一个常量,这样,我们可以得到: (62) (63) (64) (65)同理,通过,可以得到,可以通过(60)式获得,然后通过,可以得到,所以,可以将(62)式到(64)式写成: (66)对于这次迭代,目标函数可以写成如下形式:目标函数: (67) 约束条件: (68) (69)

(70) (71) (72),,, (73)可以将约束(68)式到(71)式写成如下形式:
ꢀꢀ
(74)
ꢀꢀ
(75)将矩阵中的第3行转化成一个行向量矩阵,因此,可以将等式约束(72)式写成:
ꢀꢀ
(76)借助gurobi优化器对上述优化问题进行求解,这样,我们得到第3次迭代的结果如下:,,,;,,,;注意:第2次迭代的结果与第3次迭代的结果相同,并且与相同,所以,如下所示:
ꢀꢀ
(77)第4次迭代开始(第4种切割模式生成):第4次迭代的目标优化问题被更新成如下:目标函数: (78)约束条件:
ꢀꢀ
(79) (80),,, (81),
ꢀꢀ
, , .
ꢀꢀꢀ
(82)同样地,与第3次迭代一样,直接对和进行初等行变化,同时得到被更新成,使其变成如下:
ꢀꢀ
(83) (84)观察(83)式中的和(84)式中的的关系,可得到如下等式成立:
ꢀꢀ
(85)因此,将决策变量固定为之后,其余决策变量与列变量之间关系如下: (86) (87) (88) (89)通过矩阵,可以得到,同样,通过,可以得到,因此,将(86)式到(88)式写成:
ꢀꢀ
(90)这样,目标优化问题可以写成:目标函数: (91)约束条件: (92)

(93) (94) (95) (96),,, .
ꢀꢀ
(97)此时,可以将约束(92)式到(95)式写成如下矩阵形式: (98) (99)将矩阵中的第4行转化为一个行向量矩阵,如此,可以将等式约束(96)式写成如下: (100)借助gurobi优化器求解上述优化问题,可以得到第4次迭代(第4种切割模式)的结果如下:,,,;,,,;最后,我们将求解结果写成如下矩阵形式:
;;目标函数值该案例展示了对本发明建立的新数学模型进行求解的具体步骤,因为第4次迭代已经到最优整数解(通过列生成精确算法可以获得最优松弛解为5.9,所以最优整数解下界为6),而且决策变量值没有出现小数,因此,不需要对决策变量进行取整。上述案例只展示了迭代次数k=βm(β=1)的求解步骤,当迭代次数k=βm(β=1)时,求解步骤相同,只需将第m 1次迭代产生的切割模式替换矩阵a中的第1列则可,以此类推,直至迭代次数k=2m为止。
25.本发明每一次迭代过程中,本发明通过将当前求解列(切割模式)所对应的决策变量设置为一个常数,其值大小等于前一次迭代后,该列所对应的决策变量的值。由此,其余所有的决策变量与当前需求解的未知列向量变量矩阵(切割模式)建立起明显的线性关系。
26.在本实施例中,所述步骤s5具体包含如下步骤:步骤s510、初始可行解即由上述求解产生的m种切割模式组成矩阵a中的每一列,矩阵a中的每一列(每一种切割模式)对应的决策变量,依据矩阵a建立cg算法的初始迭代基矩阵b;步骤s520、提出新数学模型(vtc模型),并借助gurobi优化器对其进行迭代训练,直至迭代的次数达到设定值,得到初始可行解,并由此构造初始迭代基矩阵b;步骤s530、基于初始迭代基矩阵b,利用cg算法对其进行迭代训练,直至第二目标函数的值不再变小,获得最优松弛解;则将最优决策变量求和的值与步骤s4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤s6。
27.本发明提出的算法在湖南某公司完成测试和应用,针对某一批零单工程数据的测试(原材料-铝材长度l=6000cm,其余数据见表4),采用不同算法和专业性商业软件进行求解,其结果如下表1所示:涉及的相关求解算法和商用软件的介绍:创盈门窗下料软件:创盈门窗下料软件是由中国某有限公司开发的,该公司是国内知名的专业门窗设计和管理软件开发商。
28.gurobi 软件:gurobi是由美国开发的新一代大规模优化器。广泛应用在金融、物流、制造、航空、石油石化、商业服务等多个领域,为智能化决策提供了坚实的基础,成为上千个成熟应用系统的核心优化引擎。
29.cg:经典列生成精确算法,由gilmore p, gomory re 在1961年提出,直至目前,几乎所有相关优化优化器或专业商业软件都将其作为核心算法。
30.ffd与greedy:目前两款主流的启发式近似解算法,特别是greedy算法是目前计算切割优化问题最先进的近似解算法。
31.根据文献调研:其余相关求解算法大都是对基于cg产生的松弛解进行四舍五入,以获得优化问题的整数解,属于策略层面上的研究。因此,本发明提出改进cg的vtccg算法具有理论意义和实际应用价值。
32.表1 现场数据的测试结果从表1展示的结果可知:本发明提出的算法(vtccg)在保证目标函数值obj最优的前提下(原材料消耗的总数量最少),所生成的不同排样方案,相比主流的两款启发式算法以及专业的知名商业软件-创盈来说,其数量减少尤为明显。从工程实际应用方面讲,不同排样方案的数量与切割的效率直接相关。因为每次换一种不同的切割排样方案,必须要重新调整被切割工件的位置坐标,即相当于调整切割刀具的位置,所以不同排样方案的数量与企业产品切割加工的时间成本直接相关。
33.为进一步验证本发明提出算法的有效性,采用权威随机数据生成器产生的公共数据集进行测试,除原材料长度参数不同之外(表2和表3中的原材料参数l=1500),其余参数均一致,即数据特征与公共数据集一致(与文献所示参数一样)。鉴于篇幅空间原因,这里只对公共数据集中第1类和第13类的数据进行测试(具体数据可见文献:cerqueira, g., aguiar, s. s., marques, m. (2021). modified greedy heuristic for the one-dimensional cutting stock problem. journal of combinatorial optimization, 1-18.),其前13个案例的求解结果如表2和表3所示:表2 公共数据集的部分仿真测试结果
表3公共数据集的部分仿真测试结果从表2和表3展示的结果可知:本发明提出的算法获得了较为理想的整数解,并且所生成不同的排样方案数量最少,大大少于列生成算法和其余两种著名的启发式算法,有利于简化切割工艺,提升企业的生产效率。
34.本发明选用目前市场上常见的平开窗进行说明,其具体的下料数据详见表4,表4包含20个实例,表1中实例的下料数据来源于表4,表2和表3中实例的下料数据来源于公共数据集-仿真测试数据(见文献)。
35.表4、下料数据:
企业为完成门窗类产品订单的加工,需要从原材料为6000cm的标准长度上切割出不同尺寸和不同数量的零件,以满足完成门窗类产品的制作。然而,不同切割排样方案的数量与被切割工件的工位坐标设置直接有关,排样方案的数量越多,工位坐标设置的次数就越多。通过文献的调研可知:从数学理论层面上讲,对于求解一维切割问题的整数解,原材料消耗的总数量最小化与工位坐标设置的次数(不同排样方案的数量)是一对相互冲突的指标,即当将首要目标和辅助目标同时作为目标优化(双目标优化问题)时,不同排样方案的数量越少,原材料消耗的总数量就越多。而对于单目标优化问题(本发明研究的优化问题)的研究,目前存在的大部分求解算法在保证目标最优的情况下,很难获得令人满意的的排样方案(不同排样方案的数量越少越好)。相比其它存在的经典算法,本发明提出的算法可以较好地解决这一问题。
36.案例对比效果展示:在表1中,用本发明算法和创盈门窗下料商业软件求解实例1的排样方案,分别用如下图2和图3所示:在图2中,对于方案1:总共切割的长度是5828cm,需要切割4条铝管;对于方案2:总共切割的长度是5949cm,需要切割8条铝管;对于方案3:总共切割的长度是5896cm,需要切割4条铝管;对于方案4:总共切割的长度是5976cm,需要切割4条铝管;按照以上4种不同的排样方案进行切割,可以满足实例1对不同零件的需求数量。
37.在图3中,对于方案1:总共切割的长度是5965cm,需要切割4条铝管;对于方案2:总共切割的长度是5658cm,需要切割1条铝管;对于方案3:总共切割的长度是5975cm,需要切割6条铝管;对于方案4:总共切割的长度是5965cm,需要切割3条铝管;对于方案5:总共切割的长度是5973cm,需要切割3条铝管;对于方案6:总共切割的长度是5343cm,需要切割1条铝管;对于方案7:总共切割的长度是5964cm,需要切割1条铝管;对于方案8:总共切割的长度
是5949cm,需要切割1条铝管;按照以上8种不同的排样方案进行切割,可以满足实例1对不同零件的需求数量。
38.根据图2和图3的展示效果可知:本发明提出的算法(vtccg)相比国内知名的专业门窗下料软件(创盈),其产生的排样方案种类更少,即不同下料排样方案的数量减少50%,而两者所消耗的原材料的总数量都是20根。这相当于切割工位坐标设置次数减少一半,可大大节省工位坐标的调整时间,有利于提升企业的生产效率。
39.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不同限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。并且,本发明各个实施方式之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献