Я столкнулся с проблемой, решения которой я не нашел для чтения документации наборов AMPL.
Я хочу смоделировать, что в городе, скажем, Кир, должно быть, например, 9 доставок из другого города, например Сто. Однако эти поставки должны прибывать в Кир на некоторые конкретные терминалы, каждый из которых открыт только на небольшое количество времени (около 2 минут) каждый день. То же самое должно быть верно для исходного узла. Маршрут от Sto должен быть указан с определенного терминала (чтобы в результатах можно было «проследить» путь).
Я начал моделировать, используя операцию «установить V в K» для наборов, но для этого требуется, чтобы V был тем же набором или подмножеством K, где K - это набор, представляющий «узлы» - Kir, Sto и т. Д. on и V - это набор названий терминалов «Терминал1», «Терминал2» и т. д.
Я начал проверять, например, «установить размер K 4», определяемый, например, как:
set K dimension 4;
data;
set K:=
Sto Kir Terminal1 Terminal2
Bod Kir Terminal3 Terminal2;
Где набор K представляет, из какого города (например, Sto) должна осуществляться доставка (например, в Kir), где терминал отправления в Sto - это Terminal1, а терминал доставки в Kir - это Terminal2. У этого есть обратная сторона, заключающаяся в том, что необходимо указывать большое количество комбинаций (только в Kir около 22 терминалов и т. Д.) Вручную. Тогда я тоже не знаю, как моделировать ограничения. Например, набор "одного измерения", который у меня был ранее:
subject to yvar{i in V, j in V}:
sum{k in H} x[i,j,k] <= maxVisits[i,j];
где V - это набор только городов, а H - набор транспортных средств, maxVisits представляет максимальное количество доставок из города i в город j, а x равен 1, если доставка осуществляется из i в j с использованием транспортного средства k. Я не понимаю, как это можно смоделировать, используя четырехмерное множество К.
С уважением,