Python-如何设置CVXOPT中的整数线性编程(ILP)函数的时间限制

时间:2016-09-08 11:26:40

标签: python-2.7 linear-programming glpk

如何设置CVXOPT中整数线性编程(ILP)函数的时间限制? 假设这是我的解算器:

status,solution = glpk.ilp(W, G.T, h,B=set(range(len(W))))

2 个答案:

答案 0 :(得分:3)

尝试以下方法:

from cvxopt import solvers
solvers.options['glpk'] = {'tm_lim' : 1000}  # time-limit of 1s (glpk expects [ms])
status,solution = glpk.ilp(W, G.T, h,B=set(range(len(W))))

文档here中描述了传递solver-options(在cvxopt中)。

glpk的可用选项在其手册here

中有所描述

修改:正如评论中所述,tm_lim是要设置的变量,而不是tm lim

答案 1 :(得分:0)

Sascha的答案中的解决方案对我不起作用,这可能是由于导入样式所致。但是,您也可以在函数调用中传递options字典,即

glpk.ilp(W, G.T, h,B=set(range(len(W))), options={'tm_lim': 1000})