CN116777064B - 基于非一刀切约束和分支定价算法的二维装箱方法 - Google Patents
基于非一刀切约束和分支定价算法的二维装箱方法 Download PDFInfo
- Publication number
- CN116777064B CN116777064B CN202310739092.4A CN202310739092A CN116777064B CN 116777064 B CN116777064 B CN 116777064B CN 202310739092 A CN202310739092 A CN 202310739092A CN 116777064 B CN116777064 B CN 116777064B
- Authority
- CN
- China
- Prior art keywords
- branch
- pricing
- container
- solution
- dimensional
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 19
- 101100295776 Drosophila melanogaster onecut gene Proteins 0.000 claims abstract description 15
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 238000012856 packing Methods 0.000 claims description 24
- 238000003462 Bender reaction Methods 0.000 claims description 7
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 abstract description 10
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 4
- 238000005520 cutting process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000002994 raw material Substances 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 241001334134 Rugopharynx epsilon Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于装箱问题优化技术领域,尤其涉及一种基于非一刀切约束和分支定价算法的二维装箱方法。本发明针对具有非一刀切约束的二维矩形装箱问题提出了一个分支定价的精确求解算法,该算法能精准快速的求解出二维装箱最优解,并在计算过程中采用针对容器和箱体数据的预处理技术降低问题规模,大幅度的减少算法的搜索空间,提高了算法的收敛速度。
Description
技术领域
本发明属于装箱问题优化技术领域,尤其涉及一种基于非一刀切约束和分支定价算法的二维装箱方法。
背景技术
二维装箱问题(Two-Dimensional Bin-Packing Problems,2D-BPP)与二维矩形排样问题等价,是一种经典的组合优化问题,组合优化问题的早期研究可以追溯到20世纪初期,研究的范围包括一维排样、二维排样,其中二维排样又分为二维矩形排样和二维异形排样等。该问题的研究与实际生产和物流密切相关,其应用领域包括制造业、物流、计算机辅助设计等。
在制造业中,二维排样问题是生产流程中的一个重要环节,如木材行业、玻璃行业和造纸行业等,给定一些较大的矩形原料,厂商根据客户的需求,从较大的矩形原料上裁切出给定的大小不一的小矩形成品,目标是使用最小成本的原料切割。另外,在制造过程中,很多零部件需要在生产线上组装,二维排样问题可以用来确定如何最优地将这些零部件放置在生产线上,以提高生产效率和产品质量。二维排样问题还可以用来优化包装设计,以减少包装材料的浪费,提高包装的保护性能和美观性;而在计算机行业中,计算机系统的多CPU任务调度问题完全可以转化为二维矩形排样的开维问题(Open Dimension Problem,ODP),每个任务的执行均消耗指定的资源量,占用固定的时间段。每个任务均可看成一个小箱体,其宽度就是占用的资源,高度就是占用的时间,而整个计算机系统就可看成宽度(总资源)固定高度(时间)无限的多个等待装填的二维敞口容器。
因此,二维装箱问题有着重要的理论研究意义和实际应用价值。
针对于二维装箱问题的主要求解方法可分为启发式算法和智能优化算法。精确算法可以得到最优的排样方案,对于一些重要的应用场景,最优解往往是至关重要的。精确算法可以提供确切的最优解,从而提高算法的可靠性和稳定性;智能优化算法是一种基于生物进化、自然选择等智能技术的优化算法,是一种通过模拟生物进化过程来求解复杂问题的算法。常见的智能优化算法包括:粒子群优化算法、遗传算法、蚁群算法等,这些方法都是基于随机搜索的方式进行求解,每次得到的可行解不稳定,也无法判断是否为最优解。
随着技术发展,人工智能方法也被提出用来求解二维装箱问题,例如机器学习方法、深度学习方法和强化学习方法,但这些方法的缺点是需要强大的算力和大量的数据集支持,并且该类方法的可解释性较差。
发明内容
本发明提供一种基于非一刀切约束和分支定价算法的二维装箱方法,旨在解决现有技术在求解二维装箱问题时计算规模大、数据量大、收敛速度慢的问题。
具体的,本发明提供一种基于非一刀切约束和分支定价算法的二维装箱方法,所述二维装箱方法包括以下步骤:
S1、确定用于装箱的矩形块的箱体和用于承载所述箱体的容器,并构建关于所述箱体和所述容器的二维装箱集合覆盖模型,以所述箱体和所述容器作为初始数据,对所述初始数据进行预处理;
S2、以所述初始数据作为分支定价算法的初始列,并基于非一刀切约束构建关于所述二维装箱集合覆盖模型的定价子问题;
S3、以所述初始列在所述二维装箱集合覆盖模型中的线性松弛问题的解作为分支定价树的根节点对所述分支定价算法进行求解,其中,设置基于箱体对的分支策略,并根据预设动态规划打包算法,对所述定价子问题进行求解,得到所述二维装箱集合覆盖模型的最优解;
S4、基于所述最优解,将所述箱体装载于所述容器中。
更进一步地,定义一组所述容器B={1,2,…,m},每一所述容器具有同样的宽度W和高度H,定义一组所述箱体N={1,2,…,n},每一所述箱体具有以下属性:
所述二维装箱集合覆盖模型满足:
min λr;
其中,λr为决策变量,表示打包方案r是否被选中,如果被选中则λr取1,否则取0;Ω为可行打包方案全集;Ω′为打包方案部分集合;N为箱体集合;αjr用以指定箱体j是否被分配在打包方案r中,如果覆盖则取值为1,否则为0。
更进一步地,以所述箱体和所述容器作为初始数据,对所述初始数据进行预处理的步骤,包括:
对所述容器的尺寸进行缩小处理,定义任意所述箱体的宽度组合为可产生的最大值W*≤W,且:
之后,使W=W*,并根据关系式对所述容器的高度H进行缩小;
对所述箱体的尺寸进行放大处理,定义任意所述箱体的宽度最大值且:
之后,使wj=wj,并根据关系式对所述箱体的高度hj *进行放大。
更进一步地,所述二维装箱集合覆盖模型还包括所述箱体的可行位置约束,每一所述箱体在装载至所述容器时,所述箱体的左侧或底部都与另一个所述箱体或所述容器的边界接触。
更进一步地,基于非一刀切约束构建的关于所述二维装箱集合覆盖模型的所述定价子问题中,设βj为一个二值变量,当且仅当所述箱体j被打包在最优的打包方案中时βj取1,否则取0,mj,nj,qj,ej均为二值变量,M为一个极大的常数,所述箱体j坐标为(xj,xj),所述二维装箱集合覆盖模型中箱体j的影子价格为μj,所述定价子问题满足:
更进一步地,所述分支定价算法的求解包括以下步骤:
S31、构造用于分支定价算法的初始列,并求解所述二维装箱集合覆盖模型在所述初始列中集合并且不含整数约束的线性松弛问题,将所述线性松弛问题的解作为分支定价树的根节点,放入当前分支的节点列表,此时,定义所述根节点对应的所述线性松弛问题的解为最优解,所述最优解对应的所述二维装箱集合覆盖模型的解的值为最优函数值,所述分支定价算法的迭代次数初始化为0;
S32、判断当前分支的所述节点列表是否为空,若否,则按照预设策略选择待优化节点,进入步骤S33;若是,则输出所述最优解;
S33、对所述待优化节点的节点子问题的线性松弛问题进行求解,得到待优化解;
S34、若所述待优化解满足0-1整数约束,并且所述待优化解对应所述二维装箱集合覆盖模型的解的待优化函数值优于所述最优函数值,则将所述待优化解和所述待优化函数值更新为所述最优解和所述最优函数值;
S35、将步骤S33得到的所述最优解代入到所述定价子问题中进行求解,将部分或者全部检验数为负数的列加入主问题方案集合,如果存在满足条件的新列,则令迭代次数加1,返回步骤S33;否则,输出所述最优解;
S36、判断所述最优解是否满足所述定价子问题的整数约束,若否,则终止分支,令迭代次数加1,返回到步骤S32;
S37、判断所述最优解是否满足所述定价子问题的目标值上下界约束,若否,则终止分支,令迭代次数加1,返回到步骤S32;
S38、判断所述最优解是否满足所述定价子问题的0-1整数约束,若否,则终止分支,令迭代次数加1,返回到步骤S32;
S39、根据所述最优解进行分支,得到当前分支的两个子节点,并将所述子节点添加到节点列表中,令迭代次数加1,返回到步骤S32。
更进一步地,所述分支定价算法的求解过程遵循基于箱体对的分支策略:
定义变量δij为辅助0-1变量,用来表示所述容器i和所述箱体j是否在同一个分支中被选中,在当前分支中选择δij值最接近0.5的所述容器和所述箱体的配对(i,j),将所述配对(i,j)中的所述容器和所述箱体分配时使得δij=1或δij=1。
本发明达到的有益效果,在于针对具有非一刀切约束的二维矩形装箱问题提出了一个分支定价的精确求解算法,该算法能精准快速的求解出二维装箱最优解,并在计算过程中采用针对容器和箱体数据的预处理技术降低问题规模,大幅度的减少算法的搜索空间,提高了算法的收敛速度。
附图说明
图1是本发明实施例提供的基于非一刀切约束和分支定价算法的二维装箱方法的步骤流程图;
图2是本发明实施例提供的基于非一刀切约束的装箱方案示意图;
图3是本发明实施例提供的缩小容器尺寸的过程示意图;
图4是本发明实施例提供的放大箱体尺寸的过程示意图;
图5是本发明实施例提供的分支定价算法的迭代逻辑图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1,图1是本发明实施例提供的基于非一刀切约束和分支定价算法的二维装箱方法的步骤流程图,所述二维装箱方法包括以下步骤:
S1、确定用于装箱的矩形块的箱体和用于承载所述箱体的容器,并构建关于所述箱体和所述容器的二维装箱集合覆盖模型,以所述箱体和所述容器作为初始数据,对所述初始数据进行预处理。
非一刀切约束是指在切割板材中,不需要限制一次切割跨越零件的两端的约束,在装箱问题中指的是将箱体在容器中的装在方式最具效率的约束,一种基于非一刀切约束的装箱方案如图2所示。
更进一步地,定义一组所述容器B={1,2,…,m},每一所述容器具有同样的宽度W和高度H,定义一组所述箱体N={1,2,…,n},每一所述箱体具有以下属性:
所述二维装箱集合覆盖模型满足:
min λr (2);
其中,λr为决策变量,表示打包方案r是否被选中,如果被选中则λr取1,否则取0;Ω为可行打包方案全集;Ω′为打包方案部分集合;N为箱体集合;αjr用以指定箱体j是否被分配在打包方案r中,如果覆盖则取值为1,否则为0。
目标函数(2)表示最小化打包所有箱体使用的容器数量;约束(3)表示每个时间段被覆盖的次数要大于等于该时间段所需要的员工数;约束(4)为决策变量λr的定义约束。从计算的角度来看,通过枚举Ω中所有班次来构建公式(2)
-(4)是不切实际的。因此,本发明实施例采用列生成法来计算构建的装箱问题。
更进一步地,以所述箱体和所述容器作为初始数据,对所述初始数据进行预处理的步骤,包括:
对所述容器的尺寸进行缩小处理,定义任意所述箱体的宽度组合为可产生的最大值W*≤W,且:
之后,使W=W*,并根据关系式对所述容器的高度H进行缩小。可以将上式的wj替换为hj,W替换为H,从而计算H*,然后令H=H*。
图3以W*的计算过程展示了缩小容器尺寸的过程。
对所述箱体的尺寸进行放大处理,为每个箱体j∈N解决一个子集和问题以确定最大值使得N/{j}中存在一组总宽度等于/>的箱体。如果/>那么箱体j的宽度可以增加/>定义任意所述箱体的宽度最大值/>且:
之后,使wj=wj,并根据关系式对所述箱体的高度hj *进行放大。类似地,可以计算出最大高度hj *,从而增大箱体j的高度:
图4以的计算过程展示了放大箱体尺寸的过程。采用缩小容器尺寸和放大箱体尺寸两个预处理技术的目的是降低实例的复杂性,从而获得在实践中更容易解决的问题。
更进一步地,所述二维装箱集合覆盖模型还包括所述箱体的可行位置约束,每一所述箱体在装载至所述容器时,所述箱体的左侧或底部都与另一个所述箱体或所述容器的边界接触。
箱体的可行位置采用众所周知的Normal Patterns(正常模式)原理来减少。该原理指出,存在一个最佳解决方案,其中每个箱体都尽可能向下和向左移动,因此,在箱体的左侧或底部都必须接触另一个箱体或边界。更准确地说,容器中的垂直和水平的NormalPatterns可以从集合中Nv(W)和Nh(H)提取,其中,Nv(w)和Nh(h)定义如下:
本发明实施例中,箱体的可行位置通过考虑的Raster Point(栅格点)原理来减少。Raster Point可以在Normal Patterns的基础上作进一步的缩减。首先,对做如下定义:
对于给定的垂直位置z∈Nv(w),如果那么位置z的放置导致至少损失/>如果有其他位置z′>z,使得/>则位置z可以被跳过,因为可以通过将箱体放置在位置z′来获得等效或更好的解决方案。垂直和水平Raster Point,如下所示:
S2、以所述初始数据作为分支定价算法的初始列,并基于非一刀切约束构建关于所述二维装箱集合覆盖模型的定价子问题。
定义约束(3)的第j行的影子价格为μj,一般地说,假设RMP已有基可行解:
B=(αj1,αj2,…,αjr) (15);
并已经求得:
根据改进单纯形法,假若满足条件(检验数小于0):
则B就是最优基,B-1b就是所求之解。
定价子问题等价于2D-KP,其中每个箱体的价值由对应影子价格μj确定。
更进一步地,基于非一刀切约束构建的关于所述二维装箱集合覆盖模型的所述定价子问题中,设βj为一个二值变量,当且仅当所述箱体j被打包在最优的打包方案中时βj取1,否则取0,mj,nj,qj,ej均为二值变量,M为一个极大的常数,所述箱体j坐标为(xj,yj),所述二维装箱集合覆盖模型中箱体j的影子价格为μj,所述定价子问题满足:
目标函数(18)要求最小化解决方案的Reduced Cost(降低成本),也相当于最大化解决方案中被打包箱体的价值;约束(19)-(20)要求解决方案中的箱体不能超出容器;约束(21)-(26)要求解决方案中的箱体不能重叠;约束(27)-(29)给出了决策变量的定义域。
S3、以所述初始列在所述二维装箱集合覆盖模型中的线性松弛问题的解作为分支定价树的根节点对所述分支定价算法进行求解,其中,设置基于箱体对的分支策略,并根据预设动态规划打包算法,对所述定价子问题进行求解,得到所述二维装箱集合覆盖模型的最优解。
更进一步地,请参照图5所示的分支定价算法的迭代逻辑图,所述分支定价算法的求解包括以下步骤:
S31、构造用于分支定价算法的初始列,并求解所述二维装箱集合覆盖模型在所述初始列中集合并且不含整数约束的线性松弛问题,将所述线性松弛问题的解作为分支定价树的根节点,放入当前分支的节点列表,此时,定义所述根节点对应的所述线性松弛问题的解为最优解,所述最优解对应的所述二维装箱集合覆盖模型的解的值为最优函数值,所述分支定价算法的迭代次数初始化为0;
S32、判断当前分支的所述节点列表是否为空,若否,则按照预设策略选择待优化节点,进入步骤S33;若是,则输出所述最优解;
S33、对所述待优化节点的节点子问题的线性松弛问题进行求解,得到待优化解;
S34、若所述待优化解满足0-1整数约束,并且所述待优化解对应所述二维装箱集合覆盖模型的解的待优化函数值优于所述最优函数值,则将所述待优化解和所述待优化函数值更新为所述最优解和所述最优函数值;
S35、将步骤S33得到的所述最优解代入到所述定价子问题中进行求解,将部分或者全部检验数为负数的列加入主问题方案集合,如果存在满足条件的新列,则令迭代次数加1,返回步骤S33;否则,输出所述最优解;
S36、判断所述最优解是否满足所述定价子问题的整数约束,若否,则终止分支,令迭代次数加1,返回到步骤S32;
S37、判断所述最优解是否满足所述定价子问题的目标值上下界约束,若否,则终止分支,令迭代次数加1,返回到步骤S32;
S38、判断所述最优解是否满足所述定价子问题的0-1整数约束,若否,则终止分支,令迭代次数加1,返回到步骤S32;
S39、根据所述最优解进行分支,得到当前分支的两个子节点,并将所述子节点添加到节点列表中,令迭代次数加1,返回到步骤S32。
本发明实施例描述了一种解决与带非一刀切约束的二维装箱问题(2D-BPP)相关联的定价子问题(SPg)的Benders分解方法。该算法能够很容易地处理禁止或要求将一对箱体包装在同一个容器中的分支规则。
在Benders分解方法中,主程序是通过对定价问题SPng(2KP|O|F)删除变量y所得到的,从程序则是基于主程序确定箱体垂直位置的结果,对箱体的水平位置进行检查(y-check),如果y-check返回一个可行解,则得到了原二维装箱问题实例的最优解,否则禁止当前的解,找到箱体的最小不可行子集,得到组合Benders Cut加入主程序,继续迭代。类似于具有连续性约束的装箱问题(bin packing problem with contiguity constraints,1CBP),通过将容器按照一个方向切割为单位容器而获得的松弛问题。目的是通过确保同一箱体派生的切片彼此连续,并将最大价值的切片组合打包容器中。
同样的,实际实施过程中可以不按照固定模式对SPng进行分解,因为这在y方向可行放置位置很多的时候是低效的。对于主程序,当集合Rv(W)中的元素数量小于Rh(H)时,通过从SPng中删除变量y获得主程序,否则通过从SPng中删除变量x获得主程序。这是因为主程序往往比从程序更加耗时,本发明实施例在求解过程中希望主程序中拥有更少的变量,以加快主程序的求解速度。因此,本发明实施例中Benders分解方法的主程序模型会根据Raster Point,自适应地选择箱体可行放置位置中的最小数量的方向进行相应位置的确定(垂直或水平)。为了更方便地描述,假设:
更详细地,假设|Rv(W)|<|Rh(H)|,则主程序对箱体进行垂直位置的确定。对于SPng问题,从公式(18)-(29)删除变量y可以得到下面的主程序模型:
其中,约束(37)确保每一个垂直位置上的箱体高度总和不超过容器高度。其余公式均和SPng模型中公式的含义一致。
假设|Rv(W)|≥|Rh(H)|,则主程序对箱体进行水平位置的确定。对于SPng问题,从公式(18)-(29)删除变量x可以得到下面的主程序模型:
其中,约束(45)确保每一个水平位置上的箱体宽度总和不超过容器宽度。其余公式均和SPng模型中公式的含义一致。
假设通过求解式(32)-(39)已经得到了一组β={β0,β1,…,βN},令N′表示主程序中被打包进容器的箱体集合,其正式的数学描述如下:
下面给出与式(32)-(39)对应的从程序的数学模型:
通过以上关系式可以推导出所以从程序模型比主程序模型的规模小,更容易求解。另外,从程序模型没有目标函数,只要从程序得到了可行解,则得到了原问题(SPng)的最优解。否本发明实施例禁止当前的解,通过切割增强过程将增强的Benders Cut加入主程序后,继续迭代,直到从程序有解为止。
示例性的,Benders Cut的步骤如下:
第一步,寻找一条可以将容器内的箱体分成两部分的垂直分割线,且没有任何一个块与该线重叠。分割线使得原本的容器被一分为二,然后对两个集合重新check,保留仍然不可行的子集(其中至少有一个集合还是不可行的),这样就找到了更小的不可行子集。更准确地说,如果存在垂直的线(列)xi,可以使得主程序打包好的箱体集合N被划分为两个集合,即N1={j∈N:xj+wj≤xi}和N2={j∈N:xj≥xi},并且同样,这个过程可以递归下去,直到所有子集不能再进行划分。然后,对生成的不可行子集执行后续步骤;
第二步,尝试一次从条带中删除一列。首先移除列0,然后将具有该列的箱体(xi=0的箱体)移除从而缩小箱体集合。如果缩减的箱体集合仍然没有通过check,则继续删除左侧的下一列,其中至少有一个箱体被打包,并且所移除的所有箱体都被打包在该列中。如果缩减后的箱体集合仍然不可行,就重复这一操作。然后再从右侧开始,选择列W-1和所有与它重叠的箱体,从实例中删除它们并调用check算法。同样,只要缩减的箱体集合仍然不可行,就会重复。在该过程结束时获得的实例可能具有减少的箱宽和较少的箱体数量,但这仍然是不可行的原因,然后将其传递到下一步以进一步减少;
第三步,根据给定的顺序一次考虑一个箱体。假设第二步缩减后的不可行箱体集合为S。它从S中删除当前项,并在缩减实例上重新执行check算法。如果结果可行,则将箱体重新插入S,否则本发明实施例会找到不可行的原因,并将当前箱体排除在S之外。无论如何,本发明实施例会重复下一个箱体,直到所有箱体都已扫描完毕。在扫描结束时,本发明实施例只剩下一个子集的箱体,这仍然会导致不可行。此步骤的结果取决于选择箱体的顺序。本发明实施例采用不同的顺序进行了多次尝试。第一次尝试根据面积的非递减值选择箱体。在第二次尝试中,为每个箱体分配一个成功分数。在当前实例的解决方案开始时,该值最初设置为0,然后如果在分解算法的先前迭代中从S中移除箱体成功(即,如果它导致了仍然不可行的缩减实例),则该值增加一个单位。然后,本发明实施例执行第二次尝试根据成功分数的非递减值选择箱体。第三次尝试只是随机选择箱体,并执行10次;
第四步,对于每个箱体j,定义是不可行箱体子集S中与箱体j重叠的箱体子集,该箱体子集中的箱体至少有一列与j相同。假设将箱体j从/>移动到其左侧或右侧的不同位置,将所有其他箱体保持在S中的原始位置。只要/>保持不变,那么本发明实施例知道S仍然通不过check。在不需要补充调用check算法的情况下,本发明实施例可以获得箱体j的左边界的一组x坐标,这使得S仍不可行。设最小不可行子集为S′:
根据上面的公式,可以获得更强的Benders Cut,并添加到主程序中。
分支定价树的常规分支策略是基于变量的,即在分支树的左侧令最优解中不能出现可行列r,在分支树的右侧令最优解中必须包含可行列r(左右侧可以互换),这样就需要将可行列r从左侧分支树的主问题中删除,而在接下来的左侧分支树的子问题的计算中,就需要防止被删除的可行列r再次由于Reduced Cost小于0作为基列加入主问题,并会造成分支树的极不平衡,降低分支搜索效率,故这种常规的基于变量的分支策略并不适用于分支定价算法。
现有技术指出,当RMP的最优解为分数时,肯定存在一对箱体(i,j),使得0<δij=∑λr(αirαjr)<1,r∈Ω′。变量δij可以解释为辅助(0-1)变量,用来表示项i和项j是否在同一个列里被选中。
因此,本发明实施例中的所述分支定价算法的求解过程采用遵循基于箱体对的分支策略:
定义变量δij为辅助0-1变量,用来表示所述容器i和所述箱体j是否在同一个分支中被选中,在当前分支中选择δij值最接近0.5的所述容器和所述箱体的配对(i,j),将所述配对(i,j)中的所述容器和所述箱体分配时使得δij=1或δij=1。左子节点要求项i和项j必须分配给同一个列,并将αir+αjr=1的列r从RMP中删去。右子节点要求项i和项j不能分配到同一个列中,并将αir+αjr>1的列r从RMP中删去。
基于箱体对的分支策略的一个重要特性是保留了定价子问题的结构,具有较高的分支搜索效率。
S4、基于所述最优解,将所述箱体装载于所述容器中。
本发明达到的有益效果,在于针对具有非一刀切约束的二维矩形装箱问题提出了一个分支定价的精确求解算法,该算法能精准快速的求解出二维装箱最优解,并在计算过程中采用针对容器和箱体数据的预处理技术降低问题规模,大幅度的减少算法的搜索空间,提高了算法的收敛速度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,简称RAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、箱体或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、箱体或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、箱体或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,所揭露的仅为本发明较佳实施例而已,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式用等同变化,均属于本发明的保护之内。
Claims (2)
1.一种基于非一刀切约束和分支定价算法的二维装箱方法,其特征在于,所述二维装箱方法包括以下步骤:
S1、确定用于装箱的矩形块的箱体和用于承载所述箱体的容器,并构建关于所述箱体和所述容器的二维装箱集合覆盖模型,以所述箱体和所述容器作为初始数据,对所述初始数据进行预处理;
S2、以所述初始数据作为分支定价算法的初始列,并基于非一刀切约束构建关于所述二维装箱集合覆盖模型的定价子问题;
S3、以所述初始列在所述二维装箱集合覆盖模型中的线性松弛问题的解作为分支定价树的根节点对所述分支定价算法进行求解,其中,设置基于箱体对的分支策略,并根据Benders分解算法,对所述定价子问题进行求解,得到所述二维装箱集合覆盖模型的最优解;
S4、基于所述最优解,将所述箱体装载于所述容器中;
其中,定义一组所述容器,每一所述容器具有同样的宽度/>和高度/>,定义一组所述箱体/>,每一所述箱体具有以下属性:
;
所述二维装箱集合覆盖模型满足:
;
;
;
其中,为决策变量,表示打包方案/>是否被选中,如果被选中则/>取1,否则取0;/>为可行打包方案全集;/>为打包方案部分集合;/>为箱体集合;/>用以指定箱体/>是否被分配在打包方案/>中,如果覆盖则取值为1,否则为0;
以所述箱体和所述容器作为初始数据,对所述初始数据进行预处理的步骤,包括:
对所述容器的尺寸进行缩小处理,定义任意所述箱体的宽度组合为可产生的最大值,且:
;
之后,使,并根据关系式对所述容器的高度/>进行缩小;
对所述箱体的尺寸进行放大处理,定义任意所述箱体的宽度最大值,且:
;
之后,使,并根据关系式对所述箱体的高度/>进行放大;
所述二维装箱集合覆盖模型还包括所述箱体的可行位置约束,每一所述箱体在装载至所述容器时,所述箱体的左侧或底部都与另一个所述箱体或所述容器的边界接触;
设为一个二值变量,当且仅当所述箱体/>被打包在最优的打包方案中时/>取1,否则取0,/>均为二值变量,/>为一个极大的常数,所述箱体/>坐标为/>,所述二维装箱集合覆盖模型中箱体/>的影子价格为/>,定义所述定价子问题为SPg,Rv(W)表示传入参数为W的垂直raster point集合,Rh(H)表示传入参数为H的水平 raster point 集合,所述定价子问题SPg满足:
;
;
;
;
;
;
;
;
;
;
;
;
所述分支定价算法的求解包括以下步骤:
S31、构造用于分支定价算法的初始列,并求解所述二维装箱集合覆盖模型在所述初始列中集合并且不含整数约束的线性松弛问题,将所述线性松弛问题的解作为分支定价树的根节点,放入当前分支的节点列表,此时,定义所述根节点对应的所述线性松弛问题的解为最优解,所述最优解对应的所述二维装箱集合覆盖模型的解的值为最优函数值,所述分支定价算法的迭代次数初始化为0;
S32、判断当前分支的所述节点列表是否为空,若否,则按照预设策略选择待优化节点,进入步骤S33;若是,则输出所述最优解;
S33、对所述待优化节点的节点子问题的线性松弛问题进行求解,得到待优化解;
S34、若所述待优化解满足0-1整数约束,并且所述待优化解对应所述二维装箱集合覆盖模型的解的待优化函数值优于所述最优函数值,则将所述待优化解和所述待优化函数值更新为所述最优解和所述最优函数值;
S35、将步骤S33得到的所述最优解代入到所述定价子问题中进行求解,将部分或者全部检验数为负数的列加入主问题方案集合,如果存在满足条件的新列,则令迭代次数加1,返回步骤S33;否则,输出所述最优解;
S36、判断所述最优解是否满足所述定价子问题的整数约束,若否,则终止分支,令迭代次数加1,返回到步骤S32;
S37、判断所述最优解是否满足所述定价子问题的目标值上下界约束,若否,则终止分支,令迭代次数加1,返回到步骤S32;
S38、判断所述最优解是否满足所述定价子问题的0-1整数约束,若否,则终止分支,令迭代次数加1,返回到步骤S32;
S39、根据所述最优解进行分支,得到当前分支的两个子节点,并将所述子节点添加到节点列表中,令迭代次数加1,返回到步骤S32。
2.如权利要求1所述的基于非一刀切约束和分支定价算法的二维装箱方法,其特征在于,所述分支定价算法的求解过程遵循基于箱体对的分支策略:
定义变量为辅助0-1变量,用来表示所述容器/>和所述箱体/>是否在同一个分支中被选中,在当前分支中选择/>值最接近0.5的所述容器和所述箱体的配对/>,将所述配对中的所述容器和所述箱体进行分配时使得/>。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739092.4A CN116777064B (zh) | 2023-06-20 | 2023-06-20 | 基于非一刀切约束和分支定价算法的二维装箱方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739092.4A CN116777064B (zh) | 2023-06-20 | 2023-06-20 | 基于非一刀切约束和分支定价算法的二维装箱方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116777064A CN116777064A (zh) | 2023-09-19 |
CN116777064B true CN116777064B (zh) | 2024-03-01 |
Family
ID=88009455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310739092.4A Active CN116777064B (zh) | 2023-06-20 | 2023-06-20 | 基于非一刀切约束和分支定价算法的二维装箱方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116777064B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8000988B1 (en) * | 2006-08-18 | 2011-08-16 | Amazon Technologies, Inc. | Selecting shipping methods dependent on a dynamic model of shipping activity |
CN112001064A (zh) * | 2020-07-29 | 2020-11-27 | 浙江大学 | 一种集装箱码头间全自主水上运输调度方法及系统 |
WO2022021119A1 (zh) * | 2020-07-29 | 2022-02-03 | 浙江大学 | 一种集装箱码头间全自主水上运输调度方法及系统 |
CN114037346A (zh) * | 2021-11-25 | 2022-02-11 | 杭州优迈科思信息科技有限责任公司 | 一种智能飞行机组组环的生成方法及设备 |
CN114048926A (zh) * | 2021-12-09 | 2022-02-15 | 广东工业大学 | 一种基于多叉树搜索的多箱型三维装箱优化方法及系统 |
CN114169573A (zh) * | 2021-11-10 | 2022-03-11 | 中铁第四勘察设计院集团有限公司 | 一种物品的装箱方法、装置、设备及可读存储介质 |
CN114462714A (zh) * | 2022-02-16 | 2022-05-10 | 北京百度网讯科技有限公司 | 信息确定方法、装置及电子设备 |
CN115081711A (zh) * | 2022-06-21 | 2022-09-20 | 广东工业大学 | 一种基于目标导向的多箱型多集装箱求解方法 |
CN115081674A (zh) * | 2022-05-09 | 2022-09-20 | 香港理工大学深圳研究院 | 新型卡车排队行驶模式下的本地集装箱运输排版优化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10386820B2 (en) * | 2014-05-01 | 2019-08-20 | Johnson Controls Technology Company | Incorporating a demand charge in central plant optimization |
US20210382479A1 (en) * | 2020-06-09 | 2021-12-09 | Insurance Services Office, Inc. | Systems and Methods for Controlling Automated Systems Using Integer Programming and Column Generation Techniques |
-
2023
- 2023-06-20 CN CN202310739092.4A patent/CN116777064B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8000988B1 (en) * | 2006-08-18 | 2011-08-16 | Amazon Technologies, Inc. | Selecting shipping methods dependent on a dynamic model of shipping activity |
CN112001064A (zh) * | 2020-07-29 | 2020-11-27 | 浙江大学 | 一种集装箱码头间全自主水上运输调度方法及系统 |
WO2022021119A1 (zh) * | 2020-07-29 | 2022-02-03 | 浙江大学 | 一种集装箱码头间全自主水上运输调度方法及系统 |
CN114169573A (zh) * | 2021-11-10 | 2022-03-11 | 中铁第四勘察设计院集团有限公司 | 一种物品的装箱方法、装置、设备及可读存储介质 |
CN114037346A (zh) * | 2021-11-25 | 2022-02-11 | 杭州优迈科思信息科技有限责任公司 | 一种智能飞行机组组环的生成方法及设备 |
CN114048926A (zh) * | 2021-12-09 | 2022-02-15 | 广东工业大学 | 一种基于多叉树搜索的多箱型三维装箱优化方法及系统 |
CN114462714A (zh) * | 2022-02-16 | 2022-05-10 | 北京百度网讯科技有限公司 | 信息确定方法、装置及电子设备 |
CN115081674A (zh) * | 2022-05-09 | 2022-09-20 | 香港理工大学深圳研究院 | 新型卡车排队行驶模式下的本地集装箱运输排版优化方法 |
CN115081711A (zh) * | 2022-06-21 | 2022-09-20 | 广东工业大学 | 一种基于目标导向的多箱型多集装箱求解方法 |
Non-Patent Citations (4)
Title |
---|
Solving robust bin-packing problems with a branch-and-price approach;Xavier Schepler;《European Journal of Operational Research 》;297(3);831-843 * |
一刀切约束下的二维装箱问题高效求解算法;尚正阳;《包装工程》;第42卷(第7期);231-238 * |
单规格一刀切矩形排样问题的启发式搜索算法;王磊;《软件学报》;第28卷(第7期);1640-1654 * |
基于分支定价算法的钢铁企业宽厚板匹配问题研究;李光远;《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》(第5期);B023-67 * |
Also Published As
Publication number | Publication date |
---|---|
CN116777064A (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Elhedhli et al. | Three-dimensional bin packing and mixed-case palletization | |
Cui et al. | Sequential heuristic for the two-dimensional bin-packing problem | |
Burke et al. | Automating the packing heuristic design process with genetic programming | |
Zhao et al. | A comparative review of 3D container loading algorithms | |
Crainic et al. | Extreme point-based heuristics for three-dimensional bin packing | |
Toffolo et al. | A two-dimensional heuristic decomposition approach to a three-dimensional multiple container loading problem | |
Irawan et al. | Layout optimisation for an installation port of an offshore wind farm | |
Han et al. | Construction heuristics for two-dimensional irregular shape bin packing with guillotine constraints | |
Dahlum et al. | Accelerating local search for the maximum independent set problem | |
CN109948991A (zh) | 一种智能装箱方法、设备及存储介质 | |
Feng et al. | Hybrid genetic algorithms for the three-dimensional multiple container packing problem | |
CN108647810A (zh) | 订单运输的分配方法及装置、计算机可读介质 | |
CN114169573A (zh) | 一种物品的装箱方法、装置、设备及可读存储介质 | |
KR20210136608A (ko) | 공간 내의 객체 배치 결정 장치 및 방법 | |
Lodi | Algorithms for two-dimensional bin packing and assignment problems | |
CN116777064B (zh) | 基于非一刀切约束和分支定价算法的二维装箱方法 | |
Cid-Garcia et al. | Exact solutions for the 2d-strip packing problem using the positions-and-covering methodology | |
de Carvalho et al. | A data-driven approach for mixed-case palletization with support | |
Kong et al. | An exact algorithm for scheduling tandem quay crane operations in container terminals | |
CN114723119A (zh) | 一种优化工业运输装载空间的方法及系统 | |
Olliff et al. | Efficient searching in meshfree methods | |
Zhu et al. | Solving a 3D bin packing problem with stacking constraints | |
CN116777063B (zh) | 基于一刀切约束和分支定价算法的二维装箱方法 | |
Delorme et al. | Exact decomposition approaches for a single container loading problem with stacking constraints and medium-sized weakly heterogeneous items | |
Iori et al. | Reactive GRASP-based algorithm for pallet building problem with visibility and contiguity constraints |
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 |