мат_модели_logistics
.pdfЕсли суммарный запас груза совпадает с суммарным спросом, то
есть
m |
n |
|
åai = åbj , |
(6.12) |
|
i=1 |
j=1 |
|
то задачу называют закрытой, в противном случае – открытой. Составим математическую модель задачи. Обозначим через xij
количество груза, планируемое к перевозке из i-го пункта поставки в j-ый пункт потребления. Через t – время наиболее продолжительной
перевозки. Оптимальным будет план (x11, x12 ,..., xmn ) , самая продол-
жительная перевозка которого минимизируется. Модель закрытой
задачи имеет вид
min t = max tij , |
(6.13) |
|||||
|
xij > 0 , |
(6.14) |
||||
|
{ |
|
|
|
|
|
n |
|
|
|
|
|
|
åxij |
= ai , i = |
1,m |
, |
(6.15) |
||
j=1 |
|
|
|
|
|
|
m |
|
|
|
|
|
|
åxij |
= bj , j = |
1,n |
, |
(6.16) |
||
i=1 |
xij ³ 0 . |
(6.17) |
||||
|
Как видно, целевая функция является нелинейной. Обратные пе- ревозки не предполагаются.
Решаем задачу сведением ее к задаче о максимальном потоке. Для этого строится сеть с m+n+2 вершинами, из которых m вер-
шин соответствуют поставщикам Ai, а n – потребителям Bj, две ос- тавшиеся соответствуют истоку I и стоку S.
Пропускные способности ребер полагают равными:
rIA |
= ai , rA I = 0 , rB |
S = bj , rSB |
= 0 , rA B |
j |
= rB A = ¥ . |
(6.18) |
||
i |
i |
j |
|
j |
i |
j i |
|
|
У ребер |
(Ai , Bj ) |
проставляют времена tij |
доставки груза. Время |
доставки по ребрам (I, Ai ) и (Bj ,S ) считаются равными нулю: tIAi = tBj S = 0 . Граф транспортной сети приведен на рис. 6.7.
110
|
|
|
A1 |
|
t11 |
|
B1 |
|
|
|
|
(a1,0) |
|
t1j |
|
(b1,0) |
|
||||
|
t1n |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
(ai,0) |
ti1 |
|
|
(bj,0) |
|
|||
Iåai |
|
Ai |
|
tij |
|
Bj |
Såbj |
|||
|
|
tin |
|
|
|
|||||
|
(am,0) |
tm1 |
|
tmj |
|
|
(bn,0) |
|
||
|
Am |
|
tmn |
|
Bn |
|
||||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
Р и с. 6.7. Граф транспортной сети
После построения сети отыскивается поток заданной мощности:
fmax = åai = åbj , |
(6.19) |
при котором maxtij достигает минимальной величины. В процессе
этого поиска при наличии альтернативы исключаются из рассмотре- ния маршруты с более продолжительными поставками. Решение за- канчивается, когда замена более продолжительных маршрутов менее продолжительными невозможна.
Другими приложениями задачи о максимальном потоке являют-
ся:
–задача определения максимальной пропускной способности трубопровода для транспортировки груза угольной пульпы от уголь- ных шахт к электростанциям;
–определение максимальной пропускной способности (макси- мального потока) сети трубопроводов для транспортировки сырой
нефти от буровых скважин до нефтеперегонных заводов и целый ряд других задач.
ЛЕКЦИЯ 13
6.8. Задача нахождения кратчайшего пути
Задача состоит в нахождении связанных между собой дорог на транспортной сети, которые в совокупности имеют минимальную длину от исходного пункта до пункта назначения.
Введем обозначения: dij – расстояние на сети между смежными
111
узлами i , j ; uj |
– кратчайшее расстояние между узлами i , j ; |
u1 = 0 . |
||
Формула для вычисления uj : |
|
|
|
|
ì |
кратчайшее растояние |
ü |
|
|
ï |
до предыдущего узла i |
ï |
|
|
ï |
ï |
= min (ui + dij ). |
||
U j = min í |
плюс расстояние между |
ý |
||
ï |
ï |
|
|
|
ï |
|
ï |
|
|
î |
узлом j и предыдущим узлом iþ |
|
|
|
Из этой формулы следует, что кратчайшее расстояние uj |
до уз- |
ла j можно вычислить лишь после того, как определено кратчайшее расстояние до каждого предыдущего узла, соединенного дугой с уз- лом j . Процедура завершается, когда получено uj последнего звена.
Пример. Рассмотрим граф, представленный на рис. 6.8.
|
2 |
5 |
5 |
|
|
||
2 |
|
11 |
6 |
1 |
10 |
4 |
7 |
|
|||
|
|
|
7 |
4 |
|
|
9 |
|
3 |
1 |
6 |
|
|
|
Р и с. 6.8
Определить кратчайшее расстояние между узлами 1 и 7. Решение. Найдем минимальные расстояния:
u1 = 0 ,
u3 = u1 + d12 = 0 + 2 = 2 , u3 = u1 + d13 = 0 + 4 = 4 ,
u4 = min{u1 + d14 ;u2 + d24 ;u3 + d34} = min{0 +10;2 +11;4 + 3} = 7 , u5 = min{u2 + d25 ;u4 + d45 } = min{2 + 5;7 + 8} = 7 ,
u6 = min{u3 + d36 ;u4 + d46 } = min{4 +1;7 + 7} = 5 ,
u7 = min{u5 + d56 ;u6 + d67 } = min{7 + 6;5 + 9} =13 .
Минимальное расстояние между узлами 1 и 7 равно 13, а соот-
112
ветствующий маршрут содержит узлы 1–2–5–7.
К такой задаче сводится целый ряд задач, таких как:
–задача о замене оборудования;
–построение критического пути в сетевых графиках;
–построение сетей максимальной надежности;
–рациональное размещение пунктов обслуживания и т.д. Существует ряд алгоритмов нахождения кратчайшего пути. Из
них самыми известными являются:
–алгоритм Дейкстры;
–алгоритм Флойда;
–алгоритм Форда-Фалкерсона.
Алгоритм Дейкстры разработан для нахождения кратчайшего пути между заданным исходным узлом и любым другим узлом сети.
Алгоритм Флойда более общий, поскольку он позволяет одно-
временно найти минимальные пути между любыми двумя узлами сети.
6.9. Решение задачи методом Форда-Фалкерсона
Остановимся подробнее на алгоритме Форда-Фалкерсона.
Алгоритм может быть использован для нахождения кратчайших путей на графах, если вести поиск от некоторой вершины до всех остальных вершин. Алгоритм относится к числу итерационных.
При расчете графов на ЭВМ информацию о графе удобно хра- нить в матричном виде. Граф обычно задается с указанием длин дуг, поэтому записывается матрица весов дуг. Такая матрица квадратная с числом строк (столбцов), равным числу вершин графа. На пересе- чении i-ой строки и j-го столбца в ней ставится:
– 0, если i = j (либо это отсутствующая петля, либо длина дуги равна 0);
– l , если имеется связь u (i, j) из вершины i в вершину j , где l – длина дуги из i в j ;
– ∞ , если нет связи из i в j .
При практической реализации на ЭВМ вместо ∞ можно исполь- зовать достаточно большое число.
В качестве примера рассмотрим граф, изображенный на рис. 6.9.
113
|
|
|
1 |
|
|
|
|
|
4 |
|
5 |
|
|
|
3 |
|
1 |
|
2 |
|
|
|
|
|
|
||
|
3 |
|
5 |
|
2 |
|
|
|
|
|
|
||
|
4 |
|
3 |
|
5 |
|
|
|
|
|
|
|
|
|
|
Р и с. 6.9 |
|
|
||
Здесь матрица смежности вершин имеет вид |
||||||
|
é0 |
1 |
1 |
0 |
0ù |
|
|
ê |
0 |
1 |
0 |
ú |
|
|
ê0 |
0ú |
|
|||
V = |
ê |
0 |
0 |
1 |
ú |
, |
ê0 |
0ú |
|||||
|
ê0 |
0 |
0 |
0 |
1ú |
|
|
ê |
1 |
1 |
0 |
ú |
|
|
ë0 |
0û |
|
матрица весов дуг – |
|
|
|
|
|
|
|
é 0 |
5 |
4 |
7 |
10ù |
|
||
ê |
0 |
1 |
4 |
7 |
ú |
|
|
ê¥ |
ú |
|
|||||
[Сmin ] = ê¥ |
8 |
0 |
3 |
6 |
ú |
, |
|
ê |
5 |
5 |
0 |
3 |
ú |
|
|
ê¥ |
ú |
|
|||||
ê |
2 |
3 |
6 |
0 |
ú |
|
|
ë¥ |
û |
|
|||||
а матрица кратчайших путей – |
|
|
|
|
|
|
|
é 0 |
5 |
4 |
¥ |
¥ù |
|
||
ê |
0 |
1 |
¥ |
¥ |
ú |
|
|
ê¥ |
ú |
|
|||||
[Сmin ] = ê¥ |
¥ |
0 |
3 |
¥ |
ú . |
||
ê |
¥ |
¥ |
0 |
3 |
ú |
|
|
ê¥ |
ú |
|
|||||
ê |
2 |
5 |
¥ |
0 |
ú |
|
|
ë¥ |
û |
|
6.10. Нахождение общей медианы графа
Обозначим через q – числовую характеристику – вес вершин графа.
114
Пусть граф является, например, моделью процесса транспорти- ровки деталей между станками механического участка. Тогда под весами вершин можно понимать производительность станка (число обработанных деталей в ед. времени) или пропускную способность железнодорожного узла.
Внешним передаточным числом W1 вершины с номером 1 графа
называется результат выражения: |
|
W1 = Cmin (1,1)q1 + Cmin (1,2)q2 + ... + Cmin (1,k )qk , |
(6.20) |
где k – число вершин графа, Cmin (1, j) – элементы 1-ой строки мат- рицы кратчайших путей [Cmin ] .
Если внешние передаточные числа всех вершин графа записать в виде вектор-столбца [W ] , а веса вершин в виде вектор-столбца [q] ,
то |
|
[W ] = [Cmin ]×[q] . |
(6.21) |
Внешней медианой графа будем называть вершину графа, для |
|
которой внешнее передаточное число минимально. |
|
Внутренним передаточным числом t1 вершины с номером 1 гра- |
|
фа называется результат выражения: |
|
t1 = Cmin (1,1)q1 + Cmin (2,1)q2 + ... + Cmin (k,1)qk . |
(6.22) |
Если внутренние передаточные числа всех вершин графа запи- |
|
саны в виде вектор-столбца [t] , то можно записать: |
|
[t] = [Cmin ]T ×[q] , |
(6.23) |
где [Cmin ]T – транспонированная матрица [Cmin ] . |
|
Внутренней медианой графа называется вершина, для которой внутреннее передаточное число минимально.
Если сложить два вектора [W ] и [t] , получим новый вектор:
[ f ] = [W ] + [t] . |
(6.24) |
Минимальный элемент вектора [ f ] |
указывает своим индексом |
на номер вершины, которую называют общей медианой графа G . Таким образом, общая медиана графа характеризуется мини-
мальной суммой внутреннего и внешнего передаточных чисел. Пример. В цехе имеются 5 участков, объединенных в сеть по-
средством транспортных связей. Каждый участок производит неко-
115
торую продукцию и нуждается в обслуживании (настройке) инстру- ментом. Инструмент доставляется на участок настройки немедленно после обнаружения погрешности. Сведения об относительной произ-
водительности участков [q] и расстояниях между ними даны на гра-
фе (рис. 6.10). Где следует выбрать место для участка настройки, чтобы временные затраты на транспортировку были минимальными?
|
2 |
5 |
|
4 |
|
|
|
||
3 |
|
|
|
4 |
|
|
|
6 |
|
|
|
|
|
|
1 |
|
|
|
|
10 |
3 |
|
|
5 |
|
|
|
|
15 |
Р и с. 6.10
Требуется выбрать из 5 участков один, для которого транспор- тировка от него и обратно наиболее выгодна. Относительная потреб- ность в настройке будет считаться пропорциональной производи- тельности.
Матрица весов дуг графа – модели механического цеха, имеет
вид:
|
é |
0 |
|
3 |
10 |
¥ |
¥ ù |
|
|
||
|
ê |
3 |
|
0 |
¥ |
5 |
|
¥ |
ú |
|
|
[С] = |
ê |
|
|
ú |
|
|
|||||
ê |
|
|
¥ |
0 6 |
|
|
ú |
|
|
||
ê10 |
15ú . |
|
|||||||||
|
ê¥ |
|
5 |
6 |
0 |
|
4 |
ú |
|
|
|
|
ê |
¥ |
|
¥ |
¥ |
4 |
|
0 |
ú |
|
|
|
ë |
|
|
û |
|
|
|||||
Матрица кратчайших путей – |
|
|
|
|
|
|
|
||||
|
|
é 0 |
3 |
10 |
|
8 |
12ù |
|
|||
|
|
ê |
3 |
0 |
11 |
|
5 |
9 |
ú |
|
|
[Сm×n ] = |
ê |
|
ú |
|
|||||||
ê |
|
|
|
|
|
|
|
ú |
; |
||
10 11 0 6 10 |
ú |
||||||||||
|
|
ê |
8 |
5 |
6 |
|
0 |
4 |
|
||
|
|
ê |
|
ú |
|
||||||
|
|
ê |
|
9 |
10 |
|
4 |
0 |
ú |
|
|
|
|
ë12 |
|
û |
|
матрица весов вершин –
116
|
é |
2ù |
|
|
ê |
ú |
|
[q] = |
ê |
3ú |
|
ê |
ú |
; |
|
ê1ú |
|||
|
ê5ú |
|
|
|
ê |
ú |
|
|
ë |
3û |
|
матрица внешних передаточных чисел – |
|
|
|
|
|
|
|
|
|
||||
|
é 9 +10 + 40 + 36 ù |
|
é 95 |
ù |
|
||||||||
|
ê |
6 +11+ 25 |
+ 27 |
ú |
|
ê |
ú |
|
|||||
|
ê |
ú |
|
ê 69 |
ú |
|
|||||||
|
ê |
20 + 33 + 30 + 30 |
ú |
= |
ê |
ú |
; |
||||||
[W ] = [Cmin ]×[q] = ê |
ú |
ê113ú |
|||||||||||
|
ê |
16 +15 + 6 +12 |
ú |
|
ê 49 |
ú |
|
||||||
|
ê |
|
|
|
|
|
|
|
ú |
|
ê |
ú |
|
|
ë24 + 27 +10 + 20û |
|
ë 81 |
û |
|
||||||||
матрица внутренних передаточных чисел – |
|
|
|
|
|
|
|
||||||
é 0 3 10 8 12ù é |
2ù é 95 |
ù |
|
||||||||||
ê |
|
|
5 9 |
ú |
ê |
ú |
|
ê |
ú |
|
|||
ê 3 0 11 |
ú ê |
3ú ê 69 |
ú |
|
|||||||||
ê |
11 |
0 |
6 |
|
ú |
ê |
ú |
= |
ê |
ú |
|
||
[t] = ê10 |
10ú × |
ê1ú |
ê113ú . |
||||||||||
ê 8 5 6 0 4 |
ú ê5ú ê 49 |
ú |
|
||||||||||
ê |
|
|
|
|
ú |
ê |
ú |
|
ê |
ú |
|
||
ë12 9 10 4 0 |
û ë |
3û ë 84 |
û |
|
|||||||||
Тогда вектор-столбец |
f задается в виде: |
|
|
|
|
|
|||||||
|
|
|
|
é190ù |
|
|
|
|
|
|
|
||
|
|
|
|
ê |
|
ú |
|
|
|
|
|
|
|
|
= [w]+ [t] = |
ê138 |
ú |
|
|
|
|
|
|
|
|||
f |
ê |
|
ú |
|
|
|
|
|
|
|
|||
ê226ú . |
|
|
|
|
|
|
|||||||
|
|
|
|
ê 98 |
ú |
|
|
|
|
|
|
|
|
|
|
|
|
ê |
|
ú |
|
|
|
|
|
|
|
Минимальный элемент вектора f |
|
ë162 |
û |
|
|
|
|
|
|
|
|||
равен 98, поэтому необходимым |
свойством будет обладать участок 4 (рис. 6.10), которому в модели на графе соответствует общая медиана.
6.11. Расчет надежности сетей
При решении этой задачи на графе каждой дуге ставится в соот- ветствие надежность перемещения груза по дуге сети (т.е. вероят- ность безотказной работы).
Рассмотрим пример. Исследуется система перемещения груза по
117
городским улицам. Служба движения располагает статистическими
данными о вероятности безаварийного проезда автотранспорта по той или иной улице в том или ином направлении.
Задача моделируется графом (рис. 6.11), вершины которого – перекрестки (или характерные объекты, с помощью которых можно описать путь перемещения грузов).
Р1 |
Р2 |
Р3 |
Р и с. 6.11
Веса дуг – вероятности безаварийного проезда.
Требуется определить вероятности безаварийного проезда по тому или иному пути, т.е.вероятность безопасного перемещения по пути (см. рис. 6.11), которая определяется произведением вероятно-
стей
Ps = P1 × P2 × P3 . |
(6.25) |
Учитывая, что нас интересует максимально безопасный путь, потребуем, чтобы Ps = max .
Прологарифмируем выражение (6.25): |
|
ln(Ps ) = ln(P1 ) + ln (P2 ) + ln (P3 ) . |
(6.26) |
С учетом того, что вероятности безопасного проезда находятся в интервале от 0 до 1, ln(Pi ) < 0 .
Путь с вероятностью безопасного проезда близкой к 1 имеет от- рицательный, близкий к 0, логарифм.
Наоборот, если путь отличается малой вероятностью безаварий- ного проезда, логарифм его отрицателен и близок к бесконечности. Если же все значения логарифмов вероятностей безаварийного про- езда умножить на (–1), тогда путь с малой вероятностью безаварий-
ного проезда будет иметь очень большую положительную величину (на графе – ∞ ), а путь с высокой вероятностью безаварийности бу- дет характеризоваться малой положительной величиной.
Следовательно, для поиска пути с максимальной безаварийно- стью можно применить алгоритм поиска кратчайшего пути на задан- ном графе.
Дуги такого графа будут характеризоваться логарифмами веро- ятностей безотказного проезда, умноженными на (–1).
Проиллюстрируем вышеизложенное.
118
Пример. Исследуется система перемещения груза по городским улицам. Имеются статистические данные о вероятности безаварий-
ного проезда автотранспорта по той или иной улице в том или ином направлении.
Задача моделируется графом (рис. 6.12), вершины которого – перекрестки или характерные объекты, с помощью которых можно описать пути перемещения грузов. Веса дуг – вероятности безава- рийного проезда.
Требуется определить вероятности безаварийного проезда по тому или иному пути.
|
0,4 |
2 |
|
|
|
0,5 |
|
||
1 |
0,8 |
0,3 |
|
|
0,9 |
5 |
|||
|
||||
|
|
3 |
|
|
|
0,7 |
|
0,5 |
4
Р и с. 6.12
Решение.
Составим матрицу [C] :
|
é1 |
0,4 |
0,8 |
0,7 |
0 |
ù |
|
ê |
1 |
0,3 |
0 |
|
ú |
[С] = |
ê0 |
0,5ú |
||||
ê |
0 |
1 |
0 |
|
ú |
|
ê0 |
0,9ú . |
|||||
|
ê0 |
0 |
0 |
1 |
0,5ú |
|
|
ê |
0 |
0 |
0 |
1 |
ú |
|
ë0 |
û |
Проведем нижеследующие вычисления:
119