Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Прикладная математика. Решение задач с применением табличного процессора Excel. Учебное пособие
.pdf
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
1nm
1nm
1nm
1nm
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

ченной системе потенциалов, является оптимальным. В данном случае для
1nm
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

называются базисными. Они соответствуют нулевым значениям базисных
1nm
1nm
переменных, т.е. указывают на вырожденное решение.
Метод «северо-западного» угла позволяет построить первоначальный
опорный план, в котором число базисных клеток равно
. Недостатком метода «северо-западного» угла является то, что построенный
опорный план, как правило, является далеким от оптимального плана, так
как при его построении игнорируются тарифы
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
