最優裝載問題回溯法 貪心選擇之最優裝載問題

2021-10-18 08:10:36 字數 674 閱讀 7487

有一批貨櫃要裝上一艘載重量為c的輪船。其中貨櫃i的重量為wi。最優裝載問題要求確定在裝載體積不受限制的情況下,將盡可能多的貨櫃裝上輪船。

問題可以描述為:

該問題可以用貪心演算法求解,要使用貪心演算法解決問題,我們必須先證明:(1)該問題具備貪心選擇性質;(2)該問題具備最優子結構性質.

1> 首先先證明貪心選擇性質:

設貨櫃已依其重量從大到小排序,(x1,x2.......xn)是最優裝載問題的乙個最優解。又設k=min.易知,如果給定的最優裝載問題有解,則1<=k<=n;

得以證明該問題具備貪心選擇性質。

2>其次證明該問題具備最優子結構性質:

設(x1,x2....xn)是最優裝載的滿足貪心選擇性質的最優解,易知,x1=1,(x2,x3.....xn)是輪船載重量為c-w1,待裝船貨櫃為時相應的最優裝載問題的最優解。得以證明,最優問題具備最優子結構性質。

回溯演算法之最優裝載問題

問題描述 有一批共n個貨櫃要裝上2艘載重量分別為c1和c2的輪船,其中貨櫃i的重量為wi,且 例如 當n 3,c1 c2 50,且w 10,40,40 時,則可以將貨櫃1和2裝到第一艘輪船上,而將貨櫃3裝到第二艘輪船上 如果w 20,40,40 則無法將這3個貨櫃都裝上輪船。基本思路 容易證明,如果...

回溯法 最優裝載問題

以簡單的語言說,就是給定兩艘船,要求一批貨物分別裝入。這道問題採用 先盡可能以最大載重裝一艘船,再以剩下的貨物裝另一艘 這樣,我們就將問題簡化為了0 1揹包問題。採用回溯法構建解空間,之後遍歷即可。思路很簡單,的注釋我也寫的很詳細了。def traceback depth global n,good...

貪心,最優裝載問題

問題描述 有一批貨櫃要裝上一艘載重量為c的輪船,其中貨櫃i的重量為wi。最優裝載問題要求確定在裝載體積不受限制的情況下,將盡可能多的貨櫃裝上輪船。分析 可用貪心演算法求解,採用重量最輕者先裝的貪心選擇策略,可產生最優裝載問題的最優解。具體演算法描述如下 public static float loa...