GAMS MINLP模型无可行解但RMINLP存在最优解的问题求助
MINLP模型可行解求解异常排查
模型背景
我构建了一个包含二元变量、线性目标函数、线性及非线性约束的MINLP模型,其中非线性约束的GAMS编码如下:
Loc1(s,t,ieq)$(tt(s,t) AND ORD(t)<NTS(s)) .. ABS((1-exp(-K*sum(i$iieq(s,t,ieq,i),X(s,t,i))))-(1-exp(-K*sum(i$iieq(s,t+1,ieq,i),X(s,t+1,i)))))=L=0.1; Loc2(s,t,ieq)$(tt(s,t) AND ORD(s)<CARD(s) AND ORD(t)=NTS(s)) .. ABS((1-exp(-K*sum(i$iieq(s,t,ieq,i),X(s,t,i))))-(1-exp(-K*sum(i$iieq(s+1,'1',ieq,i),X(s+1,'1',i)))))=L=0.1;
上述代码中s、t、i、ieq为集合,tt(s,t)、iieq(s,t,ieq,i)为前述集合的子集,NTS(s)为参数,X(s,t,i)为决策变量。
求解异常表现
目前所有常用MINLP求解器均无法得到该模型的可行解:
- 首先求解对应的RMINLP模型可得到最优解,求解器输出为:
** Optimal solution. Reduced gradient less than tolerance.
- 随后使用BARON求解原MINLP模型提示不可行,报错信息如下:
EXIT: Maximum Number of Iterations Exceeded.
NLP0014I 3 FAILED 63.055607 3000 39.887
Cbc0006I The LP relaxation is infeasible or too expensiveBonmin finished. No feasible solution found
- 查看.lst文件发现其中一条非线性约束前标注了INFES,具体信息:
Loc1(3,1,20).. - (8.99476238049235)*X(3,1,32) +
(7.99476238048063)*X(3,2,35) =L= 0.1 ; (LHS = 0.100000000001171, INFES
= 1.17147958000885E-12 ****)
已确认的基础信息
- 若忽略非线性约束,线性部分可通过CPLEX正常求解
- 已确认GAMS代码与模型公式完全一致
排查请求
目前无法定位MINLP无可行解的原因,恳请相关专业人员协助排查问题。
内容的提问来源于stack exchange,提问作者nkh7293
相关产品推荐
相关产品推荐

