[lingo]0/1揹包

model:
title test3;
sets:
s/1..50/:w,v,x;

endsets
data:
v= 220, 208, 198, 192, 180, 180, 165, 162, 160, 158,155, 130, 125, 122, 
120, 118, 115, 110, 105, 101, 100, 100, 98,96, 95, 90, 88, 82, 80, 77, 
75, 73, 72, 70, 69, 66, 65, 63, 60, 58,56, 50, 30, 20, 15, 10, 8, 5, 3, 1;

w=80, 82, 85, 70, 72, 70, 66, 50, 55, 25, 50, 55, 40, 48,50, 32, 22, 
60, 30, 32, 40, 38, 35, 32, 25, 28, 30, 22, 50, 30, 45,30, 60, 50, 
20, 65, 20, 25, 30, 10, 20, 25, 15, 10, 10, 10, 4, 4, 2,1;

enddata
max=@sum(s(i):v(i)*x(i));
@sum(s(i):w(i)*x(i))<1000;
@for(s(i):@bin(x(i)));     //完全揹包改成@gin 取整數即可

end

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章