Используйте функцию предварительного вычисления Гуроби для модели пиемо

Используя gurobipy, я могу предварительно решить смешанную целочисленную линейную модель оптимизации, вызвав функцию presolve, т.е.

model = read('milp.mps')
model.presolve().

Я хотел бы применить предварительный шаг Гуроби к некоторой модели, которая ограничена только линейными ограничениями смешанной целочисленной нелинейной модели пиомо (и впоследствии изменить предварительно решенную линейную модель, используя гуробипи или пиомо, перед решением с помощью Гуроби).

Схематично я хочу сделать следующее:

linear_model = deactivate_nonlinear_constrs(pyomo_model) #This step is clear
presolved_model = presolve_with_gurobi(linear_model),

где presolved_model может быть как гуробипой, так и пиомо-моделью.

Самый простой способ - это использовать некоторую функцию, которая преобразует модель pyomo в модель gurobipy, то есть gurobi_model = convert_to_gurobi(pyomo_model).

Я знаю, что пьомо и гуроби тесно связаны, то есть я могу решить модель пьомо с гуроби, используя

opt = SolverFactory('gurobi')
opt.solve(model),

так что я полагаю, что есть некоторая прямая связь между моделью гуробипи и моделью пиомо.


person Christoph Neumann    schedule 13.02.2018    source источник


Ответы (1)


У меня был такой же вопрос, и перевел ваш вопрос на форум pyomo.

Ответ: До сих пор эта функция не включена в pyomo.

person Cord Kaldemeyer    schedule 11.12.2018