CN112101650A - 一种基于组合优化的二维装箱算法的预处理方法及系统 - Google Patents
一种基于组合优化的二维装箱算法的预处理方法及系统 Download PDFInfo
- Publication number
- CN112101650A CN112101650A CN202010929605.4A CN202010929605A CN112101650A CN 112101650 A CN112101650 A CN 112101650A CN 202010929605 A CN202010929605 A CN 202010929605A CN 112101650 A CN112101650 A CN 112101650A
- Authority
- CN
- China
- Prior art keywords
- goods
- cargo
- side length
- module
- combination
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000007781 pre-processing Methods 0.000 title claims abstract description 23
- 238000005457 optimization Methods 0.000 title claims abstract description 17
- 238000003860 storage Methods 0.000 claims description 8
- 239000002131 composite material Substances 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012856 packing Methods 0.000 abstract description 8
- 238000012545 processing Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011284 combination treatment Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
-
- 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
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于组合优化的二维装箱算法的预处理方法及系统,包括:步骤M1:获取箱子的边长信息,并按照边长信息对箱子进行分类;步骤M2:根据预设限制规则及空间利用率函数对组内和组间的货物进行组合,计算组合后的空间利用率,当空间利用率达到预设要求,将货物进行合并;步骤M3:合并后货物的总数少于预设数量后,停止组合,使用装箱算法对货物进行装箱。本发明化零为整通,将小的货物组合成大的货物有效提高装载率。
Description
技术领域
本发明涉及组合优化领域,具体地,涉及一种基于组合优化的二维装箱算法的预处理方法及系统,更为具体地,涉及一种基于组合优化的二维装箱算法预处理的实现。
背景技术
随着电子商务的迅速发展,网上购物成为人们生活中不可缺少的一部分。网购产生了大量的快递运输的需求,这些快递数量众多,大小不一,如何提升他们的运输效率,节省运输成本是快递行业亟需解决的一个问题。而这其中,如何有效的提升快递的装箱效率是一个关键问题。
装箱问题所研究的正是这类问题。数学上已经证明二维和三维的装箱问题属于NP难的问题,也就是说我们无法找到一个多项式级别复杂度的精确算法来解决这个问题。那么随着货物数量的增多,解决问题的时间和空间复杂度将会极大的提升,很难在生产环境下满足我们的需求。如何预处理大量的货物,如何有效的减少要处理的货物的数量,在这个问题的解决中起着关键的作用。
本方法根据大规模装箱问题中遇到的问题,主要研究有效的货物预处理,研究如何将小的货物有效的合并成大的货物,然后再进行装箱,从而有效减少待装载货物的数量,加快装箱处理速度。在合并的过程中加入“空间利用率”的概念,只有空间利用率满足需求的货物组合,才可以合并成一个大的货物,保证了合并后的装载率。
本发明经过简单的变动可以得到有效的三维扩展。通过将两个维度的边长统计扩展为三维的边长统计,对边长进行分类,即可得到三维的扩展算法。
专利文献CN107832129A(申请号:201710997546.2)公开了一种面向分布式流计算环境下的任务调度优化方法,在运行时周期性地采集任务之间传输的数据量,通过分组机制,将通信量大的任务划分到一个组,一个组的任务在后续的调度过程中,会被当成一个整体进行调度。本发明的方法有很好的扩展性,当任务拓扑结构非常大的时候,本发明可以采用多层次组合方法,将上一层得到的组进行再次合并,得到更大的组,从而启用更少的调度单元,进一步减少调度规模。当规模足够小的时候,再将这些组调度到进程,降低网络通信开销。进一步地,本发明在调度时还依据负载大小调用进程,从而在确保降低网络通信开销的同时达到负载平衡。
专利文献CN107832129A是在分布式流计算的环境中,通过对任务间交互关系的采集,对任务进行分组,数据交互多的数据被分配到同一个组内,然后对同一组的用户进行集中的处理,从而减小任务调度的规模。而本申请是通过对批量装箱算法中的货物的边长信息进行统计,对满足空间利用率的货物进行组合,同时支持递归的进行组合操作,以得到更优化的组合结果。从而可以发现货物之间更为隐藏的组合关系,在装箱算法中有着很高的实用性。
专利文献CN106648834A(申请号:201611205454.8)公开了一种基于批装箱问题的虚拟机调度方法,该方法包括以下步骤虚拟机调度器定期接收用户提交的新的虚拟机请求,同时收集系统中每台物理机上运行的虚拟机的状态信息,包括即将结束运行的虚拟机信息针对新的每一组虚拟机请求,虚拟机调度器采用批装箱算法进行调整,得出新的虚拟机与物理机的对应关系表虚拟机调度器比较算法调度前后对应关系表之间的差异,制定并发送迁移指令给指定物理机,相关物理机根据指令完成虚拟机迁移。与现有技术相比,本发明方法关闭了空闲服务器以降低能耗,同时有效减少了虚拟机迁移次数提高了分配效率。
专利文献CN106648834A主要是将虚拟机调度算法抽象成批量装箱算法进行处理,通过对申请的虚拟机请求以及快要到期的虚拟机状态的收集,对物理机资源进行合理的规划,并完成相关的虚拟机的迁移工作。而本申请的重点在于对大规模装箱过程中小的货物的合并处理,从而减小待处理的箱子的数量,在保证空间利用率的同时提高装箱的效率。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于组合优化的二维装箱算法的预处理方法及系统。
根据本发明提供的一种基于组合优化的二维装箱算法的预处理方法,包括:
步骤M1:获取箱子的边长信息,并按照边长信息对箱子进行分类;
步骤M2:根据预设限制规则及空间利用率函数对组内和组间的货物进行组合,计算组合后的空间利用率,当空间利用率达到预设要求,将货物进行合并;
步骤M3:合并后货物的总数少于预设数量后,停止组合,使用装箱算法对货物进行装箱。
优选地,所述步骤M1包括:
步骤M1.1:设置存储货物的结构体Cargo,根据货物边长的不同存储到不同的结构体Cargo中;
步骤M1.2:在存储系统中创建N个结构体Cargo行的链表baseList,N表示货物边长的种类;
步骤M1.3:统计每个货物的边长情况,构造货物的结构体Cargo,并存入相应链表baseList;
步骤M1.4:构建多个Hash链表,多个Hash链表根据不同的边长长度实现对链表baseList中不同货物结构体Cargo的索引。
优选地,所述步骤M2中预设限制规则包括:
将组合生成的货物的长度和宽度分别记为newL和newW,newL和newW满足如下规则:
max(newL,newW)≤min(L,W) (1)
其中,L表示箱子的长度;W表示箱子的宽度;
所述空间利用率函数包括:
F=(L1*W1+L2*W2)/(W1+L2)*L1 (2)
其中,L1,W1,L2和W2分别表示待合并的两个货物的长度和宽度。
优选地,所述步骤M2包括:
步骤M2.1:货物边长满足预设条件的Hash链表进行组内合并;将选中的两个货物按照边长相等的边进行合并,合并完成后生成新的货物边长;
步骤M2.2:将合成得到的新的货物根据边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的两个货物;
步骤M2.3:在多个Hash链表中选择边长不等的货物进行组合,多个边长不等的货物组合后空间利用率满足预设要求,则将货物进行组合,得到新的货物边长;
步骤M2.4:将组合得到新的货物根据货物边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的多个货物。
优选地,所述步骤M2.3包括:
步骤M2.3.1:货物边长满足预设条件的两个Hash链表中分别找到货物1和货物2;
步骤M2.3.2:将货物1和货物2进行组合,计算剩余空间;
步骤M2.3.3:在Hash链表中寻找能够完全满足剩余空间边长的货物3,并将货物3与货物1、货物2进行组合;
步骤M2.3.4:当在Hash链表中没有完全满足剩余空间边长的货物3时,则在Hash链表中寻找能够满足剩余空间一条边长的货物3,并将货物3与货物1、货物2进行组合,计算剩余空间,重复执行步骤M2.3.3至步骤M2.3.4,直至空间利用率满足预设要求。
根据本发明提供的一种基于组合优化的二维装箱算法的预处理系统,包括:
模块M1:获取箱子的边长信息,并按照边长信息对箱子进行分类;
模块M2:根据预设限制规则及空间利用率函数对组内和组间的货物进行组合,计算组合后的空间利用率,当空间利用率达到预设要求,将货物进行合并;
模块M3:合并后货物的总数少于预设数量后,停止组合,使用装箱算法对货物进行装箱。
优选地,所述模块M1包括:
模块M1.1:设置存储货物的结构体Cargo,根据货物边长的不同存储到不同的结构体Cargo中;
模块M1.2:在存储系统中创建N个结构体Cargo行的链表baseList,N表示货物边长的种类;
模块M1.3:统计每个货物的边长情况,构造货物的结构体Cargo,并存入相应链表baseList;
模块M1.4:构建多个Hash链表,多个Hash链表根据不同的边长长度实现对链表baseList中不同货物结构体Cargo的索引。
优选地,所述模块M2中预设限制规则包括:
将组合生成的货物的长度和宽度分别记为newL和newW,newL和newW满足如下规则:
max(newL,newW)≤min(L,W) (1)
其中,L表示箱子的长度;W表示箱子的宽度;
所述空间利用率函数包括:
F=(L1*W1+L2*W2)/(W1+L2)*L1 (2)
其中,L1,W1,L2和W2分别表示待合并的两个货物的长度和宽度。
优选地,所述模块M2包括:
模块M2.1:货物边长满足预设条件的Hash链表进行组内合并;将选中的两个货物按照边长相等的边进行合并,合并完成后生成新的货物边长;
模块M2.2:将合成得到的新的货物根据边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的两个货物;
模块M2.3:在多个Hash链表中选择边长不等的货物进行组合,多个边长不等的货物组合后空间利用率满足预设要求,则将货物进行组合,得到新的货物边长;
模块M2.4:将组合得到新的货物根据货物边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的多个货物。
优选地,所述模块M2.3包括:
模块M2.3.1:货物边长满足预设条件的两个Hash链表中分别找到货物1和货物2;
模块M2.3.2:将货物1和货物2进行组合,计算剩余空间;
模块M2.3.3:在Hash链表中寻找能够完全满足剩余空间边长的货物3,并将货物3与货物1、货物2进行组合;
模块M2.3.4:当在Hash链表中没有完全满足剩余空间边长的货物3时,则在Hash链表中寻找能够满足剩余空间一条边长的货物3,并将货物3与货物1、货物2进行组合,计算剩余空间,重复触发模块M2.3.3至模块M2.3.4执行,直至空间利用率满足预设要求。
与现有技术相比,本发明具有如下的有益效果:
1、本发明化零为整通,将小的货物组合成大的货物有效提高装载率;
2、本发明给出空间占用率的计算规则,有效判断如何进行货物组合;
3、本发明扩展性良好,可以有效应用于三维的装箱问题中;
4、本发明通过货物组合,有效减少大规模装箱问题中,货物的个数,减少处理时间。
5、本发明提前发现可以进行组合的货物,快速完成货物的预处理工作,为大规模装箱问题提供预处理解决方案。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为货物组合图;
图2为组内货物组合图;
图3为组间货物组合图;
图4为递归处理组合图;
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种基于组合优化的二维装箱算法的预处理方法,包括:
步骤M1:获取箱子的边长信息,并按照边长信息对箱子进行分类;
步骤M2:根据预设限制规则及空间利用率函数对组内和组间的货物进行组合,计算组合后的空间利用率,当空间利用率达到预设要求,将货物进行合并;
步骤M3:合并后货物的总数少于预设数量后,停止组合,使用装箱算法对货物进行装箱。
具体地,所述步骤M1包括:
步骤M1.1:设置存储货物的结构体Cargo,根据货物边长的不同存储到不同的结构体Cargo中;
步骤M1.2:在存储系统中创建N个结构体Cargo行的链表baseList,N表示货物边长的种类;
步骤M1.3:统计每个货物的边长情况,构造货物的结构体Cargo,并存入相应链表baseList;
步骤M1.4:构建多个Hash链表,多个Hash链表根据不同的边长长度实现对链表baseList中不同货物结构体Cargo的索引。
具体地,所述步骤M2中预设限制规则包括:
将组合生成的货物的长度和宽度分别记为newL和newW,newL和newW满足如下规则:
max(newL,newW)≤min(L,W) (1)
其中,L表示箱子的长度;W表示箱子的宽度;
所述空间利用率函数包括:
F=(L1*W1+L2*W2)/(W1+L2)*L1 (2)
其中,L1,W1,L2和W2分别表示待合并的两个货物的长度和宽度。
具体地,所述步骤M2包括:
步骤M2.1:货物边长满足预设条件的Hash链表进行组内合并;将选中的两个货物按照边长相等的边进行合并,合并完成后生成新的货物边长;
步骤M2.2:将合成得到的新的货物根据边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的两个货物;
步骤M2.3:在多个Hash链表中选择边长不等的货物进行组合,多个边长不等的货物组合后空间利用率满足预设要求,则将货物进行组合,得到新的货物边长;
步骤M2.4:将组合得到新的货物根据货物边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的多个货物。
具体地,所述步骤M2.3包括:
步骤M2.3.1:货物边长满足预设条件的两个Hash链表中分别找到货物1和货物2;
步骤M2.3.2:将货物1和货物2进行组合,计算剩余空间;
步骤M2.3.3:在Hash链表中寻找能够完全满足剩余空间边长的货物3,并将货物3与货物1、货物2进行组合;
步骤M2.3.4:当在Hash链表中没有完全满足剩余空间边长的货物3时,则在Hash链表中寻找能够满足剩余空间一条边长的货物3,并将货物3与货物1、货物2进行组合,计算剩余空间,重复执行步骤M2.3.3至步骤M2.3.4,直至空间利用率满足预设要求。
根据本发明提供的一种基于组合优化的二维装箱算法的预处理系统,包括:
模块M1:获取箱子的边长信息,并按照边长信息对箱子进行分类;
模块M2:根据预设限制规则及空间利用率函数对组内和组间的货物进行组合,计算组合后的空间利用率,当空间利用率达到预设要求,将货物进行合并;
模块M3:合并后货物的总数少于预设数量后,停止组合,使用装箱算法对货物进行装箱。
具体地,其特征在于,所述模块M1包括:
模块M1.1:设置存储货物的结构体Cargo,根据货物边长的不同存储到不同的结构体Cargo中;
模块M1.2:在存储系统中创建N个结构体Cargo行的链表baseList,N表示货物边长的种类;
模块M1.3:统计每个货物的边长情况,构造货物的结构体Cargo,并存入相应链表baseList;
模块M1.4:构建多个Hash链表,多个Hash链表根据不同的边长长度实现对链表baseList中不同货物结构体Cargo的索引。
具体地,所述模块M2中预设限制规则包括:
将组合生成的货物的长度和宽度分别记为newL和newW,newL和newW满足如下规则:
max(newL,newW)≤min(L,W) (1)
其中,L表示箱子的长度;W表示箱子的宽度;
所述空间利用率函数包括:
F=(L1*W1+L2*W2)/(W1+L2)*L1 (2)
其中,L1,W1,L2和W2分别表示待合并的两个货物的长度和宽度。
具体地,所述模块M2包括:
模块M2.1:货物边长满足预设条件的Hash链表进行组内合并;将选中的两个货物按照边长相等的边进行合并,合并完成后生成新的货物边长;
模块M2.2:将合成得到的新的货物根据边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的两个货物;
模块M2.3:在多个Hash链表中选择边长不等的货物进行组合,多个边长不等的货物组合后空间利用率满足预设要求,则将货物进行组合,得到新的货物边长;
模块M2.4:将组合得到新的货物根据货物边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的多个货物。
具体地,所述模块M2.3包括:
模块M2.3.1:货物边长满足预设条件的两个Hash链表中分别找到货物1和货物2;
模块M2.3.2:将货物1和货物2进行组合,计算剩余空间;
模块M2.3.3:在Hash链表中寻找能够完全满足剩余空间边长的货物3,并将货物3与货物1、货物2进行组合;
模块M2.3.4:当在Hash链表中没有完全满足剩余空间边长的货物3时,则在Hash链表中寻找能够满足剩余空间一条边长的货物3,并将货物3与货物1、货物2进行组合,计算剩余空间,重复触发模块M2.3.3至模块M2.3.4执行,直至空间利用率满足预设要求。
实施例2
实施例2是实施例1的变化例
针对大规模装箱存在的问题,本文提出通过一定的预处理方法对相对较小的货物进行组合,生成较大的货物,以来减少待装货物的数量和加快装箱处理的速度。首先通过对货物的长度,宽度信息的统计将具有相同的边长的货物进行分类,归入不同的数组进行处理;而后,利用相同的边长,对组内和组间的货物进行组合,计算组合后的空间利用率,只有空间利用率达到一定的要求,才将货物进行合并。当货物的规模减小到预先设定的规模后,停止组合,然后使用装箱算法对货物进行装箱。
该方法通过对货物的预处理,可以化零为整,将小的货物进行有效的合并,从而大大的减小问题的规模,以减少问题的处理时间。
本方法主要包括货物基本信息的统计排序,空间利用率函数的设计,组合模式的发现。下面来详细介绍各个模块的功能。
步骤1、获取箱子的长度和宽度信息,分别记做L和W;统计得到待装入货物的规格信息,并按照边长对他们进行分类。
步骤2、设计整个预处理算法的一些限制规则和空间利用率函数。
空间利用率函数是根据合并后的货物对空间的利用情况进行确定的。限制规则是空间利用率达不到要求的货物不能进行合并。
步骤3、依据空间使用率和组合发现算法对货物进行合并。
其中,步骤1的详细过程如下:
1.1假设箱子的长度和宽度分别为L和W;设计存储货物的结构体Cargo
1.2在存储系统中创建创建N个Cargo行的baseList;N由货物的边长的种类数确定。
1.3统计得到每个货物的边长情况,构造货物的结构体,并存入baseList。
1.4构造多个Hash链表,将货物按照边长进行分组,分别存储放入不同边长的链表中。Hash链表是对baseList的分类,对baseList做索引;例如一个存储边长为1米的baseList对应的是键值为1的Hash链表。
步骤2的详细过程如下:
2.1将组合生成的存的货物的长度和宽度分别计作newL和newW,newL和newW满足如下规则:
Max(newL,newW)<=min(L,W)
2.2、假设待合并的两个货物的长度和宽度分别为L1,W1,L2,W2,组合方式如图1所示;
空间利用率函数F=(L1*W1+L2*W2)/(W1+L2)*L1;
步骤3的详细过程如下:
3.1、hash链表组内合并。根据边长的大小,由小到大的处理Hash链表,对边长较小的货物进行合并。
假设选中的hash链表为HashList1,则整个链表中的货物的至少有一个边长为tmpL;选择其中的两个货物他们的长度和宽度分别为tmpL,tmpW1,tmpL,tmpW2;
将选中的两个货物按照边长相等的边进行合并,则他们的空间利用率为100%,合并之后的货物如图2所示。
合并完成后将生成新的货物的长度和宽度分别为tmpL,tmlW,新的货物分别加入代表边长为tmpL和tmpW的hash链表。同时在相应的链表中删除合并的两个小的货物。
hash链表组间合并,如图3所示。
Hash组间的组合发现与合并的过程会涉及到两个以上的货物,计算处理更为复杂。
由于不同的Hash链表中的货物的边长不相等,所以需要多个货物才可以拼出一个空间利用率可以满足要求的组合。如下图所示,图为四个货物的组合,其中的黄色区域为不能被使用的空间,即浪费空间。
寻找此类组合的步骤如下:
3.2.1在hash吧、链表1中找到一个货物,其长度和宽度为L1和W1。
从长度最大的链表中找到初始的两个货物;如果存在多个链表的长度一样,选择边长最大的链表来选择初始的两个货物。
3.2.2在另一个Hash链表中找到一个货物,长度和宽度分别为L2和W2,并将其组合如图4所示:
由图可知,现在货物的剩余空间的长度和宽度分别为L2和W3,则接下来需要找到接近这个规格的货物。
3.2.3在Hash链表中查找,看是否有长度和宽度刚好满足3.2.2需求的货物,如果没有,则寻找有一条边满足要求的获取,重新计算剩余的空间。
3.2.4重复3.2.3,不断寻找获取填充剩余空间,知道空间利用率满足要求为止。
3.2.5将新生成的获取加入对应的hash链表,并将组合的小的货物从链表中删除。
整个合并的过程中遵循步骤2中制定的规则,同时检查货物的总数的规模是否已经达到预设的值,如果没有达到重复3.1和3.2;如果达到,则算法中止。
实施例3
实施例3是实施例1和/或2的变化例
在大规模装箱问题中,通过输入箱子的尺寸和每个货物的尺寸,利用本方法,可以快速的对小的货物进行组合,生成空间占用率高的较大的货物,从而有效减少装箱问题的规模,提升处理的效率。
实施例4
实施例4是实施例1、实施例2和/或实施例3的变化例
在计算机科学中处理调度和资源分配问题时,可以根据需求的参数进行需求的整合,然后进行统一的调度处理,从而减少提交的次数节省处理时间,较少资源碎片。例如在虚拟资源的申请时,可以将多个较小的请求合并起来,为他们分配一个共同的物理机,以来减少资源碎片的产生。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种基于组合优化的二维装箱算法的预处理方法,其特征在于,包括:
步骤M1:获取箱子的边长信息,并按照边长信息对箱子进行分类;
步骤M2:对箱子进行分类后,根据预设限制规则及空间利用率函数对组内和组间的货物进行组合,计算组合后的空间利用率,当空间利用率达到预设要求,将货物进行合并;
步骤M3:合并后货物的总数少于预设数量后,停止组合,使用装箱算法对货物进行装箱。
2.根据权利要求1所述的基于组合优化的二维装箱算法的预处理方法,其特征在于,所述步骤M1包括:
步骤M1.1:设置存储货物的结构体Cargo,根据货物边长的不同存储到不同的结构体Cargo中;
步骤M1.2:在存储系统中创建N个结构体Cargo行的链表baseList,N表示货物边长的种类;
步骤M1.3:统计每个货物的边长情况,构造货物的结构体Cargo,并存入相应链表baseList;
步骤M1.4:构建多个Hash链表,多个Hash链表根据不同的边长长度实现对链表baseList中不同货物结构体Cargo的索引。
3.根据权利要求1所述的基于组合优化的二维装箱算法的预处理方法,其特征在于,所述步骤M2中预设限制规则包括:
将组合生成的货物的长度和宽度分别记为newL和newW,newL和newW满足如下规则:
max(newL,newW)≤min(L,W) (1)
其中,L表示箱子的长度;W表示箱子的宽度;
所述空间利用率函数包括:
F=(L1*W1+L2*W2)/(W1+L2)*L1 (2)
其中,L1,W1,L2和W2分别表示待合并的两个货物的长度和宽度。
4.根据权利要求3所述的基于组合优化的二维装箱算法的预处理方法,其特征在于,所述步骤M2包括:
步骤M2.1:货物边长满足预设条件的Hash链表进行组内合并;将选中的两个货物按照边长相等的边进行合并,合并完成后生成新的货物边长;
步骤M2.2:将合成得到的新的货物根据边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的两个货物;
步骤M2.3:在多个Hash链表中选择边长不等的货物进行组合,多个边长不等的货物组合后空间利用率满足预设要求,则将货物进行组合,得到新的货物边长;
步骤M2.4:将组合得到新的货物根据货物边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的多个货物。
5.根据权利要求4所述的基于组合优化的二维装箱算法的预处理方法,其特征在于,所述步骤M2.3包括:
步骤M2.3.1:货物边长满足预设条件的两个Hash链表中分别找到货物1和货物2;
步骤M2.3.2:将货物1和货物2进行组合,计算剩余空间;
步骤M2.3.3:在Hash链表中寻找能够完全满足剩余空间边长的货物3,并将货物3与货物1、货物2进行组合;
步骤M2.3.4:当在Hash链表中没有完全满足剩余空间边长的货物3时,则在Hash链表中寻找能够满足剩余空间一条边长的货物3,并将货物3与货物1、货物2进行组合,计算剩余空间,重复执行步骤M2.3.3至步骤M2.3.4,直至空间利用率满足预设要求。
6.一种基于组合优化的二维装箱算法的预处理系统,其特征在于,包括:
模块M1:获取箱子的边长信息,并按照边长信息对箱子进行分类;
模块M2:对箱子进行分类后,根据预设限制规则及空间利用率函数对组内和组间的货物进行组合,计算组合后的空间利用率,当空间利用率达到预设要求,将货物进行合并;
模块M3:合并后货物的总数少于预设数量后,停止组合,使用装箱算法对货物进行装箱。
7.根据权利要求6所述的基于组合优化的二维装箱算法的预处理系统,其特征在于,所述模块M1包括:
模块M1.1:设置存储货物的结构体Cargo,根据货物边长的不同存储到不同的结构体Cargo中;
模块M1.2:在存储系统中创建N个结构体Cargo行的链表baseList,N表示货物边长的种类;
模块M1.3:统计每个货物的边长情况,构造货物的结构体Cargo,并存入相应链表baseList;
模块M1.4:构建多个Hash链表,多个Hash链表根据不同的边长长度实现对链表baseList中不同货物结构体Cargo的索引。
8.根据权利要求6所述的基于组合优化的二维装箱算法的预处理系统,其特征在于,所述模块M2中预设限制规则包括:
将组合生成的货物的长度和宽度分别记为newL和newW,newL和newW满足如下规则:
max(newL,newW)≤min(L,W) (1)
其中,L表示箱子的长度;W表示箱子的宽度;
所述空间利用率函数包括:
F=(L1*W1+L2*W2)/(W1+L2)*L1 (2)
其中,L1,W1,L2和W2分别表示待合并的两个货物的长度和宽度。
9.根据权利要求8所述的基于组合优化的二维装箱算法的预处理系统,其特征在于,所述模块M2包括:
模块M2.1:货物边长满足预设条件的Hash链表进行组内合并;将选中的两个货物按照边长相等的边进行合并,合并完成后生成新的货物边长;
模块M2.2:将合成得到的新的货物根据边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的两个货物;
模块M2.3:在多个Hash链表中选择边长不等的货物进行组合,多个边长不等的货物组合后空间利用率满足预设要求,则将货物进行组合,得到新的货物边长;
模块M2.4:将组合得到新的货物根据货物边长加入相应的Hash链表,同时在原合成Hash链表中删除合并的多个货物。
10.根据权利要求9所述的基于组合优化的二维装箱算法的预处理系统,其特征在于,所述模块M2.3包括:
模块M2.3.1:货物边长满足预设条件的两个Hash链表中分别找到货物1和货物2;
模块M2.3.2:将货物1和货物2进行组合,计算剩余空间;
模块M2.3.3:在Hash链表中寻找能够完全满足剩余空间边长的货物3,并将货物3与货物1、货物2进行组合;
模块M2.3.4:当在Hash链表中没有完全满足剩余空间边长的货物3时,则在Hash链表中寻找能够满足剩余空间一条边长的货物3,并将货物3与货物1、货物2进行组合,计算剩余空间,重复触发模块M2.3.3至模块M2.3.4执行,直至空间利用率满足预设要求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010929605.4A CN112101650B (zh) | 2020-09-07 | 2020-09-07 | 一种基于组合优化的二维装箱算法的预处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010929605.4A CN112101650B (zh) | 2020-09-07 | 2020-09-07 | 一种基于组合优化的二维装箱算法的预处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101650A true CN112101650A (zh) | 2020-12-18 |
CN112101650B CN112101650B (zh) | 2024-04-09 |
Family
ID=73750794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010929605.4A Active CN112101650B (zh) | 2020-09-07 | 2020-09-07 | 一种基于组合优化的二维装箱算法的预处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101650B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117049199A (zh) * | 2023-10-11 | 2023-11-14 | 季华实验室 | 一种集装箱装箱方法及其相关设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10314681A (ja) * | 1997-05-16 | 1998-12-02 | Kyoei Seigyo Kiki Kk | 物品組み合わせ方法 |
CN101320441A (zh) * | 2008-07-18 | 2008-12-10 | 浙江大学 | 面向装箱问题的组合优化方法 |
US20090160622A1 (en) * | 2007-12-20 | 2009-06-25 | Frederic Bauchot | Dividing tagged items into subsets |
CN103761635A (zh) * | 2014-01-14 | 2014-04-30 | 大连理工大学 | 一种三维多箱异构货物装载优化方法 |
CN104680237A (zh) * | 2015-03-10 | 2015-06-03 | 西南科技大学 | 一种多约束条件下三维装箱新型遗传算法模型 |
CN105836224A (zh) * | 2016-05-23 | 2016-08-10 | 广东工业大学 | 多订单混合的板状物料自动分拣包装方法及其控制系统 |
CN107622321A (zh) * | 2017-07-27 | 2018-01-23 | 山东储备物资管理局八三二处 | 一种基于多约束条件智能生成箱体装载方案的算法 |
CN109447311A (zh) * | 2018-09-13 | 2019-03-08 | 深圳市递四方信息科技有限公司 | 基于遗传算法的适配装箱方法、装置、设备和存储介质 |
CN109948991A (zh) * | 2019-04-09 | 2019-06-28 | 深圳蓝胖子机器人有限公司 | 一种智能装箱方法、设备及存储介质 |
CN111612388A (zh) * | 2019-02-26 | 2020-09-01 | 北京京东尚科信息技术有限公司 | 合并目标订单的方法和装置 |
-
2020
- 2020-09-07 CN CN202010929605.4A patent/CN112101650B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10314681A (ja) * | 1997-05-16 | 1998-12-02 | Kyoei Seigyo Kiki Kk | 物品組み合わせ方法 |
US20090160622A1 (en) * | 2007-12-20 | 2009-06-25 | Frederic Bauchot | Dividing tagged items into subsets |
CN101320441A (zh) * | 2008-07-18 | 2008-12-10 | 浙江大学 | 面向装箱问题的组合优化方法 |
CN103761635A (zh) * | 2014-01-14 | 2014-04-30 | 大连理工大学 | 一种三维多箱异构货物装载优化方法 |
CN104680237A (zh) * | 2015-03-10 | 2015-06-03 | 西南科技大学 | 一种多约束条件下三维装箱新型遗传算法模型 |
CN105836224A (zh) * | 2016-05-23 | 2016-08-10 | 广东工业大学 | 多订单混合的板状物料自动分拣包装方法及其控制系统 |
CN107622321A (zh) * | 2017-07-27 | 2018-01-23 | 山东储备物资管理局八三二处 | 一种基于多约束条件智能生成箱体装载方案的算法 |
CN109447311A (zh) * | 2018-09-13 | 2019-03-08 | 深圳市递四方信息科技有限公司 | 基于遗传算法的适配装箱方法、装置、设备和存储介质 |
CN111612388A (zh) * | 2019-02-26 | 2020-09-01 | 北京京东尚科信息技术有限公司 | 合并目标订单的方法和装置 |
CN109948991A (zh) * | 2019-04-09 | 2019-06-28 | 深圳蓝胖子机器人有限公司 | 一种智能装箱方法、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
靳志宏: "物流调度与协调", 国物资出版社, pages: 143 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117049199A (zh) * | 2023-10-11 | 2023-11-14 | 季华实验室 | 一种集装箱装箱方法及其相关设备 |
CN117049199B (zh) * | 2023-10-11 | 2024-02-13 | 季华实验室 | 一种集装箱装箱方法及其相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112101650B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Makespan minimization on single batch-processing machine via ant colony optimization | |
Jiang et al. | Distributed dynamic scheduling for cyber-physical production systems based on a multi-agent system | |
KR102630723B1 (ko) | 오더 처리 방법, 장치, 기기, 시스템 및 저장매체 | |
Tran et al. | Decomposition methods for the parallel machine scheduling problem with setups | |
Jamili et al. | A hybrid algorithm based on particle swarm optimization and simulated annealing for a periodic job shop scheduling problem | |
Lei et al. | Memetic algorithm for solving flexible flow-shop scheduling problems with dynamic transport waiting times | |
Harrison et al. | Lot sizing in serial assembly systems with multiple constrained resources | |
Jiang et al. | Uniform parallel batch machines scheduling considering transportation using a hybrid DPSO-GA algorithm | |
Wang et al. | Two-sided assembly line balancing with operator number and task constraints: a hybrid imperialist competitive algorithm | |
Gottesbüren et al. | Deep multilevel graph partitioning | |
Kashan et al. | Minimizing makespan on a single batch processing machine with non-identical job sizes: a hybrid genetic approach | |
CN108415912A (zh) | 基于MapReduce模型的数据处理方法和设备 | |
CN112101650B (zh) | 一种基于组合优化的二维装箱算法的预处理方法及系统 | |
Caramia et al. | Grid scheduling by on‐line rectangle packing | |
CN107437138B (zh) | 基于改进引力搜索算法的生产运输协同调度方法及系统 | |
Dziurzanski et al. | Implementing digital twins of smart factories with interval algebra | |
Zhou et al. | Optimization Model and Algorithm of Empty Pallets Dispatching under the Time‐Space Network of Express Shipment | |
Ascheuer et al. | Combinatorial online optimization in practice | |
Burtseva et al. | Scheduling methods for hybrid flow shops with setup times | |
Xiao et al. | A tabu-based adaptive large neighborhood search for scheduling unrelated parallel batch processing machines with non-identical job sizes and dynamic job arrivals | |
Goldman et al. | An efficient parallel algorithm for solving the knapsack problem on hypercubes | |
Rezaeian et al. | Due date assignment and JIT scheduling problem in blocking hybrid flow shop robotic cells with multiple robots and batch delivery cost | |
Dwibedy et al. | Online scheduling with makespan minimization: state of the art results, research challenges and open problems | |
Zhao et al. | The research of scheduling algorithm based on time-triggered ethernet | |
CN112232587B (zh) | 基于改进的Skyline算法的组合优化方法及系统 |
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 |