箱子摆放策略Word文档下载推荐.docx
- 文档编号:6544721
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:16
- 大小:87.51KB
箱子摆放策略Word文档下载推荐.docx
《箱子摆放策略Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《箱子摆放策略Word文档下载推荐.docx(16页珍藏版)》请在冰点文库上搜索。
四角螺旋推进扩大可摆放面积由下至上逐层优化
一、问题重述
某企业使用叉车运输底面为长方形的箱子。
这些箱子放在叉车的正方形底板上,箱子的规格是统一的(所有箱子的长方形底面的形状相同)。
通常在一次运输上,规定箱子只能像图中这样横着放,或者竖着放。
如图所示,叉车置放箱子的底板是一个边长为米的正方形。
下图所示的便是一种可行的摆放方法,但不一定是最优的。
现在这个企业需要你们帮助建立一个通用的优化模型,使得给定长方形箱子的长和宽之后,利用这个模型就能算出该如何摆放箱子(不需考虑箱子的高度,即只考虑摆放一层箱子),才能使得一次摆放的箱子数量最多。
问题1如果箱子不允许超出叉车底板(如上图所示情形),也不允许长方形箱子相互重叠,建立优化模型,考虑如何摆放这些箱子,才能使摆放的箱子数量最多
对于下表中型号1的箱子,最多可以摆放多少个箱子,该如何摆放如果你们能画出摆放示意图,那么将有助于这个企业更快地理解你们的方法。
利用你们构建的模型,再分别计算型号2和型号3的箱子最多可以摆放多少个箱子,该如何摆放画出摆放示意图。
箱子型号
长(米)
宽(米)
1
2
3
问题2假设箱子的密度都是均匀的,允许箱子在正方形底板的上方,左边,右边部分超出底板(下方紧靠叉车壁,不能超出),但不至于掉落出叉车底板。
对于这种情况,重新建立优化模型,并针对上表中三种型号的箱子,分别计算最多可以摆放多少个箱子,该如何摆放画出摆放示意图。
问题3在不允许箱子相互重叠的条件下,你们是否还能另外设计出一种摆放方案并将你们设计的方案与上图中的摆放方案的优劣性进行比较。
二、问题分析
问题1
要求在箱子不允许超出叉车底板边缘,也不允许长方形箱子相互重叠的情况下,通过题中所定方式以四个角向中心以螺旋状推进来减少空白浪费的位置,每个角都要摆放箱子。
题目中所给条件已经将一个三维的箱子摆放问题转化为一个二维的矩形摆放问题,相当于考虑一个正方形中如何摆放不同型号的小矩形使得摆放矩形数目最多的问题。
而且题中已经限制要求我们用题中所示的四角分布的方式来完成优化。
首先对于四个边,我们各自先设摆放箱子的长边个数和宽边个数,以四个角的长宽边个数相乘得出四个角上摆放的箱子个数,相加得到箱子的总个数,以此建立目标函数。
通过约束条件限制同边和对角线的箱子不会重合,并通过其他一些约束条件完善完善模型。
利用lingo软件编程以便得到所排矩形箱子的最大数目,以及其在正方形底板四边的分布情况。
然后将三种型号的矩形箱子的长宽边数据输入,进行求解。
根基lingo的求解结果,我们用excel将三种型号箱子的最优摆放方法画出示意图。
问题2
与问题1的要求一样,问题2也要求用题中所示的四角分布的方式进行优化,只是不再限定箱子不得超出底板边缘,那么只需要满足箱子重心不超出底板边缘即可。
我们在问题1的基础上假想将叉车底板的边缘扩大,扩大的极限标准是叉车底板边上箱子的重心刚好落在边缘上。
但由于长边与宽边的长度不一样,横放与竖放的箱子所能超出的长度不一样,需要分别讨论可超出的三个边各自可超出的长度。
据此在问题1的模型上修改限定条件,对其进行模型优化。
方法与问题1的做法类似,根据正方形底板上箱子长边及短边的数目,列出约束条件,利用lingo软件输入箱子长宽参数求解,再用excel画出三种型号箱子的摆放示意图。
问题3
同问题二一样,叉车除了底边的三个边:
左边、上边、右边均可超出箱子的二分之一部分(假设重心在叉车边缘箱子就不会掉落),但要求寻求不同于问题1、2中四角摆放的其他摆放方式。
考虑到实际生活中,问题2的模型分四块装箱不便于工人操作,因此我们由实际出发考虑了另一种方案。
采取从下至上的优化原则,将箱子分为三块,左右两块为横放,中间箱子为竖放,这样装箱较为规则,便于工人操作。
只需求出底边横竖不同的摆放方式,在一定约束条件下通过lingo软件就可求出摆放箱子最多的方案,并用excel画出示意图。
三、模型假设
(1)所有箱子的长方形底面的形状相同
(2)不需考虑箱子的高度,即只考虑摆放一层箱子
(3)规定箱子只能像图中这样横着放,或者竖着放。
(4)假设箱子的密度都是均匀的,重心即为其几何中心。
(5)假设紧挨着摆放的两个箱子之间的距离忽略不计。
(6)假设箱子不从叉车底板上掉落的条件是箱子的重心不在底板外面。
(7)不考虑箱子总重量是否在叉车的承受范围之内。
四、符号说明
x1
底板上边箱子长边个数
x2
底板上边箱子宽边个数
x3
底板左边箱子宽边个数
x4
底板左边箱子长边个数
x5
底板下边箱子宽边个数
x6
底板下边箱子长边个数
x7
底板右边箱子宽边个数
x8
底板右边箱子长边个数
I
竖放的箱子层数
J
横放箱子的层数
A
箱子的长
B
箱子的宽
L
底板的边长
L1
底板上边可拓展的边长
L2
底板左边可拓展的边长
L3
底板下边可拓展的边长
L4
底板右边可拓展的边长
Max
底板箱子摆放的个数
五、模型的建立和求解
问题1不允许超出底板的四角摆放方式
问题目标:
在底板上摆放最多箱子。
问题1模型的建立
设在底板上边横放x1个箱子,在剩余*x1)的长度下竖放x2个箱子。
其中要使空间利用率最大,要让箱子尽量占满边长,则x2=[*x1)]取整。
再设底板左边横放x4个箱子,在剩余*x4)的长度下竖放x3个箱子。
其中要使空间利用率最大,要让箱子尽量占满边长,则x3=[*x4)]取整。
同理设底板下边横放x6个箱子,竖放x5个箱子,设底板右边横放x8个箱子,竖放x7个箱子。
约束条件为:
(1)a*x1+b*x2<
L;
(2)a*x1+b*x2>
L-b;
(3)b*x3+a*x4<
(4)b*x3+a*x4>
(5)b*x5+a*x6<
(6)b*x5+a*x6>
(7)b*x7+a*x8<
(8)b*x7+a*x8>
因为将底板分为螺旋状的四块,为了不让对角线的方块重叠,所以用以下的约束条件:
(9)(若a*(x1+x6)>
=L,则b*(x2+x5)<
=L,);
(10)(若b*(x7+x3)>
=L,则a*(x4+x8)<
(11)(若a*(x4+x8)>
=L,则b*(x3+x7)<
(12)(若b*(x2+x5)>
=L,则a*(x1+x6)<
x1,x2,x3,x4,x5,x6,x7,x8为正整数
最多的箱子数目为目标函数:
max=x1*x3+x4*x5+x6*x7+x2*x8。
利用lingo软件求解三种型号的箱子数目。
问题1模型求解:
箱子的长a
箱子的宽b
4
对于型号1的箱子:
叉板上最多可以放置16个,摆放方式见图;
(图)
对于型号2的箱子:
叉板上最多可以放置4个,摆放方式见图;
对于型号3的箱子:
叉板上最多可以放置20个,摆放方式见图。
问题2允许超出底板的四角摆放方式
与问题一不同的是,问题二中箱子摆放可以超出叉车底板,相当于底板边缘扩大了。
但是要使箱子的重心留在叉车底板。
对于三种型号的箱子都有了不同的摆法。
问题2模型的建立
箱子摆放可以超出叉车底板,相当于底板边缘扩大了。
上边:
(1)L1=L+*(a+b);
左边:
(2)L2=L+*b;
下边:
(3)L3=L+*(a+b);
右边:
(4)L4=L+*a;
设在底板上边横放x1个箱子,在剩余+*(a+b)-a*x1)的长度下竖放x2个箱子。
其中要使空间利用率最大,要让箱子尽量占满边长,则x2=[+*(a+b)-a*x1)]取整。
再设底板左边横放x4个箱子,在剩余+*b-a*x4)的长度下竖放x3个箱子。
其中要使空间利用率最大,要让箱子尽量占满边长,则x3=[+*b-a*x4)]取整。
同理设底板下边横放x6个箱子,竖放x5个箱子,x5=[+*a-a*x6)]取整。
设底板右边横放x8个箱子,竖放x7个箱子,x7=[+*b-a*x8)]取整。
即为约束条件:
(5)L1-b<
=a*x1+b*x2<
=L1;
(6)L2-b<
=b*x3+a*x4<
=L2;
(7)L3-b<
=b*x5+a*x6<
=L3;
(8)L4-b<
=b*x7+a*x8<
=L4;
为了防止对角方块重叠,列了以下约束条件:
若(9)a*(x1+x6)>
=L+a,则b*(x3+x7)<
=L2
若(10)b*(x7+x3)>
=L2,则a*(x1+x6)<
=L+a
若(11)a*(x4+x8)>
=L4,则b*(x2+x5)<
=L+b
若(12)b*(x2+x5)>
=L+b,则a*(x4+x8)<
=L4
(13)x1,x2,x3,x4,x5,x6,x7,x8为正整数
最多能摆放的箱子数目为(14)max=x1*x3+x4*x5+x6*x7+x2*x8。
问题2模型求解
5
叉板上最多可以放置20个,摆放方式见图;
(图对于型号3的箱子:
叉板上最多可以放置26个,摆放方式见图。
问题3允许超出底板的非四角摆放方式
与问题1,2不同的是,问题3中箱子摆放可以超出叉车底板,并且要寻求不同于四角摆放的其他摆放方式。
问题3模型的建立
(1)叉车除了下边的三个边:
左边、上边、右边均可超出。
所以以下边为基础,自下而上进行优化。
为了追求模型箱子摆放数量最多,即箱子面积最大化,在叉车下边的左右两侧分别放上两块横放的箱子,将叉车的面积左右各扩张a/2。
(2)由于底边左右两遍摆上了两块横放的箱子从而限定了底边箱子摆放的长度,对底边上横竖摆放的箱子进行组合优化。
底边上横放箱子(包括左右两边限制用的箱子)的个数为x6,竖放的箱子个数为x5
(3)对剩余部分进行填充,将下边横、竖放的箱子分别向上叠加,且横放箱子向上叠加的个数j与箱子宽b相乘不超过叉车边长L加上*b,竖放箱子向上叠加的个数i与箱子长a相乘不超过叉车边长L加上*a。
设计lingo程序,目标函数为最多能摆放的箱子数目:
max=j*x6+i*x5。
5.3.2问题3模型求解
竖放的箱子层数i
横放箱子的层数j
6
叉板上最多可以放置23个,摆放方式见图:
(图对于型号2的箱子:
叉板上最多可以放置8个,摆放方式见:
叉板上最多可以放置28个,摆放方式见:
六、模型的评价
模型的优点:
(1)模型一模型二将箱子长边与短边组合摆放,使四边利用率最高。
其中用到了循环嵌套算法,建立通用优化模型,得出摆放方式。
(2)本文建立的模型实现简单,可靠性高。
模型的缺点:
(1)模型一循环嵌套之后中间还留有一个矩形空隙,并未对该矩形进行循环嵌套。
(2)只考虑了一层箱子的摆放,多层摆放可能导致稳定性降低。
(3)模型二模型三因为箱子摆放可以超出叉车底板,这是理想状况是重心在底板上。
可是实际情况下,箱子有可能偏移,运输时可能掉落。
(4)本文建立的模型过于理想,实际中操作性不高。
七、参考文献
【1】.司守奎,孙玺菁.数学建模算法与运用[M].北京:
国防工业出版社
【2】.肖华勇.基于MATLAB和LINGO的数学实验[M].西安:
西北工业大学出版社
八、附录
问题一代码
data:
a=;
b=;
L=;
enddata
max=x1*x3+x4*x5+x6*x7+x2*x8;
a*x1+b*x2<
a*x1+b*x2>
b*x3+a*x4<
b*x3+a*x4>
b*x5+a*x6<
b*x5+a*x6>
b*x7+a*x8<
b*x7+a*x8>
f1=@if(a*(x1+x6)#GT#L,b*(x3+x7),-1);
f1<
f2=@if(a*(x4+x8)#GT#L,b*(x5+x2),-1);
f2<
@GIN(x1);
@GIN(x2);
@GIN(x3);
@GIN(x4);
@GIN(x5);
@GIN(x6);
@GIN(x7);
@GIN(x8);
问题二代码
L1=L+*(a+b);
L2=L+*b;
L3=L+*(a+b);
L4=L+*a;
L1;
L2;
L3;
L4;
f1=@if(a*(x1+x6)#GT#L+a,b*(x3+x7),0);
f2=@if(a*(x4+x8)#GT#L4,b*(x5+x2),0);
L+b;
x1>
1;
x2>
x3>
x4>
x5>
x6>
x7>
x8>
问题三代码
max=j*x6+i*x5;
a*x6+b*x5<
L+a;
b*j<
L+*b;
a*i<
L+*a;
@GIN(i);
@GIN(j);
2;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 箱子 摆放 策略