Правило: для того чтобы разыграть дискретную случайную величину, заданную законом распределения (2) нужно:
1) разбить интервал (0;
2) оси на Or на n частичных интервалов:
∆1 = (0; p1), ∆2= (p1; p1 +p2),..., ∆n= (p1 +p2 +…+pn-1;
3) выбрать случайное число rj (например, из таблицы случайных чисел). Если rj попало в частичный интервал ∆i, то разыгрываемая случайная величина приняла возможное значение xi.
Рассмотрим железнодорожную сеть:
Рисунок 2.1.1 - Граф железнодорожной сети
Узлы - это города, через которые проходит сеть дорог. Дуги - это участки пути, соединяющие соответствующие города. Каждая дуга имеет свою пропускную способность. В сети кроме транзитных потоков существуют внутренние транспортные потоки, которые значительно снижают пропускную способность участка сети дорог. В каждом узле происходят процессы формирования и расформирования составов.
Пусть имеется один узел отправления и один узел назначения. Требуется определить с учётом структуры сети и имеющихся параметров максимальный поток в сети с минимальными затратами всех ресурсов. Таким образом, ставится задача определения с помощью имитационной модели максимального потока между начальным и конечным узлом графа, поиск узких мест в сети, устранение которых позволит достичь оптимальной организации потоков в железнодорожной сети.
Эта задача решается следующим образом. Для получения усредненных характеристик максимального потока и его “выгоды" необходимо провести N прогонов.
На первой итерации применения процедуры Монте-Карло вероятностная задача поиска максимального потока в сети превращается в классическую. При этом определяются компоненты матрицы пропускных способностей путём вычисления cijl=cij-vijl, где vijl определяется по функции распределения Hij (v) путём нахождения единичного жребия третьего типа.
При учёте влияния внутренних потоков на пропускные ситуации в сети возможны следующие ситуации:
внутренних потоков нет на участке дороги;
внутренние потоки влияют на пропускную способность участка таким образом, что она уменьшается, но остаётся больше либо равна значению потока на этом участке, т.е.
внутренние потоки влияют на пропускную способность участка таким образом, что она уменьшается и становится меньше значения потока на этом участке, т.е.
Для каждого i-го узла сети с учётом заданных функций распределения времён формирования-расформирования вычисляется среднее время нахождения в i-ом узле транспортной единицы. В качестве начального потока выбираются значения матрицы
На k-ой итерации (k - номер итерации в алгоритме Форда-Фалкерсона) с помощью алгоритма Форда-Фалкерсона, используя изменённую матрицу пропускных способностей определяется само распределение потока по сети и его значение потока. По формулам (1.2), (1.3), и (1.4) с учётом распределения потоков, определяется обобщённый показатель “выгоды" этого потока. Значения потока, матрица значений распределения потока по ветвям и показатель “выгоды" запоминаются в базе данных модели (БДМ). Модифицируется номер итерации процедуры Монте-Карло (l=l+1) и все расчёты повторяются сначала.
По завершении N итераций этих расчётов в БДМ модели сформированы следующие выборки: выборка матриц распределения потока по ветвям сети, то есть для каждого элемента матрицы распределений потока имеется своя выборка; выборка значений максимального потока; выборка интегральных показателей “выгоды" потока.
По этим выборкам объема N формируются средние значения, а именно:
Все эти значения должны быть вычислены и представлены пользователю по завершении работы программы.
Для поиска узких мест в Gh с начальным пунктом Z и конечным пунктом Y проведём покомпонентное вычитание из этой матрицы соответствующих значений матрицы пропускных способностей Сh::
В тех местах, где элементы этой матрицы будет иметь отрицательное значение, находятся “узкие места" в Gh. На величину этой разности пропускные способности сij должны быть увеличены для того, чтобы граф Gh обеспечивал максимальный поток транзитных маршрутов в направлении из точки Z в точку Y.
Таким образом, по завершении работы программы, также должны быть получены следующие значения: матрица, характеризующая узкие места в сети, и рекомендуемая матрица пропускной способности для данной сети дорог.
Алгоритм работы модели основан на сочетании процедуры Монте-Карло и теоремы Форда-Фалкерсона и применением единичного жребия третьего типа.
Алгоритм работы модели железнодорожной сети представлен на рисунке 2.2 Для работы программного обеспечения необходимо задать следующие входные значения:
Рассмотрим работу модели на первом прогоне (i=1). Программное обеспечение учитывает, что в сети кроме транзитных потоков существуют внутренние транспортные потоки. Эти внутренние потоки влияют на пропускную способность сети. Таким образом, на каждом прогоне изменяется матрица пропускных способностей c [i,j] путем разыгрывания единичного жребия третьего типа.
С помощью алгоритма Форда-Фалкерсона вычисляется максимальный поток maxpotok, распределение потока в сети f [i,j], и по формулам (1.2), (1.3) и (1.4) определяется обобщённый показатель “выгоды" этого потока Фzy. Все эти значения запоминаются в базе данных ЭВМ.
Если i<=pr, то программа продолжает первоначальные вычисления. В противном случае (если i>pr) вычисляется следующие средние значения: максимальный поток maxpotok, распределение потоков f [i,j] и обобщённый показатель “выгоды" Фzy на каждом прогоне. Далее определяются узкие места в сети. Для этого вычисляются значения: fср [i,j] -c [i,j] и в тех местах, где матрица принимает отрицательные значения на величину этой разницы увеличиваются пропускные способности матрицы c [i,j] для обеспечения рациональной организации потоков железнодорожной сети.
После завершения работы программы новая матрица пропускных способностей c [i,j], будет обеспечивать максимальный поток транзитных маршрутов в железнодорожной сети в направлении из начального пункта в конечный.
Рисунок 2.2 - Блок-схема реализованного программного обеспечения
Модель железнодорожной транспортной сети, представленная в данной курсовой работе, предоставляет следующие возможности:
поиск максимального потока и усредненного потока в сети железнодорожных дорог различным количеством узлов (N<100);
поиск узких мест и оптимальная организация потоков в сети дорог.
Интерфейс реализован на языке Borland Delphi 7.0. На рисунке 2.3 представлен интерфейс программного обеспечения.
Рисунок 2.3 - Интерфейс программного обеспечения
Рассмотрим функционирование модели на следующем примере. Для работы программы можно использовать либо данные, которые представлены в файле 11. txt, либо ввести свои необходимые значения которые в дальнейшем можно сохранить в txt-файле. Данные вводятся при запуске программы.