
- •Финансово-технологическая академия Колледж космического машиностроения и технологий
- •Дисциплина Математические методы
- •Раздел1. Основы моделирования ………………………………………………… .3
- •Раздел 2. Детерминированные задачи……………………………………………..7
- •Тема 2.1. Линейное программирование…………………………………………7
- •Основные понятия исследования операций
- •Рассмотрим основные понятия теории исследования операций.
- •Модели, их классификация, особенности
- •Классификация математических моделей
- •По использованному при построении модели математическому аппарату
- •Построение простейших математических моделей
- •Раздел 2. Детерминированные задачи
- •Тема 2.1. Линейное программирование
- •2.1.1. Модели линейного программирования
- •2.1.2. Графический метод решения задач линейного программирования
- •2.1.3. Симплекс-метод для решения задач линейного программирования
- •2.1.4. Симплекс-метод c искусственным базисом
- •2.1.5. Двойственная задача линейного программирования
- •2.1.6. Двойственный симплекс-метод
- •Приведем задачу к виду озлп
- •2.1.7. Постановка транспортной задачи
- •2.1.8. Построение опорного плана транспортной задачи
- •2.1.9. Определение оптимального плана транспортной задачи
- •Тема 2.2. Нелинейное программирование
- •Тема 2.3. Алгоритмы на графах
- •2.3.1. Основные сведения из теории графов
- •Пути и маршруты в графе
- •Вес и длина пути
- •Степени вершин
- •2.3.2. Матричное представление графа
- •Поиск кратчайшего пути в графе
- •Первая итерация
- •Вторая итерация
- •Третья итерация
- •Четвёртая итерация
- •Поиск максимального потока в графе
- •Задача о максимальном потоке
- •Тема 2.4. Динамическое программирование
- •2.4.1. Постановка задачи динамического программирования
- •2.4.2. Моделирование многошаговых процессов
- •2.4.3. Принцип оптимальности
- •Раздел 3. Задачи в условиях неопределенности системы массового обслуживания
- •Характеристики входа
- •Поведение клиентов
- •Характеристики очереди
- •Характеристики процесса обслуживания
- •Параметры моделей очередей
Вес и длина пути
Иногда дугам графа G приписываются числа- дуге (xi xj) ставится в соответствие некоторое число Cij , называемое весом или длиной дуги.
В этом случае граф G называется графом со взвешенными дугами.
Если веса (числа vj) приписываются вершинам xj, то такой граф называется графом со взвешенными вершинами, а сами числа vj – весами вершин.
Если в графе веса приписаны и дугам и вершинам, то такой граф называется просто взвешенным.
При рассмотрении пути μ , представленного последовательностью дуг а1 , а2 , …. , аq за его вес принимается число l(μ), равное сумме весов всех дуг, входящих в этот путь, причем каждая дуга считается столько раз, сколько она встречается в данном пути.
Длиной пути μ называется количество дуг, входящих в него, причем каждая дуга считается столько раз, сколько она входит в этот путь.
Степени вершин
Число дуг, которые имеют вершину xi своей начальной вершиной, называется полустепенью исхода вершины xi. Обозначается dо(xi).
Число дуг, которые имеют вершину xi своей конечной вершиной, называется полустепенью захода вершины xi. Обозначается dt(xi).
Например: для графа, изображенного на рисунке, имеем:
dо(x1)=2 dt(x1)=2
dо(x2)=2 dt(x2)=2
dо(x3)=0 dt(x3)=2
dо(x4)=1 dt(x4)=1
dо(x5)=2 dt(x5)=2
dо(x6)=3 dt(x6)=1
Для любого графа G
где n – количество вершин в графе;
m – количество дуг в графе.
2.3.2. Матричное представление графа
Для задания структуры графа удобно использовать матрицы следующих видов:
Матрицу смежности
Она квадратная, n-го порядка, обозначается A=[aij]
Элементы матрицы определяются из условия:
- aij = 1, если в графе есть дуга (xi xj)
- ai j= 0, если в графе нет дуги (xi xj).
Например, для графа, изображенного на рисунке,
имеем следующую матрицу смежности
Эта матрица полностью определяет структуру графа:
Сумма всех элементов строки xi i дает полустепень исхода вершины xi. Сумма элементов столбца xi дает полустепень захода вершины xi.
Множество столбцов, имеющих единицы в строках xi, соответствует множеству Г(xi).
Множество строк, которые имеют единицы в столбце xi ,соответствует множеству Г-1(xi)
Матрицу инциденций.
Эта матрица размерностью n×m , обозначается B=[bij].
Элементы матрицы определяются следующим образом:
- bij= 1, если xi - начальная вершина дуги aj;
- bij=-1, если xi - конечная вершина дуги aj;
- bij= 0, если xi не является концевой вершиной дуги aj или дуга aj является петлей.
Например, для графа, изображенного на рисунке,
Имеем следующую матрицу инциденций:
Если граф неориентированный, то его матрица инциденции определяется так же как и для ориентированного графа, за исключением того , что все элементы равные «-1» заменяются на «+1»
Поиск кратчайшего пути в графе
Поиск кратчайшего пути в графе между двумя точками - это нахождение такой последовательности дуг (или дуги), ведущей от начальной точки до конечной, при которой сумма их весов будет минимальной.
Рассмотрим задачу поиска кратчайшего пути между двумя заданными вершинами S и t для случая неотрицательной матрицы весов.
Наиболее эффективный алгоритм решения такой задачи создал Дейкстра. Этот метод основан на приписывании вершинам временных пометок, причем, пометка вершины дает верхнюю границу длины пути от S к этой вершине. Эти пометки (их величины) постепенно уменьшаются с помощью итерации, и на каждом шаге итерации только одна из временных пометок становится постоянной. Это означает, что эта пометка дает точную длину кратчайшего пути от S к рассматриваемой вершине
Рассмотрим суть алгоритма Дейкстры.
Пусть l(Xi) - пометка вершины Xi.
Присваивание начальных значений
Шаг первый
Положить 1(S) = 0 и считать эту пометку постоянной.
Положить l(Xi) = ∞ для всех Xi ≠ S , и считать эти пометки временными.
Положить р = S,
где р- вспомогательная величина, равная номеру той вершины, которая на данном шаге получает постоянную пометку.
Обновление пометок
Шаг второй
Для Х є Г(р), пометки которых временные, изменить их в соответствии со следующим выражением:
l(Xi)=min[ l(Xi) ; l(p)+c(p,Xi) ] (1)
Превращение пометки в постоянную
Шаг третий
Среди всех вершин с временными пометками найти такую, для которой l(Xi*)=min[l(Xi)]
Шаг четвертый
Считать пометку вершины Xi* постоянной и положить p =Xi*.
Шаг пятый
а) Если надо найти путь от S к t:
если p = t, то 1(р) является длиной кратчайшего пути, конец задачи;
если р ≠ t, то перейти ко второму шагу.
б) Если требуется найти путь от S ко всем остальным вершинам:
если все вершины отмечены как постоянные, то пометки этих вершин дают длины кратчайших путей, конец задачи;
если некоторые пометки являются временными, перейти ко второму шагу.
Длина кратчайшего пути от исходной вершины S к любой вершине графа t равна величине постоянной пометки этой вершины t, т.е. l(S,t)=l(t).
Для нахождения самого пути воспользуемся соотношением:
l(Xi*)+c(Xi*,Xi)=l(Xi), (2)
где Xi* - вершина, непосредственно предшествующая вершине Xi в кратчайшем пути от S к t
Если условие (2) выполняется, то дуга (Xi*,Xi) входит в кратчайший путь.
Используя изложенный выше алгоритм, определим кратчайший путь в графе G от заданной вершины Х5 ко всем вершинам.
Шаг1 Присвоим начальные пометки вершинам:
l(X5) = 0+ ;
Xi
≠ X5
, l(Xi)
= ∞;
p = X5 ,