- 在线时间
- 100 小时
- 最后登录
- 2015-10-26
- 注册时间
- 2014-1-8
- 听众数
- 10
- 收听数
- 1
- 能力
- 0 分
- 体力
- 1022 点
- 威望
- 0 点
- 阅读权限
- 40
- 积分
- 421
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 226
- 主题
- 5
- 精华
- 0
- 分享
- 0
- 好友
- 10
升级   40.33% TA的每日心情 | 开心 2015-10-26 08:32 |
---|
签到天数: 143 天 [LV.7]常住居民III
- 自我介绍
- 新手
 群组: 国赛讨论 |
本帖最后由 MCR董事长 于 2014-8-23 20:00 编辑
用lingo11解一个线性的0-1整数规划,Lingo已经解好了,正在building solution report,可是就这样过去20多分钟还没输出report。
0-1变量(x)有2000个,我想求这2000个变量的和的最小值。约束矩阵L是2000*2000的。
我知道求这样一个问题的全局最优解几乎是不可能的,所以我在程序运行1分钟后停止了求解(此时的解为79,我已经很满意了)。但他就是卡在building solution report这个过程里,我只知道最小值为79,但看不到具体的0-1变量的取值。很是纠结。
是lingo输出报告本来就慢?还是可以进行什么操作加快输出(比如只输出x不输出L)?大神赐教
以下为我的程序:- model:
- sets:
- vertex/1..2000/:x;
- link(vertex,vertex):L;
- endsets
- data:
- L=@ole('C:\Users\Administrator\Desktop/k.xlsx',k);
- enddata
- min=@sum(vertex(i):x(i));
- @for(vertex(i):@sum(vertex(j):L(i,j)*x(j))>=1);
- @for(vertex(i):@bin(x(i)));
- end
复制代码 压缩包中为程序中用到的数据,我是excel 2010,大神的lingo如果读不进我的数据L,就重新把k的中有数据的2000*2000的范围定义一下名称k吧。
|
-
f.png
(88.71 KB, 下载次数: 243)
操作截图
-
-
k.rar
2.89 MB, 下载次数: 7, 下载积分: 体力 -2 点
程序中用到的数据
zan
|