Ключевая ошибка в Python и Gurobi при выполнении итерации для 3D-матрицы - PullRequest
0 голосов
/ 07 февраля 2019

Я занимаюсь линейным целочисленным программированием для оптимизации планирования.Мы смотрим на планирование производства многократного продукта с многоэтапными операциями в течение 12 недель:

6 products
4 stages 
12 weeks

Это одно из наших ограничений.

#model.addConstrs((((P[i, s, t] * L.iloc[i, s] for i in range(products)) <= (H * W[s, t] + O[s, t])) for s in range(stages) for t in range(time_periods)), "capacity")

Мы получилисообщение об ошибке «Ошибка ключа (5,0,0)», которое означает, что наша модель не может выполнить итерации в s и t s.

Как я могу продолжить это?

1 Ответ

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

KeyError указывает, что в P нет кортежа (i,s,t).Вы можете создать полный набор переменных для всех комбинаций, используя

model.addVars(products, stages, time_periods, ...)

Ссылка: http://www.gurobi.com/documentation/current/refman/py_model_addvars.html

...