CN115081711B - 一种基于目标导向的多箱型多集装箱求解方法 - Google Patents
一种基于目标导向的多箱型多集装箱求解方法 Download PDFInfo
- Publication number
- CN115081711B CN115081711B CN202210706909.3A CN202210706909A CN115081711B CN 115081711 B CN115081711 B CN 115081711B CN 202210706909 A CN202210706909 A CN 202210706909A CN 115081711 B CN115081711 B CN 115081711B
- Authority
- CN
- China
- Prior art keywords
- block
- container
- executing
- blocks
- goods
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及货物装箱技术领域,尤其涉及一种基于目标导向的多箱型多集装箱求解方法,包括以下步骤:S1:根据集装箱的参数和货物的参数,建立以总物流成本最小为目标的数学函数,且计算目标函数的上界和下界;S2:利用二分思想寻找目标函数的线性组合;步骤S3:判断是否有目标函数的线性组合,如果是,则执行步骤S5,如果否,则执行结束;步骤S4:判断计算能否装下所有的货物,如果能,则生成新的上界,再重新执行步骤S3,如果否则生成新的下界,再重新执行步骤S3。本发明不仅提高整个物流系统的效率,而且能够充分有效地利用集装箱空间,以降低运输成本。
Description
技术领域
本发明涉及货物装箱技术领域,尤其涉及一种基于目标导向的多箱型多集装箱求解方法。
背景技术
集装箱运输是物资运输的重要方式,其装载方案的优劣对提高整个物流系统的效率和降低运输成本都有着重大影响。集装箱装箱问题属于复杂的组合优化问题,有很强的应用价值,在运输、调度和排产等领域有广阔的应用前景。
装箱问题即为物体在三维空间的摆放优化问题,按照使用容器数量不同,可分为单箱装载问题和多箱装载问题。当前国内外学者对于单集装箱的装载问题做了大量研究,但是对于多集装箱装载问题研究较少。因为多集装箱装载问题可以分为三维箱柜装载问题、单箱型多集装箱装载问题和多箱型多集装箱装载问题,其前两个问题的研究主要是如何用最少数量的集装箱将所有货物装完,区别在于货物是否能旋转,目前在这两方面已经有许多优秀的求解方法与研究。而多箱型多集装箱装载问题是将各种尺寸和数量的箱子全部装载到不同尺寸的集装箱中,由于运输公司一般会提供多种型号的集装箱,并且需要使得总运输成本最小,因此这是最贴近实际应用的问题,但目前这方面的求解方法与研究产出较少,仍然处于开始阶段,这亟需我们研发一套能应用于多箱型多集装箱的求解方法。
发明内容
本发明的目的在于提出一种基于目标导向的多箱型多集装箱求解方法,不仅提高整个物流系统的效率,而且能够充分有效地利用集装箱空间,以降低运输成本。
为达此目的,本发明采用以下技术方案:
一种基于目标导向的多箱型多集装箱求解方法,包括以下步骤:
步骤S1:根据集装箱的参数和货物的参数,建立以总物流成本最小为目标的数学函数,且计算目标函数的上界和下界;
步骤S2:利用二分思想寻找目标函数的线性组合,具体包括以下步骤:
步骤S21:根据货物的参数,将货物进行组合生成完整块,根据可行的完整块生成块列表;
步骤S22:根据集装箱的参数,生成可装载的剩余空间,选取块列表任一个块,以及选取任一个集装箱,将块放入集装箱中,更新集装箱的剩余空间;
步骤S23:再从块列表任一个块,利用贪婪前瞻搜索算法,寻找块放入集装箱的剩余空间中的最佳摆放位置;
步骤S24:判断集装箱是否还有剩余空间,如果是,则执行步骤S25,如果否,执行步骤S26;
步骤S25:判断是否已装载完所有货物,如果是,输出线性组合,如果否,则执行步骤S23;
步骤S26:启用新的集装箱,并重新执行步骤S23;
步骤S3:判断是否有目标函数的线性组合,如果是,则执行步骤S4,如果否,则执行结束;
步骤S4:判断计算能否装下所有的货物,如果能,则生成新的上界,再重新执行步骤S3,如果否则生成新的下界,再重新执行步骤S3。
优选的,在步骤S1中,所述建立以使总物流成本最小为目标的数学函数,且计算目标函数的上下界,具体包括以下步骤:
步骤S11:设定集合N={1,2,…,n}表示有Xn个箱型的集装箱,每种集装箱的运费为Cn,每个集装箱的容积为Vn;
步骤S12:设定集合M={1,2,…,m}表示有m个货物,每个货物的体积为Vm';
步骤S13:建立以使总物流成本最小为目标的数学函数:
步骤S14:计算目标函数的上界:
UB:min{所有货物只装在一种集装箱内所需的总运费};
步骤S15:计算目标函数的下界:
优选的,在步骤S21中,所述根据货物的参数,生成完整块列表,具体包括以下步骤:
步骤A:根据货物的参数,将同种类型的货物利用简单块生成算法生成简单块,并将每种类型的货物的所有可能的简单块汇合形成简单块列表;
步骤B:根据简单块列表,利用一刀切块生成算法生成一刀切块,并将与简单块列表中简单块不同且能够放进集装箱的一刀切块汇合形成完整块列表。
优选的,在步骤A中,所述根据货物的参数,将同种类型的货物利用简单块生成算法生成简单块,并将每种类型的货物的所有可能的简单块汇合形成简单块列表,具体包括以下步骤:
步骤A1:选择其中一种同种类型的货物,确定同种类型的货物的数量n、长度l、宽度w和高度h;
步骤A2:分别沿货物的长度、宽度和高度方向逐一叠加货物,生成n3个简单块,且满足以下判断条件:
nl×nw×nh≤n;
其中nl表示沿货物的长度方向叠加货物的数量,nw表示沿货物的宽度方向叠加货物的数量,nh表示沿货物的高度方向叠加货物的数量;
步骤A3:判断是否存在相同的简单块,如果是,则将相同的简单块数量记为1个,并与不相同的简单块汇合形成简单块列表,如果否,则全部简单块汇合形成简单块列表;
步骤A4:判断是否存在其他同种类型的货物,如果是,则执行步骤A1,如果否,输出简单块列表。
优选的,在步骤B中,所述根据简单块列表,利用一刀切块生成算法生成一刀切块,并将与简单块列表中简单块不同且可行的一刀切块汇合形成完整块列表,具体包括以下步骤:
步骤B1:设定集合B、集合PG和集合NG,其中集合B表示目前生成的块,集合PG表示上一次迭代生成的块,集合NG表示当前迭代生成的块;
步骤B2:初始化集合B、集合PG和集合NG,随机将简单块列表中简单块分为两部分,分别作为集合B和集合PG集合的块列表,集合NG为空;
步骤B3:在集合B中选取一个简单块b1,判断集合B中块列表是否迭代完成,如果是,则执行步骤B4,如果否,则执行步骤B5;
步骤B4:将集合B和集合NG合并更新为新的集合B,将集合NG更新为新的集合PG,判断集合B中块列表是否有足够的块数量,如果是,则输出集合B中的块列表,如果否,则重复步骤B3;
步骤B5:在集合PG中选取一个简单块b2,将简单块b1和简单块b2分别沿长度、宽度和高度方向组合成3个一刀切块,判断一刀切块与集合B中的简单块不同且是否能够放进集装箱,如果是,则将一刀切块添加到集合NG中,再执行步骤B6,如果否,则执行步骤B6;
步骤B6:判断集合PG中块列表是否迭代完成,如果是,则执行步骤B3,如果否,则执行步骤B5。
优选的,在步骤S22中,所述将块放入集装箱中,更新集装箱的剩余空间,具体包括以下步骤:
步骤S221:当第一个块放入集装箱后,将集装箱内的剩余空间由多个重叠的矩形表示,每个矩形表示虚拟空间,每个矩形与放置的块的内部不相交,且每个矩形分别与第一个块的其中一个面相切;
步骤S222:当下一个块放入集装箱后,下一个块的每一个平面会将剩余空间分隔成两个剩余子空间,其中一个剩余子空间与下一个块相交,另一个剩余子空间一个不与下一个块相交;
步骤S223:统计不与下一个块相交的剩余子空间,更新为新的剩余空间,再重复执行步骤S222。
优选的,在步骤S23中,所述贪婪前瞻树搜索算法具体包括以下:
LA(S,d,m,Rank);
LA(P,CS);
其中S表示当前状态,d表示树搜索的深度,m表示分支因子,LA(P,CS)用来返回当前状态S的最佳摆放位置P,CS表示根据最佳摆放位置P得到的最佳布局方案。
优选的,所述Rank函数表示为Rank(S,m),用来返回当前状态S按顺序排列的m个可能的摆放位置;
所述Rank函数包括两个整数m1和m2,m1和m2的关系存在:
m1*m2≤m;
其中m1表示选择出m1个剩余空间,m2表示对于每个剩余空间选择m2个最适合装入这个剩余空间的块。
优选的,所述选择剩余空间包括:采用曼哈顿距离公式:
L=|Xb-Xa|+|Yb-Ya|+|Zb-Za|;
计算剩余空间与集装箱的对角的曼哈顿距离,选择曼哈顿距离最小的剩余空间,对应的对角为锚点;
其中(Xb,Yb,Zb)表示为剩余空间的某一角的坐标,(Xa,Ya,Za)表示为对应剩余空间的某一角,集装箱的对角坐标。
优选的,所述对于每个剩余空间选择m2个最适合装入这个剩余空间的块包括:采用适应度函数为:
f(r,b)=V+α·(Vloss+Vwaste);
其中V是块的体积,Vloss是块放入剩余空间后浪费的剩余空间体积,Vwaste是浪费块体积,即集装箱的体积减去块的总体积,α是控制V和(Vloss+Vwaste)相对权重的系数,设定α=-1。
上述技术方案中的一个技术方案具有以下有益效果:在第一步将多箱型多集装箱问题转换为一个运筹优化模型,得到了目标函数的上界和下界,因为每个集装箱的运费是常数,所以第二步能用二分思想取到接近上下界接近中值的目标函数的线性组合,即取集装箱运费的线性组合。如果这些线性组合中有能够装入所有货物的组合,那么将这个线性组合的目标函数视为新的下界,反之则视为新的上界。不断重复这个过程,每次都用二分法寻找上界和下界的中值,能加快目标函数的收敛速度,直到没有新的线性组合产生为止,此时就得到了目标函数的最优解。同时,对于集装箱内货物装载,再应用了一种双迭代贪婪前瞻算法来提高装箱利用率,这能大大减少物流成本。
附图说明
图1是本发明基于目标导向的多箱型多集装箱求解方法的流程示意图;
图2是本发明基于目标导向的多箱型多集装箱求解方法的二分思想的流程示意图;
图3是本发明基于目标导向的多箱型多集装箱求解方法的生成完整块列表的流程示意图;
图4是本发明基于目标导向的多箱型多集装箱求解方法的剩余空间的原理示意图;
图5是本发明基于目标导向的多箱型多集装箱求解方法的剩余子空间的原理示意图;
图6是本发明基于目标导向的多箱型多集装箱求解方法的贪婪前瞻树搜索算法的原理示意图;
图7是本发明基于目标导向的多箱型多集装箱求解方法的选择剩余空间的原理示意图;
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
如图1所示,一种基于目标导向的多箱型多集装箱求解方法,包括以下步骤:
步骤S1:根据集装箱的参数和货物的参数,建立以总物流成本最小为目标的数学函数,且计算目标函数的上界和下界;
步骤S2:利用二分思想寻找目标函数的线性组合,具体包括以下步骤:
步骤S21:根据货物的参数,将货物进行组合生成完整块,根据可行的完整块生成块列表;
步骤S22:根据集装箱的参数,生成可装载的剩余空间,选取块列表任一个块,以及选取任一个集装箱,将块放入集装箱中,更新集装箱的剩余空间;
步骤S23:再从块列表任一个块,利用贪婪前瞻搜索算法,寻找块放入集装箱的剩余空间中的最佳摆放位置;
步骤S24:判断集装箱是否还有剩余空间,如果是,则执行步骤S25,如果否,执行步骤S26;
步骤S25:判断是否已装载完所有货物,如果是,输出线性组合,如果否,则执行步骤S23;
步骤S26:启用新的集装箱,并重新执行步骤S23;
步骤S3:判断是否有目标函数的线性组合,如果是,则执行步骤S4,如果否,则执行结束;
步骤S4:判断计算能否装下所有的货物,如果能,则生成新的上界,再重新执行步骤S3,如果否则生成新的下界,再重新执行步骤S3。
目前的研究多是集中于三维货柜装箱问题和单箱型多集装箱装载问题,对于多箱型的多集装箱装载问题研究产出较少,仍然处于开始阶段,而当前的实际应用场景中,运输公司一般会提供多种型号的集装箱,这亟需我们研发一套能应用于多箱型集装箱求解的算法。
如何最大限度的提高集装箱的装载容积从而降低物流成本,三维货柜装箱问题的高效求解变得尤为关键。由于集装箱装载问题是具有复杂约束条件的装箱问题,属于NP-hard问题的一类组合优化问题,精确求解算法只能解决有限规模的实例,因此我们有必要应用一种采用启发式、元启发式和基于不完全树搜索的算法来求解。
为了解决上述两个问题,我们提出了一种基于目标导向的多箱型多集装箱求解方法,首先为了解决集装箱装载算法利用率低、应用场景局限的问题,本发明采用了双迭代贪婪前瞻算法。其次为了解决多箱型集装箱装载求解问题,本发明还采用了一种对目标函数的上下限不断收敛的运筹优化方法。
需要说明的是,多箱型多集装箱问题是指给定有一组数量有限且三维尺寸相同或不同的待装载货物,有一组不同三维尺寸的可选箱子,需要从中选择一个或多个相同或不同类型的箱子将给定货物全部装载完毕,使得箱子的总空间利用率最高。
具体的原理为:在第一步将多箱型多集装箱问题转换为一个运筹优化模型,得到了目标函数的上界和下界,因为每个集装箱的运费是常数,所以第二步能用二分思想取到接近上下界接近中值的目标函数的线性组合,即取集装箱运费的线性组合。如果这些线性组合中有能够装入所有货物的组合,那么将这个线性组合的目标函数视为新的下界,反之则视为新的上界。不断重复这个过程,每次都用二分法寻找上界和下界的中值,能加快目标函数的收敛速度,直到没有新的线性组合产生为止,此时就得到了目标函数的最优解。同时,对于集装箱内货物装载,再应用了一种双迭代贪婪前瞻算法来提高装箱利用率,这能大大减少物流成本。
更进一步的说明,在步骤S1中,所述建立以使总物流成本最小为目标的数学函数,且计算目标函数的上下界,具体包括以下步骤:
步骤S11:设定集合N={1,2,…,n}表示有Xn个箱型的集装箱,每种集装箱的运费为Cn,每个集装箱的容积为Vn;
步骤S12:设定集合M={1,2,…,m}表示有m个货物,每个货物的体积为Vm';
步骤S13:建立以使总物流成本最小为目标的数学函数:
步骤S14:计算目标函数的上界:
UB:min{所有货物只装在一种集装箱内所需的总运费};
步骤S15:计算目标函数的下界:
下界为不计算货物摆放位置的情况下,刚好能装入所有货物的集装箱组合的总运费,此时货物的总体积小于等于集装箱的总容积。
更进一步的说明,在步骤S21中,所述根据货物的参数,生成完整块列表,具体包括以下步骤:
步骤A:根据货物的参数,将同种类型的货物利用简单块生成算法生成简单块,并将每种类型的货物的所有可能的简单块汇合形成简单块列表;
步骤B:根据简单块列表,利用一刀切块生成算法生成一刀切块,并将与简单块列表中简单块不同且能够放进集装箱的一刀切块汇合形成完整块列表。
需要说明的是,生成简单块和一刀切块均为长方体,本实施例提前将各种货物进行组合装配,提高装箱的作业效率。
更进一步的说明,在步骤A中,所述根据货物的参数,将同种类型的货物利用简单块生成算法生成简单块,并将每种类型的货物的所有可能的简单块汇合形成简单块列表,具体包括以下步骤:
步骤A1:选择其中一种同种类型的货物,确定同种类型的货物的数量n、长度l、宽度w和高度h;
步骤A2:分别沿货物的长度、宽度和高度方向逐一叠加货物,生成n3个简单块,且满足以下判断条件:
nl×nw×nh≤n;
其中nl表示沿货物的长度方向叠加货物的数量,nw表示沿货物的宽度方向叠加货物的数量,nh表示沿货物的高度方向叠加货物的数量;
步骤A3:判断是否存在相同的简单块,如果是,则将相同的简单块数量记为1个,并与不相同的简单块汇合形成简单块列表,如果否,则全部简单块汇合形成简单块列表;
步骤A4:判断是否存在其他同种类型的货物,如果是,则执行步骤A1,如果否,输出简单块列表。
更进一步的说明,在步骤B中,所述根据简单块列表,利用一刀切块生成算法生成一刀切块,并将与简单块列表中简单块不同且可行的一刀切块汇合形成完整块列表,具体包括以下步骤:
步骤B1:设定集合B、集合PG和集合NG,其中集合B表示目前生成的块,集合PG表示上一次迭代生成的块,集合NG表示当前迭代生成的块;
步骤B2:初始化集合B、集合PG和集合NG,随机将简单块列表中简单块分为两部分,分别作为集合B和集合PG集合的块列表,集合NG为空;
步骤B3:在集合B中选取一个简单块b1,判断集合B中块列表是否迭代完成,如果是,则执行步骤B4,如果否,则执行步骤B5;
步骤B4:将集合B和集合NG合并更新为新的集合B,将集合NG更新为新的集合PG,判断集合B中块列表是否有足够的块数量,如果是,则输出集合B中的块列表,如果否,则重复步骤B3;
步骤B5:在集合PG中选取一个简单块b2,将简单块b1和简单块b2分别沿长度、宽度和高度方向组合成3个一刀切块,判断一刀切块与集合B中的简单块不同且是否能够放进集装箱,如果是,则将一刀切块添加到集合NG中,再执行步骤B6,如果否,则执行步骤B6;
步骤B6:判断集合PG中块列表是否迭代完成,如果是,则执行步骤B3,如果否,则执行步骤B5。
简单块由同种类型的货物在长宽高的方向上组合而成,一刀切块由多种类型的货物或者不同方向摆放的货物组合而成。由同一组货物组成的具有相同尺寸的两个块是等效的,即使内部配置(即货物的相对位置)不同。对于等效块,只保留生成的第一个块,而丢弃其余的块,最终形成块列表。
更进一步的说明,在步骤S22中,所述将块放入集装箱中,更新集装箱的剩余空间,具体包括以下步骤:
步骤S221:当第一个块放入集装箱后,将集装箱内的剩余空间由多个重叠的矩形表示,每个矩形表示虚拟空间,每个矩形与放置的块的内部不相交,且每个矩形分别与第一个块的其中一个面相切;
步骤S222:当下一个块放入集装箱后,下一个块的每一个平面会将剩余空间分隔成两个剩余子空间,其中一个剩余子空间与下一个块相交,另一个剩余子空间一个不与下一个块相交;
步骤S223:统计不与下一个块相交的剩余子空间,更新为新的剩余空间,再重复执行步骤S222。
如图4所示,当在集装箱的一个角落放置第一个块b时,集装箱的剩余空间可以由三个重叠的矩形表示,每个矩形与放置的块的内部不相交,且每个矩形分别与块b的其中一个面相切。
当在集装箱再放置新的一个块b'时,块b'必定与剩余空间相交,而且块b'的每一个面会将剩余空间分隔成两个剩余子空间,因此最多可能有六个对应块b'的六个面的剩余子空间。因此当放置了一个块之后,必须重新更新剩余空间,以便后续货物选择摆放位置。
如图5所示,块b'与剩余空间重叠之后,块b'的右平面将剩余空间分成了两个剩余子空间r和r',剩余子空间r'与块b'重叠,剩余子空间r与块b'相切,则剩余子空间r是更新后的一个新的剩余空间。
更进一步的说明,在步骤S23中,所述贪婪前瞻树搜索算法具体包括以下:
LA(S,d,m,Rank);
LA(P,CS);
其中S表示当前状态,d表示树搜索的深度,m表示分支因子,LA(P,CS)用来返回当前状态S的最佳摆放位置P,CS表示根据最佳摆放位置P得到的最佳布局方案。
进一步的,在树的根部作出一些适应度计算,例如在m个位置放置货物,会出现有m个节点。对于深度为1的每个节点,再次尝试m个位置,这就导致了m2个节点。将树扩展到深度d,对于深度d的每一个节点,采用一种简单的贪婪算法,具体是根据适应度度量,不断执行货物最佳摆放方案,直到没有块或者集装箱放不下为止。如图6所示,采用的是m=3,d=2的两步贪婪前瞻树搜索,由于S3是导致最佳方案的节点,所以S3是当前块的最佳摆放位置,同时会再执行完一个简单的贪婪算法得到一个新的完整布局方案,如果新的完整布局方案比之前的最佳布局方案要好,则将新的完整布局方案更新为最佳布局方案。
更进一步的说明,所述Rank函数表示为Rank(S,m),用来返回当前状态S按顺序排列的m个可能的摆放位置;
所述Rank函数包括两个整数m1和m2,m1和m2的关系存在:
m1*m2≤m;
其中m1表示选择出m1个剩余空间,m2表示对于每个剩余空间选择m2个最适合装入这个剩余空间的块。
更进一步的说明,所述选择剩余空间包括:采用曼哈顿距离公式:
L=|Xb-Xa|+|Yb-Ya|+|Zb-Za|;
计算剩余空间与集装箱的对角的曼哈顿距离,选择曼哈顿距离最小的剩余空间,对应的对角为锚点;
其中(Xb,Yb,Zb)表示为剩余空间的某一角的坐标,(Xa,Ya,Za)表示为对应剩余空间的某一角,集装箱的对角坐标。
如图7所示,图中表示了剩余空间和集装箱的八对对应角,对于每一对对应角,分别计算它们的曼哈顿距离;计算发现B2-A2的最小,那么B2就是锚点,与A2之间的距离就是锚距,根据最小的锚距选择剩余空间。如果存在一样的锚距,那么选择体积较大的剩余空间;如果剩余空间一样大,那么按照Yb、Zb、Ya、Za、Xb和Xa的字母顺序,选择对应坐标数值最小的剩余空间。
更进一步的说明,所述对于每个剩余空间选择m2个最适合装入这个剩余空间的块包括:采用适应度函数为:
f(r,b)=V+α·(Vloss+Vwaste);
其中V是块的体积,Vloss是块放入剩余空间后浪费的剩余空间体积,Vwaste是浪费块体积,即集装箱的体积减去块的总体积,α是控制V和(Vloss+Vwaste)相对权重的系数,设定α=-1。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
Claims (4)
1.一种基于目标导向的多箱型多集装箱求解方法,其特征在于,包括以下步骤:
步骤S1:根据集装箱的参数和货物的参数,建立以总物流成本最小为目标的数学函数,且计算目标函数的上界和下界;
具体包括以下步骤:
步骤S11:设定集合N={1,2,…,n}表示有Xn个箱型的集装箱,每种集装箱的运费为Cn,每个集装箱的容积为Vn;
步骤S12:设定集合M={1,2,…,m}表示有m个货物,每个货物的体积为Vm';
步骤S13:建立以总物流成本最小为目标的数学函数:
步骤S14:计算目标函数的上界:
UB:min{所有货物只装在一种集装箱内所需的总运费};
步骤S15:计算目标函数的下界:
步骤S2:利用二分思想寻找目标函数的线性组合,具体包括以下步骤:
步骤S21:根据货物的参数,将货物进行组合生成完整块,根据可行的完整块生成块列表;
具体包括以下步骤:
步骤A:根据货物的参数,将同种类型的货物利用简单块生成算法生成简单块,并将每种类型的货物的所有可能的简单块汇合形成简单块列表;
具体包括以下步骤:
步骤A1:选择其中一种同种类型的货物,确定同种类型的货物的数量n、长度l、宽度w和高度h;
步骤A2:分别沿货物的长度、宽度和高度方向逐一叠加货物,生成n3个简单块,且满足以下判断条件:
nl×nw×nh≤n;
其中nl表示沿货物的长度方向叠加货物的数量,nw表示沿货物的宽度方向叠加货物的数量,nh表示沿货物的高度方向叠加货物的数量;
步骤A3:判断是否存在相同的简单块,如果是,则将相同的简单块数量记为1个,并与不相同的简单块汇合形成简单块列表,如果否,则全部简单块汇合形成简单块列表;
步骤A4:判断是否存在其他同种类型的货物,如果是,则执行步骤A1,如果否,输出简单块列表
步骤B:根据简单块列表,利用一刀切块生成算法生成一刀切块,并将与简单块列表中简单块不同且能够放进集装箱的一刀切块汇合形成完整块列表;
具体包括以下步骤:
步骤B1:设定集合B、集合PG和集合NG,其中集合B表示目前生成的块,集合PG表示上一次迭代生成的块,集合NG表示当前迭代生成的块;
步骤B2:初始化集合B、集合PG和集合NG,随机将简单块列表中简单块分为两部分,分别作为集合B和集合PG集合的块列表,集合NG为空;
步骤B3:在集合B中选取一个简单块b1,判断集合B中块列表是否迭代完成,如果是,则执行步骤B4,如果否,则执行步骤B5;
步骤B4:将集合B和集合NG合并更新为新的集合B,将集合NG更新为新的集合PG,判断集合B中块列表是否有足够的块数量,如果是,则输出集合B 中的块列表,如果否,则重复步骤B3;
步骤B5:在集合PG中选取一个简单块b2,将简单块b1和简单块b2分别沿长度、宽度和高度方向组合成3个一刀切块,判断一刀切块与集合B中的简单块不同且是否能够放进集装箱,如果是,则将一刀切块添加到集合NG中,再执行步骤B6,如果否,则执行步骤B6;
步骤B6:判断集合PG中块列表是否迭代完成,如果是,则执行步骤B3,如果否,则执行步骤B5;
步骤S22:根据集装箱的参数,生成可装载的剩余空间,选取块列表任一个块,以及选取任一个集装箱,将块放入集装箱中,更新集装箱的剩余空间;
步骤S23:再从块列表任一个块,利用贪婪前瞻树搜索算法,寻找块放入集装箱的剩余空间中的最佳摆放位置;
其中,所述贪婪前瞻树搜索算法具体包括以下:
LA(S,d,m,Rank);
LA(P,CS);
其中S表示当前状态,d表示树搜索的深度,m表示分支因子,LA(P,CS)用来返回当前状态S的最佳摆放位置P,CS表示根据最佳摆放位置P得到的最佳布局方案;
所述Rank函数表示为Rank(S,m),用来返回当前状态S按顺序排列的m个可能的摆放位置;
所述Rank函数包括两个整数m1和m2,m1和m2的关系存在:
m1*m2≤m;
其中m1表示选择出m1个剩余空间,m2表示对于每个剩余空间选择m2个最适合装入这个剩余空间的块;
步骤S24:判断集装箱是否还有剩余空间,如果是,则执行步骤S25,如果否,执行步骤S26;
步骤S25:判断是否已装载完所有货物,如果是,输出线性组合,如果否,则执行步骤S23;
步骤S26:启用新的集装箱,并重新执行步骤S23;
步骤S3:判断是否有目标函数的线性组合,如果是,则执行步骤S4,如果否,则执行结束;
步骤S4:判断计算能否装下所有的货物,如果能,则生成新的上界,再重新执行步骤S3,如果否则生成新的下界,再重新执行步骤S3。
2.根据权利要求1所述的一种基于目标导向的多箱型多集装箱求解方法,其特征在于,在步骤S22中,所述将块放入集装箱中,更新集装箱的剩余空间,具体包括以下步骤:
步骤S221:当第一个块放入集装箱后,将集装箱内的剩余空间由多个重叠的矩形表示,每个矩形表示虚拟空间,每个矩形与放置的块的内部不相交,且每个矩形分别与第一个块的其中一个面相切;
步骤S222:当下一个块放入集装箱后,下一个块的每一个平面会将剩余空间分隔成两个剩余子空间,其中一个剩余子空间与下一个块相交,另一个剩余子空间一个不与下一个块相交;
步骤S223:统计不与下一个块相交的剩余子空间,更新为新的剩余空间,再重复执行步骤S222。
3.根据权利要求1所述的一种基于目标导向的多箱型多集装箱求解方法,其特征在于,选择剩余空间包括:采用曼哈顿距离公式:
L=|Xb-Xa|+|Yb-Ya|+|Zb-Za|;
计算剩余空间与集装箱的对角的曼哈顿距离,选择曼哈顿距离最小的剩余空间,对应的对角为锚点;
其中(Xb,Yb,Zb)表示为剩余空间的某一角的坐标,(Xa,Ya,Za)表示为对应剩余空间的某一角,集装箱的对角坐标。
4.根据权利要求3所述的一种基于目标导向的多箱型多集装箱求解方法,其特征在于,所述对于每个剩余空间选择m2个最适合装入这个剩余空间的块包括:采用适应度函数为:
f(r,b)=V+α·(Vloss+Vwaste);
其中V是块的体积,Vloss是块放入剩余空间后浪费的剩余空间体积,Vwaste是浪费块体积,即集装箱的体积减去块的总体积,α是控制V和(Vloss+Vwaste)相对权重的系数,设定α=-1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210706909.3A CN115081711B (zh) | 2022-06-21 | 2022-06-21 | 一种基于目标导向的多箱型多集装箱求解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210706909.3A CN115081711B (zh) | 2022-06-21 | 2022-06-21 | 一种基于目标导向的多箱型多集装箱求解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115081711A CN115081711A (zh) | 2022-09-20 |
CN115081711B true CN115081711B (zh) | 2023-01-24 |
Family
ID=83254276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210706909.3A Active CN115081711B (zh) | 2022-06-21 | 2022-06-21 | 一种基于目标导向的多箱型多集装箱求解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115081711B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777064B (zh) * | 2023-06-20 | 2024-03-01 | 广东工业大学 | 基于非一刀切约束和分支定价算法的二维装箱方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180082269A (ko) * | 2017-01-10 | 2018-07-18 | 유로지스넷 주식회사 | 순환물류용기를 이용한 화물의 물류정보관리 방법 및 시스템 |
CN111310324A (zh) * | 2020-02-10 | 2020-06-19 | 杭州电子科技大学 | 基于非活动非支配解的多目标货物装载求解系统及方法 |
CN111891758A (zh) * | 2020-08-04 | 2020-11-06 | 广东工业大学 | 一种欠完备信息的在线货物码垛方法 |
CN113222257A (zh) * | 2021-05-17 | 2021-08-06 | 广东工业大学 | 一种基于缓冲区的在线混合码垛方法 |
-
2022
- 2022-06-21 CN CN202210706909.3A patent/CN115081711B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180082269A (ko) * | 2017-01-10 | 2018-07-18 | 유로지스넷 주식회사 | 순환물류용기를 이용한 화물의 물류정보관리 방법 및 시스템 |
CN111310324A (zh) * | 2020-02-10 | 2020-06-19 | 杭州电子科技大学 | 基于非活动非支配解的多目标货物装载求解系统及方法 |
CN111891758A (zh) * | 2020-08-04 | 2020-11-06 | 广东工业大学 | 一种欠完备信息的在线货物码垛方法 |
CN113222257A (zh) * | 2021-05-17 | 2021-08-06 | 广东工业大学 | 一种基于缓冲区的在线混合码垛方法 |
Non-Patent Citations (1)
Title |
---|
面向多规格板材的矩形工件排样优化方法;张帆等;《计算机集成制造系统》;20151130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115081711A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112085385B (zh) | 基于订单的稳定混箱垛型供箱序列的生成系统及其方法 | |
JP7453722B2 (ja) | 多分木探索に基づく多箱型3次元積載の最適化方法及びシステム | |
CN115081711B (zh) | 一种基于目标导向的多箱型多集装箱求解方法 | |
CN113222257B (zh) | 一种基于缓冲区的在线混合码垛方法 | |
CN110175404B (zh) | 货物装载调整方法及装置 | |
CN108861619B (zh) | 一种半离线混合码垛方法、系统及机器人 | |
CN110077772B (zh) | 组托盘方法及其应用 | |
CN101957945A (zh) | 一种集装箱货物装载优化方法、装置 | |
CN104680237A (zh) | 一种多约束条件下三维装箱新型遗传算法模型 | |
CN110175402A (zh) | 车辆零部件装载方法及系统 | |
CN105279629A (zh) | 一种优化的智能装箱系统 | |
CN117454976A (zh) | 一种基于混合遗传算法的现代物流多箱型装箱方法及系统 | |
CN112180934A (zh) | 装车机器人的控制方法、系统、装置及可读存储介质 | |
CN111507644A (zh) | 一种多点卸货约束的三维多容器装载方法 | |
CN112053046B (zh) | 一种带有时间窗的自动化集装箱码头agv重进重出路径规划方法 | |
Zhou et al. | A swarm optimization algorithm for practical container loading problem | |
CN116663920A (zh) | 一种基于深度强化学习的三维装箱方法 | |
Delgado et al. | Generating optimal stowage plans for container vessel bays | |
CN116681151A (zh) | 一种基于组合堆垛与最低水平线的装箱优化方法 | |
CN110443409A (zh) | 一种港口出口集装箱船舶配载方法 | |
CN114940386B (zh) | 混合码垛规划方法、装置、计算设备及计算机存储介质 | |
Yu et al. | Multi-load AGVs scheduling algorithm in automated sorting warehouse | |
Stakić et al. | Comparison of different grasp algorithms for the heterogeneous vector bin packing problem | |
Liu et al. | Research on palletizing and packing based on heuristic algorithm | |
CN114742267A (zh) | 物流运输路由规划方法、系统、设备及存储介质 |
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 |