Для связи в whatsapp +905441085890

Многопродуктовые потоки в сетях

Многопродуктовые потоки в сетях

Существует немало практических задач о перевозке нескольких различных продуктов, которые должны сохраняться при прохождении по дугам сети. Необходимо иметь возможность различать продукты. Рассмотрим, например, упрошенную задачу транспортировки грех видов фруктов из садов, расположенных в Калифорнии, в магазины, ведущие оптовую торговлю. Предположим, что сады расположены в городах Санта-Барбара, Бейкерсфилд и Сакраменто. В период уборки урожая из этих садов поставляют в различных количествах апельсины, лимоны и лаймы (табл. 5.3).

Многопродуктовые потоки в сетях

По договорному соглашению требуется доставлять в оптовые магазины, расположенные в Денвере, Сиэтле и Канзас-Сити, количество фруктов, указаное в табл. 5.4. Перевозка осуществляется по железной дороге, однако в каждом поезде для фруктов отведено

Многопродуктовые потоки в сетях

ограниченное место. Пропускные способности путей между различными пунктами отправления и пунктами назначения приведены в табл. 5.5. Независимо от вида фруктов данные

Многопродуктовые потоки в сетях

величины задаются числом ящиков, перевозимых в неделю (предполагается, что все фрукты упакованы в ящики одинаковых размеров). Вес каждого ящика, а следовательно, и соответствующие транспортные затраты зависят от вида упакованных в него фруктов. Затраты на транспортировку одного ящика приведены в табл. 5.6.

Многопродуктовые потоки в сетях

Задача определения схемы перевозки фруктов, минимизирующей транспортные затраты, является задачей о многопродуктовом потоке. Характерная особенность такой задачи в том, что по дугам сети протекает несколько неоднородных потоков. При этом суммарный поток всех продуктов по дуге ограничен ее пропускной способностью. Если бы это было не так, то можно было бы для каждого продукта независимо решить минимизационную транспортную задачу. Однако указанные выше ограничения на пропускные способности дуг существенно усложняют решение задачи.

Задачи о многопродуктовом потоке, как и об однопродуктовом потоке, могут быть сформулированы в виде задач линейного программирования. Задача о транспортировке фруктов является примером многопродуктовой транспортной задачи. Обозначим через

Многопродуктовые потоки в сетях поток Многопродуктовые потоки в сетях-го продукта из Многопродуктовые потоки в сетях-го источника в Многопродуктовые потоки в сетях-й сток, а через Многопродуктовые потоки в сетях — стоимость транспортировки единицы этого продукта. Пусть далее Многопродуктовые потоки в сетях и Многопродуктовые потоки в сетях — это соответственно предложение узла Многопродуктовые потоки в сетях и спрос узла Многопродуктовые потоки в сетях для Многопродуктовые потоки в сетях-го продукта, а Многопродуктовые потоки в сетях — пропускная способность дуги Многопродуктовые потоки в сетях. Математическая постановка многопродуктовой транспортной задачи выглядит следующим образом: минимизировать

Многопродуктовые потоки в сетях

при условии, что

Многопродуктовые потоки в сетях

Как и в однопродуктовой транспортной задаче, предполагается, что для каждого продукта суммарное предложение равно суммарному спросу, т.е.

Многопродуктовые потоки в сетях

Во многих задачах, называемых многопродуктовыми задачами о перевозках, вводят промежуточные узлы, т. е. такие узлы, которым не приписывают ни спрос, ни предложение, а только требуют, чтобы для них выполнялось условие сохранения потока.

В качестве одного из таких примеров рассмотрим сеть, изображенную на рис. 5.2. Узлы 1 и 2 являются источниками 1 -го продукта, а узел 2 — источником 2-го продукта. Узел 5 является пунктом назначения для обоих продуктов, а узлы 3 и 4 — промежуточными. Многопродуктовая задача о перевозках может быть сформулирована в виде следующей задачи линейного программирования:

минимизировать

Многопродуктовые потоки в сетях
Многопродуктовые потоки в сетях

при условии, что

Многопродуктовые потоки в сетях

Через А здесь обозначается множество дуг сети.

Одна из трудностей решения задачи о многопродуктовом потоке вызвана тем, что оптимальные решения могут быть нецелочисленными. В качестве примера рассмотрим двухпродуктовуютранспортную задачу, сетевая формулировка которой задана на рис. 5.3. Дугам сети приписаны числа

Многопродуктовые потоки в сетях

Оптимальное решение соответствующей задачи линейного программирования представлено в табл. 5.7.

Многопродуктовые потоки в сетях

Нецелочисленные решения возникают по той причине, что матрицы ограничений в задачах линейного программирования, вообще говоря, не унимодулярны. Напомним, что условие унимодулярности матрицы ограничений является достаточным для существования целочисленных оптимальных решений. Поскольку в задачах об однопродуктовом потоке данное условие выполнено, то для них можно разработать высокоэффективные алгоритмы, в которых по существу выполняются только две операции —

Многопродуктовые потоки в сетях

сложение и вычитание, а такие операции, как, например, деление и обращение матрицы, не требуются. С вычислительной точки зрения арифметические операции с целыми числами выполняются намного быстрее, чем операции, использующие числа (десятичные) с плавающей точкой. Благодаря этому создают программы, позволяющие очень быстро решать задачи большой размерности.

Для задач о многопродуктовом потоке были разработаны специальные алгоритмы, в которых учтены специфика структуры и свойства данного класса задач. Было показано, что эти алгоритмы являются более быстрыми, чем процедуры решения обшей задачи линейного программирования, но значительно более медленными, чем соответствующие алгоритмы задач об однопродуктовом потоке. Детальное изучение этих методов выходит за рамки нашей книги. Однако в настоящей главе мы рассмотрим ряд специальных вопросов, связанных с задачами о многопродуктовом потоке и методами их решения.

Эта теория взята со страницы лекций по предмету «математическое программирование»:

Предмет математическое программирование

Возможно эти страницы вам будут полезны:

Основные направления развития методов решения задач математического программирования
Понятие о параметрическом программировании
Специальный класс целочисленных задач о многопродуктовом потоке
Приближенное решение многопродуктовой транспортной задачи методом агрегирования