我正在使用 cvxpy,自从更新到 1.0.6 后,我在调用 GLPK 时得到了不需要的输出。
import cvxpy as cvx
x = cvx.Variable(2)
p = cvx.Problem(cvx.Minimize(x[0]), [x[0] + x[1] == 1, x[0] - x[1] >= 1])
p.solve(solver = cvx.GLPK)
在 IPython3 中,这会创建输出
GLPK Simplex Optimizer, v4.61
2 rows, 2 columns, 4 non-zeros
0: obj = 0.000000000e+00 inf = 2.000e+00 (2)
1: obj = 1.000000000e+00 inf = 0.000e+00 (0)
* 2: obj = 1.000000000e+00 inf = 0.000e+00 (0)
OPTIMAL LP SOLUTION FOUND
Out[5]: 1.0
在 0.4.11 中,我只得到了1.0
印刷品,我想恢复这种行为。对于其他求解器,可以verbose
选择,但对于 GLPK,这不会改变任何东西。两者产生相同的输出。
p.solve(solver = cvx.GLPK, verbose = False)
p.solve(solver = cvx.GLPK, verbose = True)
任何想法,如何停止输出?
PS:我想用单纯形法。如果另一个求解器提供此功能,那将是一种解决方法。