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

Прикладная математика. Решение задач с применением табличного процессора Excel. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
min
)1(n
n
n
m
)1(m
n
m
n
m
min
miax
njbx
,
.,1,,1,0 njmix
при ограничениях:
ij
n
j
m
i
1

1 1
1
xcF
j
ijij
iij
jij
,1,
,1,
Задачу по составлению оптимального плана перевозок грузов от по­ставщиков к потребителям с целью минимизации суммарных транспорт­ных затрат обозначим как прямую задачу.
Первое ограничение означает, что все грузы от поставщиков должны быть вывезены. Второе ограничение показывает, что запросы потребите­лей (их заявки) должны быть полностью удовлетворены. Необходимо до­бавить условие неотрицательности перевозок, 0
x . Целевой функцией в
ij
транспортной задаче можно считать суммарную стоимость всех перевозок, выполненную транспортную работу, затраты времени населения на пере­движение и т.д. В каждом конкретном случае целевая функция выбирается в зависимости от целей исследования.
В зависимости от соотношения объемов поставок и объемов потреб­ления следует различать закрытую и открытую модель транспортной зада-
чи. Если
m
i
1 1
n
, то такую задачу называют закрытой,если
ba
ji
j
m
i
1 1
n
j
–
ba
ji
то открытая задача. Необходимым и достаточным условием разреши­мости транспортной задачи является ее закрытость.
Любая открытая задача может быть сведена к закрытой путем введе-
ния фиктивного
-го потребителя с запросом
m
b
1n
i
1 1
n
j
ba
ji
, если
суммарные возможности m поставщиков превышают суммарные запросы
потребителей.
В случае если суммарные запросы суммарные возможности
n
условия
j
запасом груза
m
ab
j
i
11
1
), то включают фиктивного
i
n
j
поставщиков (это возможно при выполнении
m
jm
. При этом, стоимости перевозок единицы
aba
i
i
11
потребителей превышают
-го поставщика с
груза как от всех поставщиков до фиктивного потребителя, так и стоимо­сти перевозок единицы груза от фиктивного поставщика всем потребите­лям, полагают равными нулю, т.к. груз в обоих случаях не перевозится.
Транспортная задача содержит ничений входит
уравнений (ограничений типа =). Эти уравнения
неизвестных и в систему огра-
61
(ограничения) связаны условием закрытости задачи:
n
m
1nm
1nm
1nm
1nm
n
m
X
но показать, что система
ограничений (уравнений) транспортной за-
m
i
1 1
n
. Не труд-
ba
ji
j
дачи является линейно зависимой. Ограничения транспортной задачи (ТЗ) содержат вырожденный опорный план ТЗ содержит
линейно независимых уравнений. Следовательно, не-
положительных ком-
понентов или перевозок. Значит, если каким-либо способом получен невы­рожденный опорный план ТЗ, то в матрице )n,j;m,i(x
тельными являются только
компонента, а остальные равны нулю.
ij
11 положи-
Определение опорного плана. Допустимый план транспортной за­дачи в матричном виде является опорным тогда и только тогда, когда:
1) по заполненным этим планом клеткам нельзя построить замкнутый кон­тур (цикл); 2) число заполненных клеток равно
. Циклом в матри­це называется непрерывная замкнутая ломаная линия, вершины которой находятся в клетках матрицы, а звенья расположены вдоль строк и столб­цов. Цикл может образовывать и самопересекающаяся ломаная линия. Ес­ли в матрице перевозок содержится опорный план, то для каждой свобод­ной клетки можно образовать, и притом только один, замкнутый цикл, со­держащий эту свободную клетку и некоторую часть занятых клеток.
Для транспортной задачи, как и для любой задачи ЛП, можно соста­вить двойственную задачу. Переменные двойственной задачи называются потенциалами поставщиков
его рода условные цены перевозимого груза в пунктах отправления пунктах потребления
v . Потенциалы можно определить следующим обра-
j
u
и потенциалами потребителей
i
v . Это сво-
j
u
и в
i
зом:
u
F
, где mi ,1 – потенциалы поставщиков и
i
a
i
v
F
, где nj ,1
j
b
j
– потенциалы потребителей. Таким образом, потенциалы – это транспорт­ные затраты с единицы груза у поставщиков
u и у потребителей
i
v .
j
Двойственная задача:
m
i
iij
11
.,1,,1, njmicvu
uavbG
,max
при ограничениях:
n
j
j
ijji
Согласно второй теореме двойственности, если план перевозок
)(ijxX
транспортной задачи является оптимальным, то ему соответству-
ет система из
cvu
cvu
чисел (потенциалов), удовлетворяющих условиям:
для заполненных (базисных) клеток, (8)
ijji
для свободных (нулевых) клеток. (9)
ijji
Решение транспортной задачи заключается в определении такой сис­темы потенциалов, для которых выполняются условия (8) и (9). Если усло­вия (8) и (9) выполняются, то план перевозок
, соответствующий полу-
62
ченной системе потенциалов, является оптимальным. В данном случае для
1nm
n
m


)0,0(ji
)0,0(ji
)0,0(ji
любой пары пунктов
A
и
B , имеющих транспортные связи, сумма потен-
i
j
циалов равна стоимости перевозок единицы груза между этими пунктами.
Приведем алгоритм метода потенциалов:
1) Определяем начальный опорный план. Первоначальный опорный план можно составить методом северо-западного угла, минимального эле­мента, методом Фогеля и др.
2) Для занятых клеток составляем систему потенциалов
cvu
ijji
.
Получим ленная. Положим
уравнение, а неизвестных
u
=0 и определим остальные потенциалы.
1
, т.е. система неопреде-
3) Для свободных (небазисных) клеток определяем оценки
cvu
и проверяем условие оптимальности 0
ijjiij
. Если имеется
ij
хотя бы одна положительная оценка свободных клеток, то опорный план не является оптимальным. Переходим к последующему улучшению плана.
4) Выбираем перспективную клетку. Перспективной называется клетка, имеющая наибольшее значение оценки, не удовлетворяющее усло­вию оптимальности 0
ij
собствует улучшению плана перевозок:
включаем в набор заполненных клеток.
00 ji
. Перспективная клетка вводится в базис и спо-
)(max
0
ij
cvu
. Клетку
00
jiijji
5) Строим замкнутый контур, начиная с выбранной (небазисной) клетки
начальную клетку
, двигаясь по занятым клеткам так, чтобы снова вернуться в
. При этом баланс по строкам и столбцам должен
сохраниться.
6) Нумеруем концы полученного контура, начиная с перспективной клетки
, по часовой или против часовой стрелки. Определяем ми-
нимальную поставку груза  в четных клетках контура.
7) Улучшаем план перевозок. Для этого во всех нечетных клетках контура увеличиваем поставки грузов на величину  , а в четных – умень-
шаем на . Остальные перевозки не меняются. За итерацию целевая функ­ция уменьшается на величину
*
. Далее, переходя к п. 2, алгоритм
00 ji
повторяется до получения оптимального плана.
Метод «северо-западного» угла
Для построения первоначального опорного плана рассмотрим алго­ритм метода «северо-западного» угла. Заполнение таблицы осуществляет­ся, начиная с левого верхнего («северо-западного») угла.
1. Рассматривается клетка (1,1). Вычисляется },min{
ba
, то в клетку (1,1) записывается поставка
11
ячейки первой строки записываются нули,
ax
, а в оставшиеся
111
j
,2,01 . Это означает,
ba и, если
11
njx
что у первого поставщика весь груз полностью вывезен. В случае если вы-
63
полняется условие
),(nm
i
ab
, то в ячейку (1,1) записывается поставка
11
bx
,
111
а в оставшиеся ячейки первого столбца записываются нули, mix
i
,2,01 .
Это означает, что заявка первого потребителя полностью удовлетворена. Таким образом определяются элементы первой строки или первого столб-
ца матрицы перевозок )n,j;m,i(x
b .
1
2. Среди оставшихся незаполненных клеток матрицы перевозок
ij
11 в зависимости от значений
a и
1
x
ij
выбирается клетка, расположенная в левом верхнем ее углу, и заполняется эта клетка.
Пусть для определенности
ab
. Тогда выбранной ячейкой является
11
ячейка (1,2), расположенная на пересечении первой строки и второ­го столбца. В этой ячейке записывается поставка }),min{(
В случае если
bax
, а в оставшиеся ячейки первой строки записываются нули,
1112
njx
j
,3,01 . Это означает, что у первого поставщика весь груз полно-
стью вывезен. В случае если выполняется условие (1,2) записывается поставка
bba
, то в клетку (1,2) записывается поставка
211
bab
112
bx
, а в оставшиеся ячейки второго столб-
212
, то в ячейку
bbax
21112
.
ца записываются нули, mix
i
,2,02 . Это означает, что заявка второго
потребителя полностью удовлетворена.
В случае если
ba
, выбранной ячейкой является ячейка (2,1),
11
расположенная на пересечении второй строки и первого столбца. В этой ячейке записывается поставка }),min{(
aab
, в клетку (2,1) записывается поставка
211
шиеся ячейки первого столбца записываются нули, mix
aabx
. В случае если
21121
abx
, а в остав-
1121
i
,3,01 . Это оз-
начает, что заявка первого потребителя удовлетворена. В случае если вы­полняется условие
ax
, а в оставшиеся ячейки второй строки записываются нули,
221
njx
j
,2,02 . Это означает, что у второго поставщика весь груз полно-
aba
, в ячейку (2,1) записывается поставка
112
стью вывезен. Таким образом, на каждом шаге закрывается либо одна строка, либо один столбец.
Далее заполнение ячеек матрицы перевозок
x , где njmi ,1,,1 ,
ij
продолжается аналогично п.2. В последнюю очередь заполняется клетка
, расположенная в правом нижнем углу.
Если на каком-либо промежуточном шаге одновременно закроются
-я строка и j-й столбец, то переход может осуществляться либо по стро-
ке, либо по столбцу путем помещения нулевой поставки ( 0
x ). Данные нули, в отличие от значений ijx для свободных клеток,
0
1 ji
64
x или
1
ji
называются базисными. Они соответствуют нулевым значениям базисных
1nm
1nm
переменных, т.е. указывают на вырожденное решение.
Метод «северо-западного» угла позволяет построить первоначальный опорный план, в котором число базисных клеток равно
. Недос­татком метода «северо-западного» угла является то, что построенный опорный план, как правило, является далеким от оптимального плана, так как при его построении игнорируются тарифы
c .
ij
Метод минимального элемента
Сущность метода состоит в том, что на каждом шаге осуществляется переход в клетку, имеющую наименьший из нерассмотренных тарифов, и в выбранную клетку заносится максимальная поставка. При этом величина поставки определяется по методу, описанному в методе « северо­западного» угла. Если окажется два и более одинаковых минимальных та­рифа, то в рассмотрение включается любой из них. Найденный план дол­жен быть опорным. Если число заполненных клеток меньше, чем значение
, то вводится недостающее количество нулевых поставок. Нуле­вые поставки вводятся в свободные клетки (желательно с наименьшим та­рифом) с таким расчетом, чтобы по заполненным клеткам не строился замкнутый контур.
Пример: Пусть имеется три поставщика, запасы которых составляют
=100,
a
1
требителя указанных грузов, заявки потребителей равны
=200,
b
3
= 150,
a
2
=30 единиц количества груза. Известны также затраты на пере-
b
4
= 180 единиц количества груза. Имеется четыре по-
a
3
=80,
b
1
b
возку единицы груза от каждого поставщика к каждому потребителю
2 3 4 1 3 3 6 2 3 2 4 5
Требуется составить оптимальный план перевозок грузов от постав-
щиков к потребителям
x так, чтобы суммарные транспортные затраты
ji
были минимальными.
Первоначальный план строится по методу «северо-западного» угла:
Таблица 1
u
1
v
1
2 -p 3 4 +p 1
v
2
v
3
v
4
a
i
100
80 20 0 0
u
2
3 +p 3 -p 6 2
150
0 100 50 0
u
3
3 2 +p 4 -p 5
180
0 0 150 30
=120,
2
c :
ij
b
j
80 120 200 30
65
430
Для плана перевозок, приведенного в табл.1, определяются суммар-







ные транспортные затраты:
F
1
157030515045061003203802
. Потенциалы
поставщиков и потребителей определяются из системы простейших урав­нений, составленных для базисных клеток:
uvuvuv
uvuvuv
Частное решение системы определяется полагая 0
uuu .7,6,3,2
321
,2,0,0
,3,3,2
221211
.5,4,6
343323
u :
1
vvvv
4321
Для небазисных (нулевых) клеток проверяется условие оптимально-
сти. План, приведенный в табл.1, будет считаться оптимальным, если для нулевых клеток выполняется условие: :0
ij
cvucvu
144114133113
cvucvu
244224211221
cvucvu
322332311331
,*6170,2460
,5270,1320
.1232,3322
Для плана, приведенного в табл.1, условия оптимальности не выпол-
нятся, поэтому переходим к последующему его улучшению.
Определяем перспективную клетку:
0
)(max
ij
. Это
6cvu
0j0iijji
клетка (1,4). Клетку (1,4) хотим включить в набор базисных клеток. Для этого строим замкнутый контур, начиная с выбранной клетки (1,4), двига­ясь по занятым клеткам так, чтобы снова вернуться в начальную клетку (1,4). Нумеруем клетки контура, начиная с перспективной клетки. В случае если план не является оптимальным, такой контур всегда найдется. Среди клеток контура с четными номерами определяем минимальную поставку . Для плана, приведенного в табл.1, значение =20. Строим новый план, который должен быть лучше, чем предыдущий в смысле минимума сум­марных транспортных затрат.
Для плана, приведенного в табл.2, определяются суммарные транс-
портные затраты:
F
2
145010517043061203201802
.
Таблица 2
u
1
v
1
-p 2 3 4 +p 1
v
2
v
3
v
4
a
i
100
80 0 0 20
u
2
+p 3 3 -p 6 2
150
0 120 30 0
u
3
3 2 +p 4 -p 5
180
0 0 170 10
b
j
80 120 200 30
66
430
Чтобы установить оптимальность плана, приведенного в табл.2, не-






обходимо вычислить потенциалы. Потенциалы поставщиков и потребите­лей определяются из системы простейших уравнений, составленных для базисных клеток. Для базисных клеток составляем систему ограничений:
,3,1,2
224111
433332
5,4,6
4,6,0
uuu
321
и 2
1
, 3
2
,
и определяем ее частное решение:
0
3
, 1
.
4
vuvuvu
vuvuvu
Для небазисных клеток проверяем условие оптимальности:
133113122112
*
244224211221
322332311331
4400cvu6330cvu
5216cvu5326cvu
1234cvu3324cvu
Для плана, приведенного в табл.2, условия оптимальности не выпол-
нятся, поэтому переходим к последующему его улучшению.
Определяем перспективную клетку из условия:
)max(
0
ij
5cvu
,
0j0iijji
Для плана, приведенного в табл.2, перспективной клеткой будет клетка (2,1). Клетку (2,1) необходимо включить в набор базисных клеток. Для этого строим замкнутый контур, начиная с выбранной клетки (2,1), двигаясь по занятым клеткам так, чтобы снова вернуться в начальную клетку (2,1). Нумеруем клетки контура, начиная с перспективной клетки. Среди клеток контура с четными номерами определяем минимальную по­ставку . Для плана, приведенного в табл.2, значение =10. Строим новый план, который должен быть лучше, чем предыдущий в смысле минимума суммарных транспортных затрат.
Для плана, приведенного в табл.3, определяются суммарные транс­портные затраты:
F
3
FFF
ji
3200
140018042061203103301702
,
501400145050105
.
Таблица 3
u
1
v
1
-p 2 3 +p 4 1
v
2
v
3
v
4
a
i
100
70 0 0 30
u
2
+p 3 3 -p 6 2
150
10 120 20 0
u
3
3 2 4 5
180
0 0 180 0
b
j
80 120 200 30
430
Чтобы установить оптимальность плана, приведенного в табл.3, не-
обходимо вычислить потенциалы. Потенциалы поставщиков и потребите-
67
лей определяются из системы простейших уравнений, составленных для


0.
 







0.
 

базисных клеток.
Для базисных клеток составляем систему ограничений:
,3,3,2
221211
1,4,6
413332
uuu
321
,1,1,0
2
1
, 2
2
,
и определяем ее частное решение:
5
3
, 1
.
4
vuvuvu
vuvuvu
Для небазисных клеток (нулевых) проверяем условие оптимально­сти:
ij
cvucvu
133113122112
 
cvucvu
311331244224
cvucvu
344334322332
*,1451,1320
,2321,0211
.5511,1221
План, представленный в табл.3, не является оптимальным, т.к.
01
13
.
Определяем перспективную клетку:
.
0
)(max
ij
1cvu
0j0iijji
Для плана перевозок, приведенного в табл.3, перспективной клеткой будет клетка (1,3). Клетку (1,3) необходимо включить в набор базисных клеток. Для этого строим замкнутый контур, начиная с выбранной клетки (3,1), двигаясь по занятым клеткам так, чтобы снова вернуться в началь­ную клетку (3,1). Нумеруем клетки контура, начиная с перспективной клетки. Среди клеток контура с четными номерами определяем мини­мальную поставку . Для плана, приведенного в табл.3, значение =20. Строим новый план (табл.4).
По табл.4 определяем общие затраты на перевозку:
F
4
FFF
ji
4300
138018041203303301204502
2013801400201
.
.
Для определения потенциалов поставщиков и потребителей для ба­зисных клеток составляем систему ограничений:
,3,3,2
221211
1,4,4
413331
0,1,0
uuu
321
cvucvu
233223122112
cvucvu
311331244224
cvucvu
344334322332
и 2
1
, 2
2
ij
,1641,1320
,0220,0211
.4510,0220
,
и определяем ее частное решение:
4
3
, 1
.
4
Для нулевых клеток проверяем условия оптимальности плана:
vuvuvu
vuvuvu
Таким образом, последний план перевозок (табл.4) является опти-
мальным, т.к. выполняются условия оптимальности: 0
ij
.
68
Таблица 4
u
1
v
1
2 3 4 1
v
2
v
3
v
4
a
i
100
50 0 20 30
u
2
3 3 6 2
150
30 120 0
u
3
3 2 4 5
180
0 0 180 0
b
j
80 120 200 30
430
Особо следует подчеркнуть, что оптимальный план может быть не
единственным.
2.9. Решение транспортной задачи с помощью табличного процессора Excel
Далее приведем алгоритм решения транспортной задачи с помощью процедуры Поиск решения в Excel. Составление оптимального плана пе­ревозок обозначим как прямую задачу, а задачу получения оптимальных значений потенциалов поставщиков и потребителей обозначим как двой­ственную. Алгоритм решения прямой и двойственной задач представим в виде электронной таблицы.
Запустим программу Excel, и для прямой задачи составим электрон­ную таблицу (рис.9). Обозначим матрицу
и 4,1j . В ячейках A3:D5 записываются входные значения плана
x планом перевозок, где 3,1i
ij
x .
ji
Рис.9 В результате решения задачи в этих ячейках мы получим оптимальные значения плана. В ячейки E3:E5 и A6:D6 вводится левая часть системы ограничений транспортной задачи в виде: в ячейку E3 «=сумм (A3:D3) », в ячейку E4 «=сумм (A4:D4) », в ячейку E5 «=сумм (A5:D5) », в ячейку A6 «=сумм (A3:A5) », в ячейку B6 «=сумм (B3:B5) », в ячейку C6 «=сумм (C3:C5) », в ячейку D6 «=сумм (D3:D5) ». Запасы поставщиков записыва­ются в ячейки G3:G5, а заявки потребителей в ячейки A9:D9, согласно
69
рис.9. Матрица стоимости перевозок
c размещается в блоке A11:D13. Це-
ij
левая функция записывается в ячейку A15 в виде: «=суммпроизв( A3:D5; A11:D13) ».
В надстройках Excel найдем Поиск решения и запустим его. В поя­вившемся диалоговом окне (рис.10) внесем необходимые данные: адрес ячейки целевой функции $A$15; направление оптимизации – минимум; адреса изменяемых ячеек $A$3:$D$5. Ограничения вводятся в окне До-
бавление ограничения, которое активизируется кнопкой Добавить окна Поиск решения. Левая часть системы ограничений транспортной задачи
должна равняться правой части, т.е. все запасы у поставщиков должны быть вывезены и все заявки потребителей должны быть удовлетворены.
Рис.10
В окне Добавление ограничения эти условия представляются в виде «$E$3:$E$5=$G$3:$G$5» и «$A$6:$D$6=$A$9:$D$9», как указано на рис.10. Следует добавить условие, что план должен быть неотрицательным «$A$3:$D$5>=0».
В окне Параметры поиска решения, вызванном командой Пара-
метры окна Поиск решения, установим флажки: Автоматическое мас­штабирование, сопряженных градиентов (выбранный численный метод
решения задачи). Следует установить флажок Линейная модель. Далее, щелкнув левой кнопкой мыши по ОК, возвратимся в окно Поиск реше- ния. В этом окне, щелкнув левой кнопки мыши по команде Выполнить, получим оптимальное решение задачи (рис.11).
Анализируя решение, полученное с помощью процедуры Поиск ре- шения в Excel (рис.11), и решение, полученное ручным способом (табл.4), можно сделать вывод о том, что оптимальное решение транспортной зада­чи может быть не единственным. При этом минимальное значение целевой функции в обоих случаях одинаково и равно 1380 ед.
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]