| 查看: 1876 | 回复: 4 | ||
[求助]
已经加入Lingo的0-1变量条件,为何还有小数解?已有1人参与
|
|
最近在用Lingo求解模型,模型中已加入0-1变量条件如下: @for(linkSSL: @bin(X2)); 可算出来的可行解里X2仍然有小数解存在,同志们遇到过这种情况吗?求指教! |
» 猜你喜欢
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
心脉受损
已经有3人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有8人回复
申请2026年博士
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有5人回复
2025冷门绝学什么时候出结果
已经有7人回复
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
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













回复此楼