Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мезенцев Имитационное моделирование / Вопросы и задачи к экзамену по ИМ.docx
Скачиваний:
83
Добавлен:
04.01.2020
Размер:
17.27 Mб
Скачать

6. Динамическое программирование с отсевом вариантов в оптимизации расписаний параллельной системы с задержками поступления заявок

ПО МОНОГРАФИИ

ИЗ POS_DP

Из-за наличия рекурсий (таких например)

динамическое программирование (ДП) едва ли не единственный вычислительный метод, применимый непосредственно для решения задачи (постановка в вопросе 2). При попытке точного решения ДП приводит к полному перебору всех допустимых вариантов и имеет экспоненциальную трудоемкость и в «чистом» виде на реальных размерностях неприменим.

Для построения эффективного приближенного алгоритма воспользуемся общей схемой ДП, производя отсев локально наихудших вариантов на ряде шагов (этапов) динамического программирования.

То есть время завершения обслуживания прибором i заявки s на этапе s равно разнице между временем наступления этапа s и времени окончания предыдущих этапов плюс время обработки. Если данное выражение равно 0, то время завершения обслуживания прибором равно просто времени обработки.

Рекуррентное соотношение Беллмана для этой задачи:

(23)

Где первое слагаемое – время обслуживания на этапе s, а второе — минимально возможное время завершения обслуживания предыдущих этапов. В свою очередь сумма является слагаемым для этапа s+1.

(24)

Максимальное время является наиболее вероятным, так как у нас есть фактор запаздывания. Так как конечная цель – минимизация времени, то на последнем шаге следует вместо максимума взять

Отсев части промежуточных расписаний на этапах ДП возможен в различных вариациях. Если отбрасывать все варианты расписания на шаге s, кроме локально наилучшего, то такой способ построения расписания совпадает с жадным алгоритмом. Если оставлять все промежуточные расписания, это приведет к полному перебору вариантов.

Найдем компромисс между точностью и быстродействием.

Гибридный алгоритм ДП с отсевом вариантов

Содержательный ответ (по POS_DP, динамическое программирование с отсевом вариантов):

Все заявки упорядочены по величине задержек по расписанию Каждая заявка считается шагом s в процедуре динамического программирования (s изменяется от 1 до числа заявок). Вводятся — время завершения обслуживания прибором i заявки s на этапе s — и — условно минимальное время завершения обслуживания всех принятых заявок на этапах с первого по s.

Смысл, кажется, такой. Заявка s прибором i обслуживается какое-то время, это время влияет на время завершения обслуживания этой заявки. Также влияет на время завершения обслуживания фактическая задержка заявки. Фактическая задержка находится как разность между задержкой по расписанию и условно минимальным временем завершения обслуживания всех предыдущих заявок, принятых прибором i. Если фактическая задержка отрицательная, значит, заявке s приходится ждать прибор i, т.е. к времени завершения обслуживания прибором i заявки s на этапе s она добавит только длительность своей обработки прибором i.

Реккурентное соотношение Беллмана:

Условно минимальное время завершения обслуживания всех принятых заявок прибором i на этапах с первого по s находится как сумма времени завершения обслуживания прибором i заявки s на этапе s и условно минимального времени завершения обслуживания всех принятых заявок прибором i на этапах с первого по s-1

Условно минимальное время завершения обслуживания всех принятых заявок на этапах с первого по s (по всем приборам в общем) находится как максимальное условно минимальное время завершения обслуживания всех принятых заявок прибором i на этапах с первого по s.

На последнем шаге находится минимальное условно минимальное время завершения обслуживания всех принятых заявок на всех этапах.

Для отсева определяем максимально возможное число вариантов S, оставляемое на этапе s для дальнейшего анализа, как S= , K’ — некоторая константа. Будем производить отсев половины локально наихудших из генерируемых вариантов на всяком этапе, начиная с K’+1

Гибридный алгоритм ДП с отсевом вариантов:

  1. Известны задержки по расписанию заявок и длительности обработки каждой заявки каждым прибором. Определяем S и K’, полагаем условно минимальное время завершения обслуживания всех принятых заявок прибором i на этапах с первого по 0 равным 0.

  2. Если были рассмотрены все заявки, переходим к п.4. Иначе генерируем на этапе s в соответствии с описанными выше реккурентными соотношениями все допустимые варианты расписания, вычисляем , , условно минимальные длины расписаний

  3. Если число вариантов не больше допустимого числа S, рассматриваем следующий шаг (переходим к п.2). Если больше, отсеиваем половину вариантов с наибольшими значениями длины расписания и переходим к п.2

  4. Выбираем кратчайшие варианты расписаний. Составляем расписания обратным ходом ДП.