
- •Введение. Экономико-математические методы и модели Основные понятия экономико-математического моделирования
- •Этапы экономико-математического моделирования
- •Классификация экономико-математических моделей
- •1. Обзор методов сетевого планирования и управления
- •1.1. Развитие методов сетевого планирования и управления
- •1.1.1. Назначение систем сетевого планирования и управления
- •1.1.2. Возникновение методов сетевого планирования и управления
- •1.1.3. Практическое применение методов сетевого планирования и управления. Программные средства, основанные на методах сетевого планирования и управления
- •1.2. Классификация систем сетевого планирования и управления
- •1.3. Элементы и параметры сетевого графика
- •1.3.1. Построение сетевой модели проекта
- •1.3.2. Правила построения сетевых графиков
- •1.3.3. Временные параметры сетевых графиков
- •1.4. Оптимизация сетевых графиков
- •1.4.1. Типы оптимизационных задач
- •1.4.2. Оптимизация сетевого графика по стоимости. Постановка задачи оптимизации. Методы оптимизации.
- •1.5. Алгоритмы, использованные для решения задачи оптимизации проекта по стоимости
- •1.5.1. Общие принципы решения задачи
- •Задача о максимальном потоке
- •1.5.2. Алгоритм поиска ранних сроков свершения событий
- •1.5.3. Алгоритм Келли (оптимизация по критерию "время-стоимость")
- •Алгоритм решения параметрической задачи
- •Определяется новый оптимальный план по формулам
- •1.5.4. Алгоритм поиска минимальной стоимости при заданной продолжительности критического пути Тд
- •2. Описание программыnet_planning
- •2.1. Краткое описание возможностей программы
- •2.2. Постановка задачи контрольного примера
- •2.3. Решение контрольного примера на основе алгоритма Келли
- •2.4. Решение задачи с использованием программыnet_planning
- •Заключение
- •Литературные источники
- •Приложение а. Связи между различными вариантами классификации систем сетевого планирования и управления
- •Приложение б. Текст программы
- •Приложение в. Текстовый файл отчета
- •Приложение г. Структурные схемы алгоритмов и основных процедур.
1.5. Алгоритмы, использованные для решения задачи оптимизации проекта по стоимости
1.5.1. Общие принципы решения задачи
Принцип решения задач оптимизации, описываемой выражениями (1.3) и (1.4) основано на алгоритме Келли.
Можно утверждать, что минимизация функции (1.3) аналогична максимизации функции вида
.
(1.5)
Если представить, что некоторое число Xij равно потоку жидкости через дугу (i,j) за время tij, то aij в этом случае будет являться пропускной способностью дуги (i,j). Тогда минимизация (1.3) сводится к поиску максимального потока, протекающего через сеть.
Задача о максимальном потоке
Сеть состоит из узлов 0..n и дуг. По путям, образованным последовательностями дуг, направляется жидкость из узла 0 в узел n . Каждая дуга имеет пропускную способность cij (пропускная способность — это максимальное количество жидкости, которое может пропустить дуга за единицу времени).
Считается, что в нулевую вершину не входит ни одна дуга, и из конечной вершины ни одна дуга не выходит. Для всех остальных точек рассматриваются пути (i,j), обладающие некоторой пропускной способностью (i≠j), и симметричные им дуги (j,i). Рассматриваемая сеть считается симметричным графом.
Если поток жидкости через дугу (i,j) в единицу времени обозначить как xij, то ограничения, накладываемые на величину потока, будут иметь вид:
0≤xij≤cij (1.6)
,
j=1..n-1
(1.7)
Ограничения вида (1.6) означают, что количество жидкости, которое возможно пропустить через дугу за единицу времени, не может превысить пропускную способность дуги. Ограничения вида (1.7) означают, что количество жидкости, притекающей к узлу j, равно количеству жидкости, вытекающей из него.
Поток по сети (совокупность { xij }) является допустимым, если все xij удовлетворяют ограничениям (1.6) и (1.7). Величина потока — это количество жидкости, которое притекает в узел 0 или вытекает из узла n:
.
Формулировка задачи о максимальном потоке:
Найти такой допустимый поток (т.е. такие xij ), при котором
(1.8)
Обобщенная задача о максимальном потоке:
Найти максимальный поток в антисимметрическом графе при ограничениях:
,
j=1..n-1;
(1.9)
0≤lij≤xij≤aij.
Однако при решении задачи о максимальном потоке нужно учитывать следующие особенности:
при оптимизации имеет смысл сокращать только критические работы;
после сокращения длительности критических работ может измениться структура критического пути.
1.5.2. Алгоритм поиска ранних сроков свершения событий
В программе, реализующей алгоритм Келли, алгоритм поиска ранних сроков свершения событий применяется для следующих целей:
нахождение исходного оптимального плана для алгоритма Келли;
нахождение допустимого диапазона значений задаваемого пользователем Тд. Если Тд меньше длины критического пути, рассчитанного при всех tij=dij, то задача не имеет решений. Если Тд ,больше продолжительности критического пути, рассчитанного при всех tij=Dij, то оптимальным решением будет план, в котором все tij=Dij.
Постановка задачи поиска ранних сроков свершения событий.
В сети n+1 событий. Пусть известны продолжительности работ tij. Необходимо рассчитать ранние сроки свершения событий Tj. Будем исходить из того, что
Tj =max{ Ti+ tij }. (1.10)
Представим сеть в виде матрицы || Rij || (i,j=0..n). Если события i и j связывает работа, то Rij = tij, иначе Rij не заполняется.
Полагаем все Ti =0. Просматриваем все столбцы от столбца1 до столбца n. В каждом столбце просматриваем Rij (для i<j, т.к. в правильно построенной сети нет работ (i,j) с i≥ j ), каждый элемент помечается числом i, причем
i=Ti+ tij .
Далее находим max{ i } — это ранний срок Tj свершения события j, соответствующего просматриваемому столбцу.