Реализовать инкрементную оптимизацию для MILP

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

Мой вопрос в том, есть ли стандартный способ/инструменты для этого? До сих пор я думал о том, чтобы манипулировать базой данных GAMS sqlite с помощью python, есть ли лучшая идея? Можно использовать другие среды.

Я ценю любую подсказку для реализации такой вещи. Спасибо


person behzadb    schedule 24.06.2018    source источник
comment
Если вы откажетесь от GAMS и просто воспользуетесь любым (более низкоуровневым?) инструментом моделирования, например, например, gurobipy (который является python-интерфейсом Gurobi), я не вижу проблемы. Однако могут быть некоторые более теоретические и практические проблемы (полный перезапуск, мип-старт, теплый старт, горячий старт и т. д.), которые, вероятно, в некоторой степени зависят от решателя (и иногда может помочь узнать больше о них). собственные внутренние компоненты решателя). Прочтите также этот недавний ответ. (никогда не пользовался GAMS и не могу оценить там возможности)   -  person sascha    schedule 24.06.2018
comment
Существуют разные способы толкования этого вопроса. Я думаю, вы спрашиваете, можно ли сделать модельные уравнения в GAMS управляемыми данными. Ответ (очевидно) да. Это означает, что количество уравнений не статично, а зависит от данных. Когда поступают новые данные, генерируются другие уравнения.   -  person Erwin Kalvelagen    schedule 26.06.2018