- •1.Оптимизационные задачи, их классификация 7
- •Оптимизационные задачи, их классификация
- •Классификация задач оптимизации
- •Классификация методов оптимизации
- •2. Постановка задачи линейного программирования
- •2.1 Общая задача линейного программирования (злп)
- •2.2 Математические модели задач линейного программирования
- •2.3 Формы записи задач линейного программирования: общая, каноническая и стандартная
- •3. Графический метод решения задачи линейного программирования
- •4. Симплекс- метод решения задач линейного программирования
- •4.1 Метод Жордана – Гаусса - метод решения систем линейных уравнений
- •III итерация
- •4.2. Симплексные таблицы. Нахождение начального опорного решения
- •4.3. Критерий оптимальности
- •4.4. Невырожденные злп, алгоритм их решения
- •4.5. Альтернативный оптимум, алгоритм нахождения всех оптимальных решений
- •Алгоритм нахождения всех оптимальных опорных решений
- •4.6. Вырожденные злп, алгоритм их решения
- •5. Двойственные задачи
- •5.1 Постановка двойственной задачи
- •5.2 Основное неравенство двойственности
- •5.3 Критерий Канторовича
- •5.4 Первая теорема двойственности
- •5.5. Вторая теорема двойственности (необходимое и достаточное условия оптимальности решения).
- •5.6. Третья теорема двойственности
- •5.7. Двойственный симплекс-метод
- •6. Транспортная задача
- •6.1 Экономическая постановка и математическая модель транспортной задачи
- •6.2 Методы нахождения начального плана перевозок
- •Метод «северо-западного угла»
- •Метод минимальной стоимости
- •6.3 Метод потенциалов решения транспортной задачи
- •6.4 Открытая модель транспортной задачи
- •7. Матричные игры, их применение к решению оптимизационных задач
- •7.1 Основные понятия теории матричных игр
- •7.2 Решение матричных игр в чистых стратегиях
- •7.3 Решение матричной игры в смешанных стратегиях
- •7.4 Сведение матричной игры к задаче линейного программирования
- •7.5 Статистические игры
- •8. Графы, их применение в решение оптимизационных задач
- •8.1 Определение графа
- •8.2 Путь и цикл в графе
- •8.3 Связность графа, деревья
- •8.4 Виды графов
- •8.5 Сети. Критический путь
- •Вопросы к экзамену
- •Индивидуальные задания Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 6
- •Задание 7
- •Задание 8
- •Задание 9 Задачи 9.1 – 9.10
- •Методы оптимизации
- •Часть I
8.5 Сети. Критический путь
Часто приходится решать задачи, в которых каждому ребру заданного графа приписано некоторое положительное (неотрицательное) число (его вес). Обычно, граф нагруженный подобным образом, называется сетью, его вершины – узлами, а ребра – дугами.
Предположим, что требуется проанализировать сложный проект с точки зрения минимальных временных затрат на его выполнение. Для этого проект разбивают на отдельные этапы (работы, операции), оценивают время, необходимое на проведение каждой работы. Составляют таблицу, в которую заносят все виды работ по проекту, их продолжительность и последовательность выполнения.
По данным таблицы строится ориентированная сеть, дуги которой соответствуют работам проекта, а узлы – событиям, обозначающим начало и/или конец этапов. Каждая дуга нагружена числом, равным продолжительности выполнения соответствующей работы. Понятно, что операции, соответствующие дугам, исходящим из произвольного узла сети, не могут начаться прежде, чем закончатся операции, отвечающие дугам, входящим в этот узел.
Подобная сеть называется сетевым графиком проекта или диаграммой работ.
В результате вычерчивания диаграммы работ определяется путь, наибольшей продолжительностью. Этот путь называется критическим. Он и определяет минимальное время выполнения проекта. Работы, входящие в критический путь, называются критическими работами.
Рассмотрим пример построения сетевого графика, определения критического пути и критических работ, а также минимального времени выполнения всех работ.
Пример 40
Составлена таблица последовательности работ проекта, в которой также указаны предшествующие работы и записано время выполнения каждой работы. Построить сетевой график данного проекта.
|
Работа |
Предшествующие работы |
Продолжительность работы |
|
1 |
- |
5 |
|
2 |
- |
10 |
|
3 |
1 |
5 |
|
4 |
1 |
10 |
|
5 |
2 |
15 |
|
6 |
2 |
10 |
|
7 |
3, 6 |
5 |
|
8 |
5, 7 |
10 |
|
9 |
4, 7 |
5 |
|
10 |
8, 9 |
10 |
|
11 |
8, 9 |
15 |
|
12 |
7, 11 |
10 |
Решение
По данным таблицы составим диаграмму работ и построим сетевой график.
4 12




5 10
5
1
3
5

5 15
7
9
2




10 5 5


11
6

10 10 5
10

5

10

10
5
10
8

15
Рис.23 Сетевой граф
Найдем критический путь (ориентированный путь, имеющий наибольшую общую продолжительность):
2
6
7
8
11
12
10 10 5 10 15





Рис.24
Подсчитаем временные затраты:
10+10+5+10+15=60
Таким образом, проект может быть реализован за 60 дней и не раньше ни на один день.
На следующем примере покажем как можно учитывать стоимость всего проекта, если рассматривать прямые затраты на выполнение операций. Продолжительность операции можно уменьшить, увеличив, например, интенсивность использования ресурсов, тогда увеличивается и стоимость операции.
Очевидно, что бесконечно сжать время выполнения операции невозможно, существует предел, который называют минимальной продолжительностью операции или точкой максимально интенсивного режима.

Затраты
М-точка максимально интенсивного режима





N-точка нормального режима
Продолжительность

Рис.25
Сокращение продолжительности работ достигается за счет уменьшения продолжительности какого-либо критического пути, именно эти пути и анализируются.
Выбирается та критическая операция, у которой наклон кривой «затраты-продолжительности» (рис.19) будет наименьший.
Далее составляется новый календарный график. Это повторяется до тех пор, пока все критические операции не будут находиться в режиме максимальной интенсивности.
Пример 41
Построить сетевой граф, найти минимально возможный критический путь и стоимость работ до сжатия и после него, если условия проекта заданы в следующей таблице:
|
Операция |
Нормальный режим |
Максимальный режим | ||
|
Продолжительность, дн. |
Затраты, тыс. руб. |
Продолжительность, дн. |
Затраты, тыс. руб. | |
|
0,1 |
30 |
20 |
25 |
30 |
|
1,2 |
60 |
40 |
45 |
60 |
|
1,3 |
50 |
30 |
40 |
40 |
|
1,4 |
30 |
70 |
20 |
100 |
|
2,4 |
90 |
60 |
70 |
70 |
|
3,4 |
80 |
25 |
65 |
35 |
|
4,5 |
20 |
20 |
17 |
25 |
|
Итого |
360 |
265 |
282 |
360 |
Решение
По условию задачи составим сетевой граф:
2


60 90
0
1
4
5
30



30 20


3
50
80
Рис.26
Найдем все пути и их продолжительность:
0
1
2
4
5




200 дней – критический путь
0
1
3
4
5




180 дней
0
1
4
5



80 дней
Найдем наклон кривой «затраты – продолжительность» для каждой операции. Наклон равен отношению прироста стоимости к приросту продолжительности (рис.26). Результат запишем в таблице:
|
Операция |
Наклон |
|
0,1 |
2,0 |
|
1,2 |
1,3 |
|
1,3 |
1,0 |
|
2,4 |
0,5 |
|
3,4 |
0,7 |
|
1,4 |
3,0 |
|
4,5 |
1,7 |
Найдем продолжительность путей, сжимая операции, имеющие наименьший наклон. Построим граф, учитывая максимальный режим.
0
2
90
70
1


30
25 60
45
4
5


30 20
17



3
50
80
65
Рис.27
0
1
2
4
5




157 дней – критический путь
0
1
4
5



72 дня
0
1
3
4
5




157 дней – критический путь
Найдем стоимость при нормальном режиме:
Критический путь 200 дней, стоимость работ 265 тыс. руб.
Найдем стоимость сжатия работ:
(0,1): 30 тыс. руб. – 20 тыс. руб. = 10 тыс. руб.;
(1,2): 60 тыс. руб. – 40 тыс. руб. = 20 тыс. руб.;
(2,4): 70 тыс. руб. – 60 тыс. руб. = 10 тыс. руб.;
(3,4): 35 тыс. руб. – 25 тыс. руб. = 10 тыс. руб.;
(4,5): 25 тыс. руб. – 20 тыс. руб. = 5 тыс. руб.;
10 тыс. руб. + 20 тыс. руб. + 10 тыс. руб. + 10 тыс. руб. + 5 тыс. руб. = 55 тыс. руб.
Критический путь может быть уменьшен до 157 дней, при этом минимальная стоимость работ составляет 265 тыс. руб. + 55 тыс. руб. = 320 тыс. руб.
