Установите разрыв завершения MIP с помощью PySCIPOpt

Я не могу понять, как установить порог промежутка MIP, чтобы решатель завершал работу, когда относительная разница между основным и двойным решениями находится в пределах некоторого значения. Я использую PySCIPOpt для взаимодействия с SCIP.

Я уверен, что есть простой способ (например, если бы я использовал интерфейс Python от Gurobi, это было бы просто m.Params.MIPGap = x, где m - экземпляр модели).

Любая помощь приветствуется!


person kenl    schedule 19.03.2018    source источник


Ответы (1)


Разрыв MIP является параметром в SCIP (а также PySCIPOpt) и может быть установлен как любой другой:

m = pyscipopt.Model()
m.setRealParam('limits/gap', 0.1)

Полный список доступных параметров можно найти в документации SCIP. или запустите этот код Python:

m.writeParams('default.set', onlychanged=False)

Чтобы установить параметр, вам всегда нужно указывать соответствующий тип в вызове функции, то есть Bool, Int, Longint, Real, Char или String.

person mattmilten    schedule 20.03.2018