Используйте функцию предварительного разрешения Gurobi для модели pyomo

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

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

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

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

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

где presolved_model может быть или gurobipy, или моделью pyomo.

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

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

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

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

0 ответов

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

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

Другие вопросы по тегам