Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы решения задач оптимизации. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
7.2. Построение начального решения
71
Таблица 7.5
Потребители
Предложение
1 2 3
4
(Остатки)
Поставщики
1
2 8 7 8 2 6
20 12 4
2
4 6 5 8
10
3
8 1 3 3
10
Спрос
(Остатки)
0
0
10
14
Таблица 7.6
Потребители
Предложение
1 2 3
4
(Остатки)
Поставщики
1
2 8 7 8 2 4 6
0
2
4 6 5 8
10
3
8 1 3 3
10
Спрос
(Остатки)
0 0 10 6
14
Из двух вариантов мы выбираем минимальный, ставим объем пере­возки в ячейке х23 равным 6, вычеркиваем вторую строку, так как мы пол­ностью реализовали предложение и переходим к следующей справа ячей­ке (табл. 7.7).
Таблица 7.7
Потребители
Предложение
1 2 3
4
(Остатки)
Поставщики
1
2 8 7 8 2 4 6
0
2
4 6 5 6 8
10 4
3
8 1 3 3
10
Спрос
(Остатки)
0 0 0
14
7. Транспортные модели
72
Остаточный объем предложения в первой строке равен 4, а макси-
мальный объем спроса в третьем столбце – 14. Из двух вариантов мы вы­бираем минимальный, ставим объем перевозки в ячейке х24 равным 4, вы­черкиваем вторую строку, так как мы полностью реализовали предложе­ние и переходим вниз, к следующей ячейке столбца 4 (табл. 7.8).
Таблица 7.8
Потребители
Предложение
1 2 3
4
(Остатки)
Поставщики
1
2 8 7 8 2 4 6
0
2
4 6 5 6 8
4
0
3
8 1 3 3
10
Спрос
(Остатки)
0 0 0
14 10
В нашей транспортной таблице остались невычеркнутыми только
один столбец и одна строка. Назначаем в ячейку х34 весь остаток товара (грузов) – 10 единиц. В результате мы построили начальное базисное ре­шение (опорный план) (табл. 7.9).
Таблица 7.9
Потребители
1 2 3
4
Поставщики
1
2 8 7 8 2 4 6
2
4 6 5 6 8
4
3
8 1 3 3
10
Получено следующее начальное базисное решение:
x11 = 8, x12 = 8, x13 = 4, x23 = 6, x24 = 4, x34 = 10.
Соответствующая суммарная стоимость перевозок равна
f = 82 + 87 + 42 + 65 + 48 + 103 = 172.
7.2. Построение начального решения
73
МЕТОД НАИМЕНЬШЕЙ СТОИМОСТИ
(метод минимального элемента)
Данный метод находит лучшее начальное решение, чем метод севе­ро-западного угла, поскольку выбирает переменные, которым соответству­ют наименьшие стоимости. В транспортной таблице выбирается ячейка с наименьшей стоимостью перевозки и этой ячейке присваивается наиболь­шее значение, допускаемое ограничениями на спрос и предложение. Стол­бец или строка с полностью удовлетворенным спросом (реализованным предложением) вычеркивается и соответствующим образом корректируют­ся значения спроса и предложений. Если одновременно выполняются огра­ничения и по спросу, и по предложению, вычеркивается или строка, или столбец (точно так же, как в методе «северо-западного угла»). Затем среди невычеркнутых ячеек выбирается новая ячейка с минимальной стоимостью. Описанный процесс продолжается до тех пор, пока в таблице не останется лишь одна невычеркнутая строка или столбец.
Пример 7.3. Рассмотрим построение начального базисного реше- ния методом наименьшей стоимости на примере.
Пусть задана транспортная таблица (см. табл. 7.3). Выбираем ячей­ку с минимальной стоимостью перевозки. Это ячейка х32. Максимальный объем предложения в третьей строке равен 10, а максимальный объем спроса во втором столбце – 8. Из двух вариантов мы выбираем минималь­ный, ставим объем перевозки в ячейке х32 равным 8, вычеркиваем второй столбец, так как мы полностью удовлетворили спрос (табл. 7.10).
Таблица 7.10
Потребители
Предложение
1 2 3
4
(Остатки)
Поставщики
1
2 8 7 2 6
20
2
4 6 5 8
10
3
8 1 8 3 3
10 2
Спрос
(Остатки)
8 0 10
14
7. Транспортные модели
74
В невычеркнутой части таблицы ищем ячейку с минимальной
стоимостью перевозки. Это ячейки х11 и х13. Можно выбрать любую из них. Например, выбираем ячейку х11. Максимальный объем предложе­ния в первой строке равен 20, а максимальный объем спроса в первом столбце – 8. Из двух вариантов мы выбираем минимальный, ставим объ­ем перевозки в ячейке х11 равным 8, вычеркиваем первый столбец, так как мы полностью удовлетворили спрос (табл. 7.11).
В невычеркнутой части таблицы ищем ячейку с минимальной сто-
имостью перевозки. Это ячейка х13.
Таблица 7.11
Потребители
Предложение
1 2 3
4
(Остатки)
Поставщики
1
2 8 7 2 6
20 12
2
4 6 5 8
10
3
8 1 8 3 3
10 2
Спрос
(Остатки)
0
0
10
14
Остаточный объем предложения в первой строке равен 12, а мак-
симальный объем спроса в третьем столбце – 10. Из двух вариантов мы выбираем минимальный, ставим объем перевозки в ячейке х13 равным 10, вычеркиваем третий столбец, так как мы полностью удовлетворили спрос (табл. 7.12).
Таблица 7.12
Потребители
Предложение
1 2 3
4
(Остатки)
Поставщики
1
2 8 7 2
10 6
20 12 2
2
4 6 5 8
10
3
8 1 8 3 3
10 2
Спрос
(Остатки)
0 0 0
14
7.2. Построение начального решения
75
В результате в транспортной таблице остался невычеркнутым толь­ко четвертый столбец и все строки. В этом случае мы распределяем пере­возки между невычеркнутыми ячейками в соответствии с актуальным объемом предложения. Назначаем в ячейку х14 весь остаток товара (гру­зов) в первой строке – 2 единицы, в ячейку х24 весь остаток товара (гру­зов) во второй строке – 10 единиц, в ячейку х34 весь остаток товара (гру­зов) в третьей строке – 2 единицы. В результате мы построили начальное базисное решение (опорный план) (табл. 7.13).
Таблица 7.13
Потребители
1 2 3
4
Поставщики
1
2 8 7 2
10 6 2
2
4 6 5 8
10
3
8 1 8 3 3
2
Получено следующее начальное базисное решение:
x11 = 8, x13 = 10, x14 = 2, x24 = 10, x32 = 8, x34 = 2.
Соответствующая суммарная стоимость перевозок равна
f = 82 + 102 + 26 + 108 + 81 + 23 = 142.
Отсюда следует, что полученное методом наименьшей стоимости начальное решение лучше, чем начальное решение, представленное мето­дом северо-западного угла.
МЕТОД ФОГЕЛЯ.
Данный метод является вариацией метода наименьшей стоимости и в общем случае находит лучшее начальное решение. Алгоритм этого ме­тода состоит из следующих шагов.
Шаг 1. Для каждой строки (столбца), вычисляется размер штрафа путем вычитания наименьшей стоимости из следующей по величине в данной строке (столбце).
7. Транспортные модели
76
Шаг 2. Выбирается строка или столбец с наибольшим штрафом.
Если таковых несколько, выбор произволен. В выбранной строке или столбце находим переменную, которой соответствует минимальная стои­мость, и присваиваем ей наибольшее значение, позволяемое ограничени­ями. Затем соответствующим образом корректируются остатки спроса и предложения. Строка или столбец, соответствующие выполненному огра­ничению, вычеркиваются из таблицы. Если одновременно выполняются ограничения и по спросу, и по предложению, вычеркивается только стро­ка или только столбец.
Шаг 3. а) если не вычеркнута только одна строка или только один
столбец с нулевым спросом или предложением, вычисления заканчиваются;
b) если не вычеркнута только одна строка (столбец) с положитель-
ным предложением (спросом), в этой строке (столбце) методом наимень­шей стоимости находятся базисные переменные, и вычисления заканчи­ваются;
c) если всем невычеркнутым строкам и столбцам соответствуют
нулевые объемы предложения и спроса, методом наименьшей стоимости находятся нулевые базисные переменные, и вычисления заканчиваются;
d) во всех остальных случаях необходимо перейти к шагу 1.
Пример 7.4. Применим метод Фогеля к транспортной таблице
(см. табл. 7.3). В табл. 7.14 показан первый набор вычисленных штрафов.
Таблица 7.14
1 2 3
4
Штрафы для
строк
1
2 7 2 6
20
2 – 2 = 0
2
4 6 5 8
10
5 – 4 = 1
3
8 1 3 3
10
3 – 1 = 2
8 8
10
14
Штрафы для
столбцов
4 – 2 = 2
6 – 1 = 5
3 – 2 = 1
6 – 3 = 3
Наибольший размер штрафа (5) соответствует второму столбцу
таблицы. Элемент с наименьшей стоимостью в этом столбце содержится в
7.2. Построение начального решения
77
ячейке х32. Максимальный объем предложения в третьей строке равен 10, максимальный объем спроса во втором столбце – 8, присваиваем пере­менной х32 значение 5. Вычеркиваем второй столбец, так как мы полно­стью удовлетворили спрос. Пересчитываем размер штрафов (табл. 7.15).
Таблица 7.15
1 2 3 4
Штрафы для
строк
1
2 7 2 6
20
2 – 2 = 0
2
4 6 5 8
10
5 – 4 = 1
3
8 1 8 3 3
10 2
3 – 3 = 0
8 0 10
14
Штрафы для
столбцов
4 – 2 = 2
-----
3 – 2 = 1
6 – 3 = 3
Наибольший размер штрафа (3) соответствует четвертому столбцу таблицы. Элемент с наименьшей стоимостью в этом столбце содержится в ячейке х34. Остаточный объем предложения в третьей строке равен 2, мак­симальный объем спроса во втором столбце – 14, присваиваем перемен­ной х34 значение 2. Вычеркиваем третью строку, так как мы полностью реализовали предложение. Пересчитываем размер штрафов (табл. 7.16).
Таблица 7.16
1 2 3 4
Штрафы для
строк
1
2 7 2 6
20
2 – 2 = 0
2
4 6 5 8
10
5 – 4 = 1
3
8 1 8 3 3
2
0
-----
8 0 10
14 12
Штрафы для
столбцов
4 – 2 = 2
-----
5 – 2 = 3
8 – 6 = 2
Наибольший размер штрафа (3) соответствует третьему столбцу таблицы. Элемент с наименьшей стоимостью в этом столбце содержится в ячейке х13. Максимальный объем предложения в первой строке равен 20,
7. Транспортные модели
78
максимальный объем спроса в третьем столбце – 10, присваиваем пере­менной х13 значение 10. Вычеркиваем третий столбец, так как мы полно­стью удовлетворили спрос. Пересчитываем штрафы (табл. 7.17).
Таблица 7.17
1 2 3 4
Штрафы для
строк
1
2 7 2
10 6
20 10
6 – 2 = 4
2
4 6 5 8
10
8 – 4 = 4
3
8 1 8 3 3
2
0
-----
8
0 0 14 12
Штрафы для
столбцов
4 – 2 = 2
-----
-----
8 – 6 = 2
Наибольший размер штрафа (4) соответствует второй строке таб-
лицы. Элемент с наименьшей стоимостью в этой строке содержится в ячейке х21. Максимальный объем предложения в первой строке равен 10, максимальный объем спроса в первом столбце – 8, присваиваем перемен­ной х21 значение 8. Вычеркиваем первый столбец, так как мы полностью удовлетворили спрос (табл. 7.18).
Таблица 7.18
1 2 3 4
Штрафы для
строк
1
2 7 2
10 6
20 10
-----
2
4 8 6 5 8
10 2
-----
3
8 1 8 3 3
2
0
-----
0 0 0
12
Штрафы для
столбцов
-----
-----
-----
-----
В полученной транспортной таблице остался невычеркнутым толь­ко четвертый столбец. В этом случае мы распределяем перевозки между невычеркнутыми ячейками в столбце в соответствии с актуальным объе-
7.3. Итерационный алгоритм решения транспортной задачи
79
мом предложения. Назначаем в ячейку х14 весь остаток товара (грузов) в первой строке – 10 единиц, в ячейку х24 весь остаток товара (грузов) во второй строке – 2 единицы. В результате мы построили начальное базис­ное решение (опорный план) (табл. 7.19).
Таблица 7.19
1 2 3 4
1
2 7 2
10 6 10
2
4 8 6 5 8
2
3
8 1 8 3 3
2
Получено следующее начальное базисное решение:
x13 = 10, x14 = 10, x21 = 8, x24 = 2, x32 = 8, x34 = 2.
Соответствующая суммарная стоимость перевозок равна
f = 102 + 106 + 84 + 28 + 81 + 23 = 142.
В данном случае значение целевой функции такое же, как и при ме-
тоде наименьшей стоимости. Но обычно метод Фогеля дает наилучшее начальное решение для транспортной задачи.
7.3. Итерационный алгоритм решения транспортной задачи
После определения начального решения (с помощью одного из
трех методов, описанных в предыдущем разделе) применяется алгоритм, позволяющий найти оптимальное решение транспортной задачи. В дан­ном случае не используются вычисления, выполняемые при реализации симплекс-метода, – специальная структура транспортной таблицы позво­ляет значительно упростить вычисления [5].
Пример 7.5. Решим транспортную задачу, используя начальное реше-
ние, полученное методом северо-западного угла в примере (см. табл. 7.9).
Для построения оптимального плана перевозок воспользуемся ме-
тодом потенциалов. В методе потенциалов каждой строке i и каждому
7. Транспортные модели
80
столбцу j транспортной таблицы ставятся в соответствие числа (потенци­алы) ui и vj. Для каждой базисной переменной хij потенциалы ui и vj удо­влетворяют уравнению
ui + vj = cij.
Таблица 7.20
Потребители
Предложение
1 2 3
4
(Остатки)
Поставщики
1
2 8 7 8 2 4 6
20
2
4 6 5 6 8
4
10
3
8 1 3 3
10
10
Спрос
8 8 10
14
В рассматриваемой задаче имеем 7 неизвестных переменных (по­тенциалов) и 6 уравнений, соответствующих шести базисным перемен­ным. Таким образом, одна переменная является лишней. Чтобы найти значения потенциалов из этой системы уравнений, однин из них прирав­ниваем к нулю (обычно полагают u1 = 0) и затем последовательно вычис­ляем значения остальных потенциалов.
Базисные
переменные
Уравнения относительно
потенциалов
Решение
x
11
x
12
x
13
x
23
x
24
x
34
u1 + v1 = 2 u1 + v2 = 7 u1 + v3 = 2 u2 + v3 = 5
u2 + v4= 8
u3 + v4 = 3
u1 = 0  v1 = 2 u1 = 0  v2 = 7 u1 = 2  v3 = 2 v3 = 2 u2 = 3 u2 = 3 v4 = 5
v4 = 5 u3 = –2
Итак, имеем
u1 = 0, u2 = 3, u3 = –2,
v1 = 2, v2 = 7, v3 = 2, v4 = 5.
Далее используя вычисленные значения потенциалов, для каждой небазисной переменной вычисляются значение ui + vj – сij. Результаты вычисления этих величин приведены в следующей таблице.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]