- •Введение
- •1.Основные понятия и принципы моделирования Определение моделирования
- •1.1. Принципы построения математических моделей
- •Обобщенная математическая модель
- •1.2. Оценка эффективности стратегий
- •1.3. Классификация задач исследования операций
- •1.4. Модели выбора решений в условиях определенности
- •2. Математическое программирование
- •2.1. Постановка задачи линейного программирования.
- •Формы записи задач линейного программирования
- •Решение задачи лп графическим методом :
- •Геометрическая интерпретация и графический метод решения задачи линейного программирования
- •3. Геометрическая интерпретация задач линейного программирования
- •2.1.1 Симплексный метод решения задач линейного программирования
- •2.1.2Алгоритм симплекс метода отыскания оптимального решения задачи линейного программирования
- •2.1.3Примеры решения задач симплексным методом Пример 1. Найти максимум целевой функции
- •§4. Решение задачи лп двухфазным симплекс-методом
- •2.1.4 Задачи для закрепления полученных знаний
- •2.1.5. Двойственная задача
- •2.1.6Основные теоремы двойственности
- •2.1.7. Транспортная задача
- •2.1.8. Первоначальное распределение поставок
- •2.1.9. Правило "Северо-западного угла"
- •2.1.11. Метод потенциалов.
- •2.2. Модели динамического программирования
- •2.2.1. Постановка задачи динамического программирования
- •2.2.2. Принцип оптимальности и математическое описание динамического процесса управления
- •2.2.3. Оптимальное распределение инвестиций
- •2.2.3. Выбор оптимальной стратегии обновления оборудования
- •2.3. Сетевое моделирование. Методы и модели теории графов и сетевого моделирования
- •2.3.1. Элементы теории графов
- •2.3.2. Сетевое планирование и управление
- •2.3.3. Основные понятия и терминология, используемые в сетевом планировании
- •2.3.4. Порядок построения сетевых графиков
- •2.3.5. Правила построения сетевого графика.
- •2.3.6. Основные понятия сетевого графика
- •2.3.7. Временные параметры сетевых графиков
- •3. Задачи в условиях неопределенности
- •3.1. Системы массового обслуживания
- •3.1.1. Структура простейшей системы массового обслуживания.
- •3.1.2. Система массового обслуживания с отказом. Одноканальная система.
- •3.1.3. Системы массового обслуживания с ожиданием.
- •Имитационное моделирование
- •3.2.1. Основы имитационного моделирования
- •3.2.2. Метод статистических испытаний
- •3.2.3. Формирование случайных чисел на эвм
- •3.3. Модели прогнозирования. Задачи управления запасами
- •3.3.1.Основные понятия управления запасами
- •3.3.2. Классификация моделей управления запасами
- •3.3.3. Складская система
- •3.3.4. Спрос на товары
- •3.3.5. Возможность пополнения запасов
- •3.3.6. Затраты на функционирование системы управления запасами
- •3.3.7. Стратегия управления запасами
- •3.3.8. Основные детерминированные модели. Простейшая модель управления запасами ( модель 1)
- •3.3.9. Модель с учетом дефицита (модель 2)
- •С помощью этих соотношений исключим т1, т2, т и получим
- •Оптимальное значение
- •График зависимости уровня запаса на складе от времени
- •Методы и модели теории игр
- •3.4.1. Основные понятия теории игр
- •3.4.2. Постановка игровых задач
- •3.4.3. Методы решения игровых задач
- •3.4.4. Метод линейного программирования
- •Литература
2.3. Сетевое моделирование. Методы и модели теории графов и сетевого моделирования
2.3.1. Элементы теории графов
Большое количество задач удобно представлять для исследования в виде сетей, которые позволяют ответить на два главных вопроса: до какого места необходимо дойти (цель) и какой путь следует избрать (как). Методы сетевого анализа основаны на теории графов.
Граф задается двумя множествами: непустым множеством Х (вершин) и множеством пар элементов U, которые называются ребрами для неориентированного графа, или дугами для ориентированного (орграфа). Граф называется ориентированным, если пары элементов упорядочены. На плоскости граф задается в виде точек ( вершин) и линий, соединяющих некоторые из них (ребер или дуг).
Определения для неориентированного графа:
Вершины называются смежными, если существует ребро их соединяющее.
Вершина и ребро называются инцидентными, если вершина является началом или концом ребра.
Степенью вершины называется число инцидентных ей ребер.
Ребро, начало и конец которого совпадают называется петлей.
Маршрутом называют последовательность вершин и ребер, в которой конец предыдущего ребра совпадает с началом следующего.
Число ребер в маршруте называют длиной маршрута.
Цепью называют маршрут, в котором все ребра попарно различны.
Цепь называется простой, если все вершины попарно различны.
Граф называется связным, если для любых двух его вершин существует цепь, соединяющая вершины.
Расстоянием между вершинами связного графа называется длина самой короткой цепи.
Диаметром графа называется максимальное расстояние между его вершинами.
Простым циклом называется простая цепь, начало и конец которой совпадают.
Подграфом графа G называется графG1 с множеством вершин Х1 реберU1, такой, что X1€X , U1€U.
Деревом называется связный граф без циклов.
Граф называется взвешенным, если каждому его ребру поставлено в соответствие число.
Для ориентированных графов в основном все определения сохраняются.
Отличия для орграфа:
Цепь называют путем.
Цикл называют контуром.
При выполнении анализа на компьютере граф неудобно задавать графически, лучше представлять его в виде матриц.
Матрицей смежности графа, содержащего n – вершин, называется квадратная матрица, каждый элементом которой определяется следующим образом:
1, если вершины i, j
соединены ребром
Ai j=
0 в противном случае
Для графа с кратными дугами (ребрами) вместо 1 записывается число дуг (ребер) между вершинами. Матрицу смежности чаще применяют для задания неориентированного графа.
Для орграфа лучше использовать матрицу инцидентности.
Матрицей инцидентности орграфа с n – вершинами и m – дугами называется матрица с n – строками и m – столбцами элемент которой определяется следующим образом:
1, если вершина является началом ребра
i, j
-1, если вершина является концом ребра i, j
Ai j= 2, если вершина и начало и конец ребра i, j
0, если вершина и ребро не инцидентны
Среди сетей особо выделяется двухполюсная транспортная сеть, которая удовлетворяет следующим условиям:
существует только одна вершина, в которую не заходит ни одна дуга. Эта вершина называется входом или истоком.
существует только одна вершина, из которой не выходит ни одна дуга. Эта вершина называется выходом или стоком.
каждой дуге поставлено в соответствие неотрицательное число, называемое пропускной способностью дуги.
Постановку и решение подобных задач можно получить с помощью сетевого моделирования.
Природа потоков и принцип их сохранения.
Потоковые процессы имеют динамический характер, связанный с перемещениями, различных по своей природе, масс в пространстве: электроэнергии, нефти, газа, воды, железнодорожного, воздушного, водного, автодорожного транспорта; товаров, финансов, пешеходов, информации и т.д. Множество возникающих в таких случаях задач может быть решено с помощью теории потоков в сетях. В этой теории в качестве основы рассматриваются движения в сетях потоков любой природы от источника к стоку.
Определение
Потоком в сети S=(N,U) от входа к выходу называется неотрицательная функция f, определенная на множестве дуг U сети, со следующими свойствами:
величина потока, по каждой дуге не должна превосходить ее пропускной способности; 0<=f(i,j)<=c(i,j)
величина потока, входящего в каждую вершину сети, за исключением входа и выхода, равна величине потока, выходящего из этой вершины.
∑f –(i,j) - ∑f +(i,j)=0
Из определения потока следует, что величина потока не исчезает и не накапливается в вершинах сети. Следовательно, количества потока из входа равно количеству потока, заходящему на выход. Это значение называется величиной потока.
Величина потока равна сумме значений потоков, выходящих из истока или входящих в сток.
V=∑f –(i,j) = ∑f +(i,j)
Количественные характеристики дуг сети, а также взаимосвязь между ее узлами могут быть представлены с помощью матрицы расстояний или матрицы стоимостей.
Теорема о максимальном потоке и минимальном разрезе
Пусть в ориентированной сети от источника к стоку протекает поток, величина которого равна V . Поскольку пропускная способность каждой дуги c(i,j) является величиной конечной, то максимальная величина допустимого потока всей сети тоже ограничена. Максимальный поток определяется на основе понятия разреза.
Понятие разреза
Множество вершин можно разбить на два непересекающихся подмножества, которые соединяются между собой дугами Up. Причем исток принадлежит одному подмножеству N-p, а сток другому N+p. Тогда величина потока из подмножества N-p в подмножество N+p, протекающего по дугам не может быть больше, чем сумма пропускных способностей дуг этого подмножества
∑f (i,j)< = ∑c(i,j)
Этот барьер для потока, отделяющий множество узлов N-p от множества узлов N+p, называется разрезом. Разрез представляет такое множество дуг Up , исключение которых отделяет вход от выхода.
Величина максимального потока от источника к стоку ограничена сверху величиной разреза, определяемой суммой пропускных способностей всех входящих в него дуг множества Up.
Минимальным разрезом сети называют разрез, имеющий минимальную величину.
В соответствии с теоремой о максимальном потоке и минимальном разрезе, сформулированным Фордом и Фалкерсоном, величина максимального потока от входа в выход равна величине минимального разреза, отделяющего вход и выход сети, следовательно:
V=min C(N-p, N+p)
Пример
На рисунке 2.2. изображена сеть автомобильных потоков
Рис. 2.2
Стрелками показано направление одностороннего разрешенного движения потоков автомобилей. От одного перекрестка до другого пропускная способность ограничена величиной c(i,j). В связи с этим мощность автомобильного потока f (i,j) не может превысить c(i,j).
0< = f (i,j)< = c(i,j)
с(1,2)=3, с(1,3)=9, с(2,3)=2, с(2,4)=8, с(3,4)=2
Задача заключается в определении максимально возможного потока.
Необходимо определить все разрезы и вычислить потоки через эти разрезы. Найти минимальный среди полученных величин. Величина разреза определяется пропускной способностью входящих в него дуг.
Разрез А-А: дуги (3,4) и (2,4)
с(2,4)+с(3,4)=8+2=10
Разрез В-В: дуги (1,3) , (2,3) и (2,4)
с(1,3)+с(2,3)+с(2,4)=9+2+8=19
Разрез С-С: дуги (1,2) и (3,4)
с(1,2)+с(3,4)=3+2=5
Тогда величина максимального потока от источника к стоку равна величине минимального разреза:
Min[(A,A),(B,B),(C,C)]=min[10,19,5]=5
Построение максимального потока
Для решения этой проблемы необходимо ввести несколько понятий.
Пусть задана сеть S=(N,U) с множеством вершин N и множеством дуг U.
Определение. Дуга (i,j) называется допустимой дугой, если она обладает одним из следующих свойств:
направление дуги совпадает с направлением потока, и значение потока по этой дуге меньше ее пропускной способности:
f (i,j)< = c(i,j)
направление дуги противоположного направлению потока, и величина потока отлична от нуля:
f (i,j)>0
Дуги, обладающие первым свойством, называют увеличивающими; дуги, обладающие вторым свойством, - уменьшающими.
Определение. Увеличивающей цепью, соединяющей вход и выход сети, называется простая цепь, все дуги которой являются допустимыми.
Пример. Построить максимальный поток для сети, представленной на рисунке.
Алгоритм построения максимального потока:
задание начального значения потока.
построение увеличивающей цепи от входа к выходу сети. Если такой цепи нет, то максимальный поток построен и его величина
V=∑f –(i,j) = ∑f +(i,j)
в противном случае – увеличение вдоль построенной цепи значения потока на максимально возможную величину ∆f, при этом по каждой увеличивающей дуге поток увеличивается на ∆f, а по каждой уменьшающей дуге уменьшается на ∆f.
Исходные данные: с(0,1)=9, с(0,3)=8, с(1,2)=6, с(1,4)=3, с(3,4)=4, с(2,4)=4,с(2,5)=10, с(4,5)=7
f (0,1)=6, f (0,3)=3, f (1,2)=3, f (1,4)=3, f (3,4)=3, f (2,4)=2, f (2,5)=5, f (4,5)=4.
Цепь (0,1,2.4,5) является увеличивающей, так как все ее дуги допустимые. Дуга (2,4) – уменьшающая, остальные – увеличивающие.
Увеличим поток вдоль цепи (0,1,2.4,5):
Вдоль дуги (0,1) увеличим на разницу между пропускной способностью и уже проходящим по ней потоком (9-6)=3.
Вдоль дуги (1,2) (6-3)=3
Дуга (2,4) является уменьшающей, максимальная величина, на которую можно уменьшить поток на ней (4-2)=2.
По дуге (4,5) поток можно увеличить на (7-4)=3.
Таким образом, максимальная величина ∆f, на которую можно увеличить поток, составляет:
∆f=min(3,3,2,3)=2
При этом на каждой увеличивающей дуге поток увеличивается на эту величину, а по каждой уменьшающей – уменьшается.
Новое значение потока по каждой дуге этой цепи равно:
f (0,1)=8, f (0,3)=3, f (1,2)=5, f (1,4)=3, f (3,4)=3, f (2,4)=0, f (2,5)=5, f (4,5)=6.
После такого перераспределения значение потока стало равным V=(8+3)=5+6=11
Условие сохранения потока в вершинах сети по-прежнему выполняется.
Рассмотрим цепь (0,1,2,5). Эта цепь увеличивающая, так как все дуги допустимые.
Поток вдоль этой цепи можно увеличить на:
∆f=min(9-8,6-5,10-5)=1
Новое значение потока по каждой дуге этой цепи равно:
f (0,1)=9, f (0,3)=3, f (1,2)=6, f (1,4)=3, f (3,4)=3, f (2,4)=0, f (2,5)=6, f (4,5)=6.
Рассмотрим цепь (0,3,4,5).
∆f=min(8-3,4-3,7-6)=1
Новое значение потока по каждой дуге этой цепи равно:
f (0,1)=9, f (0,3)=4, f (1,2)=6, f (1,4)=3, f (3,4)=4, f (2,4)=0, f (2,5)=6, f (4,5)=7.
Больше увеличивающих цепей нет, следовательно, максимальный поток построен. Его величина
V=11+1+1=9+4=6+7=13
Минимальный разрез, соответствующий этому потоку, содержит дуги (1,2), (1,4), (3,4), а его пропускная способность 6+3+4=13 соответствует величине максимального потока.
Что Вы должны знать:
(вопросы для самоконтроля
Каковы основные термины и определения для неориентированных графов?
Каковы основные термины и определения для ориентированных графов?
Как строится матрица смежности?
Как строится матрица инцидентности?
В чем заключается принцип сохранения потоков на сетях?
В чем состоит сущность теоремы о максимальном потоке?
Как выполняются разрезы на сети?
Примеры для закрепления:
Нарисуйте граф по матрице смежности
Номера вершин
|
1 |
2 |
3 |
4 |
5 |
6 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
2 |
1 |
0 |
1 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
1 |
0 |
1 |
4 |
0 |
1 |
1 |
0 |
1 |
1 |
5 |
0 |
0 |
0 |
1 |
0 |
1 |
6 |
0 |
0 |
1 |
1 |
1 |
0 |
