Переход от одного опорного решения к другому

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

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

Доказательство. Опорное решение занимает N = m + n -1 клеток таблицы, которым соответствуют линейно независимые векторы условий. Согласно теореме 6.3 никакая часть занятых клеток не образует цикл. Если же к занятым клеткам присоединить одну свободную, то соответствующие им m + n векторы – линейно зависимые, и по той же теореме существует цикл, очевидно, содержащий эту клетку. Предположим, что таких циклов два Переход от одного опорного решения к другому - student2.ru и Переход от одного опорного решения к другому - student2.ru . Тогда, объединив клетки обоих циклов без свободной клетки Переход от одного опорного решения к другому - student2.ru , получим последовательность клеток

Переход от одного опорного решения к другому - student2.ru , Переход от одного опорного решения к другому - student2.ru ,

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

Означенный цикл

Цикл называется означенным, если его угловые клетки перенумерованы по порядку и нечетным клеткам приписан знак "+", а четным – знак "-" (рис. 6.2).

Переход от одного опорного решения к другому - student2.ru

Рис 6.2

Сдвигом по циклу на величину q называется увеличение объемов перевозок во всех нечетных клетках цикла, отмеченных знаком "+", на q и уменьшение объемов перевозок во всех четных клетках, отмеченных знаком "-", на q.

Теорема 6.7. Если таблица транспортной задачи содержит опорное решение, то при сдвиге по любому циклу, содержащему одну свободную клетку, на величину Переход от одного опорного решения к другому - student2.ru получится опорное решение.

Доказательство. В таблице транспортной задачи, содержащей опорное решение, выберем свободную клетку и отметим ее знаком "+". По теореме 6.6 для этой клетки существует единственный цикл, который содержит часть клеток, занятых опорным решением. Перенумеруем клетки цикла, начиная с клетки, отмеченной знаком "+". Найдем Переход от одного опорного решения к другому - student2.ru и осуществим сдвиг по циклу на эту величину.

В каждой строке и в каждом столбце таблицы, входящих в цикл, две и только две клетки, одна из которых отмечена знаком "+", а другая - знаком "-". Поэтому в одной клетке объем перевозки увеличивается на q, а в другой уменьшается на q, при этом сумма всех перевозок в строке (или столбце) таблицы остается неизменной. Следовательно, после сдвига по циклу по-прежнему и запасы всех поставщиков вывозятся полностью, и запросы всех потребителей удовлетворяются полностью. Так как сдвиг по циклу осуществляется на величину Переход от одного опорного решения к другому - student2.ru , то все объемы перевозок будут неотрицательными. Следовательно, новое решение является допустимым.

Если оставить свободной одну из клеток с нулевым объемом перевозки, соответствующих Переход от одного опорного решения к другому - student2.ru , то число занятых клеток будет равно N = m + n -1.

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

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

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

Пусть для транспортной задачи найдено начальное опорное решение Переход от одного опорного решения к другому - student2.ru и вычислено значение целевой функции на этом решении Переход от одного опорного решения к другому - student2.ru . По теореме 6.6 для каждой свободной клетки таблицы задачи можно построить единственный цикл, который содержит эту клетку и часть клеток, занятых опорным решением. Означив этот цикл и осуществив сдвиг (перераспределение груза) по циклу на величину Переход от одного опорного решения к другому - student2.ru , можно получить новое опорное решение Переход от одного опорного решения к другому - student2.ru .

Определим, как изменится целевая функция при переходе к новому опорному решению. При сдвиге на единицу груза по циклу, соответствующему клетке (l, k), приращение целевой функции Переход от одного опорного решения к другому - student2.ru равняется разности двух сумм

Переход от одного опорного решения к другому - student2.ru ,

где Переход от одного опорного решения к другому - student2.ru – сумма стоимостей перевозок единиц груза в нечетных клетках цикла, отмеченных знаком "+"; Переход от одного опорного решения к другому - student2.ru – сумма стоимостей перевозок единиц груза в четных клетках цикла, отмеченных знаком "-".

В клетках, отмеченных знаком плюс, величины груза прибавляются, что приводит к увеличению значения целевой функции Переход от одного опорного решения к другому - student2.ru , а в клетках, отмеченных знаком "-", величины груза уменьшаются, что приводит к уменьшению значения целевой функции.

Если разность сумм для свободной клетки (l, k) меньше нуля,
т. е. Переход от одного опорного решения к другому - student2.ru , то перераспределение груза величиной q по соответствующему циклу приведет к уменьшению значения Переход от одного опорного решения к другому - student2.ru на величину Переход от одного опорного решения к другому - student2.ru , т. е. опорное решение можно улучшить. Если же величины Переход от одного опорного решения к другому - student2.ru , называемые оценками, для всех свободных клеток таблицы транспортной задачи неотрицательны, то значение целевой функции нельзя уменьшить и опорное решение оптимально. Следовательно, признаком оптимальности распределительного метода является условие

Переход от одного опорного решения к другому - student2.ru . (6.11)

Для решения транспортной задачи распределительным методом необходимо найти начальное опорное решение. Затем для очередной опорной клетки (l, k) построить цикл и вычислить оценку Переход от одного опорного решения к другому - student2.ru . Если оценка неотрицательная, переходят к следующей свободной клетке. Если же оценка отрицательная, следует осуществить сдвиг по циклу на величину Переход от одного опорного решения к другому - student2.ru . В результате получится новое опорное решение.

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

Пример 6.4. Решить распределительным методом транспортную задачу, исходные данные которой приведены в табл. 6.7.

Т а б л и ц а 6.7

Переход от одного опорного решения к другому - student2.ru

Решение. Строим начальное опорное решение методом минимальной стоимости (табл. 6.8).

Т а б л и ц а 6.8

Переход от одного опорного решения к другому - student2.ru

Переход от одного опорного решения к другому - student2.ru

Затем вычисляем значение целевой функции на нем

Переход от одного опорного решения к другому - student2.ru = 20×1 + 30×5 + 10×8 + 40×15 = 850.

Т а б л и ц а 6.9

Переход от одного опорного решения к другому - student2.ru

Находим цикл для свободной клетки (1, 2) таблицы (1, 2), он включает клетки (1, 2), (1, 3), (3, 3), (3, 2). Вычисляем оценку
Переход от одного опорного решения к другому - student2.ru = (3 + 15) - (2 + 8)= 8. Так как Переход от одного опорного решения к другому - student2.ru = 8 > 0, переходим к следующей свободной клетке (2, 1). Для нее цикл таков: (2, 1), (1, 1), (1, 3), (3, 3), (3, 2), (2, 2) (см. табл. 6.8). Оценка Переход от одного опорного решения к другому - student2.ru = (4 + 2 + 8) - (1 + 15 + 5) = 14 - 21 = -7. Так как Переход от одного опорного решения к другому - student2.ru = -7 < 0, определяем величину груза, перераспределяемого по циклу Переход от одного опорного решения к другому - student2.ru . Приращение целевой функции DZ = -7 × 20 = -140. Получаем новое опорное решение Переход от одного опорного решения к другому - student2.ru (табл. 6.9).

Значение целевой функции на нем Переход от одного опорного решения к другому - student2.ru = 20 × 2 + 20 × 4 +
10 × 5 + 30 × 8 + 20 × 15 = 710.

Вычисляем Переход от одного опорного решения к другому - student2.ru = (1 + 15 + 5) - (2 + 8 + 4) = 7 > 0, Переход от одного опорного решения к другому - student2.ru = (3 + 15) - (2 + 8) = 8 > 0, Переход от одного опорного решения к другому - student2.ru = (7 + 8) - (5 + 15) = -5 < 0, Переход от одного опорного решения к другому - student2.ru = (6 + 5) - (4 + 8) = -1 < 0. Оценки можно вычислять до первой отрицательной. Так как Переход от одного опорного решения к другому - student2.ru = -5 < 0, осуществляем сдвиг по циклу (2, 3), (3, 3), (3, 2), (2, 2) на величину Переход от одного опорного решения к другому - student2.ru . Приращение целевой функции DZ = -5×10 = -50. Получаем третье опорное решение Переход от одного опорного решения к другому - student2.ru (табл. 6.10).

Т а б л и ц а 6.10

Переход от одного опорного решения к другому - student2.ru

Значение целевой функции на нем Переход от одного опорного решения к другому - student2.ru = 20 × 2 + 20 × 4 +
10 × 7 + 40 × 8 + 10 × 15 = 660.

Вычисляем оценки для свободных клеток:

Переход от одного опорного решения к другому - student2.ru = (1 + 7) - (2 + 4) = 2 > 0,

Переход от одного опорного решения к другому - student2.ru = (3 + 15) - (2 + 8) = 8 > 0,

Переход от одного опорного решения к другому - student2.ru = (5 + 15) - (7 + 8) = 5 > 0,

Переход от одного опорного решения к другому - student2.ru = (6 + 7) - (4 + 15) = -6 < 0.

Так как Переход от одного опорного решения к другому - student2.ru = -6 < 0, осуществляем сдвиг по циклу (3, 1), (2, 1), (2, 3), (3, 3) на величину Переход от одного опорного решения к другому - student2.ru . Приращение целевой функции DZ = -6 × 10 = -60. Получаем четвертое опорное решение Переход от одного опорного решения к другому - student2.ru (табл. 6.11).

Т а б л и ц а 6.11

Переход от одного опорного решения к другому - student2.ru

Значение целевой функции на нем Переход от одного опорного решения к другому - student2.ru = 20 × 2 + 10 × 4 +
20 × 7 + 10 × 6 + 40 × 8 = 600.

Вычисляем оценки для свободных клеток Переход от одного опорного решения к другому - student2.ru = (1 + 7) - (2 + 4) = 2 > 0, Переход от одного опорного решения к другому - student2.ru = (3 + 7 + 6) - (2 + 4 + 8) = 2 > 0, Переход от одного опорного решения к другому - student2.ru = (5 + 6) - (4 + 8) =
-1 < 0. Так как Переход от одного опорного решения к другому - student2.ru = -1 < 0, осуществляет сдвиг по циклу (2, 2),
(3, 2), (3, 1), (2, 1) на величину Переход от одного опорного решения к другому - student2.ru . Приращение целевой функции DZ = -1×10 = -10. Получаем пятое опорное решение Переход от одного опорного решения к другому - student2.ru (табл. 6.12).

Т а б л и ц а 6.12

Переход от одного опорного решения к другому - student2.ru

Значение целевой функции на нем Переход от одного опорного решения к другому - student2.ru = 20 × 2 + 10 × 5 +
20 × 7 + 20 × 6 + 30 × 8 = 590.

Вычисляем оценки для свободных клеток.

Переход от одного опорного решения к другому - student2.ru = (1 + 7) - (2 + 4) = 2 > 0,

Переход от одного опорного решения к другому - student2.ru = (3 + 7) - (2 + 5) = 3 > 0,

Переход от одного опорного решения к другому - student2.ru = (15 + 5) - (7 + 8) = 5 > 0.

Все оценки для свободных клеток положительные, следовательно, решение оптимально.

Ответ: min Z(X) = 590 при Переход от одного опорного решения к другому - student2.ru .

Наши рекомендации