- •Исследование операций и методы оптимизации
- •Введение
- •1. Общая постановка задачи линейного программирования. Графическое решение злп. Каноническая форма. Базисное решение
- •Основные определения
- •. Графический метод решения задачи линейного программирования
- •Лабораторная работа №1
- •1.3. Каноническая форма задачи линейного программирования. Приведение к канонической форме
- •1.4. Базисное решение злп
- •1.5. Перестроение базисного решения злп
- •Лабораторная работа № 2
- •2. Симплекс-метод
- •2.1. Основная теорема линейного программирования
- •2.2. Алгоритм симплекс метода
- •Лабораторная работа № 3
- •2.3. Симплекс-метод с искусственным базисом
- •Лабораторная работа №4
- •3. Двойственность в злп
- •Основные понятия и определения
- •3.2. Леммы и теоремы двойственности
- •Лабораторная работа № 5
- •4. Транспортная задача
- •4.1. Математическая модель транспортной задачи
- •4.2. Построение начального базисного решения
- •4.3. Метод потенциалов
- •4.4. Правило вычеркивания
- •4.5. Транспортные задачи, имеющие усложнения в постановке
- •Лабораторная работа № 6
- •5. Теория расписаний
- •5.1. Общие положения
- •5.2. Задача о назначениях
- •5.2.1. Постановка задачи
- •5.2.2. Способ задания задачи о назначениях и ее анализ
- •5.2.3. Венгерский метод
- •Лабораторная работа №7
- •5.4. Система конвейерного типа с двумя приборами
- •5.4.1 Постановка задачи
- •5.4.2. Диаграмма Гантта
- •5.4.3. Вычисление длины расписания
- •Достаточное условие оптимальности расписания
- •5.4.4. Алгоритм построения расписания минимальной длины
- •5.5. Конвейерная система с тремя и более приборами
- •5.5.1. Вычисление длины расписания для системы с тремя приборами
- •5.5.2. Системы, для которых возможно построение оптимального расписания
- •5.5.3. Эвристические алгоритмы
- •5.5.4. Оценки длины расписаний
- •Лабораторная работа № 8
- •Библиографический список
- •Исследование операций и методы оптимизации
- •230700 «Прикладная информатика»
- •3 94006 Воронеж, ул. 20-летия Октября, 84
5.5.3. Эвристические алгоритмы
Поскольку построение оптимального расписания с помощью конструктивных алгоритмов для системы с тремя и более приборами возможно только в редких и частных случаях, то для построения сколько-нибудь приемлемых расписаний важную роль приобретают эвристические алгоритмы.
Здесь предлагаются три наиболее известных правила построения субоптимальных расписаний для системы с тремя приборами.
Правило 1. Сведение к двум приборам.
Как было сказано выше, это правило дает оптимальное расписание для частных случаев. Однако можно предположить и опыт показывает, что это действительно так, что его (правило) можно использовать для систем общего вида.
Правило 2. Вперед требование с ближайшей кратчайшей операцией (то есть требования должны сортироваться в порядке ).
Оно основано на идее сортировки в первой группе для системы с двумя приборами.
Правило 3. Вперед требование с длиннейшей остающейся технологией ( ).
Основано на идее сортировки во второй группе.
Решать задачу построения субоптимальных расписаний надо следующим образом: применить все эвристические правила, для каждого полученного расписания, вычислить его длину и выбрать расписание с наименьшей длиной. Такое расписание будет называться рекордным, а его длина – рекордом, то есть рекордное расписание не обязательно оптимально, но является наилучшим из известных.
Следует отметить, что при применении каждого из правил может быть получено не одно, а несколько расписаний, это возможно в том случае, когда некоторое соотношение, используемое в данном правиле, выполняется как строгое равенство, то есть, например, (второе правило), тогда можно взять два расписания: , в другом .
Пример 5.6. Имеются пять деталей, которые последовательно обрабатываются на трех станках. Время обработки каждой детали на каждом станке указано в табл. 5.15.
Таблица 5.15
i |
1 |
2 |
3 |
4 |
5 |
|
3 |
7 |
7 |
4 |
1 |
|
1 |
6 |
10 |
7 |
2 |
|
1 |
9 |
4 |
3 |
9 |
Применим Правило 1: сведем исходную задачу к задаче с двумя приборами, полученную задачу (табл. .5.16) решим с помощью алгоритма Джонсона.
Таблица 5.16
i |
1 |
2 |
3 |
4 |
5 |
|
4 |
13 |
17 |
11 |
3 |
|
2 |
15 |
14 |
10 |
11 |
В соответствии с требованиями алгоритма разобьем требования на группы (табл. 5.17):
Таблица 5.17
I группа |
|
II группа |
|||||
|
|
|
|||||
i |
2 |
5 |
|
i |
1 |
3 |
4 |
|
13 |
3 |
|
|
2 |
14 |
10 |
Получим расписание длина которого вычисляется в табл. 5.18.
Таблица 5.18
|
5 |
2 |
3 |
4 |
1 |
|
1 |
8 |
15 |
19 |
22 |
|
3 |
14 |
25 |
32 |
33 |
|
12 |
23 |
29 |
35 |
36 |
Здесь общее время обслуживания составит .
Применим Правило 2. Вперед требование с ближайшей кротчайшей операцией.
, . Вычислим длину каждого расписания (табл. 5.19 – 5.20).
Таблица 5.19
|
5 |
1 |
4 |
2 |
3 |
|
1 |
4 |
8 |
15 |
22 |
|
3 |
5 |
15 |
21 |
32 |
|
12 |
13 |
18 |
30 |
36 |
Здесь (табл. 5.19).
Таблица 5.20
|
5 |
1 |
4 |
3 |
2 |
|
1 |
4 |
8 |
15 |
22 |
|
3 |
5 |
15 |
25 |
31 |
|
12 |
13 |
18 |
29 |
40 |
Здесь . (табл. 5.20)
Применим Правило 3. Вперед требование с длиннейшей остающейся технологией.
. Вычислим длину расписания (табл. 5.21).
Таблица 5.21
|
2 |
3 |
5 |
4 |
1 |
|
7 |
14 |
15 |
19 |
22 |
|
13 |
24 |
26 |
33 |
34 |
|
22 |
28 |
37 |
40 |
41 |
Здесь .
Здесь два рекордных расписания , со значением рекорда .