CN110175402A - 车辆零部件装载方法及系统 - Google Patents
车辆零部件装载方法及系统 Download PDFInfo
- Publication number
- CN110175402A CN110175402A CN201910447682.3A CN201910447682A CN110175402A CN 110175402 A CN110175402 A CN 110175402A CN 201910447682 A CN201910447682 A CN 201910447682A CN 110175402 A CN110175402 A CN 110175402A
- Authority
- CN
- China
- Prior art keywords
- loading
- list
- block
- gravity
- cargo
- 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.)
- Granted
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G67/00—Loading or unloading vehicles
- B65G67/02—Loading or unloading land vehicles
- B65G67/04—Loading land vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stacking Of Articles And Auxiliary Devices (AREA)
- Loading Or Unloading Of Vehicles (AREA)
Abstract
本发明公开了车辆零部件装载方法及系统,涉及车辆装载布局优化技术领域。一种车辆零部件装载方法包括步骤:构造装载块,生成装载方案和优化装载方案;还包括重心调整过程,根据装载序列逐一判断剩下装载块是否能够装入车厢;判定不能装入车厢时,计算当前格局下的车厢重心并判断重心是否满足重心约束;不满足重心约束时,取出已装入装载块进行调整以满足重心约束,更新装载方案并计算装载方案对应的装载率。本发明对不满足重心约束的装载方案通过回溯算法来进行重心调整处理,直至生成一个可行的装载方案,显著提高了车辆装载计划的准确率,使得车辆装载计划更贴近实际运作。
Description
技术领域
本发明涉及车辆装载布局优化技术领域,具体涉及车辆零部件的装载方法及系统。
背景技术
三维装载问题是物流工业中研究重点问题之一,它是指按照货物重量的要求,将货物装入到一个集装箱中具有最优空间利用率,同时保证货物稳定、不能损坏、不超载且集装箱配载重量平衡,以便达到降低运输成本,提高经济效益的目的。三维装箱问题是一种几何组合优化问题,尽管货物形状是非规则,但在工业中通常将货物装入到长方体外包装箱中,因而该问题可视为长方体形状货物的组合优化。涉及汽车零部件的三维装箱问题较为复杂且解决难度较大,研究相应较少,而且这些研究大都没有给出能够实际应用的具体算法。现有典型的算法模型包括遗传算法、模拟退火算法、蚁群算法等,这些算法主要都是基于空间分解或层的思想,不仅算法模型运行效率较低,且车辆装载率还有优化空间。
汽车零部件三维装载问题是指对给定一辆待配载货车以及一批待装货物,确定一个可行的装载方案使得在满足基本约束条件下,车辆装载率最大。该问题需要满足四个方面的假设条件:1)车厢及待装货物均为长方体;2)放入的货物必须完全被包含在车厢内;3)货物只能以棱平行或垂直于车厢的棱的方向放置;4)要求货物只能绕着高度棱进行旋转,不可倾倒放置。而常见的约束条件有货物不与车厢相嵌约束、货物之间互不相嵌约束、车厢承重约束等。车辆装载率则定义为装入车厢的所有货物体积之和与车厢体积之间占比。
目前,为提升汽车零部件三维装载中的车辆装载率,通过基于装载块序列的启发式构造算法生成初始装载方案,再以模拟退火过程调整装载序列优化装载方案的技术方案被提出。经上述优化后,理论上能够显著地提升车辆装载率,但实际车辆装载时难以达到理论值,因为对车厢重心和货箱堆叠规则考虑不足,实际车辆装载时还需要增加考虑车厢重心和货箱堆叠规则两方面的现实约束。
一方面,车辆装载时,负荷重心偏在一侧或一端会导致车辆的操纵性和安定性变差,行车过程中容易引起侧翻等事故发生。因此车辆运输过程中要求指已装货物的车厢重心位置必须在规定的安全区域内。而车辆车厢的重心位置由已装载零部件的重量、体积及其装载位置决定,因此,在车辆装载时需要考虑合理摆放零部件位置,以确保车厢重心位置在规定的安全区域内。
另一方面,在汽车零部件入厂物流的实际车辆运输中,需要根据汽车零件的外形尺寸,重量,运输保护要求等不同特性,以及考虑到物流运输工具车箱内部的摆放尺寸,选用与其相适应的材料和制定相适应的系列化尺寸,将每种零件包装在指定的长方体容器内。而内装零件的包装容器之间堆叠有类型和尺寸的限定,通常包含以下四种限定规则:a)不允许堆叠:是指容器上面不允许再堆叠其他任何容器,如内有汽车零部件的容器装入托盘后,托盘上面不允许再堆叠其他容易。b)仅允许同类型同尺寸堆叠:是指容器上面仅仅允许堆叠同种类型容器,且上下堆叠的容器底部的长宽分别相同,如专用的专用料架,这种包装容器支架上有凸凹槽,与底部对接,能加固成一体。c)允许同类型同尺寸/底面尺寸小的堆叠:是指容器上面仅仅允许堆叠同种类型容器,但是要求能完全支撑上面容器的底部面积。如纸箱,上面可以堆叠纸箱,但不能堆叠其他类型的容器。d)允许不同类型,同尺寸/底面尺寸小的堆叠,如木箱或带盖的塑料箱,在满足单箱承重条件下,允许上面堆放同类或其他类如纸箱,但要求下面容器能完成支撑上面容器的底部面积。除了以上四种限定规则之外,包装容器之间堆叠时还需要考虑单箱承重。单箱承重是将容器堆叠在一个容器之上时,需要考虑上面堆叠的容器重量之和不能超过下面容器的最大承受重量。否则将会出现因为无法承重而造成零部件损坏情况发生,降低合格率,影响后续生产。一个汽车企业使用的不同类型不同尺寸包装容器通常有上百种,不同容器之间堆叠限定就形成了复杂的堆叠规则。
如何基于运输企业日常运作的实际需求,提出一种更贴近实际运作的车辆零部件装载方法,是亟待解决的问题。
发明内容
本发明的目的在于:克服现有技术的不足,提供了一种车辆零部件装载方法及系统,本发明在车辆装载时考虑车厢重心限制,将车厢重心作为装载问题的约束条件进行处理,对不满足重心约束的装载方案通过回溯算法来进行重心调整处理,直至生成一个可行的装载方案;进一步,还将堆叠规则作为装载问题的约束条件进行处理。本发明显著提高了车辆装载计划的准确率,使得车辆装载计划更贴近实际运作。
为实现上述目标,本发明提供了如下技术方案:
一种车辆零部件装载方法,包括步骤:
构造装载块,对待装载的车辆零部件单箱货物进行组堆,将一个或多个待装载单箱货物构造为装载块,所述装载块之间在高度上不能相互叠放;
生成装载方案,以装载块的装载顺序作为编码方式,按照装载块的底面积从大到小的顺序,将装载块在满足预设约束条件下按所述顺序装入车厢,生成初始装载方案,所述初始装载方案对应有装载序列,计算初始装载方案对应的装载率F;
优化装载方案,通过模拟退火过程随机调整装载块产生新的装载序列,不同装载序列对应不同的装载率F,通过比较装载率选择最优的装载方案;
其中,还包括如下重心调整过程,
根据装载序列逐一判断剩下装载块是否能够装入车厢;判定不能装入车厢时,计算当前格局下的车厢重心并判断重心是否满足重心约束;满足重心约束时输出装载方案并计算装载方案对应的装载率;不满足重心约束时,取出已装入装载块进行调整以满足重心约束,更新装载方案并计算装载方案对应的装载率。
进一步,取出已装入装载块进行调整以满足重心约束的步骤包括:
获取当前格局下的车厢重心G的空间坐标位置(X0,Y0,Z0),所述X0、Y0和Z0为重心G在坐标轴X轴、Y轴和Z轴上的值;
判断前述X0、Y0和/或Z0是否超过重心约束规定的重心范围;
判定X0和/或Y0超过重心范围时,按照已装入装载块的质量逆序逐一取出已装入装载块,直到重心位置在X轴和Y轴上满足重心约束,如果取出后车厢中还有已装入装载块,则再逐一放入能够满足约束的之前待装装载块,直到所有待装装载块都无法放入为止,更新装载方案;如果逐一取出已装入装载块后,车厢中的已装入序列中为空,则放弃取出处理操作,恢复已装入装载块信息,并将重心不在规定范围的已装入装载块以最短距离方向移动到规定的重心范围内,如果移动后不能完全装载,则将不能完全装载的装载块从方案中去除使得剩余部分满足重心约束,更新装载方案;
判定Z0超过重心范围时,基于当前格局从最高位置的装载块开始,从高到低逐一取出已装入装载块,直到重心位置在Z轴上满足重心约束,更新装载方案。
进一步,构造装载块的步骤包括:
步骤101,采集待装载的车辆零部件单箱货物的集合和参数信息,对货物箱进行分类,将货物箱划分为不需要组托盘的待装货物和需要组托盘的待装货物;
步骤102,将不需要组托盘的待装货物,按照底面积从大到小顺序排序,生成待装货物列表I_list;初始化iI=1,iB=1;
步骤103:将待装货物列表I_list中的第iI个货物放置于装载块iB中,并令I_list=I_list\{iI};
步骤104:选择I_list中满足堆叠约束、单箱承重约束和货物与车厢不相嵌约束条件的可堆叠于装载块iB的多个货物,并从中选取底面积最大的货物jI;
步骤105:若存在jI,则jI放置于装载块iB目前已存在货物的上一层,并令I_list=I_list\{jI},返回步骤104;若不存在jI,则进入步骤106;
步骤106:判断I_list是否为空,若是,则进入步骤107;若不是,设置iB=iB+1,返回步骤103;
步骤107:将需要托盘包装的待装货物,生成待装货物列表I_list;
步骤108:设置待装对象列表I_list中的所有货物的堆高为1,将托盘作为堆高为1的单个容器,求解堆高为1的单个容器的装载方案,获取所有可能的装载方案,作为层的装载方案;
步骤109:根据每一层不同方案,将剩余的货物设置堆高为1,将托盘作为堆高为1的单个容器,求解堆高为1的单个容器的装载方案,获取所有可能的装载方案,作为上一层的装载方案;不同层的堆叠产生一棵树;
步骤110:计算树的所有叶子结点对应的货物体积之和,选择货物体积之和最大的叶子节点,生成一个托盘的装载方案,并将装入托盘货物从待装货物列表I_list中删除,将托盘放置于装载块iB中;
步骤111:判断I_list是否为空,若是则输出结果;若不是,设置iB=iB+1,返回步骤108,直至将需要托盘包装的货物全部装入对应的托盘中,并达到托盘数最少。
进一步,生成装载方案的步骤包括,
步骤201,获取装载块序列B_list信息,以及货物与装载块的对应关系;设置令iB=1,可装载点为坐标原点(0,0);
步骤202,选择B_list中第iB个装载块,如果放入第iB个装载块后能够满足车辆承重约束,则进入步骤203,否则进入步骤205;
步骤203,获得当前格局下的可装载点列表EP;计算B_list中第iB个装载块对EP中各可装载点的可装载度值;判定第iB个装载块对EP中各可装载点的可装载度值均小于0时,进入步骤205;否则,选择可装载点列表EP中可装载度值最大的可装载点和其对应的装载方向作为第iB个装载块的装载位置和装载方向,进入步骤204;
步骤204,按照当前装入装载块,得到一个新的格局;
步骤205,设置iB=iB+1,判定iB≤lengtk(B_list)时,返回步骤202,否则结束计算,输出装载方案。
进一步,在步骤205之后执行重心检测步骤,如下:
步骤206,对于输出的装载方案,计算当前格局下的车厢重心,如果车厢重心满足约束,则进入步骤207,否则,将当前格局下的车厢重心调整到规定的重心范围内,并生成一个新的装载方案,然后用新的装载方案替代当前方案后进入步骤207;
步骤207:输出更新后的装载方案,包括任意货物i∈I的放置位置的x轴坐标xi,y轴坐标yi,z轴坐标zi,以及是否装载在车上αi;并计算对应的装载率f(B_list)=∑i∈IViαi/CV,其中,货物i的体积为Vi,αi为0-1变量,αi=1表示货物i装入车辆,αi=0表示货物i未装入车辆,CV为车厢的体积。
进一步,调整不满足重心约束的装载方案的车厢重心的步骤包括:
步骤2061,采集当前装载方案P中任意货物的装载信息,包括放置位置信息和是否装载在车上,以及采集重心约束条件限制的重心范围信息和剩余装载块列表Bs_list;
步骤2062,对于当前装载方案P,将已装入装载块按质量从大到小排序生成货物序列Bm_list,设置i=1,j=1,P0=P;
步骤2063,判定i≤length(Bm_list)时,进入步骤2064,否则进入步骤2067;
步骤2064,将Bm_list中第i个装载块从P中取出,得到新的装载方案P′,令P=P′后,重新计算重心位置;判定新的重心位置符合x轴和y轴要求范围时,进入步骤2065,否则设置i=i+1,返回步骤2063。
步骤2065,判定j≤length(Bs_list)时,进入步骤2066,否则进入步骤2068;
步骤2066,将Bs_list中第j装载块装入P,判定可装入且同时满足重心约束时,生成新的装载方案P′,并令P=P′,j=j+1,返回步骤2065,否则令j=j+1,返回步骤2065;
步骤2067,将P0的装载块以最短距离方向移动到要求的重心范围内,并将不能完全装载的装载块从方案中去除;然后令P=P0,进入步骤2068;
步骤2068,计算装载方案P的重心位置,判定符合z轴要求范围时,进入步骤2061,否则从已装装载块中去除最高位置的装载块,之后生成新的装载方案P′,令P=P′,返回执行步骤2068;
步骤2069,输出装载方案P,即为满足重心约束的装载方案。
进一步,调整装载序列以优化装载方案的步骤包括,
步骤301,设置初始温度Ts,冷却速率R,其中0<R<1,最大迭代次数L,终止温度Te,Ts>Te;令温度t=Ts;
步骤302:基于前述构造装载块的步骤生成装载块集合B;
步骤303:根据B随机生成装载块的一个排序即装载序列B_list;
步骤304:基于前述生成装载方案的步骤,计算适应度值F=f(B_list),f(B_list)为装载序列B_list对应的装载率;
步骤305:设置k=1,其中k表示迭代次数;
步骤306:随机扰动产生新的装载序列B′_list,计算对应的适应度值F′=f(B′_list),f(B′_list)为装载序列B′_list对应的装载率;
步骤307:判断适应度值是否改进,若F′>F,则接受新的装载序列B_list=B′_list;否则按照Metropolis概率准则接受新的装载序列;令k=k+1;
步骤308:判断是否k>L,若是则执行步骤309;否则回到步骤306;
步骤309:冷却退火,令t=t*R;
步骤310:判断是否t>Te,若是返回步骤305;否则获取当前装载序列B_list对应的装载方案,包括任意货物i∈I的放置位置的x轴坐标xi,y轴坐标yi,z轴坐标zi,是否装载在车上αi,以及对应的装载率f(B_list)=∑i∈IViαi/CV。
进一步,随机扰动的策略为,在装载序列B_list中随机选择两个装载块,对选择的两个装载块的位置进行交换,其它装载块排序位置保持不变。
进一步,所述冷却速率R的取值在0.8-0.99之间。
本发明还提供了一种实施前述方法的车辆零部件装载系统,包括如下结构:
信息输入模块,用以采集待装载的车辆零部件单箱货物的参数信息、约束条件信息和冷却进度表信息,所述约束条件信息中包括重心约束信息;
装载块构造模块,用以对待装载的车辆零部件单箱货物进行组堆,将一个或多个待装载单箱货物构造为装载块,所述装载块之间在高度上不能相互叠放;
装载方案生成模块,用以根据装载块的装载顺序作为编码方式,按照装载块的底面积从大到小的顺序,将装载块在满足预设约束条件下按所述顺序装入车厢,生成初始装载方案,所述初始装载方案对应有装载序列,计算初始装载方案对应的装载率F;
装载方案优化模块,通过模拟退火过程随机调整装载块产生新的装载序列,不同装载序列对应不同的装载率F,通过比较装载率选择最优的装载方案。
本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:在车辆装载时考虑车厢重心和货箱堆叠规则,将车厢重心和货箱堆叠规则作为装载问题的约束条件进行处理。其中,对于堆叠规则的约束,可以在每一个货物放入车厢时进行限定处理,如果满足单箱承重等堆叠规则约束限定,则允许将该货物放入车厢,否则禁止将该货物放入车厢。而对于车厢重心约束,则是在货物无法再装入时进行限定处理,对不满足重心约束的装载方案通过回溯算法来进行重心调整处理,直至生成一个可行的装载方案(此时如果采用不满足重心约束就直接放弃当前装载方案,则可能会找不到可行的装载方案,出现问题无解)。本发明显著提高了车辆装载计划的准确率,使得车辆装载计划更贴近实际运作。
附图说明
图1为本发明实施例提供的车辆零部件装载方法的简化流程图。
图2为本发明实施例提供的车辆重心安全区域的示意图。
图3为本发明实施例提供的空间笛卡尔直角坐标系示意图。
图4中为本发明实施例提供的汽车零部件包装容器叠放示例图,图4a为单箱叠放示例图,图4b为托盘内多箱叠放示例图。
图5为本发明实施例提供的汽车零部件组托盘示例图。
图6为现有技术中的可装载点的示例图,图6a为初始格局下的可装载点示例图,图6b为3个装载块格局下的可装载点示例图。
图7为本发明实施例提供的基于装载块序列的模拟退火算法的总框架图。
具体实施方式
以下结合附图和具体实施例对本发明公开的车辆零部件装载方法及系统作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
本发明中,以朝向车头方向车厢左前角作为坐标原点建立空间笛卡尔直角坐标系,将从车厢的车头到车尾方向作为X轴、将从车厢左边到右边方向为Y轴、将从车厢底部到顶部方向作为Z轴,参见图3所示。待装货物的装载位置是以其最靠近坐标原点的角点坐标值来表示,则可行装载方案中各已装入货物的装载位置可用货物的角点坐标值表示。
在图3的空间笛卡尔直角坐标系下,三维装载问题的求解方法所需要的集合、参数、决策变量等技术术语定义如下:
1)集合I={1,...,n}:待装载货物的集合,其中包括n个待装载货物。
2)参数设置:
符号Li、Wi、Hi、Qi、Vi、Si依次表示货物i的长度、宽度、高度、重量、体积、承重重量,其中i∈I。
符号CL、CW、CH、CV、CS依次表示车厢的长度、宽度、高度、体积、最大承重能力。
符号Ti、Pi依次表示货物i的包装类型、堆叠规则限制,其中i∈I,Pi∈{1,2,3,4},Pi=1表示不允许堆叠,Pi=2表示仅允许同类型、同尺寸堆叠,Pi=3表示允许同类型、同尺寸/底面尺寸小的堆叠,Pi=4表示允许不同类型、同尺寸/底面尺寸小的堆叠。
符号GDLu、GDL1、GDWu、GDW1、GDHu依次表示重心范围显示在车厢长度的上届、车厢长度的下届、车厢宽度的上届、车厢宽度的下届、车厢高度的上届。
3)决策变量:
汽车零部件三维装载问题的数学模型的决策变量,可以分成三类,分别是连续决策变量、0-1决策变量和0-1辅助决策变量。其中连续决策变量是用于刻画装载方案的连续变量;0-1决策变量是用于刻画装载方案的0-1变量;而0-1辅助决策变量是用于保证决策变量所刻画的装载方案为可行方案的变量。决策变量表如下表所示。
4)技术术语定义
a)格局:假设某一时刻,车厢内已放入若干个装载块,还有若干个装载块待放入,这时称为一个格局。车厢内尚未放入任何装载块时,称为初始格局。所有装载块已放入车厢,或车厢外剩余的装载块无法再放入时,称为终止格局。
b)可装载点:可装载点是在当前装载格局下车厢中装载块的可行放置点。举例说明,参见图6a所示,初始可装载点即为原点,坐标为(0,0),当装入长为1宽为w的装载块后,可装载点更新为(1,0)、(0,w);再参见图6b所示,在某个装载格局下,装入3个装载块,当4号装载块装入时,新增两个可装载点。
c)可装载度:可装载度表示待装载块与可装载点的匹配程度,用于指导每个装载动作中可装载点的选择。
对任意装载块i放入可装载点j之间的可装载度定义为一个评价函数:
其中,R1,R2,R3,R4为各指标元素权重,当按任意给定方向可装载点j装不下目标待装载块i时,令Wij k=-1<0,k∈{1,2,3,4,5};反之Wij k>0。
评价函数中各元素计算方法如下:
Wij 1:紧密度指标,表示将装载块放入车厢后新生成的可装载点数量,NE∈{0,1,2},NE越小,表示箱子与当前空间的紧密度越高。
Wij 2:穴度指标,Bl和Bw表示装入装载块的长和宽,Bd表示装入装载块与车厢边界或相邻装载块最小距离。
Wij 3:封闭空间面积指标,封闭空间是指装箱过程中,由装载块间或装载块与车厢四个边界围成的空白区域,其面积为BA,封闭空间面积越大,说明装载空间浪费越严重。
Wij 4:贴边数指标,Bn表示新装入装载块与已装入装载块或车厢边界相贴的边数,Bn∈{2,3,4}。
对任意装载块i和可装载点j、j′,记Wij大于装载度Wij′,如果(R1Wij 1+R2Wij 2+R3Wij 3+R4Wij 4)>(R1Wij′ 1+R2Wij′ 2+R3Wij′ 3+R4Wij′ 4),评价函数通过调整权重系数R1、R2、R3和R4,来改变上述指标——紧密度指标、穴度指标、封闭空间面积指标、贴边数指标——在选择装载块可行放置点的作用(权重值)。
实施例
参见图1所示,提供了一种车辆零部件装载方法,包括如下步骤。
S100,构造装载块:对待装载的车辆零部件单箱货物进行组堆,将一个或多个待装载单箱货物构造为装载块,所述装载块之间在高度上不能相互叠放。
S200,生成装载方案:以装载块的装载顺序作为编码方式,按照装载块的底面积从大到小的顺序,将装载块在满足预设约束条件下按所述顺序装入车厢,生成初始装载方案,所述初始装载方案对应有装载序列,计算初始装载方案对应的装载率F。
S300,优化装载方案:通过模拟退火过程随机调整装载块产生新的装载序列,不同装载序列对应不同的装载率F,通过比较装载率选择最优的装载方案。
而考虑到重心约束,本实施例的装载方法中还包括有重心调整策略。但车厢重心约束则不能在每一个货物放入车厢时就限定处理,因为后续装入货物仍会改变车厢重心位置,因而车厢重心约束只能在货物无法再装入时进行限定处理——即对生成的装载方案进行重心校验。如果出现装载方案没有满足重心约束,则需要将该装载方案的车厢重心调整到规定的安全区域范围内,参见图2所示,示例了车辆重心安全区域在车厢水平面中的区域范围。
本实施例中,重心调整过程如下:根据装载序列逐一判断剩下装载块是否能够装入车厢;判定不能装入车厢时,计算当前格局下的车厢重心并判断重心是否满足重心约束;满足重心约束时输出装载方案并计算装载方案对应的装载率;不满足重心约束时,取出已装入装载块进行调整以满足重心约束,更新装载方案并计算装载方案对应的装载率。
优选的,重心约束包括X轴、Y轴和Z轴上的范围限制。对于X轴和Y轴上超过重心范围的情况,可以采用取出货物方法后再调整的方式。对于Z轴上超过重心范围的情况,可以采用取出高点货物,即从高到低逐一取出已装入货物,直至满足规定重心范围,更新装载方案。
具体实施时,所述取出已装入装载块进行调整以满足重心约束的步骤如下:
获取当前格局下的车厢重心G的空间坐标位置(X0,Y0,Z0),所述X0、Y0和Z0为重心G在坐标轴X轴、Y轴和Z轴上的值;
判断前述X0、Y0和/或Z0是否超过重心约束规定的重心范围;
判定X0和/或Y0超过重心范围时,按照已装入装载块的质量逆序逐一取出已装入装载块,直到重心位置在X轴和Y轴上满足重心约束,如果取出后车厢中还有已装入装载块,则再逐一放入能够满足约束的之前待装装载块,直到所有待装装载块都无法放入为止,更新装载方案;如果逐一取出已装入装载块后,车厢中的已装入序列中为空,则放弃取出处理操作,恢复已装入装载块信息,并将重心不在规定范围的已装入装载块以最短距离方向移动到规定的重心范围内,如果移动后不能完全装载,则将不能完全装载的装载块从方案中去除使得剩余部分满足重心约束,更新装载方案。
判定Z0超过重心范围时,基于当前格局从最高位置的装载块开始,从高到低逐一取出已装入装载块,直到重心位置在Z轴上满足重心约束,更新装载方案。
需要说明的是,根据装载需要,上述两个步骤需要循环处理,直到装载方案的重心位置在XYZ轴都能满足重心范围。
本实施例中,所述步骤S100,利用建堆法对待装载单箱货物进行组堆,将待装单箱货物构造成为装载块,装载块之间在高度上不能再堆叠,通过构造装载块后,将三维装载问题降为二维装载问题。
优选的,在建堆过程中增加复杂堆叠规则的限制处理。参见图4所示,根据包装容器的类型,堆载规则包括以下两方面:
1)单箱叠放要求。参见图4a所示,虽然允许单箱叠放,但是对叠放货物的包装容器的类型和底面积尺寸要求。
对单箱叠放要求的货箱,构造装载块的方法是:从底面积从大到小顺序、在满足叠放规则要求下对包装容器进行组层,直到合后的高度最大不超过车厢高度为止,以达到同一包装容器底层构造载块的体积最大。
2)多箱叠放要求。参见图4b所示,允许多箱叠放即每层可以多个箱组成,但是要求必须将这类零部件的包装容器先摆放在托盘上。所述托盘外围还需要长绕膜固定,以防止运输过程出现因挤压、撞击等损害零部件质量问题。同时,对每一层底面积和高度有要求——被堆叠层必须能够完全支撑上一层的底部面积、且最顶层的箱子高度可以不相同而其它层的箱子高必须相同。
对多箱叠放要求的货箱,构造装载块即组托盘,而且要求所使用的托盘数尽量少。
组托盘的方法是利用树搜索,步骤如下:
组合层:一个托盘可以视为多堆叠成,而每的求解方法其实是求解一个堆高为1的单个容器装载方案,并返回所有可能装载方案。其与求解车辆装载方案相似,但是车辆装载方案返回的是最优方案。
建立树:每一层不同装载方案,方案中剩余的货物可再产生上一层满足堆叠规则的装载方案,参见图5所示,不同层的堆叠从而产生组合托盘过程一棵树。
遍历树:计算树的所有叶子结点对应的货物体积之和,选择货物体积最大的叶子节点,生成一个托盘装载方案;
根据以上方法重复处理货物,直至将需要托盘包装的货物全部装入对应的托盘中,然后将一个托盘视为装载块。
具体实施时,构造装载块的步骤如下:
步骤101,采集待装载的车辆零部件单箱货物的集合和参数信息,对货物箱进行分类,将货物箱划分为不需要组托盘的待装货物和需要组托盘的待装货物;
步骤102,将不需要组托盘的待装货物,按照底面积从大到小顺序排序,生成待装货物列表I_list;初始化iI=1,iB=1;
步骤103:将待装货物列表I_list中的第iI个货物放置于装载块iB中,并令I_list=I_list\{iI};
步骤104:选择I_list中满足堆叠约束、单箱承重约束和货物与车厢不相嵌约束条件的可堆叠于装载块iB的多个货物,并从中选取底面积最大的货物jI;
步骤105:若存在jI,则jI放置于装载块iB目前已存在货物的上一层,并令I_list=l_list\{jI},返回步骤104;若不存在jI,则进入步骤106;
步骤106:判断I_list是否为空,若是,则进入步骤107;若不是,设置iB=iB+1,返回步骤103;
步骤107:将需要托盘包装的待装货物,生成待装货物列表I_list;
步骤108:设置待装对象列表I_list中的所有货物的堆高为1,将托盘作为堆高为1的单个容器,求解堆高为1的单个容器的装载方案,获取所有可能的装载方案,作为层的装载方案;
步骤109:根据每一层不同方案,将剩余的货物设置堆高为1,将托盘作为堆高为1的单个容器,求解堆高为1的单个容器的装载方案,获取所有可能的装载方案,作为上一层的装载方案;不同层的堆叠产生一棵树;
步骤110:计算树的所有叶子结点对应的货物体积之和,选择货物体积之和最大的叶子节点,生成一个托盘的装载方案,并将装入托盘货物从待装货物列表I_list中删除,将托盘放置于装载块iB中;
步骤111:判断I_list是否为空,若是则输出结果;若不是,设置iB=iB+1,返回步骤108,直至将需要托盘包装的货物全部装入对应的托盘中。
所述步骤S200,采用二维装载点和穴度混合评价可装载度来选择装载位置,求出达到最大装载率的装载方案,并对生成的装载方案进行重心校验,利用回溯算法对不满足重心约束的装载方案进行调整,以满足重心约束。
车辆装载问题的求解目标为车辆装载率最大,如式(1)所示
所述的预设约束条件,主要分为两类:
一类为一般约束:主要有体积约束、装入货物之间互不嵌入约束、装入货物与车厢不相嵌约束,具体约束的数学表达如下:
a)体积约束:装入所有货物的体积总和不超过车厢最大容积,如式(2)所示。
b)装入货物之间互不嵌入约束,如式(3-10)所示。
c)装入货物与车厢不相嵌约束,如式(11-13)所示。
另一类为特殊约束:主要有完全支撑约束、单箱承重约束、货物堆叠约束、车辆承重约束和重心约束,具体数学表达如下:
a)完全支撑约束:货物必须得到车厢底部或其他唯一一件货物的完全支撑,不允许悬空,如式(14)所示。
b)单箱承重约束:货物叠放时,货物重量不得大于支撑其摆放的货物的承重能力,如式(15)所示。
c)堆叠约束:汽车零部件包装容器通常包含四种堆叠限定:①不允许堆叠,如式(16)所示;②仅允许同类型、同尺寸堆叠,如式(17)所示;③允许同类型,同尺寸/底面尺寸小的堆叠,如式(18)所示;④允许不同类型,同尺寸/底面尺寸小的堆叠,如式(19)所示。
其中,I′i={j|zj≤zi+Hi,xj≤xi≤xj+Lj(1-βj)+Wjβj,yj≤yi≤yj+Wj(1-βj)+Ljβj}。
d)期望重心约束:装入货物后车辆的重心必须在指定范围内,即如式(20-22)所示。
e)车辆承重约束:已装入货物的重量之和不能超过车辆承重,即如式(23)所示。
具体的,生成装载方案的步骤如下:
步骤201,获取装载块序列B_list信息,以及货物与装载块的对应关系;设置令iB=1,可装载点为坐标原点(0,0);
步骤202,选择B_list中第iB个装载块,如果放入第iB个装载块后能够满足车辆承重约束,则进入步骤203,否则进入步骤205;
步骤203,获得当前格局下的可装载点列表EP;计算B_list中第iB个装载块对EP中各可装载点的可装载度值;判定第iB个装载块对EP中各可装载点的可装载度值均小于0时,进入步骤205;否则,选择可装载点列表EP中可装载度值最大的可装载点和其对应的装载方向作为第iB个装载块的装载位置和装载方向,进入步骤204;
步骤204,按照当前装入装载块,得到一个新的格局;
步骤205,设置iB=iB+1,判定iB≤length(B_list)时,返回步骤202,否则结束计算,输出装载方案。
进一步,在步骤205之后执行重心检测步骤,如下:
步骤206,对于输出的装载方案,计算当前格局下的车厢重心,如果车厢重心满足约束,则进入步骤207,否则,将当前格局下的车厢重心调整到规定的重心范围内,并生成一个新的装载方案,然后用新的装载方案替代当前方案后进入步骤207;
步骤207:输出更新后的装载方案,包括任意货物i∈I的放置位置的x轴坐标xi,y轴坐标yi,z轴坐标zi,以及是否装载在车上αi;并计算对应的装载率f(B_list)=∑i∈IViαi/CV,其中,货物i的体积为Vi,αi为0-1变量,αi=1表示货物i装入车辆,αi=0表示货物i未装入车辆,CV为车厢的体积。
其中,针对步骤206,调整不满足重心约束的装载方案的车厢重心的步骤具体如下:
步骤2061,采集当前装载方案P中任意货物的装载信息,包括放置位置信息和是否装载在车上,以及采集重心约束条件限制的重心范围信息和剩余装载块列表Bs_list;
步骤2062,对于当前装载方案P,将已装入装载块按质量从大到小排序生成货物序列Bm_list,设置i=1,j=1,P0=P;
步骤2063,判定i≤length(Bm_list)时,进入步骤2064,否则进入步骤2067;
步骤2064,将Bm_list中第i个装载块从P中取出,得到新的装载方案P′,令P=P′后,重新计算重心位置;判定新的重心位置符合x轴和y轴要求范围时,进入步骤2065,否则设置i=i+1,返回步骤2063。
步骤2065,判定,≤length(Bs_list)时,进入步骤2066,否则进入步骤2068。
步骤2066,将Bs_list中第j装载块装入P,判定可装入且同时满足重心约束时,生成新的装载方案P′,并令P=P′,j=j+1,返回步骤2065,否则令j=j+1,返回步骤2065;
步骤2067,将P0的装载块以最短距离方向移动到要求的重心范围内,并将不能完全装载的装载块从方案中去除;然后令P=P0,进入步骤2068;
步骤2068,计算装载方案P的重心位置,判定符合z轴要求范围时,进入步骤2061,否则从已装装载块中去除最高位置的装载块,之后生成新的装载方案P′,令P=P′,返回执行步骤2068;
步骤2069,输出装载方案P,即为满足重心约束的装载方案。
所述步骤S300,是针对满足预设约束条件的初始装载方案,通过模拟退火过程随机调整装载序列以优化装载序列对应的装载方案。
模拟退火时,冷却进度表的参数包括初始温度Ts,结束温度Te,冷却速率r,以及Mapkob链长L。初始温度Ts直接影响模拟退火方法全局搜索性能。在相同其他条件下,初始温度Ts越高时,运行迭代次数越多,搜索到全局最优解的可能性越大,但计算耗费时间可能也会更久。
冷却函数也是影响模拟退火性能的重要方面之一。本实施例中,优选的采用几何冷却函数,温度以R的速率进行递减,R是小于1的数。其中,R取值优选在0.8到0.99范围内,且偏向于取值越大。
Mapkob链长L表示在某一固定温度下的迭代次数,链长L越大,在某一温度下越能达到稳定状态,但运算耗费时间也更久。
车辆装载问题的求解目标为装载率最大,若新的装载率比当前装载率高,即ΔF=F′-F≥0,则接受新的装载方案。但在处理连续多个装箱或组多个托盘时,需要以一定概率接受一个劣解以有效地避免陷入局部最优。因此,若ΔF<0,可以采用Metropolis准则,生成一个(0,1)之间的随机数θ,若θ小于接受概率exp(10*ΔF/t),则同样接受新的装载方案,否则保留当前装载方案。
具体的,调整装载序列以优化装载方案的步骤如下:
步骤301,设置初始温度Ts,冷却速率R,其中0<R<1,最大迭代次数L,终止温度Te,Ts>Te;令温度t=Ts;
步骤302:基于前述构造装载块的步骤生成装载块集合B;
步骤303:根据B随机生成装载块的一个排序即装载序列B_list;
步骤304:基于前述生成装载方案的步骤,计算适应度值F=f(B_list),f(B_list)为装载序列B_list对应的装载率;
步骤305:设置k=1,其中k表示迭代次数;
步骤306:随机扰动产生新的装载序列B′_list,计算对应的适应度值F′=f(B′_list),f(B′_list)为装载序列B′_list对应的装载率;
步骤307:判断适应度值是否改进,若F′>F,则接受新的装载序列B_list=B′_list;否则按照Metropolis概率准则接受新的装载序列;令k=k+1;
步骤308:判断是否k>L,若是则执行步骤309;否则回到步骤306;
步骤309:冷却退火,令t=t*R;
步骤310:判断是否t>Te,若是返回步骤305;否则获取当前装载序列B_list对应的装载方案,包括任意货物i∈I的放置位置的x轴坐标xi,y轴坐标yi,z轴坐标zi,是否装载在车上αi,以及对应的装载率f(B_list)=∑i∈IViαi/CV。
其中,所述随机扰动的策略优选为:在装载序列B_list中随机选择两个装载块,对选择的两个装载块的位置进行交换,其它装载块排序位置保持不变。作为举例而非限制,比如初始装载序列为[A、B、C、D、E、F、G],随机选择到第2位和第5位进行交换,则新的装载序列为[A、E、C、D、B、F、G]。不同的装载序列产生装载方案及其装载率,通过比较装载率来选择最优的装载方案。
基于上述内容,图7示出了基于装载块序列的模拟退火算法的总框架图。该算法中,先对待装载单箱货物进行组堆,将待装单箱货物构造成为装载块;之后采用二维装载点和穴度混合评价可装载度来选择装载位置,之后求出达到最大装载率的装载方案,并对生成的装载方案进行重心校验,利用回溯算法对不满足重心约束的装载方案进行调整,以满足重心约束;最后通过模拟退火过程随机调整装载序列以优化装载序列对应的装载方案。
利用本发明提供的上述算法进行三维装载求解时,相比于现有的其它三维装箱算法——比如ESICUP算法(Toffolo,2017),在装载率、所需车辆数和运算效率上都有显著优势。
本发明的另一实施例,还提供了一种车辆零部件装载系统。
所述系统包括通信连接的信息输入模块、装载块构造模块、装载方案生成模块和装载方案优化模块。
所述信息输入模块,用以采集待装载的车辆零部件单箱货物的参数信息、约束条件信息和冷却进度表信息,所述约束条件信息中包括重心约束信息。
所述装载块构造模块,用以对待装载的车辆零部件单箱货物进行组堆,将一个或多个待装载单箱货物构造为装载块,所述装载块之间在高度上不能相互叠放。
所述装载方案生成模块,用以根据装载块的装载顺序作为编码方式,按照装载块的底面积从大到小的顺序,将装载块在满足预设约束条件下按所述顺序装入车厢,生成初始装载方案,所述初始装载方案对应有装载序列,计算初始装载方案对应的装载率F。
所述装载方案优化模块,通过模拟退火过程随机调整装载块产生新的装载序列,不同装载序列对应不同的装载率F,通过比较装载率选择最优的装载方案。
所述系统还可以包括用户接口模块,用以采集用户的输入信息以及向用户输出信息。优选的,为实现可视化,所述用户接口模块包括图形用户界面(GUI),以便用户查看和分析结果。
其它技术特征参见前述实施例,在此不再赘述。
需要说明的是,本发明中,所述系统还可以包括通常在计算系统中找到的其它组件,诸如存储在存储器中并由处理器执行的操作系统、队列管理器、设备驱动程序、数据库驱动程序或一个或多个网络协议等。
在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (10)
1.一种车辆零部件装载方法,其特征在于包括步骤:
构造装载块,对待装载的车辆零部件单箱货物进行组堆,将一个或多个待装载单箱货物构造为装载块,所述装载块之间在高度上不能相互叠放;
生成装载方案,以装载块的装载顺序作为编码方式,按照装载块的底面积从大到小的顺序,将装载块在满足预设约束条件下按所述顺序装入车厢,生成初始装载方案,所述初始装载方案对应有装载序列,计算初始装载方案对应的装载率F;
优化装载方案,通过模拟退火过程随机调整装载块产生新的装载序列,不同装载序列对应不同的装载率F,通过比较装载率选择最优的装载方案;
其中,还包括如下重心调整过程,
根据装载序列逐一判断剩下装载块是否能够装入车厢;
判定不能装入车厢时,计算当前格局下的车厢重心并判断重心是否满足重心约束;
满足重心约束时输出装载方案并计算装载方案对应的装载率;不满足重心约束时,取出已装入装载块进行调整以满足重心约束,更新装载方案并计算装载方案对应的装载率。
2.根据权利要求1所述的方法,其特征在于:取出已装入装载块进行调整以满足重心约束的步骤包括,
获取当前格局下的车厢重心G的空间坐标位置(X0,Y0,Z0),所述X0、Y0和Z0为重心G在坐标轴X轴、Y轴和Z轴上的值;
判断前述X0、Y0和/或Z0是否超过重心约束规定的重心范围;
判定X0和/或Y0超过重心范围时,按照已装入装载块的质量逆序逐一取出已装入装载块,直到重心位置在X轴和Y轴上满足重心约束,如果取出后车厢中还有已装入装载块,则再逐一放入能够满足约束的之前待装装载块,直到所有待装装载块都无法放入为止,更新装载方案;如果逐一取出已装入装载块后,车厢中的已装入序列中为空,则放弃取出处理操作,恢复已装入装载块信息,并将重心不在规定范围的已装入装载块以最短距离方向移动到规定的重心范围内,如果移动后不能完全装载,则将不能完全装载的装载块从方案中去除使得剩余部分满足重心约束,更新装载方案;
判定Z0超过重心范围时,基于当前格局从最高位置的装载块开始,从高到低逐一取出已装入装载块,直到重心位置在Z轴上满足重心约束,更新装载方案。
3.根据权利要求1所述的方法,其特征在于:构造装载块的步骤包括,
步骤101,采集待装载的车辆零部件单箱货物的集合和参数信息,对货物箱进行分类,将货物箱划分为不需要组托盘的待装货物和需要组托盘的待装货物;
步骤102,将不需要组托盘的待装货物,按照底面积从大到小顺序排序,生成待装货物列表I_list;初始化iI=1,iB=1;
步骤103:将待装货物列表I_list中的第iI个货物放置于装载块iB中,并令I_list=I_list\{iI};
步骤104:选择I_list中满足堆叠约束、单箱承重约束和货物与车厢不相嵌约束条件的可堆叠于装载块iB的多个货物,并从中选取底面积最大的货物jI;
步骤105:若存在jI,则jI放置于装载块iB目前已存在货物的上一层,并令I_list=I_list\{jI},返回步骤104;若不存在jI,则进入步骤106;
步骤106:判断I_list是否为空,若是,则进入步骤107;若不是,设置iB=iB+1,返回步骤103;
步骤107:将需要托盘包装的待装货物,生成待装货物列表I_list;
步骤108:设置待装对象列表I_list中的所有货物的堆高为1,将托盘作为堆高为1的单个容器,求解堆高为1的单个容器的装载方案,获取所有可能的装载方案,作为层的装载方案;
步骤109:根据每一层不同方案,将剩余的货物设置堆高为1,将托盘作为堆高为1的单个容器,求解堆高为1的单个容器的装载方案,获取所有可能的装载方案,作为上一层的装载方案;不同层的堆叠产生一棵树;
步骤110:计算树的所有叶子结点对应的货物体积之和,选择货物体积之和最大的叶子节点,生成一个托盘的装载方案,并将装入托盘货物从待装货物列表I_list中删除,将托盘放置于装载块iB中;
步骤111:判断I_list是否为空,若是则输出结果;若不是,设置iB=iB+1,返回步骤108,直至将需要托盘包装的货物全部装入对应的托盘中。
4.根据权利要求3所述的方法,其特征在于:生成装载方案的步骤包括,
步骤201,获取装载块序列B_list信息,以及货物与装载块的对应关系;设置令iB=1,可装载点为坐标原点(0,0);
步骤202,选择B_list中第iB个装载块,如果放入第iB个装载块后能够满足车辆承重约束,则进入步骤203,否则进入步骤205;
步骤203,获得当前格局下的可装载点列表EP;计算B_list中第iB个装载块对EP中各可装载点的可装载度值;判定第iB个装载块对EP中各可装载点的可装载度值均小于0时,进入步骤205;否则,选择可装载点列表EP中可装载度值最大的可装载点和其对应的装载方向作为第iB个装载块的装载位置和装载方向,进入步骤204;
步骤204,按照当前装入装载块,得到一个新的格局;
步骤205,设置iB=iB+1,判定iB≤length(B_list)时,返回步骤202,否则结束计算,输出装载方案。
5.根据权利要求4所述的方法,其特征在于:在步骤205之后执行重心检测步骤,如下,
步骤206,对于输出的装载方案,计算当前格局下的车厢重心,如果车厢重心满足约束,则进入步骤207,否则,将当前格局下的车厢重心调整到规定的重心范围内,并生成一个新的装载方案,然后用新的装载方案替代当前方案后进入步骤207;
步骤207:输出更新后的装载方案,包括任意货物i∈I的放置位置的x轴坐标xi,y轴坐标yi,z轴坐标zi,以及是否装载在车上αi;并计算对应的装载率f(B_list)=Σi∈IViαi/CV,其中,货物i的体积为Vi,αi为0-1变量,αi=1表示货物i装入车辆,αi=0表示货物i未装入车辆,CV为车厢的体积。
6.根据权利要求5所述的方法,其特征在于:调整不满足重心约束的装载方案的车厢重心的步骤包括,
步骤2061,采集当前装载方案P中任意货物的装载信息,包括放置位置信息和是否装载在车上,以及采集重心约束条件限制的重心范围信息和剩余装载块列表Bs_list;
步骤2062,对于当前装载方案P,将已装入装载块按质量从大到小排序生成货物序列Bm_list,设置i=1,j=1,P0=P;
步骤2063,判定i≤length(Bm_list)时,进入步骤2064,否则进入步骤2067;
步骤2064,将Bm_list中第i个装载块从P中取出,得到新的装载方案P′,令P=P′后,重新计算重心位置;判定新的重心位置符合x轴和y轴要求范围时,进入步骤2065,否则设置i=i+1,返回步骤2063;
步骤2065,判定j≤length(Bs_list)时,进入步骤2066,否则进入步骤2068;
步骤2066,将Bs_list中第j装载块装入P,判定可装入且同时满足重心约束时,生成新的装载方案P′,并令P=P′,j=j+1,返回步骤2065,否则令j=j+1,返回步骤2065;
步骤2067,将P0的装载块以最短距离方向移动到要求的重心范围内,并将不能完全装载的装载块从方案中去除;然后令P=P0,进入步骤2068;
步骤2068,计算装载方案P的重心位置,判定符合z轴要求范围时,进入步骤2061,否则从已装装载块中去除最高位置的装载块,之后生成新的装载方案P′,令P=P′,返回执行步骤2068;
步骤2069,输出装载方案P,即为满足重心约束的装载方案。
7.根据权利要求1所述的方法,其特征在于:调整装载序列以优化装载方案的步骤包括,
步骤301,设置初始温度Ts,冷却速率R,其中0<R<1,最大迭代次数L,终止温度Te,Ts>Te;令温度t=Ts;
步骤302:基于前述构造装载块的步骤生成装载块集合B;
步骤303:根据B随机生成装载块的一个排序即装载序列B_list;
步骤304:基于前述生成装载方案的步骤,计算适应度值F=f(B_list),f(B_list)为装载序列B_list对应的装载率;
步骤305:设置k=1,其中k表示迭代次数;
步骤306:随机扰动产生新的装载序列B′_list,计算对应的适应度值F′=f(B′_list),f(B′_list)为装载序列B′_list对应的装载率;
步骤307:判断适应度值是否改进,若F′>F,则接受新的装载序列B_list=B′_list;否则按照Metropolis概率准则接受新的装载序列;令k=k+1;
步骤308:判断是否k>L,若是则执行步骤309;否则回到步骤306;
步骤309:冷却退火,令t=t*R;
步骤310:判断是否t>Te,若是返回步骤305;否则获取当前装载序列B_list对应的装载方案,包括任意货物i∈I的放置位置的x轴坐标xi,y轴坐标yi,z轴坐标zi,是否装载在车上αi,以及对应的装载率f(B_list)=Σi∈IViαi/CV。
8.根据权利要求7所述的方法,其特征在于:随机扰动的策略为,在装载序列B_list中随机选择两个装载块,对选择的两个装载块的位置进行交换,其它装载块排序位置保持不变。
9.根据权利要求7所述的方法,其特征在于:所述冷却速率R的取值在0.8-0.99之间。
10.一种实施权利要求1-9中任一项所述的车辆零部件装载系统,其特征在于包括:
信息输入模块,用以采集待装载的车辆零部件单箱货物的参数信息、约束条件信息和冷却进度表信息,所述约束条件信息中包括重心约束信息;
装载块构造模块,用以对待装载的车辆零部件单箱货物进行组堆,将一个或多个待装载单箱货物构造为装载块,所述装载块之间在高度上不能相互叠放;
装载方案生成模块,用以根据装载块的装载顺序作为编码方式,按照装载块的底面积从大到小的顺序,将装载块在满足预设约束条件下按所述顺序装入车厢,生成初始装载方案,所述初始装载方案对应有装载序列,计算初始装载方案对应的装载率F;
装载方案优化模块,通过模拟退火过程随机调整装载块产生新的装载序列,不同装载序列对应不同的装载率F,通过比较装载率选择最优的装载方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910447682.3A CN110175402B (zh) | 2019-05-27 | 2019-05-27 | 车辆零部件装载方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910447682.3A CN110175402B (zh) | 2019-05-27 | 2019-05-27 | 车辆零部件装载方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110175402A true CN110175402A (zh) | 2019-08-27 |
CN110175402B CN110175402B (zh) | 2022-03-11 |
Family
ID=67696307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910447682.3A Active CN110175402B (zh) | 2019-05-27 | 2019-05-27 | 车辆零部件装载方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110175402B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507644A (zh) * | 2020-04-30 | 2020-08-07 | 安徽大学 | 一种多点卸货约束的三维多容器装载方法 |
CN112541227A (zh) * | 2020-12-08 | 2021-03-23 | 广汽乘用车有限公司 | 一种汽车零部件物流配载系统及方法 |
CN113065816A (zh) * | 2021-03-15 | 2021-07-02 | 中国第一汽车股份有限公司 | 一种自动生成运输任务的无人调度运输控制方法及系统 |
CN113222291A (zh) * | 2021-06-04 | 2021-08-06 | 重庆交通大学 | 一种基于空间区域划分模型的三维装载优化方法 |
CN113525441A (zh) * | 2020-04-20 | 2021-10-22 | 中车唐山机车车辆有限公司 | 一种货运动车组的货物装载方法及系统 |
CN114581806A (zh) * | 2022-03-18 | 2022-06-03 | 重庆科技学院 | 一种基于主干边缘特征提取的工业零件空载率计算方法 |
US11494731B2 (en) | 2019-01-30 | 2022-11-08 | Walmart Apollo, Llc | Automatic generation of load and route design |
US11501248B2 (en) | 2019-01-30 | 2022-11-15 | Walmart Apollo, Llc | Validation of routes in automatic route design |
US11526836B2 (en) | 2019-01-30 | 2022-12-13 | Walmart Apollo, Llc | Automatic generation of route design |
US11550968B2 (en) | 2019-01-30 | 2023-01-10 | Walmart Apollo, Llc | Automatic generation of load design |
US11829688B2 (en) | 2019-01-30 | 2023-11-28 | Walmart Apollo, Llc | Automatic generation of incremental load design with stacks of pallets |
CN117557187A (zh) * | 2024-01-10 | 2024-02-13 | 四川宽窄智慧物流有限责任公司 | 用于多订单的智能配载控制方法 |
US11960800B2 (en) | 2019-01-30 | 2024-04-16 | Walmart Apollo, Llc | Automatic generation of flexible load design |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060182527A1 (en) * | 2004-12-17 | 2006-08-17 | Navis Llc | Automated container terminal scheduling |
CN101593321A (zh) * | 2009-06-30 | 2009-12-02 | 北京交通大学 | 一种车辆货物装载方法以及货物装载方案确定装置 |
CN104680237A (zh) * | 2015-03-10 | 2015-06-03 | 西南科技大学 | 一种多约束条件下三维装箱新型遗传算法模型 |
-
2019
- 2019-05-27 CN CN201910447682.3A patent/CN110175402B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060182527A1 (en) * | 2004-12-17 | 2006-08-17 | Navis Llc | Automated container terminal scheduling |
CN101593321A (zh) * | 2009-06-30 | 2009-12-02 | 北京交通大学 | 一种车辆货物装载方法以及货物装载方案确定装置 |
CN104680237A (zh) * | 2015-03-10 | 2015-06-03 | 西南科技大学 | 一种多约束条件下三维装箱新型遗传算法模型 |
Non-Patent Citations (2)
Title |
---|
林永昊等: "汽车零部件三维装载问题研究", 《上海管理科学》 * |
王存存等: "集装箱装载价值最优的启发式算法", 《上海电机学院学报》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11893319B2 (en) | 2019-01-30 | 2024-02-06 | Walmart Apollo, Llc | Automatic generation of load design |
US11960800B2 (en) | 2019-01-30 | 2024-04-16 | Walmart Apollo, Llc | Automatic generation of flexible load design |
US11501248B2 (en) | 2019-01-30 | 2022-11-15 | Walmart Apollo, Llc | Validation of routes in automatic route design |
US11526836B2 (en) | 2019-01-30 | 2022-12-13 | Walmart Apollo, Llc | Automatic generation of route design |
US11550968B2 (en) | 2019-01-30 | 2023-01-10 | Walmart Apollo, Llc | Automatic generation of load design |
US11494731B2 (en) | 2019-01-30 | 2022-11-08 | Walmart Apollo, Llc | Automatic generation of load and route design |
US11829688B2 (en) | 2019-01-30 | 2023-11-28 | Walmart Apollo, Llc | Automatic generation of incremental load design with stacks of pallets |
CN113525441A (zh) * | 2020-04-20 | 2021-10-22 | 中车唐山机车车辆有限公司 | 一种货运动车组的货物装载方法及系统 |
CN111507644B (zh) * | 2020-04-30 | 2022-08-09 | 安徽大学 | 一种多点卸货约束的三维多容器装载方法 |
CN111507644A (zh) * | 2020-04-30 | 2020-08-07 | 安徽大学 | 一种多点卸货约束的三维多容器装载方法 |
CN112541227A (zh) * | 2020-12-08 | 2021-03-23 | 广汽乘用车有限公司 | 一种汽车零部件物流配载系统及方法 |
CN113065816A (zh) * | 2021-03-15 | 2021-07-02 | 中国第一汽车股份有限公司 | 一种自动生成运输任务的无人调度运输控制方法及系统 |
CN113222291A (zh) * | 2021-06-04 | 2021-08-06 | 重庆交通大学 | 一种基于空间区域划分模型的三维装载优化方法 |
CN114581806A (zh) * | 2022-03-18 | 2022-06-03 | 重庆科技学院 | 一种基于主干边缘特征提取的工业零件空载率计算方法 |
CN114581806B (zh) * | 2022-03-18 | 2024-03-19 | 重庆科技学院 | 一种基于主干边缘特征提取的工业零件空载率计算方法 |
CN117557187B (zh) * | 2024-01-10 | 2024-03-26 | 四川宽窄智慧物流有限责任公司 | 用于多订单的智能配载控制方法 |
CN117557187A (zh) * | 2024-01-10 | 2024-02-13 | 四川宽窄智慧物流有限责任公司 | 用于多订单的智能配载控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110175402B (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175402A (zh) | 车辆零部件装载方法及系统 | |
CN110175405A (zh) | 车辆装载优化方法及系统 | |
CN110175404A (zh) | 货物装载调整方法及装置 | |
CN109359739A (zh) | 基于遗传算法的堆叠组合方法、装置、设备和存储介质 | |
Sammarra et al. | A tabu search heuristic for the quay crane scheduling problem | |
Hartmann | A general framework for scheduling equipment and manpower at container terminals | |
Araújo et al. | Pareto clustering search applied for 3D container ship loading plan problem | |
Kang et al. | Stowage planning in maritime container transportation | |
CN110077772B (zh) | 组托盘方法及其应用 | |
Zhang et al. | Multiobjective approaches for the ship stowage planning problem considering ship stability and container rehandles | |
CN103761635A (zh) | 一种三维多箱异构货物装载优化方法 | |
CN108750685A (zh) | 一种离线混合码垛方法及系统 | |
KR101384739B1 (ko) | 컨테이너에서의 무게중심을 고려한 박스 적재 방법 | |
CN110059992A (zh) | 货物入库方法、装置以及计算机可读存储介质 | |
CN108861619A (zh) | 一种半离线混合码垛方法、系统及机器人 | |
Ayachi et al. | A Genetic algorithm to solve the container storage space allocation problem | |
Meller et al. | The impact of standardized metric Physical Internet containers on the shipping volume of manufacturers | |
Poppenborg et al. | Online scheduling of flexible job-shops with blocking and transportation | |
CN111507644B (zh) | 一种多点卸货约束的三维多容器装载方法 | |
Costa et al. | Weight distribution in container loading: a case study | |
CN111086648B (zh) | 飞行器配载限制方法及装置 | |
CN116502866A (zh) | 一种智能散货船舶计划和自动分类方法 | |
Li et al. | An integer linear programming for container stowage problem | |
CN110544019B (zh) | 一种面向智能船舶的集装箱货物配载方法及系统 | |
CN114275561B (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 |