Я пытаюсь смоделировать проблему кросс-дока. Имеет следующие наборы:
j для исходящих грузовиков,
s для сортировочных станций и
l для исходящих доков.
Кроме того, существует двоичная переменная z (j, s), которая равна единице, если Outbound Truck j назначен сортировочной станции s.
Перед расчетом вы должны назначить исходящие доки сортировочным станциям. Для этого я определил подмножество k (s, l). Мой пример выглядит так:
Sets
j /J1*J27/
s /S1*S4/
l /L1*L30/
;
Sets k(s,l)
/S1.(L1,L2,L3,L4,L5,L6)
S2.(L7,L8,L9,L10,L11,L12)
S3.(L13,L14,L15,L16,L17,L18,L19,L20)
S4.(L21,L22,L23,L24,L25,L26,L27,L28,L29,L30)/
Моя проблема состоит в том, чтобы смоделировать следующее уравнение:
Как мне это смоделировать? Я пробовал вот так:
уравнение (я) .. sum(j, z(j,s)) =l= card(k);
но это не работает, потому что «card (k)» не отражает количество исходящих доков, назначенных для станций сортировки. Итак, мой вопрос: можно ли смоделировать оператора карты по подмножествам?
Или кто-нибудь знает другой возможный способ смоделировать это уравнение?