Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_ Мат моделирование.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.29 Mб
Скачать

3.2. Модель грузоперевозок региональной транспортной компании

3.2.1. Постановка задачи. Рассмотрим деятельность региональной транспортной компании, специализирующейся на перевозках одного определённого продукта. Имеется n различных географических мест, в каждом из которых находится поставщик (или непосредственно производитель) продукта, располагающий запасом этого продукта в объёме ai, i=1,2,…,n. В других различных m местах, удалённых от поставщиков, имеются потребители этого продукта в объёмах bj, j=1,2,…m. Для поставщиков и потребителей продукт – товар, имеющий рыночную цену. Для транспортной компании продукт – груз, перевозка которого также имеет цену. Компания рассматривает поставщика как отправителя, а потребителя – как получателя груза.

Обозначим xij количество груза, перевозимого от i-го отправителя к j-му получателю, xij>0. Известна матрица С внутренних цен (себестоимостей) перевозок cij – стоимостей доставки единицы количества груза от от i-го отправителя к j-му получателю. Суммарные затраты на перевозку всех грузов . Цель компании – учитывая запросы потребителей и производителей продукта в его количествах, минимизировать затраты V при естественных ограничениях для xij. Возможные ситуации таковы.

а) Предложение и спрос на продукт строго сбалансированы: .

В этом случае – количество продукта, поставленного из i-го пункта всем потребителям, равно запасу i-го пункта; – количество продукта, поставленное из всех мест j-му потребителю, равно запросу j-го потребителя. Возникает так называемая замкнутая транспортная задача:

б) Предложение продукта превышает спрос (запас больше потребностей), . В этом случае – из i-го пункта вывозится не больше продукта, чем его имеется, а из некоторых пунктов - даже меньше, чем его имеется; – запрос каждого потребителя удовлетворяется полностью. Получаем естественную открытую транспортную задачу.

в) Спрос продукта превышает его предложение, . Здесь – из каждого i-го пункта вывозится весь продукт, – не каждый потребитель удовлетворяет свой запрос на продукт. Возникает открытая транспортная задача с дефицитом. Ниже представлены формулировки этих задач:

б) в)

3.2.2. Решение замкнутой транспортной задачи. Надо найти матрицу оптимального плана Х*, если известны ai, bj , cij ; .

Данные : Ищется матрица Х*:

(элементы матриц находятся в квадратиках)

Задача решается в два этапа, как и в задаче линейного программирования. Вначале ищется опорный план, близкий к оптимальному. Затем проводится процедура улучшения опорного плана вплоть до оптимального.

а) Поиск опорного плана. Имеем пустую матрицу-таблицу опорного плана , окаймлённую внизу строкой потребностей, а справа – столбцом наличия продукта. Будем искать методом наименьших элементов матрицы цен перевозок. Для этого в матрице С выбирается наименьший элемент сij (то есть выбирается самая дешёвая перевозка между i-ым пунктом отправления и j-ым пунктом доставки). Если , то заполнение опорного плана начинается с присвоения . Таким образом, вся потребность j-го потребителя покрывается перевозкой продукта из i-го пункта. Тогда все остальные элементы j-го столбца заполняются нулями (не требуется вывоз продукта к j-му потребителю из других мест). Внизу в строке потребностей заменяется нулём, в столбце наличия из вычитается (рисунок 10).

Рисунок 10. Начальный этап построения матрицы опорного плана , случай ; на рисунке х22 = , .

Если , то хij = В столбце наличия продуктов заменяется нулём (весь продукт из i-ого пункта вывезен j-му потребителю). Потребность j-го потребителя уменьшается на величину . Все элементы i-ой строки, кроме хij, заполняются нулями (нечего больше поставить потребителям из i-ого пункта) (рисунок 11).

Рисунок 11. Начальный этап Рисунок 12. Пример опорного плана .

построения опорного плана , ;

на рисунке х22 = , хij =0, j ≠ 2.

Снова просматривается уменьшенная на одну строку (или один столбец) матрица С. Снова среди оставшихся элементов выбирается наименьший, обозначим его cks. По той же схеме находится соответствующий элемент хks опорного плана , остальные элементы строки (столбца) заполняются нулями. Затем процедура снова повторяется. В конце остаётся один нулевой в строке потребителей и один ненулевой в столбце наличия, причём . Последний ненулевой элемент матрицы : . Строка потребностей и столбец наличия заполнены нулями. Получен опорный план , часть элементов которого – нули. На рисунке 12 показан пример плана . В соответствии с ним внутренняя стоимость всех перевозок равна:

.

б) Улучшение опорного плана вплоть до оптимального. Опорный план подвергается «шевелению» путём приращения бывших в опорном плане нулевых компонент и соответствующего уменьшения ненулевых компонент. На изменённом плане подсчитывают суммарные затраты V++ на перевозки. Если V++ на изменённом плане меньше V+ на исходном опорном плане, то изменённый план X++ принимается за новый опорный, и он снова подвергается процедуре «шевеления». Если «шевеление» всех нулей очередного опорного плана X+…+ не приводит к уменьшению V+…+, то X+…+ и есть оптимальный план, X+…+= X+, V*=V(X+…+)= V++.

Конкретно процедура «шевеления» опорного плана – это оценка прироста транспортных затрат (ПТЗ) при перераспределении груза на единицу количества. В этом случае стоимости изменённых количеств численно являются ценами перевозок.

Каждый нуль в матрице опорного плана исследуется на ПТЗ. Для этого в матрице строится замкнутый контур, начинающийся и заканчивающийся в исследуемом нуле. Все вершины контура, за исключением первой (нулевой) должны быть ненулевыми элементами матрицы Х. Линии контура проходят через строки и столбцы; линии могут самопересекаться.

Проходя по замкнутому контуру от нулевой вершины к ней же, складывают цены перевозок, соответствующие вершинам многоугольника. Первая цена (соответствующая нулевому элементу) берётся со знаком (+), следующая по контуру – со знаком (–), следующая цена берётся со знаком (+) и так далее. Если суммарный ПТЗ < 0, то «шевеление» данного нуля (привлечение в план перевозок нового маршрута) оказалось успешным, так как приводит к удешевлению перевозок.

Пусть ПТЗ < 0 для данного контура. Среди вершин, соответствующих отрицательным ценам, выбирается вершина с наименьшим по значению элементом. Это значение вычитается из всех элементов, привязанных к отрицательным ценам, и добавляется ко всем элементам, соответствующих положительным ценам контура. На контуре возникает новый нуль, старый нуль заполняется положительным значением. Так образуется новый опорный план, частично изменённый по отношению к старому. Его снова улучшают по рассматриваемому методу оценки ПТЗ. Так продолжается до тех пор, пока ПТЗ для всех нулей последнего плана не станет неотрицательным. Тогда последний опорный – оптимальный. Для каждого опорного плана подсчитывается его стоимость V. Должны выполняться оценки:

V+> V++>…> V+…+= V* .

На рисунке 13 показан пример перехода к новому опорному плану; предполагается, что нуль, расположенный во второй строке и во втором столбце, имеет ПТЗ < 0.

Рисунок 13. Построение нового опорного плана на основе нуля, находящегося во второй строке и втором столбце старого плана, обеспечивающего ПТЗ < 0.

Замечания. Каждому нулю в опорном плане Х отвечает ровно один замкнутый контур, если число всех ненулевых элементов равно m+n– 1. Если же ненулевых элементов меньше, то найдутся нули, для которых нельзя построить никакого контура. Такая ситуация может сложиться на этапе а) построения опорного плана, когда в процессе построения очередная самая дешёвая цена сij такова, что , то есть, сразу удовлетворены и поставщик, и потребитель продукта, поэтому нули заполняют строку и столбец одновременно. Надо обойти цену сij , выбрать следующую по дешевизне цену сfg. Ещё один способ уменьшения нулей – при улучшении опорного плана вычитать из отрицательных элементов-вершин контура не весь наименьший элемент, а только его часть.