CN112001549B - 一种装载信息确定方法、装置、服务器及存储介质 - Google Patents
一种装载信息确定方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN112001549B CN112001549B CN202010863868.XA CN202010863868A CN112001549B CN 112001549 B CN112001549 B CN 112001549B CN 202010863868 A CN202010863868 A CN 202010863868A CN 112001549 B CN112001549 B CN 112001549B
- Authority
- CN
- China
- Prior art keywords
- loading
- product
- loading information
- information
- determining
- 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
- 238000011068 loading method Methods 0.000 title claims abstract description 644
- 238000000034 method Methods 0.000 title claims abstract description 73
- 239000000047 product Substances 0.000 description 681
- 239000010410 layer Substances 0.000 description 48
- 230000008569 process Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 6
- 238000002922 simulated annealing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000011426 transformation method Methods 0.000 description 3
- 239000006227 byproduct Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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"
-
- 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
- B65G1/00—Storing articles, individually or in orderly arrangement, in warehouses or magazines
- B65G1/02—Storage devices
- B65G1/04—Storage devices mechanical
-
- 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
-
- 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/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Warehouses Or Storage Devices (AREA)
Abstract
本发明提供一种装载信息确定方法、装置、服务器及存储介质,可以根据成品库需要向外库发送的货物数据(发货数据),计算成品库中各个产品的优先级;并且,在满足装载约束的基础上,利用成品库中产品优先级构造表征发货数据的装载方式的第一装载信息;进而仅需调整第一装载信息便可实现对最优目标装载信息的确定,不仅提高了装载信息的求解效率,而且提高了装载信息的求解精度。
Description
技术领域
本发明涉及汽车零部件装载领域,更具体地说,涉及一种装载信息确定方法、装置、服务器及存储介质。
背景技术
汽车的零部件成品下线后,会先统一存储在本地的成品库中,通过有经验的业务操作人员根据不同类型零件的拉动需求、外库的库存量、在途量等统计指标推算装载方案,进而根据推算出的装载方法将本地成品库中相应零部件组成托盘后再装箱,通过干线运输的形式发往各地外库。
传统技术,是由业务操作人员根据经验快速求解装载方案,这种方式依赖于业务操作人员人工经验实现,虽然求解速度高,但因受业务操作人员主观因素影响装载方案求解精度低。
现有技术,基于遗传算法、蚁群算法等类似元启发式算法框架,探索更优装载方案。这种方法虽然泛用性强,根据不同业务场景只需修改适应函数便可比较简单的套用。但是因其对于具体问题的特征依赖性低,且依赖初始解种群的数量及质量,所以通常存在装载方案求解时间长、求解效率低的问题。
发明内容
有鉴于此,本申请提供一种装载信息确定方法、装置、服务器及存储介质,以在提高装载方案精度的基础上,提高装载方案求解效率。技术方案如下:
本发明第一方面公开一种装载信息确定方法,包括:
根据成品库对外库的发货数据确定所述成品库的产品优先级;
利用所述成品库的产品优先级生成满足装载约束的第一装载信息;所述第一装载信息包括各个运力的运力装载信息,运力的运力装载信息,所述运力装载信息指示用于设置在所述运力上的托盘所托载的产品箱;
将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息;
基于所述第一装载信息和所述第二装载信息确定所述成品库向所述外库发货的目标装载信息。
可选的,所述利用所述成品库中产品优先级生成满足装载约束的第一装载信息,包括:
从预先设置的至少一个托盘类型中确定运力剩余未被装载长度所能装载的第一托盘类型;
根据所有所述第一托盘类型用于装载的所有产品的优先级,从各个所述第一托盘类型中确定用于装载第一产品的第二托盘类型;
从所述运力剩余未被装载的车厢中确定与所述第二托盘类型对应的装载列;
根据所述装载列的剩余装载宽度和所述第二托盘类型的宽度确定位于所述装载列的装载堆;
利用所述装载堆的剩余装载高度和所述第一产品的产品箱高度生成用于在所述装载堆中装载的托盘数据。
可选的,所述生成用于在所述装载列的所述装载堆中装载的托盘数据之后,该方法还包括:
根据所述托盘数据更新所述发货数据;
所述根据成品库对外库的发货数据确定所述成品库中产品优先级,包括:根据当前成品库对外库的发货数据确定所述成品库中产品优先级。
可选的,所述生成用于在所述装载堆中装载的托盘数据,包括:
根据所述成品库中所述第一产品数量、所述装载约束指示的所述第二托盘类型的最大装载层数、所述第一产品在每层的装载箱数以及所述第一产品的成箱数量,确定用于在所述装载堆中装载的托盘所托载的产品箱层数;
如果最高产品箱层中存在产品箱缺口,从当前位于所述成品库的产品中选取除所述第一产品外用于被所述第二托盘类型装载的优先级最高的第二产品;
将用于装载所述第二产品的第二产品箱确定为用于装载在所述产品箱缺口的产品箱,生成用于在所述装载堆中装载的托盘数据。
可选的,所述将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息,包括:
清空所述第一装载信息中根据托盘优先级确定的目标托盘的托盘数据;
更新所述发货数据并根据当前所述发货数据确定当前所述成品库的产品优先级;
基于当前所述成品库的产品优先级确定当前所述成品库中用于被所述目标托盘所属托盘类型装载的第三产品;
利用所述第三产品生成所述目标托盘的托盘数据得到第二装载信息并更新所述发货数据。
可选的,所述将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息,包括:
根据装载列优先级确定所述第一装载信息中的目标装载列以及所述目标装载列装载的目标托盘类型;
清空所述第一装载信息的所述目标装载列中的所述目标托盘类型的托盘数据;
更新所述发货数据并根据当前所述发货数据确定当前所述成品库的产品优先级;
从所述至少一个托盘类型中确定所述目标装载列所能装载的各个第三托盘类型,各个所述第三托盘类型中不包括所述目标托盘类型;
根据所有所述第三托盘类型用于装载的所有产品的优先级,从各个所述第三托盘类型中确定用于装载第四产品的第四托盘类型;
利用当前所述成品库中所述第四产品的数量生成所述目标装载列的托盘数据得到第二装载信息并更新所述发货数据。
可选的,所述基于所述第一装载信息和所述第二装载信息确定所述成品库向所述外库发货的目标装载信息,包括:
确定第三装载信息,初始化所述第三装载信息为所述第一装载信息;
确定对所述第一装载信息的第一消耗信息、所述第二装载信息的第二消耗信息和所述第三装载信息的第三消耗信息的比较结果;
根据所述比较结果更新所述第一装载信息、所述第二装载信息和/或所述第三装载信息;
判断当前是否满足预先设置的迭代条件;
如果当前满足所述迭代条件,返回执行“将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息”步骤;
如果当前不满足所述迭代条件,将当前所述第三装载信息确定为所述成品库向所述外库发货的目标装载信息。
本发明第二方面公开一种装载信息确定装置,包括:
第一确定单元,用于根据成品库对外库的发货数据确定所述成品库的产品优先级;
第一生成单元,用于利用所述成品库的产品优先级生成满足装载约束的第一装载信息;所述第一装载信息包括运力的运力装载信息,所述运力装载信息指示用于设置在所述运力上的托盘所托载的产品箱;
置换单元,用于将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息;
第二确定单元,用于基于所述第一装载信息和所述第二装载信息确定所述成品库向所述外库发货的目标装载信息。
本发明第三方面公开一种服务器,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如上述本发明第一方面任意一项公开的装载信息确定方法。
本发明第四方面公开一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如上述本发明第一方面任意一项公开的装载信息确定方法。
本发明提供一种装载信息确定方法、装置、服务器及存储介质,立足于汽车零部件组托装箱问题的特征,综合业务经验规则,构造出一套基于变邻域搜索框架的启发式算法,从单个可行解(第一装载信息)出发,通过不同类型的邻域变换(根据置换规则进行产品箱数据置换),高效探索更优装载方案。本申请通过涉及邻域动作丰富了解空间的探索方向,避免了传统技术求解精度低、易陷入局部最优的缺点;并且,本申请从单个可行解出发,根据问题特征设计合适的邻域变换方法,对特定问题的针对性强,求解更高效,不仅不需要构造大规模初始种群、而且避免了现有技术求解效率低的缺点,而且实现了对装载信息的优化,提高了装载信息的精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种装载信息确定方法的流程示意图;
图2为本发明实施例提供的另一种装载信息确定方法的流程示意图;
图3为本发明实施例提供的一种装载信息确定装置的结构示意图;
图4为本发明实施例提供的一种服务器的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
参见图1,示出了本发明实施例提供的一种装载信息确定方法的流程示意图,该装载信息确定方法具体包括以下步骤:
S101:根据成品库对外库的发货数据确定成品库的产品优先级;
在本申请实施例中,成品库对外库的发货数据包括运力数据、库存数据、禁止发货产品数据、必须发货产品数据和产品齐套数据。通过获取成品库对外库的发货数据,即获取成品库对外库的运力数据、库存数据、禁止发货产品数据、必须发货产品数据和产品齐套数据,进而根据运力数据、库存数据、禁止发货产品数据、必须发货产品数据和产品齐套数据确定成品库的优先级。
在本申请实施例中,根据运力数据、库存数据、禁止发货产品数据、必须发货产品数据和产品齐套数据对成品库中各个产品的优先级的从高到低的排列顺序的方式如下所示:(1)必须发货的产品数据中的产品;(2)T时间节点(当前时间节点+运输时间)推定成品库中产品数量为负的各个产品(这里的各个产品的优先级的排列顺序为按照产品的缺货量/该产品平均库存消耗速率从小到大排序);(3)具有产品齐套性要求且需要被配平的产品;(4)T+1时间节点推定成品库中产品数量为负的各个产品(这里的各个产品的优先级排列顺序可参见(2)中的计算方式,这里不再进行赘述);(5)T+2时间节点推定成品库中产品数量为负的各个产品(这里的各个产品的优先级排列顺序可参见(2)中的计算方式,这里不再进行赘述)。其中,(1)-(5)的优先级从高到低的排列顺序为:(1)>(2)>(3)>(4)>(5)。
比如,在成品库对外库的发货数据中必须向外库发货的产品为100个离合器;T时间节点推定该成品库中产品数据量为负的产品为保险杠和车门,其中,保险杠一天消耗50个,且保险杠的历史平均库存量为500个,则保险杠的平均消耗速率为10%;车门一天消耗10个,且车门的历史平均库存量为200,则车门的平均消耗速率为5%;具有产品套性要求且需要被配平的产品为左大灯;T+1时间节点推定陈品库中产品数量为负的产品为发动机;T+2时间节点推定成品库中产品数量为负的产品为刹车片;进而可以确定成品库中各个产品的产品优先级的从高到低的排列顺序为:离合器、保险杠、车门、左大灯、发动机、刹车片。
在本申请实施例中,成品库对外库的运力数据如表1所示;成品库对外库的库存数据如表2所示;成品库对外库的禁止发货产品数据如表3所示;成品库对外库的必须发货产品数据如表4所示;成品库对外库的产品齐套数据如表5所示;成品库中的产品数据如表6所示:
表1:
字段名称 | 数据类型 | 备注 |
id | string | 运力编号 |
type | string | 运力对应货车类型 |
表2:
字段名称 | 数据类型 | 备注 |
code | string | 产品代码 |
prod_wh_inv | int | 成品库库存量 |
fcst_inv_1 | int | T时刻外库推定库存量 |
fcst_inv_2 | int | T+1时刻外库推定库存量 |
fcst_inv_3 | int | T+2时刻外库推定库存量 |
consume_rate | int | 平均消耗速率 |
表3:
字段名称 | 数据类型 | 备注 |
code | string | 禁止装载的产品代码 |
表4:
字段名称 | 数据类型 | 备注 |
code | string | 必须装载的产品代码 |
num | int | 必须装载的数量 |
表5:
字段名称 | 数据类型 | 备注 |
code1 | string | 成套产品1代码 |
code2 | string | 成套产品2代码 |
表6:
字段名称 | 数据类型 | 备注 |
code | string | 产品唯一代码 |
bin_type | string | 产品箱型 |
pallet_type | string | 产品托盘类型 |
num_bin | int | 产品成箱数量 |
num_pallet | int | 产品成托数量 |
bin_num_layer | int | 产品每层可装的箱数 |
num_layer | int | 产品一托中可堆叠的最大层数 |
S102:利用成品库的产品优先级生成满足装载约束的第一装载信息;
在本申请实施例中,预先设置有装载约束,预先设置的装载约束可以为运力车厢的长度、宽度、高度限制约束;产品箱与托盘的对应关系约束;一个托盘上只能存在一种类型的产品箱;托盘上不能出现缺口(例如:某托盘一层可堆叠4箱零件,则托盘上的箱子数量必定是4的整数倍);只有同类型的托盘才能相互堆叠;托盘必须按列装载,且每个装载列上的所有托盘类型唯一;托盘最大高度限制约束。
在本申请实施例中,运力车厢的长度、宽度、高度限制约束可以为在装载一个运力时装载高度、宽度、高度不能超过运力车厢的长度、宽度、高度,其中,运力车厢的基础信息如表7所示;产品箱与托盘的对应关系约束可以为每种产品箱对应唯一一种托盘,一种托盘可对应多种不同的产品箱。其中产品箱的基础信息如表8所示;托盘最大高度限制约束可以为在装载一个托盘时,装载的最大高度不能超过该托盘的最大高度,托盘的基础信息如表9所示。
表7:
字段名称 | 数据类型 | 备注 |
type | string | 运力类型 |
length | int | 箱长度 |
width | int | 箱宽度 |
height | int | 箱高度 |
cost | int | 运力单次运输成本 |
表8:
字段名称 | 数据类型 | 备注 |
type | string | 箱类型唯一编号 |
length | int | 箱长度 |
width | int | 箱宽度 |
height | int | 箱高度 |
表9:
在本申请实施例中,在根据成品库对外库的发货数据确定成品库中各个产品的产品优先级后,从成品库对外库的发货数据的运力数据指示的各个运力中选取一个历史未被选取过的运力,并确定所选取的运力的当前运力剩余未被装载长度;判断预先设置的至少一个托盘类型中是否存在该运力的当前运力剩余未被装载长度所能装载的第一托盘类型,若不存在,则重新从成品库对外库的发货数据的运力数据指示的各个运力中,选取一个历史未被选取过的运力。
若预先设置的至少一个托盘类型中存在当前运力剩余未被装载的长度所能装载的第一托盘类型,从预先设置的至少一个托盘类型中确定该运力的当前运力剩余未被装载长度所能装载的各个第一托盘类型;确定各个第一托盘类型支持的产品箱型对应的在当前成品库存在库存的各个产品中优先级最高的产品(为了便于区分,将所确定的产品称为第一产品);进而从各个第一托盘类型中选取用于装载第一产品的第二托盘类型,并从所选取的运力的当前运力剩余未被装载的车厢中确定与第二托盘类型对应的装载列。
判断所确定的装载列的剩余装载宽度是否满足第二托盘配型的宽度,如果当前装载列的剩余装载宽度不满足第二托盘类型的宽度,则重新判断预先设置的至少一个托盘类型中是否存在该运力的运力剩余未被装载的长度所能装载的第一托盘类型;如果当前装载列的剩余装载宽度满足第二托盘类型的宽度,从该装载列中确定一个装载堆,并判断该装载堆当前剩余装载高度是否满足用于装载第一产品的第一产品高度;如果当前装载堆的剩余装载高度不满足用于装载第一产品的第一产品箱的高度,则重新判断所确定的装载列的剩余装载宽度是否满足第二托盘类型的宽度。
如果当前装载堆的剩余装载高度满足用于装载第一产品的第一产品箱的高度,确定成品库中第一产品的产品数量;根据预先设置的装载约束指示的第二托盘类型的最大装载层数、第一产品在每层的装载箱数以及第一产品的成箱数量确定第二托盘类型对应的托盘的一整托的产品数量;若第一产品的产品数量大于所确定的托盘的第一整托的产品数量,判断装载堆的剩余可装载高度是否大于等于该托盘的最大装载高度,若大于,将第二托盘类型的最大装载层数确定为用于在该装载堆中装载的托盘所托载的产品箱层数;若装载堆的剩余可装载高度小于该托盘的最大装载高度,根据该装载堆的剩余可装载高度/第一产品的第一产品箱的高度确定用于在装载堆中装载的托盘所托载的产品箱层数。
若第一产品的产品数量小于该托盘的一整托的产品数量,在第一产品的产品数量可装载的产品箱层数为单层产品数量的整数倍(所确定的用于在装载堆中装载的托盘所托载的产品箱层数对应的最高产品箱层数中不存在产品箱缺口),且装载堆的剩余可装载高度大于该托盘的最大装载高度的情况下,将用于装载在产品箱层数对应的各个产品箱层的第一产品箱构成装载列的装载堆中装载的托盘数据。若第一产品的产品数量小于该托盘的一整托的产品数量,在第一产品的产品数量可装载的产品箱层数不为单层产品数量的整数倍(所确定的用于在装载堆中装载的托盘所托载的产品箱层数对应的最高产品箱层数中存在产品箱缺口),确定当前成品库中除第一产品外用于被第二托盘类型装载的产品优先级最高的产品(为了便于区分,将所确定的产品称为第二产品);将用于装载第二产品的第二产品箱确定为用于装载在产品箱缺口的产品箱;进而将用于装载在产品箱层数对应各产品箱层的第一产品箱和用于装载在产品箱缺口的第二产品箱构成构成装载列的装载堆中装载的托盘数据。
比如,从成品库对外库的发货数据的运力数据指示的各个运力中,选取一个历史未被选取过的运力为运力1,确定选取的运力的当前运力剩余未被装载的长度为3米、宽度为1米,且从预先设置的至少一个托盘类型确定该运力的运力剩余未被装载长度所能装载的各个第一托盘类型中确定用于装载第一产品的第二托盘类型对应的托盘的长度为1米、宽度为0.5米;从该运力1的当前运力剩余未被装载的车厢中确定与第二托盘类型对应的装载列的长度为1米、宽度为1米;若该装载列当前的剩余装载宽度为0.5米,确定该装载列满足第二托盘类型的宽度,从该装载列中确定一个装载堆,该装载堆的长度为1米,宽度为0.5米。
若装载堆的剩余装载高度为2米,用于装载第一产品的第一产品箱的高度为20厘米,确定当前装载剩余装载高度满足用于装载第一产品的第一产品箱的高度,并确定当前成品库中第一产品的产品数量为200个;若预先设置的装载约束指示的第二托盘类型的最大装载层数为10层,第一产品在每层的装载箱数为4,第一产品的成箱数量为5;根据预先设置的装载约束指示的第二托盘类型的最大装载层数(10层)、第一产品在每层的装载箱数(4)以及第一产品的成箱数量(5)确定第二托盘类型对应的托盘的一整托的产品数量(200),进而确定第一产品数量等于第二托盘类型对应的托盘的一整托的产品数量;由于装载堆的剩余可装载高度(2米)等于该托盘的最大装载高度,确定第二托盘类型对应的托盘的产品箱层数为10层。进而确定产品箱层数对应的最高产品箱层数中不存在产品箱缺口;将用于装载产品箱层数(10层)对应的各个产品箱层的第一产品箱构成装载列的装载堆中装载的托盘数据。
若确定当前成品库中第一产品的产品数量为175个,预先设置的装载约束指示的第二托盘类型的最大装载层数为9层,第一产品在每层的装载箱数为4,第一产品的成箱数量为5;根据预先设置的装载约束指示的第二托盘类型的最大装载层数(9层)、第一产品在每层的装载箱数(4)以及第一产品的成箱数量(5)确定第二托盘类型对应的托盘的一整托的产品数量(180),进而确定第一产品数量小于第二托盘类型对应的托盘的一整托的产品数量;由于装载堆的剩余可装载高度(2米)等于该托盘的最大装载高度,确定第二托盘类型对应的托盘的产品箱层数为9层;且第一产品的产品数量可装载的产品箱层数不为单层产品箱数量的整数倍,进而确定产品箱层数对应的最高产品箱层数中存在产品箱缺口;确定当前成品库中除第一产品外用于被第二托盘类型装载的产品优先级最高的第二产品;将用于装载第二产品的第二产品箱确定为用于装载在产品箱缺口的产品箱,进而将用于装载在产品箱层数(9层)对应各产品箱层的第一产品箱和用于装载在产品箱缺口的第二产品箱构成构成装载列的装载堆中装载的托盘数据。其中,第一产品的第一产品箱和第二产品的第二产品箱相同。
进一步的,在本申请实施例中,在生成用于在装载列的装载堆中装载的托盘数据之后,根据生成的托盘数据更新当前成品库对外库的发货数据,以便根据更新后的当前的成品库对外库的发货数据确定更新后的当前的成品库中各个产品的产品优先级。
S103:将置换规则指示的第一装载信息中的产品箱置换成置换规则指示的目标产品箱生成第二装载信息;
在具体执行步骤S103的过程中,在利用成品库的产品优先级生成满足装载约束的第一装载信息后,确定预先设置的置换规则指示的第一装载信息中的至少一个产品箱,以及确定用于置换至少一个产品箱的目标产品箱;将所确定的至少一个产品箱置换成目标产品箱生成第二装载信息。
在本申请实施例中,预先设置有置换规则,预先设置的置换规则可以为置换托盘规则,或者可以为置换装载列规则。
作为本申请实施例的一种优选方式,若置换规则为置换托盘规则,将置换规则指示的第一装载信息中的至少一个产品箱置换成置换规则指示的目标产品箱生成第二装载信息的方式可以为:根据第一装载信息中各个托盘上装载的产品的产品优先级确定各个托盘的托盘优先级;基于轮盘赌方法和各个托盘的托盘优先级从第一装载信息指示的各个托盘中确定目标托盘;将所确定的目标托盘的托盘数据进行清空并更新成品库对外库的发货数据;根据更新后的成品库对外库的发货数据确定当前成品库中各个产品的产品优先级,并根据当前成品库中各个产品的产品优先级确定当前成品库中各个产品中用于被目标托盘所属托盘类型装载的产品(为了便于区分,将所确定的产品称为第三产品);进而根据第三产品生成目标托盘的托盘数据得到第二装载信息并更新当前成品库对外库的发货数据。其中,托盘上的产品的产品优先级越高,该托盘的优先级越低。
比如,第一装载信息包括4个托盘,分别为托盘1、托盘2、托盘3、托盘4,其中,4个托盘上的产品的产品优先级的排列顺序为产品4(托盘4上装载的产品)>产品2(托盘2上装载的产品)>产品3(托盘3上装载的产品)>产品1(托盘1上装载的产品),相应的4个托盘的托盘优先级的排列顺序为托盘1>托盘3>托盘2>托盘4;根据轮盘赌方法判断根据托盘优先级从第一装载信息指示的各个托盘中确定的目标托盘是否为托盘4;若不为托盘4,根据轮盘赌方法和根据托盘优先级从第一装载信息指示的各个托盘中确定的目标托盘为托盘3,将托盘3上的产品3全部清空;在清空托盘3上的产品3后更新成品库对外库的发货数据,并基于更新后的成品库对外库的发货数据确定当前成品库中各个产品的产品优先级。
若当前成品库中各个产品的产品优先级为产品3、产品5、产品6、产品7,确定当前成品库中用于被目标托盘所属托盘类型装载的产品为产品3和产品6,由于产品3的产品优先级高于产品6的产品优先级,进而确定产品3被选做第三产品的概率大于产品6被选做第三产品的概率(例如,产品3被选做第三产品的概率为90%,产品6被选做第三产品的概率为9%);基于产品3被选做第三产品的概率和产品6被选做第三产品的概率,判断当前选取的第三产品是否为产品3;若不是产品3,则确定当前选取的第三产品为产品6,进而根据产品6生成目标托盘的托盘数据得到第二装载信息并更新当前成品库对外库的发货数据。其中,产品6被选中的概率的计算方式可以为(1-0.9)*0.9=9%,剩下的1%概率为两种产品(产品3和产品6)都没有被选做第三产品的概率,若产品3和产品6都没有被选做第三产品,则此次置换作废。
若当前成品库中各个产品的产品优先级为产品5、产品6、产品7、产品3,确定当前成品库中用于被目标托盘所属托盘类型装载的产品为产品3和产品6,由于产品6的产品优先级高于产品3的产品优先级,进而确定产品6被选做第三产品的概率大于产品3被选做第三产品的概率(例如,产品6被选做第三产品的概率为80%,产品3被选做第三产品的概率为16%);基于产品3被选做第三产品的概率和产品6被选做第三产品的概率,判断当前选取的第三产品是否为产品6;若是产品6,则确定当前选取的第三产品为产品6,进而根据产品6生成目标托盘的托盘数据得到第二装载信息并更新当前成品库对外库的发货数据。其中,产品3被选中的概率的计算方式可以为(1-0.8)*0.8=16%,剩下的4%概率为两种产品(产品3和产品6)都没有被选做第三产品的概率,若产品3和产品6都没有被选做第三产品,则此次置换作废。
作为本申请实施例另一种优选方式,若置换规则为置换装载列规则,将置换规则指示的第一装载信息中的至少一个产品箱置换成置换规则指示的目标产品箱生成第二装载信息的方式可以为:根据第一装载信息中各个装载列上装载的产品的产品优先级确定各个装载列的装载列优先级;基于轮盘赌方法和各个装载列的装载列优先级从第一装载信息指示的各个装载列中确定目标装载列和该装载列装载的目标托盘类型;将所确定的目标装载列的所有托盘数据进清空并更新成品库对外库的发货数据;根据根据更新后的成品库对外库的发货数据确定当前成品库中各个产品的产品优先级;从至少一个托盘类型中确定除目标托盘类型外的目标装载列所能装载的各个第三托盘类型;根据当前成品库中各个产品的产品优选级,从所有第三托盘类型用于装载的当前位于该成品库的各个产品中确定第四产品,并根据第四产品从所确定的各个第三托盘类型中确定用于装载第四产品的第四托盘类型;根据第四托盘类型和当前成品库中第四产品的数量生成该目标装载列的托盘数据得到第二装载信息并更新当前成品库对外库的发货数据。
比如,第一装载信息包括4个装载列,分别为装载列1、装载列2、装载列3、装载列4,其中,4个装载列上的产品的产品优先级的排列顺序为产品4(装载列4上装载的产品)>产品2(装载列2上装载的产品)>产品3(装载列3上装载的产品)>产品1(装载列1上装载的产品),相应的4个装载列的装载列优先级的排列顺序为装载列1>装载列3>装载列2>装载列4;根据轮盘法和各个装载列的装载列优先级从第一装载信息指示的各个装载列中确定的目标装载列是否为装载列4;若为装载列4,将装载列4上的产品4全部清空;在清空装载列4上的产品4后更新成品库对外库的发货数据,并基于更新后的成品库对外库的发货数据确定当前成品库中各个产品的产品优先级。
若当前成品库中各个产品的产品优先级为产品4、产品5、产品6、产品7;确定装载列4装载的目标托盘类型为托盘类型1,从至少一个托盘类型中确定除托盘类型1外的目标装载列所能装载的各个第三托盘类型为托盘类型2和托盘类型3;若确定所有第三托盘类型(托盘类型2和托盘类型3)用于装载的当前位于该成品库的各个产品为产品4、产品5、产品6;由于当前成品库中各个产品的产品优先级为产品4、产品5、产品6,可以确定产品4被选做第四产品的概率最大,其次是产品5、产品6(例如,产品4被选做第四产品的概率为90%,产品5被选做第四产品的概率为9%,产品6被选做第四产品的概率为0.9%),根据产品4、产品5和产品6被选做第四产品的概率确定当前选取的第四产品;若确定当前选取的第四产品为产品4,且用于装载产品4的托盘类型为托盘类型1和托盘类型3,进而确定各个第三托盘类型(托盘类型2和托盘类型3)中用于装载第四产品(产品4)的托盘类型为托盘类型3(第四托盘类型);根据托盘类型3(第四托盘类型)和当前成品库中产品4(第四产品)的产品数量生成目标装载列(装载列4)的托盘数据得到第二装载信息并更新当前成品库对外库的发货数据。其中,产品6被选中的概率的计算方式可以为0.1*0.1*0.9=0.9%,剩下的0.1%概率为三种产品(产品4、产品5、产品6)都没有被选做第四产品的概率,若产品4、产品5和产品6都没有做选做第四产品,则此次置换作废。
若当前成品库中各个产品的产品优先级为产品5、产品6、产品7、产品4,确定装载列4装载的目标托盘类型为托盘类型1,从至少一个托盘类型中确定除托盘类型1外的目标装载列所能装载的各个第三托盘类型为托盘类型2和托盘类型3;若确定所有第三托盘类型(托盘类型2和托盘类型3)用于装载的当前位于该成品库的各个产品为产品4、产品5、产品6;由于当前成品库中各个产品的产品优先级为产品5、产品6、产品7、产品4,确定产品5被选做第四产品的概率最大,其次是产品6、产品4(例如,产品5被选做第四产品的概率为90%,产品6被选做第四产品的概率为9%,产品4被选做第四产品的概率为0.9%);基于产品4、产品5、产品6被选做第四产品的概率,确定当前选取的第四产品;若确定当前选取的第四产品为产品6,且用于装载产品6的托盘类型为托盘类型1和托盘类型2,进而确定各个第三托盘类型(托盘类型2和托盘类型3)中用于装载第四产品(产品6)的托盘类型为托盘类型2(第四托盘类型);根据托盘类型2(第四托盘类型)和当前成品库中产品6(第四产品)的产品数量生成目标装载列(装载列4)的托盘数据得到第二装载信息并更新当前成品库对外库的发货数据。其中,产品4被选中的概率的计算方式可以为0.1*0.1*0.9=0.9%,剩下的0.1%概率为三种产品(产品4、产品5、产品6)都没有被选做第四产品的概率,若产品4、产品5和产品6都没有做选做第四产品,则此次置换作废。
S104:基于第一装载信息和第二装载信息确定成品库向外库发货的目标装载信息。
在本申请实施例中,在将置换规则指示的第一装载信息中的至少一个产品箱置换成置换规则指示的目标产品箱生成第二装载信息后,分别计算第一装载信息的第一消耗信息和第二装载信息的第二消耗信息,进而根据所计算的第一消耗信息和第二消耗信息确定成品库对外库发货的目标装载信息,根据所计算的第一消耗信息和第二消耗信息确定成品库向外库发货的目标装载信息的具体过程可参见下文对图3步骤S304至步骤S310的描述,这里不再进行赘述。
本发明提供一种装载信息确定方法,立足于汽车零部件组托装箱问题的特征,综合业务经验规则,构造出一套基于变邻域搜索框架的启发式算法,从单个可行解(第一装载信息)出发,通过不同类型的邻域变换(根据置换规则进行产品箱数据置换),高效探索更优装载方案。本申请通过涉及邻域动作丰富了解空间的探索方向,避免了传统技术求解精度低、易陷入局部最优的缺点;并且,本申请从单个可行解出发,根据问题特征设计合适的邻域变换方法,对特定问题的针对性强,求解更高效,不仅不需要构造大规模初始种群、而且避免了现有技术求解效率低的缺点,而且实现了对装载信息的优化,提高了装载信息的精度。
参见图2,示出了本发明实施例提供的另一种装载信息确定方法的流程示意图,该装载信息确定方法具体包括以下步骤:
S201:根据成品库对外库的发货数据确定成品库的产品优先级;
在具体执行步骤S201的过程中,步骤S201的具体执行过程和实现原理与上述本发明公开的图1中的步骤S101的具体执行过程和实现原理相同,可参见上述本发明公开的图1中的相应部分,这里不再进行赘述。
S202:利用成品库的产品优先级生成满足装载约束的第一装载信息;
在具体执行步骤S202的过程中,步骤S202的具体执行过程和实现原理与上述本发明公开的图1中的步骤S102的具体执行过程和实现原理相同,可参见上述本发明公开的图1中的相应部分,这里不再进行赘述。
S203:将置换规则指示的第一装载信息中的产品箱置换成置换规则指示的目标产品箱生成第二装载信息;
在具体执行步骤S203的过程中,步骤S203的具体执行过程和实现原理与上述本发明公开的图1中的步骤S103的具体执行过程和实现原理相同,可参见上述本发明公开的图1中的相应部分,这里不再进行赘述。
S204:确定第三装载信息,初始化第三装载信息为第一装载信息;
在本申请实施例中,第三装载信息为历史最优的装载信息,在进行迭代更新之前,第一装载信息为第三装载信息,及初始化第三装载信息为第一装载信息,相应的,初始化的第三装载信息的第三消耗信息为第一装载信息的第一消耗信息。
S205:确定第一装载信息的第一消耗信息、第二装载信息的第二消耗信息和第三装载信息的第三消耗信息的比较结果;
在本申请实施例中,在将置换规则指示的第一装载信息中至少一个产品箱置换层置换规则指示的目标产品生成第二装载信息后,分别计算第一装载信息的第一消耗信息、第二装载信息的第二消耗信息和第三装载信息的第三消耗信息,进而根据第一装载信息的第一消耗信息、第二装载信息的第二消耗信息和第三装载信息的第三消耗信息,确定第一装载信息的第一消耗信息、第二装载信息的第二消耗信息和第三装载信息的第三消耗信息的比较结果。
在本申请实施例中,装载信息的消耗信息的计算方式可以为:装载信息中各个产品的产品数量乘以各个产品的产品单价+各个运力的单次运输成本的总和。
S206:根据比较结果更新第一装载信息、第二装载信息和/或第三装载信息;
在本申请实施例中,在将置换规则指示的第一装载信息中至少一个产品箱置换层置换规则指示的目标产品生成第二装载信息后,分别计算第一装载信息的第一消耗信息、第二装载信息的第二消耗信息和第三装载信息的第三消耗信息。判断第二装载信息的第二消耗信息是否超过第三装载信息的第三消耗信息;如果第二消耗信息未超过第三消耗信息,将第三装载信息更新为当前第二装载信息,以及将第一装载信息更新为当前第二装载信息,即将历史最优的装载信息更新为第二装载信息,和将当前装载信息更新为第二装载信息,以便于在满足预先设置迭代条件的情况下,继续利用当前装载信息进行迭代更新。
若第二装载信息的第二消耗信息超过第三装载信息的第三消耗信息,判断第二装载信息的第二消耗信息是否超过第一装载信息的第一消耗信息;若第二装载信息的第二消耗信息未超过第一装载信息的第一消耗信息,将第一装载信息更新为当前第二装载信息,即将当前装载信息更新为第二装载信息,以便于在满足预先设置迭代条件的情况下,继续利用当前装载信息进行迭代更新;若第二装载信息的第二消耗信息超过第一装载信息,进一步判断第二装载信息是否被模拟退火准则接受;若第二装载信息被模拟退火准则接受,将第一装载信息更新为第二装载信息,即将当前装载信息更新为第二装载信息,以便于在满足预先设置迭代条件的情况下,继续利用当前装载信息进行迭代更新。若第二装载不被模拟退火准则接受,则不对第一装载信息和第三装载信息进行更新,在满足预先设置的迭代条件的情况下,利用第一装载信息进行迭代更新。
S207:判断当前是否满足预先设置的迭代条件;若当前满足预先设置的迭代条件,执行步骤S203;若当前不满足预先设置的迭代条件,执行步骤S208。
在本申请实施例中,预先设置有迭代条件,作为本申请实施例的一种优选方式,预先设置的迭代条件可以为装载信息的迭代次数不能超过迭代条件指示的预设阈值。在对第一装载信息进行迭代得到第第二装载信息后,确定当前装载信息(第一装载信息)的迭代次数,判断当前迭代次数是否超过预先设置的迭代条件指示的预设阈值,在当前迭代次数不超过预设阈值的情况下,继续进行迭代更新。在当前迭代次数超过预设阈值的情况下,将当前的第三装载信息确定为成品库对所述外库发货的目标装载信息。
作为本申请实施例的另一种优选方式,预先设置的迭代条件可以指示总迭代时间,在对第一装载信息进行迭代得到第二装载信息后,确定当前时间,判断从第一次迭代时间到当前时间的时间间隔是否超过总迭代时间,若未超过,则继续进行迭代更新;若超过,将当前的第三装载信息确定为成品库对所述外库发货的目标装载信息。
S208:将当前第三装载信息确定为成品库对外库发货的目标装载信息。
在本申请实施例中,在不满足预先设置的迭代条件的情况下,将当前的第三装载信息确定为成品库对所述外库发货的目标装载信息。在满足预先设置的迭代条件的情况下,若第二装载信息的第二消耗信息未超过第三装载信息的第三消耗信息,将第三装载信息更新为第二装载信息,将第一装载信息更新为第二装载信息,即将当前的装载信息更新为第二装载信息,以便于在满足预先设置的迭代条件的情况下,继续利用当前装载信息进行迭代更新;若第二装载信息的第二消耗信息超过第三装载信息的第三消耗信息,在第二装载信息的第二消耗信息未超过第一装载信息的第一消耗信息的情况下,将第一装载信息更新为当前第二装载信息,即将当前装载信息更新为第二装载信息,以便于在满足预先设置迭代条件的情况下,继续利用当前装载信息进行迭代更新;若第二装载信息的第二消耗信息超过第一装载信息,在第二装载信息被模拟退火准则接受的情况下,将第一装载信息更新为第二装载信息,即将当前的装载信息更新为第二装载信息,以便于在满足预先设置的迭代条件的情况下,继续利用当前装载信息进行迭代更新;若在第二装载信息不被模拟退火准则接受的情况下,不对第一装载信息和第三装载信息进行更新,以便于在满足预先设置的迭代条件的情况下,继续利用第一装载信息进行迭代更新。
为了更好的上述内容进行理解,下面以示例的形式进行举例说明。
A11:获取成品库对外库的发货数据,其中,获取的成品库对外库的发货数据中必须向外库发货的产品为100个离合器;T时间节点推定该成品库中产品数据量为负的产品为保险杠和车门,其中,保险杠一天消耗50个,且保险杠的历史平均库存量为500个,则保险杠的平均消耗速率为10%;车门一天消耗10个,且车门的历史平均库存量为200,则车门的平均消耗速率为5%;;具有产品套性要求且需要被配平的产品为左大灯;T+1时间节点推定陈品库中产品数量为负的产品为发动机;T+2时间节点推定成品库中产品数量为负的产品为刹车片;
A12:根据所获取的成品库对外库的发货数据,确定成品库中各个产品的产品优先级的从高到低的排列顺序为:离合器、保险杠、车门、左大灯、发动机、刹车片。
A13:从成品库对外库的发货数据的运力数据指示的各个运力中,选取一个历史未被选取过的运力为运力2;
A14:确定选取的运力的当前运力剩余未被装载的长度为3米、宽度为1米;从预先设置的至少一个托盘类型中确定运力2当前运力剩余未被装载的长度所能转载的第一托盘类型为托盘类型1、托盘类型2;确定托盘类型1、托盘类型2支持的产品箱型对应的在当前成品库存在库存的各个产品分别为离合器(托盘类型1支持的产品箱型对应的产品)、刹车品(托盘类型2支持的产品箱型对应的产品);确定各个第一托盘类型支持的产品箱型对应的在当前成品库存在库存的各个产品中优先级最高的第一产品为离合器,进而从托盘类型1和托盘类型2中选取用于装载第一产品(离合器)的第二托盘类型为托盘类型1,其中第二托盘类型对应的托盘的长度为1米、宽度为0.5米;
A15:从运力2的当前运力剩余未被装载的车厢中确定与第二托盘类型对应的装载列的长度为1米、宽度为1米;
A16:确定装载列当前的剩余装载宽度为0.5米,进而确定该装载列满足第二托盘类型的宽度,从该装载列中确定一个装载堆,该装载堆的长度为1米、宽度为0.5米、剩余可装载高度为2米。
A17:获取预先设置的装载约束指示的用于装载第一产品的第一产品箱的高度为20厘米,确定当前装载剩余装载高度满足用于装载第一产品的第一产品箱的高度。
A18:确定当前成品库中第一产品的产品数量为175个;
A19:预先设置的装载约束指示的第二托盘类型的最大装载层数为9层,第一产品在每层的装载箱数为4,第一产品的成箱数量为5;确定第二托盘类型对应的托盘的产品箱层数为9层,进而确定产品箱层数对应的最高产品箱层数中存在产品箱缺口;确定当前成品库中除第一产品外用于被第二托盘类型装载的产品优先级最高的第二产品;将用于装载第二产品的第二产品箱确定为用于装载在产品箱缺口的产品箱,进而将用于装载在产品箱层数(9层)对应各产品箱层的第一产品箱和用于装载在产品箱缺口的第二产品箱构成构成装载列的装载堆中装载的托盘数据;
A20:在生成用于在装载列的装载堆中装载的托盘数据之后,根据生成的托盘数据更新当前成品库对外库的发货数据;在执行完步骤A20后返回执行A11至A19,直至当前成品库对外库的发货数据的运力数据指示的各个运力中不存在历史未被选取过的运力;
A21:根据当前成品库对外库的发货数据的运力数据指示的各个运力的运力装载信息生成第一装载信息;
A22:将置换规则指示的所述第一装载信息中的至少一个所述产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息;
A23:计算第一装载信息的第一消耗信息为200万,第二装载信息的第二消耗信息190万,第三装载信息的第三消耗信息为200万(该第三装载信息为初始化的第三装载信息);
A24:第二装载信息的第二消耗信息(190万)未超过第三装载信息(第一装载信息)的第三消耗信息(200万);
A25:将第三装载信息更新为当前第二装载信息,将第一装载信息更新为当前第二装载信息;
A26:判断当前是否满足预先设置的迭代条件;若当前不满足预先设置的迭代条件,执行A27;若当前满足预先设置的迭代条件,执行A22。
A27:将当前第三装载信息(第二装载信息)确定为成品库对外库发货的目标装载信息。
基于本发明实施例公开的装载信息确定方法,本发明实施例还对应公开了一种装载信息确定装置,如图3所示,该装载信息确定装置包括:
第一确定单元31,用于根据成品库对外库的发货数据确定成品库的产品优先级;
第一生成单元32,用于利用成品库的产品优先级生成满足装载约束的第一装载信息;第一装载信息包括运力的运力装载信息,运力装载信息指示用于设置在运力上的托盘所托载的产品箱;
置换单元33,用于将置换规则指示的第一装载信息中的产品箱置换成置换规则指示的目标产品箱生成第二装载信息;
第二确定单元34,用于基于第一装载信息和第二装载信息确定成品库向外库发货的目标装载信息。
上述本发明实施例公开的装载信息确定装置中各个单元具体的原理和执行过程,与上述本发明实施例公开的装载信息确定方法相同,可参见上述本发明实施例公开的装载信息确定方法中相应的部分,这里不再进行赘述。
本发明提供一种装载信息确定装置,立足于汽车零部件组托装箱问题的特征,综合业务经验规则,构造出一套基于变邻域搜索框架的启发式算法,从单个可行解(第一装载信息)出发,通过不同类型的邻域变换(根据置换规则进行产品箱数据置换),高效探索更优装载方案。本申请通过涉及邻域动作丰富了解空间的探索方向,避免了传统技术求解精度低、易陷入局部最优的缺点;并且,本申请从单个可行解出发,根据问题特征设计合适的邻域变换方法,对特定问题的针对性强,求解更高效,不仅不需要构造大规模初始种群、而且避免了现有技术求解效率低的缺点,而且实现了对装载信息的优化,提高了装载信息的精度。
在本申请实施例中,优选的,第一生成单元,包括:
第三确定单元,用于从预先设置的至少一个托盘类型中确定运力剩余未被装载长度所能装载的第一托盘类型;
第四确定单元,用于根据所有第一托盘类型用于装载的所有产品的优先级,从各个第一托盘类型中确定用于装载第一产品的第二托盘类型;
第五确定单元,用于从运力剩余未被装载的车厢中确定与第二托盘类型对应的装载列;
第六确定单元,用于根据装载列的剩余装载宽度和第二托盘类型的宽度确定位于装载列的装载堆;
第二生成单元,用于利用装载堆的剩余装载高度和第一产品的产品箱高度生成用于在装载堆中装载的托盘数据。
进一步的,本申请实施例提供的装载信息确定装置,还包括:
第一更新单元,用于根据托盘数据更新发货数据;
第一确定单元还用于根据当前成品库对外库的发货数据确定成品库中产品优先级。
在本申请实施例中,优选的,第二生成单元,包括:
第七确定单元,用于根据成品库中第一产品数量、装载约束指示的第二托盘类型的最大装载层数、第一产品在每层的装载箱数以及第一产品的成箱数量,确定用于在装载堆中装载的托盘所托载的产品箱层数;
选取单元,用于如果最高产品箱层中存在产品箱缺口,从当前位于成品库的产品中选取除第一产品外用于被第二托盘类型装载的优先级最高的第二产品;
第八确定单元,用于将用于装载第二产品的第二产品箱确定为用于装载在产品箱缺口的产品箱,生成用于在装载堆中装载的托盘数据。
在本申请实施例中,优选的,置换单元,包括:
第一清空单元,用于清空第一装载信息中根据托盘优先级确定的目标托盘的托盘数据;
第二更新单元,用于更新发货数据并根据当前发货数据确定当前成品库的产品优先级;
第九确定单元,用于基于当前成品库的产品优先级确定当前成品库中用于被目标托盘所属托盘类型装载的第三产品;
第三生成单元,用于利用第三产品生成目标托盘的托盘数据得到第二装载信息并更新发货数据。
在本申请实施例中,优选的,置换单元,包括:
第十确定单元,用于根据装载列优先级确定第一装载信息中的目标装载列以及目标装载列装载的目标托盘类型;
第二清空单元,用于清空第一装载信息的目标装载列中的目标托盘类型的托盘数据;
第三更新单元,用于更新发货数据并根据当前发货数据确定当前成品库的产品优先级;
第十一确定单元,用于从至少一个托盘类型中确定目标装载列所能装载的各个第三托盘类型,各个第三托盘类型中不包括目标托盘类型;
第十二确定单元,用于根据所有第三托盘类型用于装载的所有产品的优先级,从各个第三托盘类型中确定用于装载第四产品的第四托盘类型;
第四生成单元,用于利用当前成品库中第四产品的数量生成目标装载列的托盘数据得到第二装载信息并更新发货数据。
在本申请实施例中,优选的,第二确定单元,包括:
第十三确定单元,用于确定第三装载信息,初始化第三装载信息为第一装载信息;
第十四确定单元,用于确定对第一装载信息的第一消耗信息、第二装载信息的第二消耗信息和第三装载信息的第三消耗信息的比较结果;
第四更新单元,用于根据比较结果更新第一装载信息、第二装载信息和/或第三装载信息;
判断单元,用于判断当前是否满足预先设置的迭代条件;
返回单元,用于如果当前满足迭代条件,返回执行“置换单元”;
第十五确定单元,用于如果当前不满足迭代条件,将当前第三装载信息确定为成品库向外库发货的目标装载信息。
下面以请求方法应用于服务端为例,对本申请实施例提供的一种装载信息确定方法所适用于的服务端的硬件结构进行详细说明。
本申请实施例提供的一种装载信息确定方法可应用于服务端,该服务端可以是网络侧为用户提供服务的服务设备,其可能是多台服务器组成的服务器集群,也可能是单台服务器。
可选的,图4示出了本申请实施例提供的一种装载信息确定方法所适用于的服务端的硬件结构框图,参照图4,服务端的硬件结构可以包括:处理器41,存储器42,通信接口43和通信总线44;
在本发明实施例中,处理器41、存储器42、通信接口43、通信总线44的数量均可以为至少一个,且处理器41、存储器42、通信接口43通过通信总线44完成相互间的通信;
处理器41可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器42可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,程序用于:
根据成品库对外库的发货数据确定成品库的产品优先级;
利用成品库的产品优先级生成满足装载约束的第一装载信息,第一装载信息包括运力的运力装载信息,运力装载信息指示用于设置在运力上的托盘所托载的产品箱;
将置换规则指示的第一装载信息中的产品箱置换成置换规则指示的目标产品箱生成第二装载信息;
基于第一装载信息和第二装载信息确定成品库向外库发货的目标装载信息。
有关程序的功能可参见上文对本申请实施例提供的一种装载信息确定方法的详细描述,在此不做赘述。
进一步的,本申请实施例还提供一种计算机可读计算机存储介质,该计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述装载信息确定方法。
有关计算机可执行指令的具体内容可参见上文对本申请实施例提供的一种装载信息确定方法的详细描述,在此不做赘述。
以上对本发明所提供的一种装载信息确定方法、装置、服务器及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种装载信息确定方法,其特征在于,包括:
根据成品库对外库的发货数据确定所述成品库的产品优先级;
利用所述成品库的产品优先级生成满足装载约束的第一装载信息,所述第一装载信息包括运力的运力装载信息,所述运力装载信息指示用于设置在所述运力上的托盘所托载的产品箱;
将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息;
基于所述第一装载信息和所述第二装载信息确定所述成品库向所述外库发货的目标装载信息;
所述基于所述第一装载信息和所述第二装载信息确定所述成品库向所述外库发货的目标装载信息,包括:
确定第三装载信息,初始化所述第三装载信息为所述第一装载信息;
确定对所述第一装载信息的第一消耗信息、所述第二装载信息的第二消耗信息和所述第三装载信息的第三消耗信息的比较结果;
根据所述比较结果更新所述第一装载信息、所述第二装载信息和/或所述第三装载信息;
判断当前是否满足预先设置的迭代条件;
如果当前满足所述迭代条件,返回执行“将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息”步骤;
如果当前不满足所述迭代条件,将当前所述第三装载信息确定为所述成品库向所述外库发货的目标装载信息。
2.根据权利要求1所述的方法,其特征在于,所述利用所述成品库中产品优先级生成满足装载约束的第一装载信息,包括:
从预先设置的至少一个托盘类型中确定运力剩余未被装载长度所能装载的第一托盘类型;
根据所有所述第一托盘类型用于装载的所有产品的优先级,从各个所述第一托盘类型中确定用于装载第一产品的第二托盘类型;
从所述运力剩余未被装载的车厢中确定与所述第二托盘类型对应的装载列;
根据所述装载列的剩余装载宽度和所述第二托盘类型的宽度确定位于所述装载列的装载堆;
利用所述装载堆的剩余装载高度和所述第一产品的产品箱高度生成用于在所述装载堆中装载的托盘数据。
3.根据权利要求2所述的方法,其特征在于,所述生成用于在所述装载堆中装载的托盘数据之后,该方法还包括:
根据所述托盘数据更新所述发货数据;
所述根据成品库对外库的发货数据确定所述成品库中产品优先级,包括:根据当前成品库对外库的发货数据确定所述成品库中产品优先级。
4.根据权利要求2所述的方法,其特征在于,所述生成用于在所述装载堆中装载的托盘数据,包括:
根据所述成品库中所述第一产品数量、所述装载约束指示的所述第二托盘类型的最大装载层数、所述第一产品在每层的装载箱数以及所述第一产品的成箱数量,确定用于在所述装载堆中装载的托盘所托载的产品箱层数;
如果最高产品箱层中存在产品箱缺口,从当前位于所述成品库的产品中选取除所述第一产品外用于被所述第二托盘类型装载的优先级最高的第二产品;
将用于装载所述第二产品的第二产品箱确定为用于装载在所述产品箱缺口的产品箱,生成用于在所述装载堆中装载的托盘数据。
5.根据权利要求1所述的方法,其特征在于,所述将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息,包括:
清空所述第一装载信息中根据托盘优先级确定的目标托盘的托盘数据;
更新所述发货数据并根据当前所述发货数据确定当前所述成品库的产品优先级;
基于当前所述成品库的产品优先级确定当前所述成品库中用于被所述目标托盘所属托盘类型装载的第三产品;
利用所述第三产品生成所述目标托盘的托盘数据得到第二装载信息并更新所述发货数据。
6.根据权利要求1所述的方法,其特征在于,所述将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息,包括:
根据装载列优先级确定所述第一装载信息中的目标装载列以及所述目标装载列装载的目标托盘类型;
清空所述第一装载信息的所述目标装载列中的所述目标托盘类型的托盘数据;
更新所述发货数据并根据当前所述发货数据确定当前所述成品库的产品优先级;
从至少一个托盘类型中确定所述目标装载列所能装载的各个第三托盘类型,各个所述第三托盘类型中不包括所述目标托盘类型;
根据所有所述第三托盘类型用于装载的所有产品的优先级,从各个所述第三托盘类型中确定用于装载第四产品的第四托盘类型;
利用当前所述成品库中所述第四产品的数量生成所述目标装载列的托盘数据得到第二装载信息并更新所述发货数据。
7.一种装载信息确定装置,其特征在于,包括:
第一确定单元,用于根据成品库对外库的发货数据确定所述成品库的产品优先级;
第一生成单元,用于利用所述成品库的产品优先级生成满足装载约束的第一装载信息;所述第一装载信息包括运力的运力装载信息,所述运力装载信息指示用于设置在所述运力上的托盘所托载的产品箱;
置换单元,用于将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息;
第二确定单元,用于基于所述第一装载信息和所述第二装载信息确定所述成品库向所述外库发货的目标装载信息;
所述第二确定单元具体用于:
确定第三装载信息,初始化所述第三装载信息为所述第一装载信息;
确定对所述第一装载信息的第一消耗信息、所述第二装载信息的第二消耗信息和所述第三装载信息的第三消耗信息的比较结果;
根据所述比较结果更新所述第一装载信息、所述第二装载信息和/或所述第三装载信息;
判断当前是否满足预先设置的迭代条件;
如果当前满足所述迭代条件,返回置换单元执行“将置换规则指示的所述第一装载信息中的产品箱置换成所述置换规则指示的目标产品箱生成第二装载信息”步骤;
如果当前不满足所述迭代条件,将当前所述第三装载信息确定为所述成品库向所述外库发货的目标装载信息。
8.一种服务器,其特征在于,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如权利要求1-6任意一项所述的装载信息确定方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-6任意一项所述的装载信息确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010863868.XA CN112001549B (zh) | 2020-08-25 | 2020-08-25 | 一种装载信息确定方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010863868.XA CN112001549B (zh) | 2020-08-25 | 2020-08-25 | 一种装载信息确定方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112001549A CN112001549A (zh) | 2020-11-27 |
CN112001549B true CN112001549B (zh) | 2024-06-21 |
Family
ID=73471946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010863868.XA Active CN112001549B (zh) | 2020-08-25 | 2020-08-25 | 一种装载信息确定方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112001549B (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6937992B1 (en) * | 2000-12-29 | 2005-08-30 | Arrowstream, Inc. | Transport vehicle capacity maximization logistics system and method of same |
US20030110102A1 (en) * | 2001-05-29 | 2003-06-12 | Chen-Fu Chien | Method for goods arrangement and its system |
JP2010086055A (ja) * | 2008-09-29 | 2010-04-15 | Canon Marketing Japan Inc | 在庫管理装置、在庫管理方法、プログラム |
CN103455841B (zh) * | 2013-07-17 | 2016-12-28 | 大连海事大学 | 基于改进蚁群算法和启发式算法的集装箱装载方法 |
CN105830101A (zh) * | 2013-12-18 | 2016-08-03 | 宝马股份公司 | 用于装载机动车的方法和系统 |
CN103761635A (zh) * | 2014-01-14 | 2014-04-30 | 大连理工大学 | 一种三维多箱异构货物装载优化方法 |
US20180025315A1 (en) * | 2015-02-06 | 2018-01-25 | Flowvision, Llc | Shipping rack item configuration |
KR101813887B1 (ko) * | 2015-08-03 | 2018-01-04 | 삼성에스디에스 주식회사 | 팔레트 적재를 위한 가이드 제공 방법 및 그 장치 |
CN109214756B (zh) * | 2018-09-17 | 2020-12-01 | 安吉汽车物流股份有限公司 | 整车物流调度方法及装置、存储介质、终端 |
CN109447557A (zh) * | 2018-11-05 | 2019-03-08 | 安吉汽车物流股份有限公司 | 物流调度方法及装置、计算机可读存储介质 |
CN110210685B (zh) * | 2019-06-12 | 2021-06-04 | 广东三维家信息科技有限公司 | 物流装箱方法及装置 |
-
2020
- 2020-08-25 CN CN202010863868.XA patent/CN112001549B/zh active Active
Non-Patent Citations (1)
Title |
---|
基于混合遗传算法的多品种货物装箱问题研究;李伟;杨超宇;孟祥瑞;;包装与食品机械(第03期);第54页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112001549A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755982B2 (en) | Dynamically routing salvage shipments and associated method | |
US9665845B2 (en) | System and method of vessel scheduling for product distribution | |
CN109214756B (zh) | 整车物流调度方法及装置、存储介质、终端 | |
Ting et al. | Multi-vehicle selective pickup and delivery using metaheuristic algorithms | |
CN110210666B (zh) | 基于车货匹配的智能推荐方法、系统和存储介质 | |
CN115860613B (zh) | 一种考虑预约机制的零担车货匹配及车辆调度方法 | |
CN110516985B (zh) | 仓库选择方法、系统、计算机系统和计算机可读存储介质 | |
CN113592282A (zh) | 一种物品分配方法和装置 | |
CN114757394B (zh) | 基于工作量平衡的物流车辆路径优化方法、系统和介质 | |
CN112201075A (zh) | 停车场车位可用性预测方法及系统 | |
CN112001549B (zh) | 一种装载信息确定方法、装置、服务器及存储介质 | |
CN109032789B (zh) | 一种物流网络的部署方法、装置和服务器 | |
Quilliot et al. | Vehicle driven approaches for non preemptive vehicle relocation with integrated quality criterion in a vehicle sharing system | |
CN109272151B (zh) | 一种基于Spark的车辆路径规划算法优化方法 | |
CN111507662B (zh) | 一种规划物流车辆路径的方法 | |
CN112132643A (zh) | 商品上架的方法、装置、电子设备及可读介质 | |
CN112862135B (zh) | 快件运输线路规划方法、装置、服务器及存储介质 | |
CN109102123B (zh) | 拼车路线优化方法及装置、存储介质、计算设备 | |
CN113935673A (zh) | 基于库存的仓网优化方法、装置、计算机设备和存储介质 | |
Cipta et al. | Optimal Vehicle Routing Problem (VRP) For the distribution of medical devices by applying the clarke-wright algorithm | |
CN106779568B (zh) | 城市配送路径获取方法和系统 | |
CN113793083B (zh) | 仓储货架设置方法、装置、存储介质及电子设备 | |
CN117557077B (zh) | 运力分配方法、运力分配设备以及存储介质 | |
CN113537859A (zh) | 仓网构建方法、装置、计算机设备和存储介质 | |
CN113537665A (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 |