问题描述

数学模型

二叉树求解算法

【插入描述】

伪代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
INPUT:装箱/广告条 列表BoxList、待放入的箱子/广告区 BOX
OUTPUT:装箱顺序、装箱方式
function putbox(boxlist,BOX):
q = [] //创建队列q
q.push(BOX) //将放置区入队
while 队列不为空:
nBOX= q.pop() //弹出第一个子问题
if 没有剩余广告:
return装箱顺序、装箱方式
else:
for nbox in boxlist: //遍历之后的广告条
if nbox能放入当前空间nBOX:
记录装箱方式
boxlist.pop(nbox) //在列表中删除当前广告
q.push(划分空间BOX1) //将子问题压入队列
q.push(划分空间BOX2)
end
end
end
end
return装箱顺序、装箱方式

遗传排序

先上总流程

求解流程图

BL算法

【插入描述】

待实现

参考资料

1.一种二维装箱问题的建模方法|CSDN
2.二维装箱问题之BL法修正版|知乎
3.【附源码】二维矩形装箱算法|bilibili


4.武晓今, 朱仲英. 二维装箱问题的一种实现方法[J]. 微型电脑应用, 2003, 19(004):20-23.
5.尚正阳, 顾寄南, 丁卫,等. 求解二维矩形装箱问题的启发式算法[J]. 计算机集成制造系统, 2018.


6.Binary Tree Bin Packing Algorithm