Вот как вы создаете переменные из заданного списка индексов:
import gurobipy as gp
A = [1,2,3,4]
model = gp.Model()
variables = model.addVars(A, name='A', vtype='B')
После вызова model.update()
вы видите следующие имена / типы переменных:
{1: <gurobi.Var A[1]>,
2: <gurobi.Var A[2]>,
3: <gurobi.Var A[3]>,
4: <gurobi.Var A[4]>}
Это также объяснено в документации . Вы просто повторяете этот процесс для других списков B
, C
и D
.
EDIT
Другая альтернатива - объединить все индексы в одну переменную. Структура выглядит следующим образом:
A = [1,2,3,4]
B = [1,2]
C = [1,2,3]
model = gp.Model()
variables = model.addVars(A, B, C, vtype='B')
Вы бы получили доступ к этим переменным следующим образом:
variables[1,2,1]