Методы сетевого моделирования

Алгоритмы на графах и способы представления графа. Матрица смежности, теория графов. Основа и объект управления в системах сетевого планирования и управления. Сетевое моделирование в условиях неопределенности. Метод статистических испытаний, метод Флойда.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 20.11.2010
Размер файла 59,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • I. Алгоритмы на графах
    • 1.1 Представление графов
    • 1.2 Матрица смежности
    • 1.3 Списки смежности
    • 1.4 Элементы теории графов
    • 1.5 Основные понятия теории графов
    • 1.6 Сетевое планирование в условиях неопределенности
    • 1.7 Метод Флойда
  • II. Решение задач на тему: Алгоритмы на графах
    • 2.1 Построение сетевой модели
  • Список литературы

Введение

Сетевой моделью (другие названия: сетевой график, сеть) называется экономико-компьютерная модель, отражающая комплекс работ (операций) и событий, связанных с реализацией некоторого проекта (научно-исследовательского, производственного и др.), в их логической и технологической последовательности и связи.

Анализ сетевой модели, представленной в графической или табличной (матричной) форме, позволяет:

- более четко выявить взаимосвязи этапов реализации проекта;

- определить наиболее оптимальный порядок выполнения этих этапов в целях, например, сокращения сроков выполнения всего комплекса работ.

Таким образом, методы сетевого моделирования относятся к методам принятия оптимальных решений, что оправдывает рассмотрение этого типа моделей в данной курсовой работе.

I. Алгоритмы на графах

В математике, Граф -- это абстрактное представление множества объектов и связей между ними. Графом называют пару (V, E) где V это множество вершин, а E множество пар, каждая из которых представляет собой связь (эти пары называют рёбрами).

Граф может быть ориентированным или неориентированным. В ориентированном графе, связи являются направленными (то есть пары в E являются упорядоченными, например пары (a, b) и (b, a) это две разные связи). В свою очередь в неориентированном графе, связи ненаправленные, и поэтому если существует связь (a, b) то значит что существует связь (b, a).

Пример: Неориентированный граф: Соседство (в жизни). Если (1) сосед (3), то (3) сосед (1). См рис. 1.а

Ориентированный граф: Ссылки. Сайт (1) может ссылаться на сайт (3), но совсем не обязательно (хотя возможно) что сайт (3) ссылается сайт (1). См рис. 1.б.

Степень вершины может быть входящая и исходящая (для неориентированных графов входящая степень равна исходящей).

Входящая степень вершины v это количество ребер вида (i, v), то есть количество ребер которые «входят» в v.

Исходящая степень вершины v это количество ребер вида (v, i), то есть количество ребер которые «выходят» из v. Это не совсем формальное определение (более формально определение через инцидентность), но оно вполне отражает суть.

Путь в графе это конечная последовательность вершин, в которой каждые две вершины идущие подряд соединены ребром.

Путь может быть ориентированным или неориентированным в зависимости от графа.

На рис 1.а, путем является например последовательность [(1), (4), (5)] на рис 1.б, [(1), (3), (4), (5)].

У графов есть ещё много разных свойств (например они могут быть связными, двудольными, полными), но я не буду описывать все эти свойства сейчас, а в следующих частях когда эти понятия понадобятся нам.

1.5 Представление графов

Существует два способа представления графа, в виде списков смежности и в виде матрицы смежности. Оба способа подходят для представления ориентированных и неориентированных графов.

1.2 Матрица смежности

Этот способ является удобным для представления плотных графов, в которых количество рёбер (|E|) примерно равно количеству вершин в квадрате (|V|2).

В данном представлении мы заполняем матрицу размером |V| x |V| следующим образом:

A[i][j] = 1 (Если существует ребро из i в j);

A[i][j] = 0 (Иначе).

Данный способ подходит для ориентированных и неориентированных графов. Для неориентированных графов матрица A является симметричной (то есть A[i][j] == A[j][i], т.к. если существует ребро между i и j, то оно является и ребром из i в j, и ребром из j в i).

Благодаря этому свойству можно сократить почти в два раза использование памяти, храня элементы только в верхней части матрицы, над главной диагональю). Понятно, что с помощью данного способа представления, можно быстро проверить есть ли ребро между вершинами v и u, просто посмотрев в ячейку A[v][u].

С другой стороны этот способ очень громоздкий, так как требует O (|V|2) памяти для хранения матрицы.

На рис. 2 приведены представления графов из рис. 1 с помощью матриц смежности.

1.3 Списки смежности

Данный способ представления больше подходит для разреженных графов, то есть графов у которых количество рёбер гораздо меньше чем количество вершин в квадрате (|E| << |V|2).

В данном представлении используется массив Adj содержащий |V| списков. В каждом списке Adj[v] содержатся все вершины u, так что между v и u есть ребро. Память требуемая для представления равна O (|E| + |V|) что является лучшим показателем чем матрица смежности для разреженных графов.

Главный недостаток этого способа представления в том, что нет быстрого способа проверить существует ли ребро (u, v).

На рис. 3 приведены представления графов из рис. 1 с помощью списков смежности.

Применение. Те кто дочитал до этого места, наверное задали себе вопрос, а где же собственно я смогу применить графы. Как я и обещал я буду стараться приводить примеры. Самый первый пример который приходит в голову это социальная сеть. Вершинами графа являются люди, а ребрами отношения (дружба). Граф может быть неориентированным, то есть я могу дружить только с теми кто дружит со мной. Либо ориентированным (как например в ЖЖ), где можно добавить человека в друзья, без того чтобы он добавлял вас. Если же он да добавит вас вы будете «взаимными друзьями». То есть будет существовать два ребра: (Он, Вы) и (Вы, Он).

Ещё одно из применений графа, которое я уже упоминал это ссылки с сайта на сайт. Представим Вы хотите сделать поисковую систему и хотите учесть на какие сайты есть больше ссылок (например сайт A), при этом учитывать сколько сайтов ссылается на сайт B, который ссылается на сайт A. У вас будет матрица смежности этих ссылок. Вы захотите ввести какую то систему подсчёта рейтинга, которая делает какие то подсчёты на этой матрице, ну, а дальше… это Google (точнее PageRank) =).

Заключение. Это небольшая часть теории которая понадобится нам чтобы для следующих частей. Надеюсь вам было понятно, а главное понравилось и заинтересовало читать дальнейшие части! Оставляйте свои отзывы и пожелания в комментариях.

И неожиданно мне в голову пришла мысль: а что, если ситуацию в виде графа, где узлы -- клетки доски, которые соединяются возможными ходами коней. Сказано -- сделано. В итоге получилась настолько простая картинка, что головоломка становилась детской (а-ля головоломка с поездом и сменой порядка вагонов при том, что есть тупиковый запасной путь). Однако на шахматной доске эти пути были как бы завязаны в узел, потому головоломка казалась сложной).

1.4 Элементы теории графов

Граф - совокупность точек и линий, в которой каждая линия соединяет две точки. Точки называются вершинами, или узлами, графа, линии - ребрами графа. Если ребро соединят две вершины, то говорят, что оно им инцидентно; вершины, соединенные ребром называются смежными. Две вершины, соединенные ребром, могут совпадать; такое ребро называется петлей. Число ребер, инцидентных вершине, называется степенью вершины. Если два ребра инцидентны одной и той же паре вершин, они называются кратными; граф, содержащий кратные ребра, называется мультиграфом.

Ребро, соединяющее две вершины, может иметь направление от одной вершины к другой; в этом случае оно называется направленным, или ориентированным, и изображается стрелкой. Граф, в котором все ребра ориентированные, называется ориентированным графом (орграфом); ребра орграфа часто называют дугами. Дуги именуются кратными, если они не только имеют общие вершины, но и совпадают по направлению. Иногда нужно рассматривать не весь граф, а его часть (часть вершин и часть ребер). Часть вершин и все инцидентные им ребра называются подграфом; все вершины и часть инцидентных им ребер называются суграфом.

Циклом называется замкнутая цепь вершин. Деревом называется граф без циклов. Остовным деревом называется связанный суграф графа, не имеющий циклов.

Граф однозначно задан, если заданы множество его вершин, множество ребер и указаны все инцидентности (т.е. указано, какие вершины какими ребрами соединены).

Наиболее наглядно граф задается рисунком; однако не все детали рисунка одинаково важны; в частности, несущественны геометрические свойства ребер (длинна, кривизна и т.д.) и взаимное расположение вершин на плоскости.

Для неориентированного ребра порядок, в котором указанны соединяемые им вершины, не важен. Для ориентированного ребра важно: первой указывается вершина, из которой выходит ребро.

Маршрут, или путь - это последовательность ребер в неориентированном графе, в котором конец каждого ребра совпадает с началом следующего ребра. Число ребер маршрута называется его длинной.

Графы широко используются как в самой математике, так и в ее приложениях. Они применяются при построении различных математических моделей: линий электропередачи, сетей автодорог, линий воздушных сообщений и пр.

Задача состоит в том, найти путь из вершины A в вершину B. Будем задавать граф матрицей смежности, т.е. квадратной таблицей NxN, в которой на пересечении i-й строки и j-го столбца значение TRUE, если i и j соединены ребром, и FALSE в противном случае.

Теория графов в качестве теоретической дисциплины 1 может рассматриваться как раздел дискретной математики, исследующий свойства конечных множеств (бесконечные графы рассматривать мы не будем) с заданными отношениями между их элементами. Как прикладная дисциплина теория графов позволяет описывать и исследовать многие технические, экономические, биологические и социальные системы.

Задача настоящего материала заключается в том, чтобы, следуя, в основном [8], изложить основные понятия и результаты теории графов, необходимые для постановки и решения задач управления организационными системами.

Изложение материала имеет следующую структуру. В первом разделе вводятся основные понятия, во втором рассматриваются задачи о максимальных путях и контурах на графах, в третьем - свойства псевдопотенциальных графов, в четвертом - задачи о максимальном потоке, в пятом - задачи сетевого планирования и управления.

1.5 Основные понятия теории графов

сетевое моделирование матрица граф

Графом называется совокупность двух конечных множеств: - множества точек, которые называются вершинами, и множества пар вершин, которые называются ребрами.

Если рассматриваемые пары вершин являются упорядоченными, т. е. на каждом ребре задается направление, то граф называется ориентированным; в противном случае -- неориентированным. Последовательность неповторяющихся ребер, ведущая от некоторой вершины к другой, образует путь.

Граф называется связным, если для любых двух его вершин существует путь, их соединяющий; в противном случае граф называется несвязным.

В экономике чаще всего используются два вида графов: дерево и сеть.

Дерево представляет собой связный граф без циклов, имеющий исходную вершину (корень) и крайние вершины; пути от исходной вершины к крайним вершинам называются ветвями.

Сеть -- это ориентированный конечный связный граф, имеющий начальную вершину (источник) и конечную вершину (сток). Таким образом, сетевая модель представляет собой граф вида «сеть».

В экономических исследованиях сетевые модели возникают при моделировании экономических процессов методами сетевого планирования и управления (СПУ).

Объектом управления в системах сетевого планирования и управления являются коллективы исполнителей, располагающих определенными ресурсами и выполняющих определенный комплекс операций, который призван обеспечить достижение намеченной цели, например, разработку нового изделия, строительства объекта и т.п.

Основой сетевого планирования и управления является сетевая модель (СМ), в которой моделируется совокупность взаимосвязанных работ и событий, отображающих процесс достижения определенной цели. Она может быть представлена в виде графика или таблицы.

Основные понятия сетевой модели:

событие;

работа;

путь.

Работа характеризует материальное действие, требующее использования ресурсов, или логическое, требующее лишь взаимосвязи событий. При графическом представлении работа изображается стрелкой, которая соединяет два события. Она обозначается парой заключенных в скобки чисел (i,j), где i -- номер события, из которого работа выходит, а j -- номер события, в которое она входит. Работа не может начаться раньше, чем свершится событие, из которого она выходит.

Каждая работа имеет определенную продолжительность t (i,j)-Например, запись t (2,5) = 4 означает, что работа (2,5) имеет продолжительность 5 единиц. К работам относятся также такие процессы, которые не требуют ни ресурсов, ни времени выполнения. Они заключаются в установлении логической взаимосвязи работ и показывают, что одна из них непосредственно зависит от другой; такие работы называются фиктивными и на графике изображаются пунктирными стрелками (см. работу (6,9)).

На рис. 1 графически представлена сетевая модель, состоящая из 11 событий и 16 работ, продолжительность выполнения которых указана над работами.

Размещено на http://www.allbest.ru/

Рисунок 1 - Сетевая модель

Работа характеризует материальное действие, требующее использования ресурсов, или логическое, требующее лишь взаимосвязи событий. При графическом представлении работа изображается стрелкой, которая соединяет два события. Она обозначается парой заключенных в скобки чисел (i,j), где i -- номер события, из которого работа выходит, а j -- номер события, в которое она входит. Работа не может начаться раньше, чем свершится событие, из которого она выходит. Каждая работа имеет определенную продолжительность t (i,j). Например, запись t (2,5) = 4 означает, что работа (2,5) имеет продолжительность 5 единиц.

К работам относятся также такие процессы, которые не требуют ни ресурсов, ни времени выполнения. Они заключаются в установлении логической взаимосвязи работ и показывают, что одна из них непосредственно зависит от другой; такие работы называются фиктивными и на графике изображаются пунктирными стрелками (см. работу (6,9)).

Событиями называются результаты выполнения одной или нескольких работ. Они не имеют протяженности во времени. Событие свершается в тот момент, когда оканчивается последняя из работ, входящая в него. События обозначаются одним числом и при графическом представлении сетевая модель изображаются кружком (или иной геометрической фигурой), внутри которого проставляется его порядковый номер (i = 1, 2, ..., n).

В сетевой модели имеется начальное событие (с номером 1), из которого работы только выходят, и конечное событие (с номером N), в которое работы только входят.

Путь -- это цепочка следующих друг за другом работ, соединяющих начальную и конечную вершины, например, в приведенной выше модели путями являются L1 = (1, 2, 3, 7, 10, 11), L2 = (1, 2, 4, 6, 11) и др.

Продолжительность пути определяется суммой продолжительностей составляющих его работ. Путь, имеющий максимальную длину, называют критическим и обозначают LKp, а его продолжительность -- tкр.

Работы, принадлежащие критическому пути, называются критическими. Их несвоевременное выполнение ведет к срыву сроков всего комплекса работ.

Cетевая модель имеют ряд характеристик, которые позволяют определить степень напряженности выполнения отдельных работ, а также всего их комплекса и принять решение о перераспределении ресурсов.

Перед расчетом СМ следует убедиться, что она удовлетворяет следующим основным требованиям:

1. События правильно пронумерованы, т. е. для каждой работы (i, j) i <j (см. на рис. 2 работы (4,3) и (3,2)). При невыполнении этого требования необходимо использовать алгоритм пере нумерации событий, который заключается в следующем:

- нумерация событий начинается с исходного события, которому присваивается № 1;

- из исходного события вычеркивают все исходящие из него работы (стрелки), и на оставшейся сети находят событие, в которое не входит ни одна работа, ему и присваивают № 2;

- затем вычеркивают работы, выходящие из события № 2, и вновь находят событие, в которое не входит ни одна работа, и ему присваивают № 3, и так продолжается до завершающего события, номер которого должен быть равен количеству событий в сетевом графике;

- если при очередном вычеркивании работ одновременно несколько событий не имеют входящих в них работ, то их нумеруют очередными номерами в произвольном порядке.

2. Отсутствуют тупиковые события (кроме завершающего), т. е. такие, за которыми не следует хотя бы одна работа (событие 5).

3. Отсутствуют события (за исключением исходного), которым не предшествует хотя бы одна работа (событие 7).

4. Отсутствуют циклы, т. е. замкнутые пути, соединяющие событие с ним же самим.

При невыполнении указанных требований бессмысленно приступать к вычислениям характеристик событий, работ и критического пути. Для событий рассчитывают три характеристики: ранний и поздний срок совершения события, а также его резерв.

Ранний срок свершения события определяется величиной наиболее длительного отрезка пути от исходного до рассматриваемого события, причем tр(1) = 0, a tр (N) = tKp(L):

tр(j)=max { tр(j) +(i,j)}; j=2,N

Поздний срок свершения события характеризует самый поздний допустимый срок, к которому должно совершиться событие, не вызывая при этом срыва срока свершения конечного события:

tn (i) = min { tn (i) - t(i,j)}; j=2,N-1.

Независимый резерв времени соответствует случаю, когда все предшествующие работы заканчиваются в поздние сроки, а все последующие -- начинаются в ранние сроки. Использование этого резерва не влияет на величину резервов времени других работ.

Путь характеризуется двумя показателями -- продолжительностью и резервом. Продолжительность пути определяется суммой продолжительностей составляющих его работ.

Резерв определяется как разность между длинами критического и рассматриваемого путей. Из этого определения cледует, что работы, лежащие на критическом пути, и сам критический путь имеют нулевой резерв времени. Резерв времени пути показывает, на сколько может увеличиться продолжительность работ, составляющих данный путь, без изменения продолжительности общего срока выполнения всех работ.

Перечисленные выше характеристики СМ могут быть получены на основе приведенных аналитических формул, а процесс вычислений отображен непосредственно на графике, либо в матрице (размерности N*N), либо в таблице.

Рассмотрим последний указанный способ для расчета СМ, которая представлена на рис. 1; результаты расчета приведены в табл. 1.

Перечень работ и их продолжительность перенесем во вторую и третью графы табл.1. При этом работы следует последовательно записывать в гр. 2: сперва начинающиеся с номера 1, затем с номера 2 и т.д.

Граф - система, которая интуитивно может быть рассмотрена как множество кружков и множество соединяющих их линий {геометрический способ задания графа - см. рисунок 1). Кружки называются вершинами графа, линии со стрелками - дугами, без стрелок - ребрами. Граф, в котором направление линий не выделяется (все линии являются ребрами), называется неориентированным; граф, в котором направление линий принципиально (линии являются дугами) называется ориентированным.

Теория графов может рассматриваться как раздел дискретной математики (точнее - теории множеств), и формальное определение.

Начало теории графов датируют 1736 г., когда Л. Эйлер решил популярную в то время «задачу о кенигсбергских мостах». Термин «граф» впервые был введен спустя 200 лет (в 1936 г.) Д. Кенигом.

Решение графа таково: задано конечное множество X, состоящее из n элементов (X = {1, 2,.., n}), называемых вершинами графа, и подмножество V декартова произведения X хХ, то есть VcX 2, называемое множеством дуг, тогда ориентированным графом G называется совокупность (X, V) (неориентированным графом называется совокупность множества X и множества неупорядоченных пар элементов, каждый из которых принадлежит множеству X). Дугу между вершинами i и j, i, j еХ, будем обозначать (i, j). Число дуг графа будем обозначать m (V = (v 1, v 2,..., v m)).

Язык графов оказывается удобным для описания многих физических, технических, экономических, биологических, социальных и других систем.

Приведем ряд примеров приложений теории графов:

* «Транспортные» задачи, в которых вершинами графа являются пункты, а ребрами - дороги (автомобильные, железные и др.) и/или другие транспортные (например, авиационные) маршруты.

Другой пример - сети снабжения (энергоснабжения, газоснабжения, снабжения товарами и т.д.), в которых вершинами являются пункты производства и потребления, а ребрами - возможные маршруты перемещения (линии электропередач, газопроводы, дороги и т.д.).

Соответствующий класс задач оптимизации потоков грузов, размещения пунктов производства и потребления и т.д., иногда называется задачами обеспечения или задачами о размещении. Их подклассом являются задачи о грузоперевозках [7, 12].

* «Технологические задачи», в которых вершины отражают производственные элементы (заводы, цеха, станки и т.д.), а другие потоки сырья, материалов и продукции между ними, заключаются в определении оптимальной загрузки производственных элементов и обеспечивающих эту загрузку потоков [7, 12].

* Обменные схемы, являющиеся моделями таких явлений как бартер, взаимозачеты и т.д. Вершины графа при этом описывают участников обменной схемы (цепочки), а дуги - потоки материальных и финансовых ресурсов между ними. Задача заключается в определении цепочки обменов, оптимальной с точки зрения, на­ пример, организатора обмена и согласованной с интересами участников цепочки и существующими ограничениями [6, 9, 17].

* Управление проектами. С точки зрения теории графов проект - совокупность операций и зависимостей между ними {сетевой график - см. ниже). Хрестоматийным примером является проект строительства некоторого объекта.

Совокупность моделей и методов, использующих язык и результаты теории графов и ориентированных на решение задач управления проектами, получила название календарно-сетевого планирования и управления (КСПУ) [7, 10]. В рамках КСПУ решаются задачи определения последовательности выполнения операций и распределения ресурсов между ними, оптимальных с точки зрения тех или иных критериев (времени выполнения проекта, затрат, риска и др.).

* Модели коллективов и групп, используемые в социологии, основываются на представлении людей или их групп в виде вершин, а отношений между ними (например, отношений знакомства, доверия, симпатии и т.д.) - в виде ребер или дуг. В рамках подобного описания решаются задачи исследования структуры социальных групп, их сравнения, определения агрегированных показателей, отражающих степень напряженности, согласованности взаимодействия и др.

* Модели организационных структур, в которых вершинами являются элементы организационной системы, а ребрами или дугами - связи (информационные, управляющие, технологические) между ними [13, 18].

Управление проектами - раздел теории управления, изучающий методы и механизмы управления изменениями (проектом называется целенаправленное изменение некоторой системы, осуществляемое в рамках ограничений на время и используемые ресурсы; характерной чертой любого проекта является его уникальность, то есть нерегулярность соответствующих изменений).

Завершив краткое описание прикладных областей, вернемся к введению основных понятий теории графов.

Подграфом называется часть графа, образованная подмножеством вершин вместе со всеми ребрами (дугами), соединяющими вершины из этого множества. Если из графа удалить часть ребер (дуг), то получим частичный граф.

Две вершины называются смежными, если они соединены ребром (дугой). Смежные вершины называются граничными вершинами соответствующего ребра (дуги), а это ребро (дуга) - инцидентным соответствующим вершинам.

Путем называется последовательность дуг (в ориентированном графе), такая, что конец одной дуги является началом другой дуги. Простой путь - путь, в котором ни одна дуга не встречается дважды. Элементарный путь - путь, в котором ни одна вершина не встречается дважды. Контур - путь, у которого конечная вершина совпадает с начальной вершиной. Длиной пути (контура) называется число дуг пути (или сумма длин его дуг, если последние заданы).

Граф, для которого из следует называется симметрическим. Если из следует, что то соответствующий граф называется антисимметрическим.

Цепью называется множество ребер (в неориентированном графе), которые можно расположить так, что конец (в этом расположении) одного ребра является началом другого. Другое определение: цепь - последовательность смежных вершин. Замкнутая цепь называется циклом. По аналогии с простым и элементарным путем, можно определить соответственно простые и элементарные цепь и цикл. Любой элементарный цикл является простым, обратное утверждение в общем случае неверно. Элементарная цепь (цикл, путь, контур), проходящая через все вершины графа называется гамильтоновой цепью (циклом, путем, контуром). Простая цепь (цикл, путь, контур), содержащая все ребра (дуги) графа называется эйлеровой цепью (соответственно - циклом, путем, контуром).

Если любые две вершины графа можно соединить цепью, то граф называется связным. Если граф не является связным, то его можно разбить на связные подграфы, называемые компонентами. Связностью графа называется минимальное число ребер, после удаления которых граф становится несвязным.

Для ориентированных графов, если любые две вершины графа можно соединить путем, то граф называется сильно связным. Известно [7], что: связность графа не может быть больше, чем [2m /n], где [x] - целая часть числа x; существуют графы с n вершинами и m ребрами, имеющие связность [2m /n]; в сильно связном графе через любые две вершины проходит контур. Связный граф, в котором существует Эйлеров цикл, называется Эйлеровым графом.

В неориентированном графе степенью вершины i называется число di инцидентных ей ребер. Очевидно, dj < n - l, i eX. Граф, степени всех вершин которого равны n - 1, называется полным. Граф, все степени вершин которого равны, называется однородным.

Вершина, для которой не существует инцидентных ей ребер (di = 0) называется изолированной. Вершина, для которой существует только одно инцидентное ей ребро (di = 1) называется висячей.

Известно [7], что: (данное выражение называется «леммой о рукопожатиях» - поскольку в каждом рукопожатии участвуют две руки, то при любом числе рукопожатий общее число пожатых рук четно (при условии, что каждая рука учитывается столько раз, в скольких рукопожатиях она участвовала)); в любом графе число вершин нечетной степени четно.

Связный граф является эйлеровым тогда и только тогда, когда степени всех его вершин четны (теорема Эйлера). Обозначим щ -- число вершин, имеющих степень k, k = 0, 1, 2,....

Для ориентированных графов для каждой вершины можно ввести два числа - полустепень исхода (число выходящих из нее вершин) и полустепень захода d (число входящих в нее для эйлерова графа имеет место: d * = d i, вершин)).

В дальнейшем, если не оговорено особо, будем рассматривать графы без петель, то есть без дуг, у которых начальная и конечная вершины совпадают. Известно [7, 15], что: эйлеров граф является объединением контуров, попарно не имеющих общих ребер.

Определим матрицу смежности графа как квадратную матрицу n хп, элемент a i j которой равен единице, если и нулю, если. Для неориентированного графа матрица смежности всегда симметрическая.

Определим матрицу инциденций для ребер графа как прямоугольную матрицу n х m, элемент Гц которой равен единице, если вершина i инцидентна ребру j, и нулю в противном случае.

Аналогично определяется матрица инциденций для дуг графа - как прямоугольная матрицу m хп, элемент Гц которой равен плюс единице, если дуга Uj исходит из вершины i, минус единице, если дуга Ц заходит в вершину i, и нулю в остальных случаях.

Деревом называется связный граф без простых циклов, имеющий не менее двух вершин. Для дерева m = n -1, а число висячих вершин равно. Легко показать, что в дереве любые две вершины связаны единственной цепью.

Прадеревом называется ориентированное дерево, у которого одна из вершин, называемая корнем, не имеет заходящих дуг, а степени захода остальных вершин равны единице.

Плоским (планарным) называется граф, который можно изобразить на плоскости так, что различным вершинам соответствуют различные кружки и никакие два ребра не имеют общих точек, отличных от их границ (не пересекаются). Для плоского графа существует понятие грани - части плоскости, ограниченной ребрами и не содержащей внутри себя ни вершин, ни ребер. Для простоты определения грани в дальнейшем в основном будем рассматривать графы без висячих вершин. Например, дерево имеет всего одну внешнюю грань - всю плоскость. Степенью грани называется число ее граничных ребер (висячие ребра считаются дважды). Обозначим/? - число граней плоского графа, pk - число его граней, имеющих степень k, q i - степень гой грани. Можно показать, что имеет место - формула Эйлера [7, 15]. Данные выражения являются необходимыми условиями существования плоских графов с заданными наборами чисел.

Любому связному плоскому графу G можно поставить в соответствие двойственный ему связный плоский граф G *, определяемый следующим образом: каждой грани графа G соответствует вершина графа G*, каждому ребру V графа G, являющемуся граничным для граней z 1 и z 2, соответствует ребро V * графа G *, соединяющее соответствующие граням z 1 и z 2 вершины. Понятие двойственного графа тесно связано с понятием двойственности в линейном программировании [7].

Продолжительность выполнения работ часто трудно задать точно и потому в практической работе вместо одного числа (детерминированная оценка) задаются две оценки -- минимальная и максимальная.

Минимальная (оптимистическая) оценка tmin (i,j) характеризует продолжительность выполнения работы при наиболее благоприятных обстоятельствах, а максимальная (пессимистическая) tmin (i,j) -- при наиболее неблагоприятных. Продолжительность работы в этом случае рассматривается, как случайная величина, которая в результате реализации может принять любое значение в заданном интервале. Такие оценки называются вероятностными (случайными), и их ожидаемое значение tox оценивается по формуле (при бета-распределении плотности вероятности):

tож(i,j)=(3tmin (i,j) + 2t max(i,j)): 5.

Для характеристики степени разброса возможных значений вокруг ожидаемого уровня используется показатель дисперсии S2:

S2 (i,j) = (t max (i,j) - t min (i,j) 2 :5 2 = 0.04 ( t max (i,j) - t min (i,j)2.

На основе этих оценок можно рассчитать все характеристики СМ, однако они будут иметь иную природу, будут выступать как средние характеристики. При достаточно большом количестве работ можно утверждать (а при малом -- лишь предполагать), что общая продолжительность любого, в том числе и критического, пути имеет нормальный закон распределения со средним значением, равным сумме средних значений продолжительности составляющих его работ, и дисперсией, равной сумме дисперсий этих же работ.

Кроме обычных характеристик СМ, при вероятностном задании продолжительности работ можно решить две дополнительные задачи:

1) определить вероятность того, что продолжительность критического пути tкр не превысит заданного директивного уровня Т;

2) определить максимальный срок выполнения всего комплекса работ Т при заданном уровне вероятности р.

1.6 Сетевое планирование в условиях неопределенности

Продолжительность выполнения работ часто трудно задать точно и потому в практической работе вместо одного числа (детерминированная оценка) задаются две оценки -- минимальная и максимальная.

Минимальная (оптимистическая) оценка tmin (i,j) характеризует продолжительность выполнения работы при наиболее благоприятных обстоятельствах, а максимальная (пессимистическая) tmin (i,j) -- при наиболее неблагоприятных. Продолжительность работы в этом случае рассматривается, как случайная величина, которая в результате реализации может принять любое значение в заданном интервале. Такие оценки называются вероятностными (случайными), и их ожидаемое значение tox оценивается по формуле (при бета-распределении плотности вероятности):

tож(i,j)=(3tmin (i,j) + 2t max(i,j)): 5.

Для характеристики степени разброса возможных значений вокруг ожидаемого уровня используется показатель дисперсии S2:

S2 (i,j) = (t max (i,j) - t min (i,j) 2 :5 2 = 0.04 ( t max (i,j) - t min (i,j)2.

На основе этих оценок можно рассчитать все характеристики СМ, однако они будут иметь иную природу, будут выступать как средние характеристики.

При достаточно большом количестве работ можно утверждать (а при малом -- лишь предполагать), что общая продолжительность любого, в том числе и критического, пути имеет нормальный закон распределения со средним значением, равным сумме средних значений продолжительности составляющих его работ, и дисперсией, равной сумме дисперсий этих же работ.

Кроме обычных характеристик СМ, при вероятностном задании продолжительности работ можно решить две дополнительные задачи:

1) определить вероятность того, что продолжительность критического пути tкр не превысит заданного директивного уровня Т;

2) определить максимальный срок выполнения всего комплекса работ Т при заданном уровне вероятности р.

Первая задача решается на основе интеграла вероятностей Лапласа Ф(г) использованием формулы:

P (t kp < T) = 0,5 + 0,5 Ф(z),

Где нормированное отклонение случайной величины:

z = (Т - tKp)/S Kp;

SKp -- среднее квадратическое отклонение, вычисляемое как корень квадратный из дисперсии продолжительности критического пути.

Соответствие между z и симметричным интегралом вероятностей приведено в табл. 2. Более точно соответствие между этими величинами (когда z вычисляется более чем с одним знаком в дробной части) можно найти в специальной статистической литературе.

При достаточно большой полученной величине вероятности (более 0,8) можно с высокой степенью уверенности предполагать своевременность выполнения всего комплекса работ.

Для решения второй задачи используется формула:

Т = t ож (Lkp )+ z *S kp

Таблица 2 - Фрагмент таблицы стандартного распределения

z

Фz

z

Фz

0,1

0,0797

1,5

0,8664

0,2

0,1585

1,6

0,8904

0,3

0,2358

1,7

0,9104

0,4

0,3108

1,8

0,9281

0,5

0,3829

1,9

0,9545

0,6

0,4515

2,0

0,9643

0,7

0,5161

2,1

0,9722

0,8

0,5763

2,2

0,9786

0,9

0,6319

2,3

0,9836

1,0

0,6827

2,4

0,9876

1,1

0,7287

2,5

0,9907

1,2

0,7699

2,6

0,9931

1,3

0,8064

2,7

0,9949

1,4

0,8385

2,8

0,9963

Кроме описанного способа расчета сетей с детерминированной структурой и вероятностными оценками продолжительности выполнения работ, используется метод статистических испытаний (метод Монте-Карло). В соответствии с ним на вычислительной технике многократно моделируется продолжительность выполнения работ и рассчитывается на основе этого основные характеристики сетевой модели. Большой объем испытаний позволяет более точно выявить закономерность моделируемой сети.

1.7 Метод Флойда

Метод Флойда позволяет найти кратчайшие пути между всеми парами вершин графа.

Пусть G(V,X) [D(V,R)] - нагруженный граф (орграф), содержащий n вершин, для которого задана матрица весов ребер (дуг):

С(G) = [cij] - nn размера.

;

С(vi,vj) - вес дуги, соединяющей вершину vi с vj. На графе допускаются отрицательные весы дуг, однако не допускается наличие циклов отрицательного веса.

Дуги, имеющие отрицательные весы cij < 0, можно рассматривать как приносящие некоторый доход при их прохождении. Если сij 0 (положительный вес), то прохождение по этой дуге связанно с затратами.

Обозначим Vm={v1, v2,…,vm} - множество первых вершин графа (mn).

Длину кратчайшего пути из вершины vi в vj, содержащего в качестве промежуточных только вершины из множества Vm, обозначим lij(m). Если между вершинами vi в vj не существует ни одного указанного пути, то будем считать, что lij(m) = .

Пусть известны:

1) кратчайший путь из вершины vi в вершину vj, который в качестве промежуточных содержит только вершины из множества Vm-1; вершины vmVm;

2) кратчайший путь из вершины vm в вершину vj, который в качестве промежуточных также содержит вершины из множества Vm-1;

3) кратчайший путь из вершины vi в вершину vj, проходящей как и два предыдущих только через вершины множества Vm-1.

Объединяя все три пути, получим путь <vi vj>, проходящей через вершину vm.

Объединяя все три пути, получим цикл в исходном графе. Так как по условию исходный граф не может содержать циклов отрицательного веса, один из двух путей <vi vj> или <vj vi> должен быть более коротким (в крайнем случае, они могут быть равны).

Более короткий из этих путей является условно кратчайшим путем из вершины vi в vj, в которых в качестве промежуточных используются только вершины из множества Vm.

Таким образом, выполняется соотношение:

lij(m)=min{ lij(m-1), lim(m-1) + lmj(m-1) }.

Очевидно, что lij(m) определяют верхние границы для длин кратчайших путей.

По мере расширения множества Vm значения lij(m) могут уменьшаться, пока не достигнут минимума. Уменьшение lij(m) связано с выделением более коротких путей, ранее не учитываемых.

Введем обозначение матрицы Lm = [ lij(m)]n*n.

II. Решение задач на тему: Алгоритмы на графах

2.1 Построение сетевой модели

Структура сетевой модели и оценки продолжительности работ (в сутках) заданы в табл. 3. Требуется:

а) получить все характеристики СМ;

б) оценить вероятность выполнения всего комплекса работ за 35 дней, за 30 дней;

в) оценить максимально возможный срок выполнения всего комплекса работ с надежностью 95% (т. е. р = 0,95).

Три первые графы табл. 3. содержат исходные данные, а две последние графы -- результаты расчетов по формулам Так, например:

- tож(i,j)=(3tmin (i,j) + 2t max(i,j)): 5;

- tож(1,2)=(3*5 +2*7,5):5 =6;

- tож(2,3)=(3*4 +2*6,5):5 =5;

- S2 (i,j) = (t max (i,j) - t min (i,j) 2 :5 2 = 0.04 ( t max (i,j) - t min (i,j)2;

- S2 (1,2) = (7,5 - 5) 2 :25 =0,25;

- S2 (2,3) = (6,5 - 4) 2 :25 =0,25.

Таблица 3 - Структура сетевой модели

Работа

Продолжительность

Ожидаемая

Дисперсия

(i,j)

tmin(i,j)

t max(i,j)

Продолжительность tож(i,j)

S2 (i,j)

(1.2)

5

7.5

5

0.25

(2.3)

4

6.5

5

0.25

(2.4)

3

6

3

1.00

(2.5)

1

5.5

4

0.25

(3.7)

0.5

3.5

1

0.36

(4.5)

5

7.5

6

0.25

(4.6)

3

5.5

4

0.25

(4.9)

5

10

7

1.00

(5.8)

2

4.5

3

0.25

(5.10)

7

12

9

1.00

(6.9)

0

0

0

0.00

(6.11)

3

8

5

1.00

(7.10)

4

9

6

1.00

(8.10)

2

7

4

1.00

(9.10)

1

6

3

1.00

(10.11)

8

10.5

9

0.25

Получим сетевую модель аналогичную рассматриваемой:

Размещено на http://www.allbest.ru/

Таким образом ход расчета характеристик модели остается аналогичен рассмотренному во второй главе. Напомним, что критическим является путь: Lкр = (1,2,4,5,10,11), а его продолжительность равна tкр = tож = 33 дня.

Дисперсия критического пути составляет:

S2Kp = S2(l,2) + S2(2,4) + S2(4,5) + S2(5,10) + S2(10,M) = 0,25 + 1,00 + 0,25 + 1,00 + 0,25 = 2,75.

Для использования формулы показателя дисперсии необходимо иметь среднее квадратическое отклонение, вычисляемое путем извлечения из значения дисперсии квадратного корня, т. е. SKp = 1,66. Тогда имеем:

Р(tкр <35) = 0,5 + 0,5 Ф{(35 - 33)1,66} = 0.5 + 0.5 Ф(1,2)=0,5+0,5*0,77=0,885.

Р(tкр <30) = 0,5 + 0,5 Ф{(30 - 33)/1,66} = 0,5 - 0,5Ф(1,8) = 0,5 - 0,5 * 0,95 = 0,035.

Таким образом, вероятность того, что весь комплекс работ будет выполнен не более чем за 35 дней, составляет 88,5%, в то время как вероятность его выполнения за 30 дней -- всего 3,5%.

Для решения второй (по существу обратной) задачи прежде всего в табл.2 найдем значение аргумента z, которое соответствует заданной вероятности 95% . В графе Ф(z) наиболее близкое значение (0,9545 * 100%) к ней соответствует г = 1,9. В этой связи в формуле (3.61) будем использовать именно это (не совсем точное) значение. Тогда получим:

Т = tож(Lкр) + z-SKp = 33 + 1,9*1,66 = 36,2 дн.

Следовательно, максимальный срок выполнения всего комплекса работ при заданном уровне вероятности р = 95% составляет 36,2 дня.

Составим словесно-формульное описание алгоритма:

Начало процесса;

Ввод данных ((i,j), tmin(i,j), t max(i,j), tож(i,j), S2 (i,j);

Организация цикла;

Вычисление для каждого значения работы:

tож(i,j)=(3tmin (i,j) + 2t max(i,j)): 5;

S2 (i,j) = (t max (i,j) - t min (i,j) 2 :5 2 = 0.04 ( t max (i,j) - t min (i,j)2;

Завершение цикла;

Вычисление дисперсии критического пути:

S2Kp = S2(l,2) + S2(2,4) + S2(4,5) + S2(5,10) + S2(10,M);

Вычисление вероятности выполнения работ за 35 и 30 дней:

Р(tкр <35) = 0,5 + 0,5 Ф{(35 - 33)1,66} = 0.5 + 0.5 Ф(1,2)=0,5+0,5*0,77=0,885;

Р(tкр <30) = 0,5 + 0,5 Ф{(30 - 33)/1,66} = 0,5 - 0,5Ф(1,8) = 0,5 - 0,5 * 0,95 = 0,035;

Организация цикла для нахождения Ф(z);

Завершение цикла;

Вычисление срока выполнения всего комплекса работ:

Т = tож(Lкр) + z-SKp = 33 + 1,9*1,66 = 36,2 дн.

Вывод результатов;

Конец процесса.

Список литературы

1. Агафонов В.Н., Поттосин И.В., Бежанова М.М., Сабельфельд В.К. Сборник упражнений по программированию на языке Паскаль. - Новосибирск: НГУ, 1985. - 80 с.

2. Адельсон-Вельский Г.М., Ландис Е.И. Один алгоритм организации информации // ДАH СССР, 1962, 146, 2, с.263-266.

3. Адельсон-Вельский Г.М., Диниц Е.А., Карзанов А.В. Потоковые алгоритмы. - М.: Наука, 1975. - 120 с.

4. Айгнер М. Комбинаторная теория. - М.: Мир, 1982. - 558 с.

5. Амбарцумов Л.Г. Задачи по теории графов и комбинаторике. - Казань: КАИ, 1984. - 40 с.

6. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т.1. Синтаксический анализ. - М.: Мир, 1978. - 612 с.

7. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. - М.: Мир, 1979. - 536 с.

8. Басакер Р., Саати Т. Конечные графы и сети. - М.: Наука, 1974. - 368 с.

9. Бауэр Ф.Л., Гооз Г. Информатика. Вводный курс: В 2-х ч. Ч.1. - М.: Мир, 1990. - 336 с.; Ч.2. - М.: Мир, 1990. - 423 с.

10. Бауэр Ф.Л., Гнац Р., Хилл У. Информатика. Задачи и решения. - М.: Мир, 1978. - 356 с.

11. Башарин Г.П. Графы и сети Маркова. - М.: УДН, 1989. - 33 с.

12. Белов В.В., Воробьев Е.М., Шаталов В.Е. Теория графов. - М.: Высш. шк., 1976. - 392 с.

13. Березина Л.Ю. Графы и их применения. Ч.1-2. - М.: НИИСИМО, 1973.

14. 1974. Березина Л.Ю. Графы и их применение. - М.: Просвещение, 1979.

15. Берж К. Теория графов и ее применения. - М.: ИЛ, 1962. - 320 с.

16. Берзтисс А.Т. Структуры данных. - М.: Статистика, 1974. - 408 с.

17. Библиотека алгоритмов 1б-50б. (Справочное пособие.) - М.: Сов. радио, 1975. - 176 с.

18. Брой М. Информатика. Структуры систем и системное программирование: В 4-х ч. Ч.3. - М.: Диалог-МИФИ, 1996. - 224 с.

19. Бурков В.Н. Прикладные задачи теории графов. - Тбилиси, 1974.

20. Бурковский В.Л., Холопкина Л.В., Райхель Н.Л., Кравец О.Я. Методы моделирования и анализа вычислительных систем. - Воронеж: ВГТУ, 1996.

21. Вирт H. Алгоритмы + структуры данных = программы. - М.: Мир, 1985.

22. Вирт H. Алгоритмы и структуры данных. - М.: Мир, 1989. - 360 с.

23. Гаврилов Г.П., Сапоженко А.А. Сборник задач по дискретной математике. - М.: Наука, 1977. - 368 с.

24. Глускин Л.М. Задачи и алгоритмы комбинаторики и теории графов. -Донецк: ДПИ, 1982. - 111 с.

25. Горбатов В.А. Основы дискретной математики. - М.: Высш. шк., 1986.

26. Горбатов В.А. Дискретная математика в задачах и упражнениях. -М.: МГИ, 1988 (1989). - 100 с.

27. Грин Д., Кнут Д. Математические методы анализа алгоритмов. - М.: Мир, 1987. - 120 с.

Размещено на Allbest.ru


Подобные документы

  • История возникновения, основные понятия и теоремы теории графов. Способы предоставления графов в компьютере. Матрица смежности, инциденций, списки смежности и массив дуг. Программа определения кратчайшего пути в графах. Язык программирования Delphi.

    курсовая работа [823,5 K], добавлен 24.11.2010

  • Генетическое программирование и алгоритм. Метод сетевого оператора. Матрица, вариации и вектор сетевого оператора. Метод интеллектуальной эволюции. Сетевой оператор базового решения. Движение робота в плоскости X,Y, симуляция с начальными условиями.

    дипломная работа [2,6 M], добавлен 23.09.2013

  • Алгоритмы, использующие решение дополнительных подзадач. Основные определения теории графов. Поиск пути между парой вершин невзвешенного графа. Пути минимальной длины во взвешенном графе. Понятие кратчайшего пути для графов с помощью алгоритма Флойда.

    реферат [39,6 K], добавлен 06.03.2010

  • Основные понятия и определения алгоритмов на графах. Связные графы без циклов, свободное дерево или дерево без корня. Ориентированные графы (орграфы), их использование для представления отношений между объектами. Матрицы смежности и инциденций.

    презентация [93,9 K], добавлен 13.09.2013

  • Применение теории графов и алгоритмов на графах среди дисциплин и методов дискретной математики. Граф как совокупность двух множеств. Основные способы численного представления графа. Элементы и изоморфизмы графов. Требования к представлению графов в ЭВМ.

    курсовая работа [162,2 K], добавлен 04.02.2011

  • Определение понятия графа как набора вершин и связей между ними. Способы решения задач по программированию согласно теории графов на примерах заданий "Дороги", "Перекрестки", "Скрудж Мак-Дак", используя рекурсивные функции и рекуррентные соотношения.

    курсовая работа [36,2 K], добавлен 10.03.2010

  • Математические графы, области их применения. Способы раскраски вершин и ребер графов, задачи на их применение. Разработка алгоритма, работающего на основе операций с матрицей смежности. Описание логической структуры программы. Пример зарисовки графа.

    курсовая работа [145,5 K], добавлен 27.01.2013

  • Способы построения остовного дерева (алгоритма поиска в глубину и поиска в ширину). Вид неориентированного графа. Понятие и алгоритмы нахождения минимальных остовных деревьев. Последовательность построения дерева графов по алгоритмам Крускала и Прима.

    презентация [22,8 K], добавлен 16.09.2013

  • Понятие матрицы, определение ее составных частей и границ, обосновывающие теории. Арифметические операции над матрицами, способы их представления в Mathcad. Формирование уравнений цепи на основе теории графов. Характеристика топологических матриц графа.

    учебное пособие [982,4 K], добавлен 03.05.2010

  • Теоретическое обоснование теории графов. Методы нахождения медиан графа. Задача оптимального размещения насосной станции для полива полей. Алгоритм Флойда, поиск суммарного расстояния до вершин. Функция нахождения индекса минимального значения в массиве.

    курсовая работа [336,8 K], добавлен 28.05.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.