[英]Cplex Python how to avoid printing the output
设置目标函数和约束后,我使用
prob.solve()
print prob.solution.get_objective_value()
实际上,我只想打印目标值,然而,它显示了很多cplex的信息,
Tried aggregator 1 time.
LP Presolve eliminated 5 rows and 1 columns.
All rows and columns eliminated.
Presolve time = -0.00 sec. (0.00 ticks)
0.5
我只想显示最后一行0.5,如何避免Cplex打印其他信息? 先感谢您。
cplex指定3个输出流:日志,错误,警告和结果。 您可以使用命令禁用输出。 set_xxx_stream(无)。 在你的例子中,
prob.set_log_stream(None)
prob.set_error_stream(None)
prob.set_warning_stream(None)
prob.set_results_stream(None)
将禁用所有输出。 您也可以指定输出文件,而不是None。 您还可以设置几个参数来控制cplex输出的详细程度,但这是防止cplex打印任何内容的最佳方法。
试试这个:
ans = prob.solution.get_objective_value()
print ans.split('\n')[-1]
由于Cplex是商业广告,我无法测试我的解决方案是否有效。 但是你明白了:拆分字符串,只得到你想要的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.