GurobiError: делитель должен быть константой, но я не делю ни на одну переменную - PullRequest
0 голосов
/ 11 февраля 2020

Я оптимизирую очень простую задачу: товары доставить в соответствии со спросом. Моя целевая функция - это соотношение количества доставленных товаров к спросу, потому что я хочу добавить штраф, если доставлено слишком много товаров. Я пишу свою цель:

m.setObjective((quicksum(quicksum((1-x[i,t])/d[i,t] for i in range(D)) for t in range(T)))

, где x[i,t] - это количество предметов, доставленных в точку i в момент t, а d[i,t] - требование точки i в момент времени t, поэтому d[i,t] - это константы, которые я беру из файла Excel. Когда я запускаю скрипт, появляется ошибка "GurobiError: Divisor must be a constant", но я не совсем понимаю, почему, поскольку единственной переменной является x, а d - это массив констант.

Спасибо за помощь

...