Сетевые модели задач динамического программирования

Основные понятия сетевых моделей. Матричный способ задания сетей. Задача о кратчайшем пути, как одна из наиболее важных оптимизационных задач на сети. Выполнение алгоритма (шаги) Дейкстры непосредственно на сети. Построение схем сетевой модели задачи.

Рубрика Экономико-математическое моделирование
Вид лекция
Язык русский
Дата добавления 19.12.2014
Размер файла 106,3 K

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

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

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

Тема. СЕТЕВЫЕ МОДЕЛИ ЗАДАЧ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ. НАХОЖДЕНИЕ КРАТЧАЙШЕГО МАРШРУТА

1. Основные понятия сетевых моделей

Граф - это совокупность множества узловых точек X (узлов или вершин) и множества соединяющих их дуг А. Формально граф обозначается G=(X, А). Обычно вершинам приписывают номера - 1, 2,..., n, а дуги изображают прямыми или кривыми линиями, каждая из которых соединяет ровно две вершины, и обозначают (i, j). Где i, j - вершины, определяющие начало и конец дуги. На рис. 6.1. вершины графа - это кружки с номерами 1, 2, 3, 4, 5. Дуги этого графа: (1, 2), (1, 4), (5, 1), (2, 3), (2, 5), (3, 5).

Сеть - это граф, каждой дуге которого поставлено в соответствие одно или несколько чисел (весов).

Если нет необходимости различать начало и конец дуги, дуга является неориентированной и называется ребром. Граф, в котором ни одна из дуг не имеет ориентации, называется неориентированнымориентированным в противном случае). Граф на рис. 1 - ориентированный.

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

Рис. 1 Пример ориентированного графа.

Вершины в графе называются смежными, если они различны и существует дуга, соединяющая эти вершины. Две дуги называются смежными, если они имеют общую концевую вершину. Последовательность дуг, соединяющая вершины i и j без учета их ориентации называется путем. Граф называется связным, если существует, по крайней мере, один путь между любой парой его вершин. Конечный путь, начальная и конечная вершины которого совпадают, называется циклом. Если все дуги пути, связывающего узлы i и j, ориентированы так, что действительно можно пройти по этому пути из i и j, то такой путь часто называют ориентированной цепью. Например, на рис. 1. путь из 1 в 5, проходящий через узлы 1, 2, 3, 5, есть ориентированная цепь. Замкнутая цепь называется ориентированным циклом или контуром. Например, на рис. .1 контуром является ориентированная цепь, соединяющая вершины 1, 2, 5, 1. Сеть, не имеющая циклов (контуров), называется ациклической (бесконтурной).

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

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

Рис. .2 Пример дерева.

2. Матричный способ задания сетей

Матричное представление структуры сети дает более удобный способ описания, чем графическое, особенно при большом числе вершин и дуг. Взаимосвязь между вершинами сети можно определить при помощи матрицы смежности вершин графа. Это квадратная матрица n-го порядка, строки и столбцы которой соответствуют вершинам графа. Элементы матрицы равны 1, если существует дуга (i, j) и 0 - в противном случае. Например, матрицы смежности вершин графа, изображенного на рис. 1 имеет вид:

№ вершины

1

2

3

4

5

1

0

1

0

1

0

2

0

0

1

0

1

3

0

0

0

0

1

4

0

0

0

0

0

5

1

0

0

0

0

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

3. Задача о кратчайшем пути

Одной из наиболее важных оптимизационных задач на сети является задача нахождения цепи, соединяющей два узла - исходный узел S и узел назначения Т, которая имеет минималь6ую возможную длину. Алгоритм нахождения кратчайшего пути для сетей без циклов предложен Дейкстрой в 1959г. и считается одним из наиболее эффективных. Он основан на приписывании узлам либо временных, либо постоянных пометок и имеет рекурсивный характер. Все вычисления выполняются с использованием информации об уже определенных на предшествующих шагах кратчайших расстояниях.

Для заданного узла j через обозначим оценку длины кратчайшей цепи из исходного узла S в этот узел. Если эта оценка не может быть улучшена, то она называется "постоянной пометкой" и обозначается . В противном случае она называется "временной пометкой". Обозначим через y номер вершины, получившей постоянную пометку последней. Алгоритм состоит из трех шагов.

Шаг 1. Всем узлам, кроме исходного, приписываются временные пометки, равные , т.е. . Исходному узлу приписывается постоянная пометка, равная нулю, т.е. и .

Шаг 2. Рассматриваем все вершины j, смежные с последней получившей постоянную пометку вершиной и имеющие временные пометки. Сравниваем величину временной пометки с суммой величины последней постоянной пометки и длины дуги , ведущей из y в рассматриваемую вершину. Временной пометке рассматриваемого узла присваиваем минимальное значение из двух сравниваемых величин:

.

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

Шаг 3. Если последняя постоянная пометка приписана узлу Т , то алгоритм завершает работу: кратчайший путь из вершины S в узел назначения Т найден. Иначе повторяем шаг 2.

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

Алгоритм Дейкстры может быть выполнен непосредственно на сети.

Пример. Сеть дорог с двухсторонним движением задана матрицей расстояний в км (матрицей весовых коэффициентов). Необходимо найти для данной сети дорог самый короткий маршрут из пункта 1 в пункт 10.

Узлы

1

2

3

4

5

6

7

8

1

0

3

4

0

5

9

0

0

2

3

0

0

2

9

8

8

0

3

4

0

0

0

6

7

0

7

4

0

2

0

0

5

0

1

0

5

5

9

6

5

0

0

6

8

6

9

8

7

0

0

0

0

6

7

0

8

0

1

6

0

0

2

8

0

0

7

0

8

6

2

0

Решение

Схематически сетевая модель задачи изображена на рис. 3 в виде неориентированной сети.

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

Рис. 3 Сетевая модель задачи.

сеть модель матричный схема

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

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

Шаг 1. Исходному узлу приписываем постоянную пометку, равную нулю, т.е. и . Всем остальным узлам, приписываем временные пометки, равные , т.е. , j=2,…,8. Отметим это на сети:

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

Шаг 2. Узлы 2, 3 и 6 смежные с последним, получившим постоянную пометку узлом 1. Новые значения временных пометок этих узлов будут:

Минимальной временной пометкой является пометка узла 2, т.к. поэтому она становится постоянной. Подчеркиваем ее и Помечаем дугу . Отметим это на сети:

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

Шаг 3. Поскольку узел 8 не помечен постоянной пометкой, переходим к шагу 2.

Шаг 2. Узлы 4, 5, 6 и 7 смежные с последним, получившим постоянную пометку узлом 2. Новые значения временных пометок этих узлов будут:

Минимальной временной пометкой является пометка узла 3, т.к. поэтому она становится постоянной. Подчеркиваем ее и Помечаем дугу . Отметим это на сети:

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

Шаг 3. Поскольку узел 8 не помечен постоянной пометкой, переходим к шагу 2.

Шаг 2. Узлы 5, 6 и 8 смежные с последним, получившим постоянную пометку узлом 3. Новые значения временных пометок этих узлов будут:

Минимальной временной пометкой является пометка узла 4, т.к. поэтому она становится постоянной. Подчеркиваем ее и Помечаем дугу . Отметим это на сети: сеть модель матрица схема

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

Шаг 3. Поскольку узел 8 не помечен постоянной пометкой, переходим к шагу 2.

Шаг 2. Узлы 5 и 7 смежные с последним, получившим постоянную пометку узлом 4. Новые значения временных пометок этих узлов будут:

Минимальной временной пометкой является пометка узла 7, т.к. она становится постоянной. Подчеркиваем ее и Помечаем дугу . Отметим это на сети:

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

Шаг 3. Поскольку узел 8 не помечен постоянной пометкой, переходим к шагу 2.

Шаг 2. Узлы 5 и 8 смежные с последним, получившим постоянную пометку узлом 7. Новые значения временных пометок этих узлов будут:

Минимальной временной пометкой является пометка узла 8, т.к. она становится постоянной. Подчеркиваем ее и Помечаем дугу . Отметим это на сети:

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

Шаг 3. Поскольку узел 8 помечен постоянной пометкой, то алгоритм завершает работу: кратчайший путь из узла 1 в узел назначения 8 найден.

Построенное дерево кратчайших путей состоит из дуг (1,2), (1,3), (2,4), (4,7), (7,8) (они помечены на последней сети). Кратчайший путь от узла 1 до узла 8 составляет 8 км, т.к. постоянная пометка этого узла и состоит из дуг (1,2), (2,4), (4,7), (7,8).

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

...

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

  • Транспортная задача (Т-задача) как одна из наиболее распространенных специальных задач линейного программирования. Порядок и закономерности постановки данной задачи, аналитический и графический методы. Открытые и закрытые транспортные модели, их решение.

    контрольная работа [419,4 K], добавлен 06.08.2010

  • Формулировка проблемы в практической области. Построение моделей и особенности экономико-математической модели транспортной задачи. Задачи линейного программирования. Анализ постановки задач и обоснования метода решения. Реализация алгоритма программы.

    курсовая работа [56,9 K], добавлен 04.05.2011

  • Главные элементы сетевой модели. Задача линейного программирования. Решение симплекс-методом. Составление отчетов по результатам, по пределам, по устойчивости. Составление первоначального плана решения транспортной задачи по методу северо-западного угла.

    контрольная работа [747,3 K], добавлен 18.05.2015

  • Основные понятия моделирования. Общие понятия и определение модели. Постановка задач оптимизации. Методы линейного программирования. Общая и типовая задача в линейном программировании. Симплекс-метод решения задач линейного программирования.

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

  • Задачи операционного исследования. Построение базовой аналитической модели. Описание вычислительной процедуры. Решение задачи оптимизации на основе технологии симплекс-метода. Анализ результатов базовой аналитической модели и предложения по модификации.

    курсовая работа [1,5 M], добавлен 12.12.2009

  • Особенности формирования и способы решения оптимизационной задачи. Сущность экономико-математической модели транспортной задачи. Характеристика и методика расчета балансовых и игровых экономико-математических моделей. Свойства и признаки сетевых моделей.

    практическая работа [322,7 K], добавлен 21.01.2010

  • Задача оптимального составления смесей при производстве бензина различных сортов. Модели формирования шихты при выплавке чугуна и смешивания волокон. Решение задач линейного программирования с помощью различных приемов и математического программирования.

    курсовая работа [94,6 K], добавлен 17.11.2016

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

    контрольная работа [60,3 K], добавлен 17.02.2012

  • Построение одноиндексной математической модели задачи линейного программирования, ее решение графическим методом. Разработка путей оптимизации сетевой модели по критерию "минимум исполнителей". Решение задачи управления запасами на производстве.

    контрольная работа [80,8 K], добавлен 13.12.2010

  • Моделирование экономических систем: основные понятия и определения. Математические модели и методы их расчета. Некоторые сведения из математики. Примеры задач линейного программирования. Методы решения задач линейного программирования.

    лекция [124,5 K], добавлен 15.06.2004

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

    реферат [712,0 K], добавлен 13.01.2014

  • Разработка экономико-математической модели и решение задачи линейного программирования с использованием математических методов. Транспортная задача в матричной постановке и ее свойства. Построение исходного допустимого плана. Критерий оптимальности.

    курсовая работа [111,1 K], добавлен 16.01.2011

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

    курс лекций [496,2 K], добавлен 17.11.2011

  • Многошаговые процессы в динамических задачах. Принцип оптимальности и рекуррентные соотношения. Метод динамического программирования. Задачи оптимального распределения средств на расширение производства и планирования производственной программы.

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

  • Программный пакет Microsoft Office и табличный процессор Excel. Задачи и основные функции в Microsoft Excel. Формулы в Microsoft Excel. Общие сведения об алгоритмах. Метод половинного деления. Понятие оптимизационных задач и оптимизационных моделей.

    курсовая работа [333,4 K], добавлен 17.03.2008

  • Моделирование экономических систем: понятие и принципы, типы моделей и оценка их адекватности. Примеры задач линейного программирования: транспортная задача, ее общая формулировка и графическая интерпретация решения задачи. Анализ симплекс-таблиц.

    курсовая работа [237,9 K], добавлен 22.11.2012

  • Транспортная задача линейного программирования, закрытая модель. Создание матрицы перевозок. Вычисление значения целевой функции. Ввод зависимостей из математической модели. Установление параметров задачи. Отчет по результатам транспортной задачи.

    контрольная работа [202,1 K], добавлен 17.02.2010

  • Моделирование экономических процессов методами планирования и управления. Построение сетевой модели. Оптимизация сетевого графика при помощи табличного редактора Microsoft Excel и среды программирования Visual Basic. Методы принятия оптимальных решений.

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

  • Исследование методики построения модели и решения на ЭВМ с ее помощью оптимизационных экономико-математических задач. Характеристика программных средств, позволяющих решать такие задачи на ЭВМ. Определение оптимального варианта производства продукции.

    лабораторная работа [79,3 K], добавлен 07.12.2013

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

    лабораторная работа [869,0 K], добавлен 17.02.2012

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