- •Исследование операций и методы оптимизации
- •Введение
- •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.4.4. Алгоритм построения расписания минимальной длины
Условие (5.4.1) является достаточным для оптимальности расписания. То есть если для любой пары требований (i, j) из некоторого расписания условие (5.4.1) выполнено, то расписание оптимально. Однако строить оптимальное расписание с его помощью не слишком удобно, так как требуется большое количества проверок и переборов. Поэтому ниже будет предложен алгоритм построения расписания, удовлетворяющего условию (5.4.1), то есть являющегося оптимальным.
Алгоритм Джонсона
Шаг 1. В первую группу заносятся требования, у которых ; во вторую группу заносятся требования, у которых .
Шаг 2. Требования из первой группы сортируются по неубыванию аi и в таком порядке занимают первые место в расписании.
Шаг 3. Требования из второй группы сортируются по невозрастанию bi и занимают в таком порядке последующие места в расписании.
Пример 5.3. Дано пять деталей, которые последовательно обрабатываются на двух станках. Время обработки каждой детали на каждом станке указано в табл. 5.4.5.
Таблица 5.6
i |
1 |
2 |
3 |
4 |
5 |
ai |
3 |
1 |
5 |
2 |
4 |
bi |
1 |
3 |
2 |
4 |
5 |
В соответствии с требованиями алгоритма разобьем требования на группы (табл. 5.7):
Таблица 5.7
I группа |
|
II группа |
|||||
|
|
|
|||||
i |
2 |
4 |
5 |
|
i |
1 |
3 |
ai |
1 |
2 |
4 |
|
bi |
1 |
2 |
Оптимальное расписание .
Длина расписания вычисляется в табл. 5.8.
Таблица 5.8
σ |
2 |
4 |
5 |
3 |
1 |
fia |
1 |
3 |
7 |
12 |
15 |
fib |
7 |
8 |
13 |
15 |
16 |
Здесь общее время обслуживания равно 16.
Замечание о сложности алгоритма. Поскольку алгоритм построения оптимального расписания состоит из сортировки, а сложность сортировки имеет порядок , то можно сказать, что задача Джонсона с двумя приборами имеет полимиальную сложность.
5.5. Конвейерная система с тремя и более приборами
Как было показано выше, задача построения оптимального расписания с двумя приборами имеет полимиальную сложность.
К сожалению, если система имеет три и более прибора, то в общем случае она является NP-трудной задачей, то есть не существует простых алгоритмов построения оптимального расписания для такой системы.
Однако существуют частные случаи, в которых возможно построение оптимального расписания с помощью простых алгоритмов.
Будем рассматривать в дальнейшем систему с тремя приборами. Длительность обслуживания требований на первом, втором и третьем приборах обозначим , и соответственно.