GLPK输出需要帮助。 有些限制无法满足(故意) GLPK打印出“问题没有全面可行的解决方案” 但仍然作为解决方案的状态返回“最佳”。
我已将所有容差级别设置为0
glpk.options['feastol']=0
solvers.options['feastol']=0
glpk.options['abstol']=0
solvers.options['abstol']=0
glpk.options['reltol']=0
solvers.options['reltol']=0
这是输出
GLPK Integer Optimizer, v4.43
10 rows, 5 columns, 19 non-zeros
5 integer variables, none of which are binary
Preprocessing...
1 hidden covering inequaliti(es) were detected
5 rows, 5 columns, 14 non-zeros
5 integer variables, all of which are binary
Scaling...
A: min|aij| = 1.000e+00 max|aij| = 1.000e+00 ratio = 1.000e+00
Problem data seem to be well scaled
Constructing initial basis...
Size of triangular part = 4
Solving LP relaxation...
GLPK Simplex Optimizer, v4.43
5 rows, 5 columns, 14 non-zeros
0: obj = 2.000000000e+00 infeas = 1.000e+00 (1)
* 2: obj = -2.500000000e+00 infeas = 0.000e+00 (0)
* 3: obj = -4.000000000e+00 infeas = 0.000e+00 (0)
OPTIMAL SOLUTION FOUND
Integer optimization begins...
+ 3: mip = not found yet >= -inf (1; 0)
+ 3: mip = not found yet >= tree is empty (0; 1)
PROBLEM HAS NO INTEGER FEASIBLE SOLUTION
当“问题没有全面可行的解决方案”时,想要的行为是指示失败
感谢。
答案 0 :(得分:1)
我只知道C API,但我想你可以很容易地找出Python等价物。
在C API中,您使用glp_mip_status()
并且在您的情况下会得到GLP_NOFEAS
,这意味着“问题没有整数可行解决方案”。请参阅文档中的确定MIP解决方案的状态。
我不会贬低容差。