Прочитать существующий gurobi .lp-файл и добавить к нему ограничения - PullRequest
0 голосов
/ 23 февраля 2019

У меня небольшая проблема с использованием Gurobi в Python.У меня есть .lp-файл, где сохраняется моя линейная программа.К этим ограничениям я хочу добавить некоторые дополнительные ограничения.Загрузка и оптимизация работают без проблем, но я просто не могу добавить новые ограничения в мою модель.Я не знаю, что я делаю неправильно ... Надеюсь, найдется кто-то, кто найдет мою ошибку!Спасибо!

Мой код выглядит следующим образом (я сделал это немного проще) SI - это двумерный массив, содержащий данные для каждой переменной.

from gurobipy import * model = read("testdatei.lp") for j in range(len(SI)): model.addConstr(x[SI[j][0], SI[j][1], SI[j][2], SI[j][3], SI[j][4], SI[j][5]] == 1)

1 Ответ

0 голосов
/ 28 февраля 2019

Не зная вашего сообщения об ошибке, я предполагаю, что проблема в том, что вы не определили x.Самый быстрый способ исправить это, вероятно, будет восстановить имя переменной (которое вы определили ранее при построении модели) из значений SI, а затем получить доступ к переменным с помощью getVarByName.

Если это медленнопоскольку модель большая и вы обращаетесь ко многим переменным, вы можете вместо этого получить массив всех переменных с помощью model.getVars(), затем выполнить итерацию по этому и перестроить ваш многомерный массив (или tuple_dict) x, проанализировав именапеременных.

...