我有一个CPLEX LP格式的LP,在文件LP.tmp
中
Maximize
obj: x0 + 2 x1 + 3 x2 + 4 x3 + 5 x4 + 7 x5
Subject To
c0: 1 x0 + 1 x1 + 1 x2 + 1 x3 + 1 x4 + 1 x5 + 1 x6 + 1 x7 + 1 x8 = 0
End
在这一点上,我调用soplex -X -x -o0 -f0 -v3 LP.tmp
,这显然是无界的,但是调用Soplex给了我答案(还有其他一些行)。
SoPlex status : problem is solved [optimal]
Solving time (sec) : 0.00
Iterations : 0
Objective value : 0.00000000e+00
Primal solution (name, value):
All other variables are zero (within 1.0e-16). Solution has 0 nonzero entries.
背景:最初,我有客观的0
,但是框约束,并且我总是得到infeasible
。所以我减少了所有的东西,直到我到达上面的位置。
我做错了什么?
发布于 2018-12-12 23:41:36
缺省情况下,lp文件格式中的所有变量都是非负的,请参见https://www.ibm.com/support/knowledgecenter/SSSA5P_12.5.0/ilog.odms.cplex.help/CPLEX/FileFormats/topics/LP.html
因此,您的约束会将所有变量固定为0。只要您将除x5之外的任何变量的系数更改为-1,或者添加您将其定义为自由的边界部分,例如x1 free
,SoPlex就会声明无界性并提供有效的原始射线。
发布于 2018-12-12 23:41:20
这个模型并不是无限的。所有变量都有隐含的0的界限,因此唯一可行的、因此是最优的解决方案是SoPlex返回的那个。
在.lp
数据格式中,默认情况下所有变量都是非负的。
https://stackoverflow.com/questions/53745900
复制相似问题