提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
<少问题的提出>
<少模型假设>
<少符号表:最后完成>
我们首先计算了在前50个周期的货物平均销售量,如下表所示:
H W HW1 HW2 HW3 HW4 HW5 HW6 HW7 HW8 HW9 HW10 119 368 361 364 247 307 611 2993 617 1225 \begin{array}{c|lcr} HW & \text{HW1} & \text{HW2} & \text{HW3} & \text{HW4} & \text{HW5} & \text{HW6} & \text{HW7} & \text{HW8} & \text{HW9} & \text{HW10} \\ \hline &119 & 368 & 361 & 364 & 247 & 307 & 611 & 2993 & 617 & 1225 \\ \end{array} HWHW1119HW2368HW3361HW4364HW5247HW6307HW7611HW82993HW9617HW101225
通过对飞机和货物数据,我们发现飞机机舱的载重限制相比较于其体积限制要更加严格,所以载重对货物运输的数量影响较大。我们以空隙最小为目标函数,以载重约束和体积约束为主建立整数规划模型,并使用MATLAB求解出装运货物的大致数量。之后,再通过反向检验来判断我们的模型是否合理,如果合理,则确定其装运方案;如果不合理,则进一步采取逐步调整,调整个别货物的装配情况以达到在满足一定的条件下,该装运方案使得空隙最小。
为简化模型,我们在这一操作上只考虑载重约束和体积约束。我们事先规定大飞机的前、中、后舱分别为1号舱、2号舱、3号舱,中飞机的前、中、后舱分别为4号舱、5号舱、6号舱,小飞机的前、中、后舱分别为7号舱、8号舱、9号舱。
决策变量:
每种货物在各货舱的数量。用 x i j x_{ij} xij表示第i种货物安排在j号舱的数量。 i = 1 , 2 , … , 10 i=1,2,…,10 i=1,2,…,10表示HW1,HW2,…,HW10, j = 1 , 2 , … , 9 j=1,2,…,9 j=1,2,…,9表示1,2,…,9号舱。由于数量为非负整数,所以 x i j ∈ Z ∗ x_{ij}\in Z^* xij∈Z∗。
目标函数:
总缝隙最小化,即所装货物的体积最大化,则以大飞机为例,目标函数为:
max ∑ j = 1 3 ∑ i = 1 10 H W v o l u m n ( i ) ∗ x i j \max \sum_{j=1}^{3}{\sum_{i=1}^{10}{HWvolumn(i)*x_{ij}}} maxj=1∑3i=1∑10HWvolumn(i)∗xij
约束条件:
分为载重约束和体积约束,以大飞机为例:
载重约束:
{ 2.1 x 11 + 0.2 x 21 + 0.7 x 31 + 1.8 x 41 + 1.3 x 51 + 0.3 x 61 + 0.23 x 71 + 1.2 x 81 + 0.9 x 91 + 0.3 x 101 ≤ 10 2.1 x 12 + 0.2 x 22 + 0.7 x 32 + 1.8 x 42 + 1.3 x 52 + 0.3 x 62 + 0.23 x 72 + 1.2 x 82 + 0.9 x 92 + 0.3 x 102 ≤ 16 2.1 x 13 + 0.2 x 23 + 0.7 x 33 + 1.8 x 43 + 1.3 x 53 + 0.3 x 63 + 0.23 x 73 + 1.2 x 83 + 0.9 x 93 + 0.3 x 103 ≤ 8 \begin{cases} 2.1x_{11}+0.2x_{21}+0.7x_{31}+1.8x_{41}+1.3x_{51}+0.3x_{61}+0.23x_{71}+1.2x_{81}+0.9x_{91}+0.3x_{101}≤10\\ 2.1x_{12}+0.2x_{22}+0.7x_{32}+1.8x_{42}+1.3x_{52}+0.3x_{62}+0.23x_{72}+1.2x_{82}+0.9x_{92}+0.3x_{102}≤16\\ 2.1x_{13}+0.2x_{23}+0.7x_{33}+1.8x_{43}+1.3x_{53}+0.3x_{63}+0.23x_{73}+1.2x_{83}+0.9x_{93}+0.3x_{103}≤8 \end{cases} ⎩⎪⎨⎪⎧2.1x11+0.2x21+0.7x31+1.8x41+1.3x51+0.3x61+0.23x71+1.2x81+0.9x91+0.3x101≤102.1x12+0.2x22+0.7x32+1.8x42+1.3x52+0.3x62+0.23x72+1.2x82+0.9x92+0.3x102≤162.1x13+0.2x23+0.7x33+1.8x43+1.3x53+0.3x63+0.23x73+1.2x83+0.9x93+0.3x103≤8
载重比例约束:
{ 2.1 x 11 + 0.2 x 21 + 0.7 x 31 + 1.8 x 41 + 1.3 x 51 + 0.3 x 61 + 0.23 x 71 + 1.2 x 81 + 0.9 x 91 + 0.3 x 101 10 − 2.1 x 12 + 0.2 x 22 + 0.7 x 32 + 1.8 x 42 + 1.3 x 52 + 0.3 x 62 + 0.23 x 72 + 1.2 x 82 + 0.9 x 92 + 0.3 x 102 16 = 0 2.1 x 11 + 0.2 x 21 + 0.7 x 31 + 1.8 x 41 + 1.3 x 51 + 0.3 x 61 + 0.23 x 71 + 1.2 x 81 + 0.9 x 91 + 0.3 x 101 10 − 2.1 x 13 + 0.2 x 23 + 0.7 x 33 + 1.8 x 43 + 1.3 x 53 + 0.3 x 63 + 0.23 x 73 + 1.2 x 83 + 0.9 x 93 + 0.3 x 103 8 = 0 \begin{cases} \frac{2.1x_{11}+0.2x_{21}+0.7x_{31}+1.8x_{41}+1.3x_{51}+0.3x_{61}+0.23x_{71}+1.2x_{81}+0.9x_{91}+0.3x_{101}}{10}-\frac{2.1x_{12}+0.2x_{22}+0.7x_{32}+1.8x_{42}+1.3x_{52}+0.3x_{62}+0.23x_{72}+1.2x_{82}+0.9x_{92}+0.3x_{102}}{16}=0\\ \frac{2.1x_{11}+0.2x_{21}+0.7x_{31}+1.8x_{41}+1.3x_{51}+0.3x_{61}+0.23x_{71}+1.2x_{81}+0.9x_{91}+0.3x_{101}}{10}-\frac{2.1x_{13}+0.2x_{23}+0.7x_{33}+1.8x_{43}+1.3x_{53}+0.3x_{63}+0.23x_{73}+1.2x_{83}+0.9x_{93}+0.3x_{103}}{8}=0 \end{cases} { 102.1x11+0.2x21+0.7x31+1.8x41+1.3x51+0.3x61+0.23x71+1.2x81+0.9x91+0.3x101−162.1x12+0.2x22+0.7x32+1.8x42+1.3x52+0.3x62+0.23x72+1.2x82+0.9x92+0.3x102=0102.1x11+0.2x21+0.7x31+1.8x41+1.3x51+0.3x61+0.23x71+1.2x81+0.9x91+0.3x101−82.1x13+0.2x23+0.7x33+1.8x43+1.3x53+0.3x63+0.23x73+1.2x83+0.9x93+0.3x103=0
体积约束:
令HWweight=[7.592992 1.157625 5.712340 5.067300 2.405970 0.709632 0.214032 2.470000 2.870400 1.500000]
{ 7.592992 x 11 + 1.157625 x 21 + 5.712340 x 31 + 5.067300 x 41 + 2.405970 x 51 + 0.709632 x 61 + 0.214032 x 71 + 2.470000 x 81 + 2.870400 x 91 + 1.500000 x 101 ≤ 2038.14 7.592992 x 12 + 1.157625 x 22 + 5.712340 x 32 + 5.067300 x 42 + 2.405970 x 52 + 0.709632 x 62 + 0.214032 x 72 + 2.470000 x 82 + 2.870400 x 92 + 1.500000 x 102 ≤ 2501.2 7.592992 x 13 + 1.157625 x 23 + 5.712340 x 33 + 5.067300 x 43 + 2.405970 x 53 + 0.709632 x 63 + 0.214032 x 73 + 2.470000 x 83 + 2.870400 x 93 + 1.500000 x 103 ≤ 1703.52 ∑ i = 1 10 货 物 i 的 最 小 边 长 ∗ x i j ≤ j 号 货 舱 的 最 小 边 长 ( j = 1 , 2 , . . . , 9 ) \begin{cases} 7.592992x_{11}+1.157625x_{21}+5.712340x_{31}+5.067300x_{41}+2.405970x_{51}+0.709632x_{61}+0.214032x_{71}+2.470000x_{81}+2.870400x_{91}+1.500000x_{101}≤ 2038.14\\ 7.592992x_{12}+1.157625x_{22}+5.712340x_{32}+5.067300x_{42}+2.405970x_{52}+0.709632x_{62}+0.214032x_{72}+2.470000x_{82}+2.870400x_{92}+1.500000x_{102}≤ 2501.2\\ 7.592992x_{13}+1.157625x_{23}+5.712340x_{33}+5.067300x_{43}+2.405970x_{53}+0.709632x_{63}+0.214032x_{73}+2.470000x_{83}+2.870400x_{93}+1.500000x_{103}≤1703.52\\ \sum_{i=1}^{10}{货物i的最小边长*x_{ij}}≤j号货舱的最小边长(j=1,2,...,9) \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧7.592992x11+1.157625x21+5.712340x31+5.067300x41+2.405970x51+0.709632x61+0.214032x71+2.470000x81+2.870400x91+1.500000x101≤2038.147.592992x12+1.157625x22+5.712340x32+5.067300x42+2.405970x52+0.709632x62+0.214032x72+2.470000x82+2.870400x92+1.500000x102≤2501.27.592992x13+1.157625x23+5.712340x33+5.067300x43+2.405970x53+0.709632x63+0.214032x73+2.470000x83+2.870400x93+1.500000x103≤1703.52∑i=110货物i的最小边长∗xij≤j号货舱的最小边长(j=1,2,...,9)
且 x i j ∈ Z ∗ x_{ij}\in Z^* xij∈Z∗
我们现在需要检验通过整数规划的结果能不能将货物按照一定的摆放放入货舱中:
经检验我们发现:
体积限制是非常小的,可满足的摆放种类相当多,而且非常容易满足:
下面列举一个满足题意的摆放方案:
<少摆放方案>(经验证非常容易实现:考虑最小边长即可)