2016-09-08 2 views
0

Как установить ограничение по времени для функции целочисленного линейного программирования (ILP) в CVXOPT? предположить, что это мой решатель:Python-Как установить ограничение по времени для функции целочисленного линейного программирования (ILP) в CVXOPT

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

ответ

1

Попробуйте следующее:

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)))) 

Передача решателя-опций (в пределах cvxopt) описывается в документации here.

Доступные варианты GLPK описаны в его ручной here

Edit: Как уже упоминалось в комментариях, tm_lim является переменной, чтобы установить, не tm lim!

+1

благодарит, но мы должны добавить tm_lim – Panda

+0

@Panda Вы правы! Сожалею. Копировать-вставить из штампов pdf подчеркивает для меня :-) – sascha

+0

, но для меня это не сработало :), но ниже код работал: glpk.options ['tm_lim'] = OPT_TIME – Panda