Я создаю модель линейной оптимизации, используя python, используя пакет целлюлозы. Мне интересно, есть ли простой способ добавить ограничения в модель без большого количества жесткого кодирования каждой переменной. Например ... В настоящее время я использую для l oop для создания следующих установленных ограничений разделения:
for j in range(0,(len(excel_data_df))) :
i = j * 3
OptModel += x[i] + x[i + 1] + x[i + 2] == 1
Это работает для небольших задач. Однако, когда переменная i становится больше, добавление всех индексов в ограничение становится очень трудоемким.
Можно ли будет l oop просмотреть все значения, которые я могу принять, а затем автоматически сгенерировать строку кода OptModel + =? Например, если переменная i равна 100, я бы хотел, чтобы код генерировал следующее без необходимости вручную добавлять каждую переменную x [i].
for j in range(0,(len(excel_data_df))) :
for i in range(0,100)
OptModel += x[0] + x[1] + x[2] + ......+ x[100] == 1