Я собираюсь провести оптимизацию, в которой я найду минимальный маршрут между некоторыми узлами поставки и узлами спроса. Для этого у меня есть набор компаний C. Они имеют некоторые узлы поставки и узлы спроса, которые они «контролируют», например, запасы и фабрики. Однако другим компаниям разрешено вычитать продукты из других акций компаний и возвращать их на свои собственные узлы спроса.Набор вещей в AMPL
Для этого я хотел бы определить некоторый набор узлов поставки, с которыми управляет компания c (in C), и некоторые узлы спроса того же типа. Я думаю, что подмножества и т. Д. Не должны быть действительными (если я не ошибаюсь), поскольку он должен включать элементы как в C, так и в эти узлы. В качестве примера я хочу, чтобы компания c в C контролировала узлы поставки I и компанию c2 в C для управления узлами поставки G и так далее. Можно ли это сделать в AMPL?
С уважением, Cenderze
Как можно «объединить» эти наборы? Например, компания c владеет несколькими точками поставки, но мне интересно узнать, является ли это более оптимальным решением, позволяя компании c вычитать предложение, скажем, любой точки поставки в системе, но все же «сохранить принадлежность поставок указанной компании ». Последнее было бы необходимо, например, для создания ограничений на то, сколько запасов может быть вычтено из набора узлов поставки каждой компании. – Cenderze
Вы можете получить набор узлов поставки для всех компаний, используя выражение 'setof'' setof {(c, n) в CompanySupplies} n', если это то, что вы ищете. – vitaut
Аналогично, для индексированного набора 'union {c in C} CompanySupplies [c]' дает набор узлов поставки для всех компаний. – vitaut