Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВКР - Симонов.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
190.37 Кб
Скачать
      1. Эффективные преобразования

Вернемся к исследованию вариантов 1 и 2. Считаем, что работа в расписании имеет максимальное запаздывание и пред­шествует всем остальным работам с макси­мальным запаздыванием [см. выражения ]. Изменять исходное упорядочение работ , то есть выполнять преобразования, будем так, чтобы для нового расписания выпол­нялось неравенство , которое мы можем представить в эквива­лентном виде

При этом следует иметь в виду, что в результате применения пре­образований или их композиций может оказаться, что

Отметим также, что критерий эффективности (3.31) нельзя под­менять условием . Это условие не является достаточным для выполнения неравенства (3.32), поскольку оно не исключает сле­дующую возможность: для некоторого .

  1. Синтез оптимального плана работы системы

Аналитический аппарат, разработанный в предыдущей главе, дос­таточен для решения проблемы 1-оптимальности. В данной главе, воспользовавшись результатами раздела 3.3, мы выведем и докажем признак 1-оптимальности расписания, после чего построим 1-оптимальный алгоритм решения задачи Fm | | Tmax. Затем мы пе­рейдем к решению проблемы синтеза s-оптимальных расписаний. Будет развит аппарат оптимизационных исследований и получены признаки эффективности композиций преобразований - основа субоптимальных алгоритмов.

Оставим в силе соглашения, принятые в предыдущей главе: в рас­писании (и только они) имеют максимальное запаздывание

    1. Подход к решению задачи

Используем методологию поиска расписания, оптимального в ок­рестности, изложенную, к нахождению приближенно оптимального расписания относительно критерия Tmax. Действуя по схеме последо­вательного улучшения, будем строить цепочку расписаний

в которой

  1. - начальное расписание;

  2. - опорное расписание, оптимальное в некоторой окрестно­сти расписания ,

  3. , r = 1, 2, ... - опорное расписание, оптимальное в некото­рой окрестности расписания

  4. - субоптимальное решение задачи.

    1. Получение 1-оптимальных решений

      1. Признак 1-оптимальности

Множество пар индексов преобразований с положи­тельной оценкой эффективности обозначим : = .

При поиске 1-оптимальных расписаний будем рассматривать только преобразования с положительным прогнозом, то есть только те пре­образования, пары индексов которых принадлежат множеству .

Алгоритм A1 построения множества

Шаг 1. Рассматриваются преобразования

  1. В матрице фиксируются все критические пути

  2. С использованием индикатора (4.49) строится на­чальное множество

Если , то выполняется п. 1.3, иначе - шаг 2.

  1. Все элементы множества проверяются функцией-индикатором (4.51). Если для какого-либо элемента имеет место неравенство , то он исключается из множества .

Если , то выполняется п. 1.4, иначе - шаг 2.

Все элементы множества проверяются индикатором

(4 53). Если для какого-либо элемента имеет место неравенство , то он исключается из множества .

Шаг 2. Рассматриваются преобразования , k < l < r. Строится множество :

Действуя по аналогии с шагом 1, строим множество . При этом каждая пара индексов проверяется индикаторами при всех .

Шаг 3. Рассматриваются преобразования . Строится множество

Действуя по аналогии с шагом 1, строим множество . При этом каждая пара индексов проверяется индикаторами при всех и при всех .

Шаг 4. Рассматриваются преобразования Строится множество

Действуя по аналогии с шагом 1, строим множество . При этом каждая пара индексов проверяется индикаторами при всех и при всех .

Шаг 5. Множество есть объединение четырех построенных множеств:

= .

Множество построено.

Алгоритм описан.

Сложность алгоритма A1 оценивается как

Теорема 4.1. Для того чтобы расписание было 1-оптимальным, достаточно, чтобы множество было пусто.

Доказательство. Если множество пусто, то не су­ществует ни одного эффективного преобразования расписания Следовательно, расписание является 1-оптимальным.

Теорема доказана.

      1. 1-оптимальный алгоритм.

Теперь у нас есть достаточно информации для построения алго­ритмов приближенной оптимизации, которые работают по схеме по­следовательного улучшения:

  1. в качестве начального решения выбираем расписание, полу­ченное методом Монте-Карло;

  2. для перехода к следующему опорному решению рассматриваем эффективные преобразования;

  3. условие завершения работы алгоритма дает теорема 4.1 - при­знак оптимальности решения.

Эта схема предусматривает возможность построения алгоритмов разных типов: точных и приближенных (поиска локально оптимально­го расписания), с возвратами и без возвратов, градиентных и останав­ливающих поиск в текущей окрестности при первом улучшении. Осо­бенности реализации алгоритмов разных типов описаны в главе 2.

Алгоритмы построения приближенно оптимальных расписаний относительно критерия Tmax являются модификациями соответст­вующих алгоритмов А2.1 - А2.2 для критерия Cmax. Незначительные отличия обусловлены разными подходами к определению эффектив­ности преобразований и композиций.

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

Алгоритм А2.

Шаг 1.

  1. Задается > 0 (точность решения, параметр метода).

  2. Выбирается опорное расписание .

  3. Формируется матрица времен выполнения работ .

Шаг 2.

  1. Для всех работ вычисляются моменты заверше­ния и величины запаздывания

  2. Если , то - искомое расписание *opt (алго­ритм завершен).

  3. Если строится упорядоченное множество индексов , такое, что

Для работ вычисляются значения резерва времени (работы с максимальным запаздыва­нием имеют нулевой резерв времени).

  1. Принимается: = {1, 2, ., n}, = ∅, l = 0.

Шаг 3.

  1. Если множество пусто, то - искомое локально опти­мальное расписание . Работа алгоритма завершена. Если качество решения неудовлетворительно, то следует повторить действия всех шагов, начиная с первого, с другим начальным решением.

  2. Если ≠∅, то выбирается произвольный элемент .

Шаг 4. Выполняется действие l:= l + 1.

Шаг 5. Если l = k < n, то осуществляется переход к шагу 4. Если l = n + 1, выполняется шаг 3.

Шаг 6. Вычисляется оценка .

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

  1. Если > 0, то выполняется преобразование

  2. Если , то осуществляется переход к шагу 4. В противном случае - новое опорное расписание. Производят­ся переназначения и выполняется шаг 2.

Алгоритм описан.

Сложность алгоритма А2 составляет O( ).