![32b6079289550d002c10669f0bfd4400.png](https://img-blog.csdnimg.cn/img_convert/32b6079289550d002c10669f0bfd4400.png)
有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。
问题可以描述为:
![a3334083f063871c54a0f932dd8ce471.png](https://img-blog.csdnimg.cn/img_convert/a3334083f063871c54a0f932dd8ce471.png)
该问题可以用贪心算法求解,要使用贪心算法解决问题,我们必须先证明:(1)该问题具备贪心选择性质;(2)该问题具备最优子结构性质.
1> 首先先证明贪心选择性质:
设集装箱已依其重量从大到小排序,(x1,x2.......xn)是最优装载问题的一个最优解。又设k=min{i|xi=1}{ 1<=i<=n}.易知,如果给定的最优装载问题有解,则1<=k<=n;
![cb891bab634168dbf982bfe084970cf4.png](https://img-blog.csdnimg.cn/img_convert/cb891bab634168dbf982bfe084970cf4.png)
得以证明该问题具备贪心选择性质。
2>其次证明该问题具备最优子结构性质:
设(x1,x2....xn)是最优装载的满足贪心选择性质的最优解,易知,x1=1,(x2,x3.....xn)是轮船载重量为c-w1,待装船集装箱为{2,3,.....n}时相应的最优装载问题的最优解。得以证明,最优问题具备最优子结构性质。