Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema_6.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
733.7 Кб
Скачать

Определение оптимального плана транспортной задачи

Теорема (Критерий оптимальности для транспортной задачи). Опорный план распределение поставок ТЗ является оптимальным тогда и только тогда, когда оценки всех свободных клеток неотрицательны.

Для определения оценок свободных клеток используют два взаимозаменяемых метода: распределительный и потенциалов.

Распределительный метод решения транспортной задачи

Сущность распределительного метода решения транспортной задачи состоит в том, чтобы составленный исходный опорный план путем последовательного улучшения довести до оптимального.

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

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

Циклом пересчета в таблице перевозок называется последовательность неизвестных , удовлетворяющая следующим условиям:

  1. одно из неизвестных последовательности свободное, а все остальные – базисные;

  2. каждые два соседних в последовательности неизвестных лежат либо в одном столбце, либо в одной строке;

  3. три последовательных неизвестных не могут находиться в одном столбце или в одной строке;

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

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

Клетки, в которых цикл осуществляет поворот, называются клетками цикла или вершинами. Клетки, через которые проходит ломаная линия, не делая в них поворота, называются транзитными, и имеющиеся в них поставки не участвуют в процессе перераспределения груза.

Конфигурация цепочек в цикле может быть самая разная: от простейшей в виде квадрата до сложных многоугольных фигур.

Так как в цикл включаются только те занятые клетки, которые находятся на углах цепочки, то количество этих клеток всегда четное.

При правильном построении опорного плана для любой свободной клетки можно построить единственный цикл пересчета.

Каждой клетке цикла соответствует определенный коэффициент целевой функции - cij. Если изменить значение свободного неизвестного, увеличив его на некоторое число x, то, переходя последовательно от одной вершины цикла к другой, необходимо в силу неизменности сумм по строкам и по столбцам поочередно уменьшать и увеличивать значения неизвестных в цикле на то же число x.

Пусть для некоторой свободной клетки (i; j) построен цикл. Расставим чередующиеся знаки «+» и «–» , начиная с «+» в свободной клетке, для которой этот цикл строится, и, осуществляя обход цикла (в любом направлении), подсчитаем при этом алгебраическую сумму тарифов клеток цикла, которую назовем оценкой свободной клетки (i; j).

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

Например, мы имеем матрицу исходного плана предыдущей транспортной задачи, в которой распределение поставок выполнено методом аппроксимации Фогеля.

После составления исходного плана его необходимо проверить на вырожденность. В транспортной задаче вырождение появляется при числе занятых клеток меньшем, чем m+n-1, где m- число поставщиков, а n – число потребителей. В нашем случае количество занятых клеток должно быть равно 3+4-1=6, что соответствует фактически полученному плану. Следовательно, план является невырожденным и может быть оптимизирован.

Проверим возможность перераспределения грузов за счет пустых клеток. Проверка выполняется следующим образом. Через пустую клеточку (1; 1) (первая строка первый столбец) строим цепочку (замкнутый контур) так, чтобы на одном углу была пустая клетка (1; 1), а на других занятые клетки. Такой цепочкой будет ломаная линия, проходящая через клетки (1; 1) – (1; 4) – (3; 4) – (3; 1) – (1; 1).

Поставщики

Потребители

Запасы поставщиков,

B1

B2

B3

B4

A1

7

2

170

4

150

8

20

340

A2

8

9

6

5

200

200

A3

3

120

5

7

2

40

160

Спрос потребителей,

120

170

150

260

Производим численную оценку цепочки (замкнутой цепи). Для этого всем угловым клеткам придаются алгебраические знаки «+» или «-». Свободной клетке всегда присваивается знак «+», далее знаки чередуются.

Затем определяем сумму стоимостей перевозки по всем клеткам данной цепочки с учетом знака.

Для клетки (1; 1) она составит: Δ11 = +7–8+2–3 = –2. Результат показывает, что улучшить план перевозок можно за счет клетки (1; 1), при этом перераспределение единицы груза в эту клеточку обеспечивает снижение целевой функции на 2 единицы стоимости.

Рассмотрим возможность улучшения исходного плана за счет других клеток. Цепочки для свободных клеток и их алгебраические суммы затрат на перевозку грузов с учетом знаков будут следующими:

Клетка (2; 1): (2; 1) – (2; 4) – (3; 4) – (3; 1) – (2; 1)

Δ21 = +8–5+2–3 = +2

Клетка (2; 2): (2; 2) – (1; 2) – (1; 4) – (2; 4) – (2; 2)

Δ22 = +9–2+8–5 = +10

Клетка (2; 3): (2; 3) – (1; 3) – (1; 4) – (2; 4) – (2; 3)

Δ23 = +6–4+8–5 = +5

Клетка (3; 2): (3; 2) – (1; 2) – (1; 4) – (3; 4) – (3; 2)

Δ32 = +5–2+8–2 = +9

Клетка (3; 3): (3; 3) – (1; 3) – (1; 4) – (3; 4) – (3; 3)

Δ33 = +7–4+8–2 = +9

Полученные результаты показывают, что улучшить план грузоперевозок можно только за счет клетки (1; 1).

Переопределение достигается за счет сдвига по циклу пересчета. Суть сдвига заключается в следующем. Если в качестве x выбрать наименьшее из чисел, стоящих в вершинах, снабженных знаком «–», то, по крайней мере, одно из прежних базисных неизвестных примет значение нуль, и мы можем перевести его в число свободных неизвестных, сделав вместо него базисным то неизвестное, которое было свободным.

Для этого необходимо в клетках цепочки со знаком «–» выбрать клетку с наименьшим объемом перевозки . На эту величину уменьшаем все клетки цепочки, имеющие знак «–» и увеличиваем все клетки, включая свободную, имеющие знак «+». Общая сбалансированность плана при этом не изменится, а общая сумма затрат на перевозку уменьшится.

Замечание: Если минимальная поставка отрицательных клеток цикла находится в двух или более клетках, то при перераспределении получаем вырожденный опорный план и в этом случае, прежде чем проверить план на оптимальность следует перейти к невырожденному.

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

Поставщики

Потребители

Запасы поставщиков,

B1

B2

B3

B4

A1

7

20

2

170

4

150

8

340

A2

8

9

6

5

200

200

A3

3

100

5

7

2

60

160

Спрос потребителей,

120

170

150

260

Для первоначального плана целевая функция по цепочке составляла:

Z = 2170 + 4150 + 820 + 5200 + 3120 + 240 = 2540 ед.,

а по новому плану: Z = 720 + 2170 + 4150 + 5200 + 3100 + 260 = 2500ед.

Новое распределения товара снова проверяем на возможность улучшения.

Оптимизация продолжается до тех пор, пока не останется ни одной клетки в пределах данной матрицы, за счет которой можно было бы оптимизировать план.

Данный метод сравнительно трудоемкий, он требует большого количества вычислений. В нашем примере в матрице 12 клеток из них 6 свободных, требующих проверки на оптимальность, если бы в матрице было 10 поставщиков и 10 потребителей, то количество занятых клеток было бы 19, а свободных 81. В матрице 20х20 занятых клеток 39, а свободных 361. Проверка такого количества клеток на оптимальность вручную является очень сложной.

Рассмотрим наиболее часто используемый метод потенциалов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]