- •Тема 1. Классификация моделей.
- •Тема 1. Классификация моделей.
- •Основные признаки классификации моделей.
- •Область использования.
- •Учет в модели временного фактора.
- •Способ представления модели.
- •Тема 2. Классификация языков компьютерного моделирования.
- •Тема 3. Этапы и цели компьютерного математического моделирования.
- •Раздел 1. Задачи линейного программирования.
- •Тема 1. Математическое программирование. Общий вид задач линейного программирования.
- •Формулировка задачи.
- •Геометрическая интерпретация задачи линейного программирования.
- •Найти минимальное значение линейной функции
- •Тема 2. Графический метод решения задач линейного программирования.
- •Примеры задач, решаемых графическим методом.
- •Обобщение графического метода решения задач линейного программирования.
- •Тема 3. Симплекс - метод.
- •Каноническая задача лп на максимум.
- •Вспомогательная задача лп.
- •Алгоритм метода искусственного базиса
- •Вспомогательная задача лп.
- •Алгоритм метода искусственного базиса.
- •Тема 4. Транспортная задача.
- •4.2 Составление опорного плана.
- •4.3 Метод потенциалов.
- •Раздел 2. Теория графов.
- •Тема 1. Основные понятия теории графов.
- •Элементы множества V называются вершинами графа g (или узлами), элементы множества u-его ребрами. Вершины и ребра графа называют также его элементами и вместо VV и u u пишут Vg и ug.
- •1.2 Операции над графами.
- •1.3.Связность графов.
- •1.4 Эйлеровы графы.
- •1.5 Гамильтоновы графы.
- •Тема 2. Поиск пути в графе.
- •2.2 Путь минимальной суммарной длины во взвешенном графе с неотрицательными весами (алгоритм Дейкстры).
- •2.3 .Путь минимальной суммарной длины во взвешенном графе с произвольными весами для всех пар вершин (алгоритм Флойда).
- •2.4 Путь с минимальным количеством промежуточных вершин (волновой алгоритм).
- •2.5 Нахождение k путей минимальной суммарной длины во взвешенном графе с неотрицательными весами (алгоритм Йена).
- •Тема 3. Задачи о минимальном остове.
- •3.1 Деревья.
- •3.1 Построение минимального остовного дерева (алгоритм Краскала).
- •3.1 Деревья.
- •3.1 .Построение минимального остовного дерева (алгоритм Краскала).
- •Раздел 3. Динамическое программирование.
- •Тема 1. Метод динамического программирования.
- •1.2 Идеи метода динамического программирования
- •1.3 Выбор состава оборудования для технологической линии.
- •Исходные данные для примера
- •Тема 2. Задача инвестирования.
- •Тема 3. Замена оборудования.
- •Тема 4. Задача о загрузке.
- •4.2 Рекуррентные соотношения для процедур прямой и обратной прогонки.
- •4.3 Решение задачи о загрузке.
- •Раздел 4. Системы массового обслуживания (смо). (8 часов).
- •Тема 1. Основные понятия теории массового обслуживания.
- •Тема 2. Простейшие смо и нахождение их параметров.
- •Перечень характеристик систем массового обслуживания можно представить следующим образом:
- •2. Одноканальная смо с неограниченной очередью
- •3. Одноканальная смо с неограниченной очередью, простейшим потоком заявок и произвольным распределением времени обслуживания
- •4. Одноканальная смо с произвольным потоком заявок и произвольным распределением времени обслуживания
- •Раздел 5. Имитационное моделирование.
- •Тема 1. Простейшие задачи, решаемые методом имитационного моделирования.
- •Тема 2. Основные понятия теории Марковских процессов.
- •Тема 3. Метод Монте – Карло.
- •Раздел 6. Прогнозирование.
- •Тема 1. Основная идея прогнозирования. Методы прогнозирования
- •Тема 2.Теории экспертных оценок.
- •Раздел 7. Теория игр.
- •Тема 1. Основные понятия теории игр.
- •1. 1 Понятие об играх и стратегиях
- •Тема 2. Простейшие методы решения задач теории игр.
- •Раздел 8. Элементы теории принятия решений. (2 часа).
- •Основные понятия.
- •Принятие решений в условиях полной неопределенности
- •Принятие решений при проведении эксперимента.
- •2. Принятие решений в условиях полной неопределенности
- •2.1 Максиминный критерий Вальда.
- •Критерий равновозможных состояний.
- •3. Принятие решений при проведении эксперимента.
- •3.1. Принятие решений в условиях неопределенности.
- •3.2. Использование смешанной стратегии
- •3.3. Принятие решений в условиях риска
1.5 Гамильтоновы графы.
Граф называется гамильтоновым, если в нем имеется простой цикл, соединяющий каждую вершину графа. Сам цикл также называется гамильтоновым. Гамильтоновой называется и цепь, соединяющая все вершины графа.
В 1859 году известный ирландский математик У. Гамильтон придумал задачу «Кругосветное путешествие».
Каждой вершине додекаэдра приписывается название одного города. Задача состоит в том, чтобы, переходя по ребрам от одной вершины к другой вернутся в исходную вершину, т.е нужно отыскать в графе простой цикл, содержащий все вершины.
Не все графы гамильтоновы, хотя бы по тому, что граф, имеющий простой цикл, должен быть двусвязным.
В отличие от эйлерова графа, для гамильтонова графа не существует простого алгоритма нахождения гамильтонова цикла. До сих пор эта задача представляет интерес и до конца не решена.
Однако существует ряд теорем, доказывающих различие гамильтоновых циклов в связных графах. Их можно использовать на практике.
Тема 2. Поиск пути в графе.
2.1 Алгоритмы поиска путей.
2.2 Путь минимальной суммарной длины во взвешенном графе с неотрицательными весами (алгоритм Дейкстры).
2.3 Путь минимальной суммарной длины во взвешенном графе с произвольными весами для всех пар вершин (алгоритм Флойда).
2.4 Путь с минимальным количеством промежуточных вершин (волновой алгоритм).
2.5 Нахождение K путей минимальной суммарной длины во взвешенном графе с неотрицательными весами (алгоритм Йена).
2.1.Алгоритмы поиска путей.
Здесь рассматриваются алгоритмы работы с графами. Граф - пара G= (V, E), где V - множество вершин (вершинами могут быть объекты произвольной природы) и E - множество ребер, ребра - элементы вида e = (vi , vj), где vi , vj принадлежат множеству вершин, т.е. ребро это элемент из декартова произведения множества V на себя. Достаточно подробно терминология теории графов разобрана на странице А.Чернобаева, поэтому за более полной информацией можно обратиться туда, там же можно найти алгоритмы для работы с графами, как те которые представлены здесь, так и многие другие. Нам же для дальнейшей работы понадобится рассмотреть способы задания и структуры для хранения информации о графе.
Первый способ задания графа (не взвешенного) это задать матрицу связности S размера n*n, где n количество вершин графа, т.е. мощность множества V, при этом элемент sij = 1, если существует ребро из i-ой в j-ую вершины и sij = 0, если такого ребра нет. Нетрудно видеть, что матрица S - симметрична, если граф неориентированный, и может быть не симметричный в противном случае. При этом полагаем, что sii = 0, т.е. в графе нет петель. Такой способ задания графа используется, например, в волновом алгоритме.
Второй способ используется для задания взвешенного графа, т.е. графа каждому ребру которого соответствует некий параметр - вес. Для определения такого графа используется матрица весов W размер которой n*n, где n количество вершин графа. При этом элемент wij равен весу ребра соединяющего i-ую и j-ую вершины. Если такого ребра нет, то wij полагаем равным бесконечности (на практике это максимальное число возможное на данном языке программирования). Этот способ задания используется, например, в алгоритмах поиска пути во взвешенном графе.
При решении практических задач с помощью сетевого моделирования часто возникает задача поиска пути, наилучшего по тому или иному критерию, между двумя вершинами графа.
Пример: несколько городов, в том числе А и Б, связаны между собой сетью автомобильных дорог. Путешественник отправляется из города А в город Б. Какой маршрут он должен выбрать, чтобы добраться до Б, проехав минимальное расстояние.
В приведенном примере требуется найти в графе путь между двумя узлами, оптимальный по определенному критерию. В этом случае это сумма длин ребер пути.
Критерии оптимальности требуемого маршрута могут быть качественно различными. В первую очередь рассмотрим проблему поиска пути, минимальной по длине, которая представляет собой суммарную длину ребер, входящих в данный путь.
Предположим, что каждой дуге (i, j) ориентированного графа (случай неографа или смешанного графа качественно ничем не отличаются) поставлено в соответствие число aij –длина дуги (aij-действительные числа). Каждой паре узлов (i, j), для которых не существует дуги, соединяющих их, приписывается длина aij=∞. Задача состоит в нахождении в данном графе такого пути из узла S в узел T, для которого суммарная длина дуг минимальна.