使用 IBM cplex feasopt python 的接口获取不可行性

Get infeasibilities with IBM cplex feasopt python's interface

我正在使用 IBM CPLEX python 的 API 求解线性规划。

我正在求解的线性程序被证明是不可行的,所以我使用 CPLEX 的 feasopt() 来放宽问题。

我可以通过 my_prob.feasopt(my_prob.feasopt.all_constraints()) 得到一个可行的解决方案,其中 feasopt 放宽了所有约束。

但我对获取每个约束的松弛量很感兴趣。特别是,在文档中它说 In addition to that conventional solution vector, FeasOpt also produces a vector of values that provide useful information about infeasible constraints and variables.

我有兴趣获得这个向量。

我相信你正在寻找Cplex.solution.infeasibility接口下可用的方法。

用法示例:

# query the infeasibilities for all linear constraints
rowinfeas = my_prob.solution.infeasibility.linear_constraints(
    my_prob.solution.get_values())