GLPK整数优化器打印“PROBLEX没有整数可行的解决方案”,但仍然返回最佳状态

时间:2012-09-30 09:13:26

标签: python linear-programming convex-optimization

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

当“问题没有全面可行的解决方案”时,想要的行为是指示失败

感谢。

1 个答案:

答案 0 :(得分:1)

我只知道C API,但我想你可以很容易地找出Python等价物。

在C API中,您使用glp_mip_status()并且在您的情况下会得到GLP_NOFEAS,这意味着“问题没有整数可行解决方案”。请参阅文档中的确定MIP解决方案的状态

我不会贬低容差。