1

GLPK 的输出需要帮助。某些约束无法(故意)得到满足,GLPK 打印“PROBLEM HAS NO INTEGER FEASIBLE SOLUTION”,但仍返回“最佳”作为解决方案的状态。

我已将所有公差级别设置为 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

想要的行为是在“问题没有整数可行的解决方案”时指示失败

谢谢。

4

1 回答 1

1

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

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

我不会弄乱公差。

于 2012-09-30T10:12:38.360 回答