Сохранение файла .sol из одного экземпляра и использование его в качестве WARM_START для другого экземпляра в PYOMO - PullRequest
0 голосов
/ 19 апреля 2020

Уважаемые,

Я запускаю несколько сценариев ios (экземпляры) AbtractModel на PYOMO.

Для каждого из этих экземпляров я хотел бы записать свое решение для дальнейшего использовать в качестве теплого стартера для другого решения.

Я очень запутался в том, как выполнить sh через Pyomo. Как мне поступить?

Должен ли я записать файл '.sol' после решения и использовать его в качестве файла горячего запуска? Если да, то каков синтаксис pyomo для управления каталогом и именем файла записанного файла sol? и как синтаксис для его чтения при решении другого экземпляра?

Спасибо,

PS: я использую CPLEX в качестве решателя через SolverFactory ()

1 Ответ

0 голосов
/ 19 апреля 2020

позвольте мне немного изменить пример зоопарка и автобусов :

import pyomo.environ as pyo
from pyomo.opt import SolverFactory

opt = pyo.SolverFactory('cplex')

model = pyo.ConcreteModel()

model.nbBus = pyo.Var([40,30], domain=pyo.PositiveIntegers)

model.OBJ = pyo.Objective(expr = 500*model.nbBus[40] + 400*model.nbBus[30])

model.Constraint1 = pyo.Constraint(expr = 40*model.nbBus[40] + 30*model.nbBus[30] >= 300)


model.nbBus[40]=8
model.nbBus[30]=1

results = opt.solve(model,warmstart=True)

print("nbBus40=",model.nbBus[40].value)
print("nbBus30=",model.nbBus[30].value)

дает

nbBus40= 6.0
nbBus30= 2.0
...