Я новичок в интерфейсе Gurobi Python.Было бы здорово, если бы кто-нибудь направил меня к этой проблеме.
Я хочу создать переменную Binary Decision, используя интерфейс Python.
Двоичная переменная, обозначаемая $ X_ {k, u, i, j} $ - указывает, обработана или нет задача j устройства i пользователя u во временном интервале k.1 = обработано, 0 = не обработано.
Я пытался так, но не смог получить желаемый результат.
x = m.addVars(time_slots, users, appliances, task_appliances, vtype = GRB.BINARY, name = 'x')
Выход
x [k1, u1, стиральная машина, стиральная машина], x [k1, u1, стиральная машина, сушилка]
Where
time_slots = ['k1', 'k2','k3', 'k4', 'k5', 'k6', 'k7', 'k8', 'k9', 'k10']
users = ['u1', 'u2', 'u3', 'u4', 'u5']
appliances = ['washingmachine', 'dryer', 'dishwasher', 'refrigerator', 'gashob1', 'gashob2']
task_appliances = {'washingmachine':['movement', 'heating','washing', 'cooling', '1strinse', '2ndrinse', '3rdrinse'], 'dryer': ['drying1', 'drying2', 'drying3', 'drying4', 'drying5', 'drying6', 'drying7', 'drying8'], 'dishwasher': ['movement', 'heating', 'wash', '1strinse', 'drain', 'heating','2ndrinse', 'drain_and_dry'], 'refrigerator': ['cooling1', 'cooling2', 'cooling3', 'cooling4','cooling5', 'cooling6', 'cooling7','cooling8', 'cooling9', 'cooling10'],'gashob1':['heating'], 'gashob2':['heating']}
Как создать двоичную переменную, представляющую x[k1,u1,washingmachine, movement], x[k1,u1,washingmachine, heating]
, .., как это для всех задач стиральной машины, и x[k1,u1,dryer, drying1], x[k1,u1,dryer, drying2]
, .., как это для всех задач сушки и т. Д. Для всех приборов.