Lingo求解0-1整数规划问题(LINGO18.0x64)

Lingo求解0-1整数规划问题(LINGO18.0x64)
案例:有99个数,从中取17个数使它们的和为89.884。
⽤于解决该问题的Lingo代码如下:
1 model:
2 sets:
3 row/1..99/:c,x;
4 endsets
5 data:
6 c=6,6,6,4.56,5.76,2.94,2.1738,0.5723,6,6,3.3,6,3.72,3.6,1.8,2.145,4.785,6,6,6,3,2.85,3.2565,4.776,3.063,3,6,6,6,5.4,5.4,6,3.54,30,30,10,6.3,10,2.34,2.514,6.555,7.8,10,30,5.04,10,6.3,6.075,9.32988,7.2,9,2.7,5.415,10,3.75,1.5,8.1
7 enddata
上通下达8 min=@abs(89.884-@sum(row:c*x));
9 @sum(row:x)=17;
中华商机网
10 @for(row:@bin(x));
其中
每上一个台阶都顶一下
row/1..99/:c,x;                  ⽤于定义长度为99的⾏向量c,x
min=@abs(89.884-@sum(row:c*x));  表⽰选出的数的和为89.884,且该条件作为⽬标函数
@sum(row:x)=17;                  表⽰向量x的和为17
@for(row:@bin(x));              ⽤于设定向量x中的元素取值⾮0即1,⽤于0-1整数规划
红学研究
计算结果部分展⽰如下:排水沟
南京 imax

本文发布于:2024-09-22 01:03:17,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/536857.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:问题   整数   向量
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议