[英]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.