Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnovy_Sist_analiza.doc
Скачиваний:
5
Добавлен:
06.12.2018
Размер:
1.17 Mб
Скачать

4.4. Алгоритм последовательного улучшения опорного плана перевозок

Предполагается, что транспортная задача решается на минимум целевой функции.

  1. Осуществляется выбор перспективной клетки с наибольшей по модулю отрицательной оценкой:

– перспективная клетка.

  1. Строится цикл, исходная вершина которого находится в перспективной клетке, а остальные – в занятых клетках.

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

Перемещаясь от перспективной клетки по строке или столбцу, проводим линию до любой занятой клетки и, делая поворот на 90 , снова проводим ее до следующей занятой клетки. Эта процедура продолжается до тех пор, пока цикл не замкнется в перспективной клетке.

  1. В вершинах цикла расставляются чередующиеся знаки «+» и «–», начиная с перспективной, в которой ставится знак «+».

  2. Определяется число α как минимальный объем груза среди клеток цикла с отрицательными вершинами (в отрицательной полуцепи цикла).

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

  1. В перспективную клетку (i, j)* вписывается значение α; в цикле осуществляется перераспределение на эту величину.

Число α прибавляется к перевозкам, если они соответствуют положительно отмеченным клеткам цикла, и вычитается в противном случае.

В результате преобразования перспективная клетка становится занятой, а клетка, которая определила число α – свободной.

  1. Строится новая распределительная таблица, вычисляются потенциалы и характеристики, проверяется оптимальность плана.

Таким образом, решение транспортной задачи сводится к следующим действиям.

    1. Построение первоначального опорного плана (методом северо-западного угла или методом наилучшего элемента).

    2. Вычисление потенциалов поставщиков и потребителей, а также вычисление оценок (характеристик) свободных клеток.

    3. Проверка условия оптимальности.

    4. Последовательное улучшение опорного плана до получения оптимального.

4.5. Типовой пример

Дана следующая содержательная постановка задачи.

С четырех складов необходимо организовать перевозку груза на три строительных участка. Общее количество груза на складах (в тоннах), потребности участков (в тоннах), а также стоимость перевозки одной тонны груза от каждого склада к каждому участку (в ден. ед.) представлены в таблице2.

Таблица 2

Склады

Участки

Наличие на складах

1-й

2-й

3-й

I-й

40

70

20

8000

II-й

10

20

30

5000

III-й

20

40

10

10000

IV-й

30

20

50

7000

Потребности участков

12000

9000

9000

30000

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

При решении использовать метод потенциалов.

Решение.

Составим математическую модель задачи.

Обозначим xij – количество груза, перевозимое из i-го склада на j строительный участок, i = 1, 2, 3, 4; j = 1, 2, 3 (таблица 3).

Таблица 3

Склады

Участки

Наличие на складах

1-й

2-й

3-й

I-й

x11 40

x12 70

x13 20

8000

II-й

x21 10

x22 20

x23 30

5000

III-й

x31 20

x32 40

x33 10

10000

IV-й

x41 30

x42 20

x43 50

7000

Потребности участков

12000

9000

9000

30000

Составим ограничивающие условия:

  1. С каждого склада должен быть вывезен весь груз:

x11 + x12 + x13 = 8000;

x21 + x22 + x23 = 5000;

x31 + x32 + x33 = 10000;

x41 + x42 + x43 = 7000.

  1. Потребности всех строительных участков должны быть удовлетворены:

x11 + x21 + x31 + x41 = 12000;

x12 + x22 + x32 + x42= 9000;

x13 + x23 + x33 + x43= 9000.

  1. Обратные перевозки невозможны:

xij  0, i = 1, 2, 3, 4; j = 1, 2, 3.

Общие транспортные расходы выразятся двойной суммой произведений тарифов на общее количество перевозимого груза:

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

Составим первоначальный опорный план методом наилучшего элемента.

В таблице определяем клетку с минимальной стоимостью. Таких клеток две: (2; 1) и (3; 3) (минимальная стоимость перевозки c21 = c33 = 10).

Построение первоначального плана выгоднее начать с заполнения клетки (3; 3), поскольку в нее можно вписать больший объем перевозок 9000 т, чем в клетку (2; 1), где максимально возможный объем перевозок составит 5000 т. Записываем x33 = 9000 т (min {9000; 10000}). Потребности третьего участка полностью удовлетворены, поэтому прочеркиваем оставшиеся клетки третьего столбца. На третьем складе осталось 10000 – 9000 = 1000 т.

В таблице снова выбираем клетку с минимальной стоимостью – клетку (2; 1) и записываем величину x21 = min {12000; 5000} = 5000. Возможности второго склада полностью исчерпаны, поэтому прочеркиваем вторую строку. Первому участку необходимо допоставить 12000 – 5000 = 7000 т.

В оставшейся таблице снова выбираем клетку с минимальной стоимостью, в которую можно вписать больший объем перевозок: (4; 2),

x42 = min {9000; 7000} = 7000. Возможности четвертого склада исчерпаны – прочеркиваем клетку (4; 1). Второму участку необходимо допоставить 9000 – 7000 = 2000 т.

Наименьшую стоимость перевозки содержит клетка (3; 1). Поэтому

x31 = min {7000; 1000} = 1000 т. Возможности третьего склада исчерпаны – прочеркиваем клетку (3; 2). Первому участку необходимо допоставить 7000 – 1000 = 6000 т. Далее заполняем клетку (1; 1): x11 = min {6000; 8000} = 6000 т. На первом складе осталось 8000 – 6000 = 2000 т. И, наконец, в оставшуюся клетку (1; 2) вписываем величину x12 = 2000.

Построение первоначального опорного плана показано в таблице 4.

Таблица 4

Склады

Участки

Наличие на складах

1-й

2-й

3-й

I-й

6000 40

2000 70

20

8000

II-й

5000 10

20

30

5000

III-й

1000 20

40

9000 10

10000

IV-й

30

7000 20

50

7000

Потребности участков

12000

9000

9000

30000

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

Для проверки плана на оптимальность вычислим потенциалы строк ui и столбцов vj.

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

Таблица 5

vj

ui

+

Участки

Склады

1 – й

2 –й

3 –й

Наличие

на складах

v1 = 40

v2 = 70

v3 = 30

I–й

u1 = 0

6000 40

2000 70

20

8000

II-й

u2 = 30

5000 10

20

30

5000

III-й

u3 = 20

1000 20

40

9000 10

10000

IV-й

u4 = 50

30

7000 20

50

7000

Потребности

участков

12000

9000

9000

30000

Построим систему потенциалов, используя условие vj ui = cij для каждой занятой клетки:

v1 u1 = 40;

v1 u2 = 10;

v1 u3 = 20;

v2 u1 = 70;

v2 u4 = 20;

v3 u3 = 10.

Так как количество уравнений на одно меньше, чем неизвестных, то система неопределенна и имеет бесконечное множество решений. Поэтому полагаем u1 = 0 и находим все значения потенциалов.

Учитывая, что u1 = 0, найдем значение потенциала первого столбца:

v1 = c11 + u1 = 40 + 0 = 40.

Аналогично определяем значение потенциала второго столбца:

v2 = c12 + u1 = 70 + 0 = 70.

Используя найденное значение потенциала v1 и известную величину c21, определяем u2:

u2 = v1 c21 = 40 – 10 = 30.

Таким же образом вычисляем значение потенциала третьей строки u2:

u3 = v1 c31 = 40 – 20 = 20.

Потенциал третьего столбца v3 определяем по известным значениям

u3 = 20 и c33 = 10:

v3 = c33 + u3 = 10 + 20 = 30.

Потенциал четвертой строки u4 найдем, используя значения v2 = 70 и

c42 = 20:

u4 = v2 c42 = 70 – 20 = 50.

Значения потенциалов записываем в распределительную таблицу (таблица 5).

Для проверки опорного плана на оптимальность вычислим оценки свободных клеток wij по формуле: wij = cij – (vj ui).

w13 = c13 – (v3 u1) = 20 – (30 – 0) = –10;

w22 = c22 – (v2u2) = 20 – (70 – 30) = –20;

w23 = c23 – (v3u2) = 30 – (30 – 30) = 30;

w32 = c32 – (v2u3) = 40 – (70 – 20) = –10;

w41 = c41 – (v1 u4) = 30 – (40 – 50) = 40;

w43 = c43 – (v3 u4) = 50 – (30 – 50) = 70.

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

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

min {w13 = –10, w22 = –20, w32 = –10} = w22.

Индексы такой оценки определяют перспективную клетку (2; 2)*, которую необходимо ввести в план.

Строим цикл, выбирая клетку (2; 2) в качестве исходной вершины. Двигаясь по этой строке до занятой клетки (2; 1), поворачиваем на 90° вверх и продолжаем двигаться вдоль первого столбца до занятой клетки (1; 1). Снова делаем поворот на 90° и переходим к клетке (1; 2). Затем, повернув на 90°, возвращаемся к исходной клетке (2; 2).

Таким образом, получили цикл (2; 2) * – (2; 1) – (1; 1) – (1; 2).

Присваиваем вершинам цикла чередующиеся знаки, начиная с перспективной клетки, которой присваиваем знак «+».

Среди клеток с отрицательными вершинами определяем величину α как минимальный объем груза:

α = min {2000; 5000} = 2000 т.

На эту величину производим перераспределение:

x12 = 2000 – 2000 = 0;

x22 = 0 + 2000 = 2000;

x21 = 5000 – 2000 = 3000;

x11 = 6000 + 2000 = 8000.

Получаем новый план перевозок.

Целевая функция для нового плана составит:

z = 40∙8000 + 10∙3000 + 20∙2000 + 20∙1000 + 10∙9000 + 20∙7000 = 640000 (ден. ед.).

Составляем следующую распределительную таблицу (таблица 6).

Таблица 6

vj

ui

+

Участки

Склады

1 – й

2 –й

3 –й

Наличие

на складах

v1 = 40

v2 = 50

v3 = 30

*

I–й

u1 = 0

8000 40

70

20

8000

+

II-й

u2 = 30

3000 10

2000 20

30

5000

III-й

u3 = 20

1000 20

40

9000 10

10000

IV-й

u4 = 30

30

7000 20

50

7000

Потребности

участков

12000

9000

9000

30000

Вычисляем потенциалы строк и столбцов из системы уравнений для занятых клеток:

v1u1 = 40;

v1u2 = 10;

v2u2 = 20;

v1u3 = 20;

v3u3 = 10;

v2u4 = 20.

Полагая u1 = 0, найдем значения потенциалов:

v1 = 40 + u1 = 40 + 0 = 40;

u2 = v1 – 10 = 40 – 10 = 30;

v2 = 20 + u2 = 20 + 30 = 50;

u3 = v1 – 20 = 40 – 20 = 20;

v3 = 10 + u3 = 10 + 20 = 30;

u4 = v2 – 20 = 50 – 20 = 30.

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

w12 = c12 – (v2 u1) = 70 – (50 – 0) = 20;

w13 = c13 – (v3 u1) = 20 – (40 – 0)= –20;

w23 = c23 – (v3 u2) = 30 – (40 – 30) = 20;

w32 = c32 – (v2 u3) = 40 – (50 – 20) = 10;

w41 = c41 – (v1 u4) = 30 – (40 – 30) = 20;

w43 = c43 – (v3 u4) = 50 – (40 – 30) = 40.

Оценка w13 = –20 отрицательна. Следовательно, полученный опорный план не является оптимальным и может быть улучшен за счет перераспределения груза.

Клетка (1; 3)* – перспективная.

Строим цикл: (1; 3)* – (3; 3) – (3; 1) – (1; 1).

Присваиваем чередующиеся знаки «+» и «–», начиная с перспективной

клетки.

Находим величину перераспределения груза:

α = min {8000; 9000} = 8000 т.

Производим перераспределение груза в вершинах цикла:

x11 = 8000 – 8000 = 0;

x13 = 0 + 8000 = 8000;

x33 = 9000 – 8000 = 1000;

x31 = 1000 + 8000 = 9000.

Определим значение целевой функции для полученного опорного плана:

z = 20∙8000 + 10∙3000 + 20∙2000 + 20∙9000 + 10∙1000 + 20∙7000 = 560000 (ден. ед.).

Составляем следующую распределительную таблицу (таблица 7):

Таблица 7

vj

ui

Участки

Склады

1 – й

2 –й

3 –й

Наличие

на складах

v1 = 30

v2 = 40

v3 = 20

I–й

u1 = 0

40

70

8000 20

8000

II-й

u2 = 20

3000 10

2000 20

30

5000

III-й

u3 = 0

9000 20

40

1000 10

10000

IV-й

u4 = 20

30

7000 20

50

7000

Потребности

участков

12000

9000

9000

30000

Вычислим потенциалы строк и столбцов из системы уравнений для занятых клеток:

v3 u1 = 20;

v1 u2 = 10;

v2 u2 = 20;

v1 u3 = 20;

v3 u3 = 10.

v2 u4 = 20.

Полагая u1 = 0, найдем значения потенциалов:

v3 = 20 + u1 = 20 + 0 = 20;

u3 = v3 – 10 = 20 – 10 = 10;

v1 = 20 + u3 = 20 + 10 = 30;

u2 = v1 – 10 = 30 – 10 = 20;

v2 = 20 + u2 = 20 + 20 = 40;

u4 = v2 – 20 = 40 – 20 = 20.

Вычислим оценки свободных клеток полученной таблицы:

w11 = c11 – (v1 u1) = 40 – (30 – 0) = 10;

w12 = c12 – (v2 u1) = 70 – (40 – 0) = 30;

w23 = c23 – (v3 u2) = 30 – (20 – 20) = 30;

w32 = c32 – (v2 u3) = 40 – (40 – 10) = 10;

w41 = c41 – (v1 u4) = 30 – (30 – 20) = 20;

w43 = c43 – (v3 – u4) = 50 – (20 – 20) = 50.

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

.

Минимальные транспортные затраты для оптимального плана составляют zmin = 560000 ден. ед.

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