| 查看: 1905 | 回复: 4 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
已经加入Lingo的0-1变量条件,为何还有小数解? 已有1人参与
|
|||
|
最近在用Lingo求解模型,模型中已加入0-1变量条件如下: @for(linkSSL: @bin(X2)); 可算出来的可行解里X2仍然有小数解存在,同志们遇到过这种情况吗?求指教! |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有8人回复
为什么nbs上溴 没有产物点出现呢
已经有5人回复
存款400万可以在学校里躺平吗
已经有34人回复
求助一下有机合成大神
已经有4人回复
请教限项目规定
已经有5人回复
最失望的一年
已经有16人回复
求推荐英文EI期刊
已经有5人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
疑惑?
已经有5人回复
NicoleLas
木虫 (正式写手)
- 应助: 66 (初中生)
- 金币: 4288.7
- 红花: 26
- 帖子: 514
- 在线: 177.2小时
- 虫号: 2872321
- 注册: 2013-12-15
- 性别: GG
- 专业: 计算机软件
【答案】应助回帖
★ ★ ★ ★ ★
sunsuper: 金币+5, ★★★很有帮助 2014-07-15 18:58:00
sunsuper: 金币+5, ★★★很有帮助 2014-07-15 18:58:00
|
你使用了些非线性函数,有可能造成求解数值不稳定性,乍看上去应该是MINLP问题,MINLP本身求解就比较困难。LINGO在求解MINLP问题时采用Branch and Bound(Integer Solver) + CONOPT(Local Nonlinear Solver),CONOPT要求模型Scale比较合理,所以,软件有可能求解出现数值精度问题。 方便的话贴上程序及数据吧,我有最新的LINGO及LINDO API,有时间的话可以给你运行下,看是否结果有所改善。 当然,最关键的可能是你优化自己的模型及程序编写,尽量转化为MILP或者MIQP,这样LINGO使用Branch and Bound + MOSEK( Interior Point) 效果可能会好一点。 |

5楼2014-07-14 00:19:34
NicoleLas
木虫 (正式写手)
- 应助: 66 (初中生)
- 金币: 4288.7
- 红花: 26
- 帖子: 514
- 在线: 177.2小时
- 虫号: 2872321
- 注册: 2013-12-15
- 性别: GG
- 专业: 计算机软件

2楼2014-07-13 21:48:41
|
约束是个线性函数,太长就不列了,主要约束如下: @for(linkSS(i,j)| i #ne# j: @sum(Type(l): X1(i,j,l)) = 1); @for(linkSSL(i,j,l)| i #ne# j: X1(i,j,l) = X1(j,i,l)); @for(linkSS(i,j)| i #ne# j: @sum(SCs(k): X2(i,j,k)) = X1(i,j,3)); @for(linkSSS(i,j,k)| i #ne# j: X2(i,j,k) <= Z(k)); @for(linkSS(i,j)| i #ne# j: Y(i,j) + t(i,j) <= t_I + M*(1 - (X1(i,j,1) + X1(i,j,2)))); @for(linkSS(i,j)| i #ne# j: @abs(Y(i,j) - Y(j,i)) >= t(i,j)*X1(i,j,1)); @for(linkSS(i,j)| i #ne# j: @abs(Y(i,j) - Y(j,i)) < t(i,j) + M*(1 - X1(i,j,2))); @for(linkSS(i,j)| i #ne# j: Y(i,j) + @sum(SCs(k): X2(i,j,k)*2*t(i,k)) <= t_I); @for(LinkSS(i,j)| i #ne# j: TEMP(i,j) = @if(Y(i,j) #lt# tw_O1, 0, @if(Y(i,j) #gt# tw_O2, 1, (Y(i,j) - tw_O1)/(tw_O2 - tw_O1)))); @sum(LinkSS(i,j)| i #ne# j: w(i,j)*TEMP(i,j)) >= sita*@sum(SCs(i): Q(i)); @for(LinkSS(i,j)| i #ne# j: Y(i,j) >= t_S); @for(SCs: @bin(Z)); @for(linkSSS: @bin(X1)); @for(linkSSL: @bin(X2)); 不知道问题出在哪里,是Lingo自身问题还是模型问题? |
3楼2014-07-13 22:51:01
4楼2014-07-13 22:52:46













回复此楼