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

Методы линейного программирования. Практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
41
Рассмотрим особый случай, когда на некотором шаге построения плана
перевозок каким-либо методом (северо-западного угла, наименьших затрат) ис­ключается из рассмотрения одновременно и строка, и столбец.
При этом необходимо соблюдать правило: число заполненных клеток
равняется
1nm
.
Задача 8. Требуется найти первоначальный (метод северо-западного уг- ла) и оптимальный планы перевозок для исходных данных, представленных в таблице:
Исходные данные
Поставщики
Потребители
Мощности
поставщиков
В
1
В
2
В
3
В
4
А1 1 3 5 6 70
А2 3 3 7 1 80
А3 6 1 2 3 90
А4 1 4 1 2 110
Мощности потребителей
150
40
110
50
Решение. Введем переменную хij — объем перевозки от i-го поставщика к j-му потребителю (поставка). Далее составим уравнения баланса и целевую функцию затрат на перевозку груза.
Модель задачи с рядом ограничений имеет следующий вид:
.50
,110
,40
,150
,110
,90
,80
,70
44342414
43333213
42322212
41312111
44434241
34333231
24232221
14131211
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
42
Требуется найти решение хij (i = 1, 2, 3, 4; j = 1, 2, 3, 4), при котором целе­вая функция
343332312423222114131211
326733653 xxxxxxxxxxxxf
44434241
24 xxxx
принимает наименьшее значение.
Суммарная мощность поставщиков равна суммарной мощности потреби-
телей, поэтому эта транспортная задача является закрытой:
70 + 80 + 90 + 110 = 150 + 40 + 110 + 50.
Найдем первоначальный план перевозок методом северо-западного угла.
1. Составить первоначальный план перевозок.
Заполнение таблицы поставок начинаем с самой верхней левой (северо­западной) ячейки (1; 1).
Максимально заполним клетку (1; 1). Потребителю В1 требуется 150 еди­ниц груза, но у поставщика А
1
есть только 70, отправляем этому потребителю
70 единиц.
Мощность поставщика А
1
реализована.
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70)
70 − −
−
А2 (80)
А3 (90)
А4 (110)
Снова заполняем таблицу поставок с верхней левой клетки (2; 1). Направ­ляем 80 единиц груза от поставщика А2 в наличии к потребителю В
1
, которому
как раз не хватает 80 единиц. Значит, можем утверждать, что мощности по­ставщика А2 и потребителя В1 реализованы.
43
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70)
70 − −
−
А2 (80)
80 − −
−
А3 (90)
−
А4 (110)
−
Заметим, что из последующего рассмотрения одновременно будут ис-
ключены и поставщик А
2
, который реализовал весь свой груз, и потребитель В
1
,
полностью удовлетворивший свой спрос.
Таким образом, продолжим, используя метод северо-западного угла, за­полнять таблицу поставок.
В таблице поставок найдем новый северо-западный угол — клетку (3; 2). Максимально ее заполним: направляем 40 единиц от поставщика А3. Потребно­сти потребителя В
2
реализованы. Далее максимально заполняем северо-
западную клетку (3; 3): направляем туда оставшиеся у поставщика А3 50 еди­ниц. Мощность поставщика А
3
реализована. Осталось заполнить две последние
клетки: 60 единиц помещаем в клетку (4; 3) и 50 единиц — в клетку (4; 4). По­лучен первоначальный план транспортной задачи методом северо-запад­ного угла:
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70)
70 − −
−
А2 (80)
80 − −
−
А3 (90)
−
40
50
−
А4 (110)
− − 60
50
После заполнения таблицы проверим выполнение условия: число запол-
ненных клеток должно равняться
1
nm
, где m — число поставщиков,
n — число потребителей. В нашем случае
71441 nm
, но число за­полненных клеток равно 6. Количество заполненных клеток меньше необходи­мого, и решение считается вырожденным. Это произошло из-за того, что на втором шаге заполнения таблицы (ячейка (2; 1)) из рассмотрения были исклю­чены и вторая строка, и первый столбец. Такое распределение уже не является базисным, а следовательно, нельзя применять метод потенциалов.
Применим следующий искусственный прием. Предположим, что после
поставки в клетку (2; 1) из рассмотрения будет исключена вторая строка. Для
44
того чтобы вывести из рассмотрения первый столбец, отдаем нулевую (фиктив-
ную) поставку в произвольную, но не вычеркнутую клетку первого столбца,
например в клетку (3; 1).
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70)
70 − −
−
А2 (80)
80 − −
−
А3 (90)
0
А4 (110)
−
Заполняя далее таблицу поставок, будем использовать обычный метод се-
веро-западного угла, при этом получим следующее распределение поставок:
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70)
70 − −
−
А2 (80)
80 − −
−
А3 (90)
0
40
50
−
А4 (110)
− − 60
50
Клетки, в которых есть поставки, в том числе и нулевые, считаем запол-
ненными. Тогда число заполненных клеток равно 7, условие выполнено.
Вычислим затраты на осуществление полученного плана перевозок:
f = 70 + 3∙80 + 6∙0 + 40 + 2∙50 + 60 + 2∙50 = 610.
Можно приступать к проверке полученного плана поставок на оптималь-
ность методом потенциалов и при необходимости оптимизировать его.
2. Проверить найденное решение на оптимальность.
Для проверки решения на оптимальность используем метод потен-
циалов.
Составим матрицу С, элементами которой являются данные в условии
транспортной задачи коэффициенты затрат на перевозку товара со складов
в магазины:
45
2141
3216
1733
6531
C
.
Решим вопрос об оптимальности полученного методом северо-западного
угла распределения поставок:
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70) 70
1
−
3
−
5
−
6
А2 (80) 80
3
−
3
−
7
−
1
А3 (90) 0
6
40
1
50
2
−
3
А4 (110)
−
1
−
4
60
1
50
2
Занесем в таблицу только те из коэффициентов затрат, соответствующая
клетка которых содержит поставку. Припишем каждой строке потенциалы U1, U2, U3, U4, каждому столбцу — потенциалы V1, V2, V3, V4.
В1
В2
В3
В4
Потенциалы
строк
А1 1
U
1
А2 3
U
2
А3 6 1 2
U3
А4 1 2
U4
Потенциалы
столбцов
V1
V2
V3
V4
Сформулируем правило: каждое из значений в клетке равно сумме потен-
циалов соответствующих строк. Вычислим потенциалы строк U1, U2, U3, U4 и столбцов V1, V2, V3, V4 по таблице данных, например, U2 + V3 = 2. Для каждого значения таблицы составим аналогичное уравнение и получим систему уравнений:
46
.2
,1
,2
,1
,6
,3
,1
44
34
33
23
13
12
11
VU
VU
VU
VU
VU
VU
VU
Примем значение одного из потенциалов равным нулю для того, чтобы система имела единственное решение, т.е. V4 = 0. Решим устно эту простую си­стему уравнений и полученные значения потенциалов занесем в таблицу:
В1
В2
В3
В4
Потенциалы
строк
А1 1
U1 = −2
А2 3
U2 = 0
А3 6 1 2
U3 = 3
А4 1 2
U4 = 2
Потенциалы
столбцов
V1 = 3
V2 = −2
V3 = −1
V4 = 0
Далее по тому же правилу (каждое из значений в клетке равно сумме по-
тенциалов соответствующих строки и столбца) заполним пустые клетки таблицы:
В1
В2
В3
В4
Потенциалы
строк
А1
1
−4
−3
−2
U1 = −2
А2 3 −2
−1 0 U2 = 0
А3 6 1
2 3 U3 = 3
А4
5
0
1 2 U4 = 2
Потенциалы
столбцов
V1 = 3
V2 = −2
V3 = −1
V4 = 0
Значения всех клеток таблицы запишем в виде матрицы А:
47
2105
3216
0123
2341
A
.
Теперь вычислим оценку каждой клетки таблицы, для чего найдем оце-
ночную матрицу В, где В = С − А:
0044
0000
1850
8870
2105
3216
0123
2341
2141
3216
1733
6531
B
.
Заметим, что в оценочной матрице В все элементы, которые соответству-
ют базисным клеткам распределения поставок, всегда равны нулю. В данном
случае это клетки (1; 1), (2; 1), (3; 1), (3; 2), (3; 3), (4; 3) и (4; 4).
Сформулируем критерий оптимальности распределения поставок: рас-
пределение поставок оптимально тогда и только тогда, когда оценки всех свободных ячеек положительные или в крайнем случае равны нулю.
Видим, что в матрице В оценка свободной клетки (4; 1) отрицательна. Со­гласно критерию оптимальности, данное распределение поставок не оптимально.
Далее оптимизируем этот план перевозок.
3. Привести план перевозок к оптимальному плану.
После вычисления оценок всех свободных клеток таблицы поставок
находим из них отрицательные, а затем берем одну из них для передачи в нее поставки. Здесь для определенности можно взять ячейку с наименьшей оцен-
кой. В нашем случае оценочная матрица содержит одно отрицательное значе-
ние — клетку (4; 1). В нее и будем передавать поставку. В этой клетке поставим знак «+».
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70)
70
А2 (80)
80
А3 (90)
0
40
50
А4 (110)
+
60
50
48
Необходимо расставить знаки «плюс» и «минус», они чередуются в таб­лице таким образом, чтобы образовался цикл и выполнялись условия:
- остальные знаки цикла (все, кроме первоначально поставленного знака
«+») ставим только в базисных клетках;
- если в строке (столбце) есть знак «плюс», то в этой строке (столбце)
должен быть и знак «минус», и наоборот.
Искомый цикл пересчета, отвечающий указанным условиям, отмечен
в таблице пунктиром:
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70)
70
А2 (80)
80
А3 (90)
0 −
40
50 +
А4 (110)
+
60 −
50
Перераспределим товар по циклу. Обратимся к клеткам, содержащим
знаки «−». Среди их значений найдем минимальное:
060,0min
. Переда-
дим по построенному циклу нулевую поставку: к значению каждой клетки цик-
ла со знаком «+» прибавим
0
, из значения каждой клетки цикла со знаком
«−» вычтем
0
. Теперь клетка (3;1) стала свободной. Получим следующий
план перевозок:
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70)
70
А2 (80)
80
А3 (90)
−
40
50 +
А4 (110)
0 +
60 −
50
Полученный план перевозок необходимо проверить на оптимальность спомощью нахождения оценочной матрицы В и применения критерия опти- мальности (пункт 2). В том случае, если оценки всех свободных клеток прини­мают положительные, в крайнем случае нулевые, значения, то найденное рас­пределение является оптимальным и тем самым решение считается закончен­ным. В случае, когда полученный план перевозок снова окажется не оптимальным, его необходимо оптимизировать (пункт 3).
49
Проверить найденное решение на оптимальность.
Рассмотрим вопрос об оптимальности полученного распределения по­ставок:
В1 (150)
В2 (40)
В3 (110)
В4 (50)
А1 (70) 70
1
−
3
−
5
−
6
А2 (80) 80
3
−
3
−
7
−
1
А3 (90)
6
40
1
50
2
−
3
А4 (110)
0
1
−
4
60
1
50
2
Занесем в таблицу те из коэффициентов затрат, соответствующая клетка которых содержит поставку. Припишем каждой строке потенциалы U1, U2, U3,
U4, каждому столбцу — потенциалы V1, V2, V3, V4.
В1
В2
В3
В4
Потенциалы
строк
А1 1
U
1
А2 3
U
2
А3 1 2
U3
А4 1 1 2
U4
Потенциалы
столбцов
V1
V2
V3
V4
Вычислим потенциалы строк U1, U2, U3, U4 и столбцов V1, V2, V3, V
4
, для
чего запишем систему уравнений:
.2
,1
,2
,1
,1
,3
,1
44
34
33
23
14
12
11
VU
VU
VU
VU
VU
VU
VU
50
Для того чтобы система имела единственное решение, необходимо при­нять значение одного из потенциалов равным нулю, т.е. V4 = 0. Решим устно эту систему уравнений и полученные значения потенциалов занесем в таблицу:
В1
В2
В3
В4
Потенциалы
строк
А1 1
U1 = 2
А2 3
U2 = 4
А3 1 2
U3 = 3
А4 1 1 2
U4 = 2
Потенциалы
столбцов
V1 = −1
V2 = 2
V3 = −1
V4 = 0
Далее по тому же правилу (каждое из значений в клетке равно сумме по-
тенциалов соответствующих строки и столбца) заполним пустые клетки таблицы:
В1
В2
В3
В4
Потенциалы
строк
А1
1
4 1 2
U1 = 2
А2
3
6 3 4
U2 = 4
А3 2 1
2 3 U3 = 3
А4
1 4 1 2 U4 = 2
Потенциалы
столбцов
V1 = −1
V2 = 2
V3 = −1
V4 = 0
Значения всех клеток таблицы запишем в виде матрицы А:
2141
3212
4363
2141
A
.
Теперь вычислим оценку каждой клетки таблицы, для чего найдем оце-
ночную матрицу В, где В = С − А:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]