码迷,mamicode.com
首页 > 其他好文 > 详细

lingo 解基础 0 - 1 背包问题

时间:2020-07-19 23:18:15      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:函数   哪些   for   max   bin   问题   item   目标   背包   

简介

没想到 0 - 1背包问题还可以这么解

question

假设现在有8件物品,他们的质量分别为3,4,6,7,9,10,11,12;
价值分别为 4,5,7,9,11,12,13,15;
假设总质量限制不超过30kg,是确定带哪些物品,使所带物品总价值最大

code

model:
sets:
items/1..8/:x,w,v;
endsets
data:
w = 3,4,6,7,9,10,11,12;
v = 4,5,7,9,11,12,13,15;
c = 30;
enddata
max=@sum(items:v * x);!目标函数;
@sum(items:w * x) <= c; ! 质量函数;
@for(items:@bin(x)); !0 - 1变量约束 bin 函数的使用限制为 0/1 ;
end

answer

                      X( 1)        0.000000           -4.000000
                      X( 2)        1.000000           -5.000000
                      X( 3)        0.000000           -7.000000
                      X( 4)        1.000000           -9.000000
                      X( 5)        1.000000           -11.00000
                      X( 6)        1.000000           -12.00000
                      X( 7)        0.000000           -13.00000
                      X( 8)        0.000000           -15.00000

lingo 解基础 0 - 1 背包问题

标签:函数   哪些   for   max   bin   问题   item   目标   背包   

原文地址:https://www.cnblogs.com/eat-too-much/p/13340995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!