我正在使用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:我想使用单纯形法。如果另一个求解器提供了此解决方案,那么这将是一种解决方法。