Scheduling
Task[t] 紀錄開始時間爲t的任務鏈表
f[t] 紀錄t-n時間內最大value值,初始均爲0
for i=n-1 to 0 do{
t=Task[i].head;
while (t){
f[i]=max{f[i],f[t.endtime]+t.value};
t=t->next;
}
f[i]=max{f[i],f[i+1]};
}
Fractional knapsack
根據性價比v/w排序
證明分數揹包問題具有貪心選擇性質
最優裝載問題
問題描述:有一批集裝箱要裝上一艘載重量爲c的輪船。其中集裝箱i的重量爲Wi。最優裝載問題要求確定在裝載體積不受限制的情況下,將儘可能多的集裝箱裝上輪船。
最優子結構性質:設(x1,x2,……xn)是最優裝載問題的滿足貪心選擇性質的最優解,則易知,x1=1,(x2,x3,……xn)是輪船載重量爲c-w1,待裝船集裝箱爲{2,3,……n}時相應最優裝載問題的最優解。因此,最優裝載問題具有最優子結構性質。
求解過程:最優裝載問題可用貪心算法求解。採用重量最輕者先裝的貪心選擇策略,可產生最優裝載問題的最優解。