我的 GAMS 模型 (NLP) 中的求解摘要返回以下内容:
**** SOLVER STATUS 1 Normal Completion
**** MODEL STATUS 19 Infeasible - No Solution
**** OBJECTIVE VALUE NA
我的一个变量的界限是:
y.lo = 0, y.up = 0.15
如果我将界限更改为:
y.lo = 0, y.up = 0.12
然后模型收敛并给出以下结果:
**** SOLVER STATUS 1 Normal Completion
**** MODEL STATUS 2 Locally Optimal
**** OBJECTIVE VALUE 66013164.0000
事实证明,最终的变量级别是
y.l = 0.12
即使解决方案(0.12)在搜索空间内,GAMS 怎么能确定模型在第一种情况下不可行(上限 = 0.15)?(顺便说一句,我正在使用 ANTIGONE 求解器)
此外,是否有任何有条不紊的方法来确定哪些约束/变量界限导致模型不可行?
为了找到这个(看似不合逻辑的)错误,我不得不花费数小时猜测和检查模型中的任意细节,没有押韵或理由。必须有更好的方法,对吧?