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

1. Содержательная постановка задачи синтеза оптимальных расписаний параллельно-последовательной обслуживающей системы.

ЗТР — задачи теории расписаний.

Задача синтеза заключается в том, чтобы на заданный срок определить расписание работы ОС, то есть всех блоков и приборов, а также расписание обслуживания всех заявок (партий, деталей, узлов, изделий) по всем технологически маршрутам, оптимальное по какому-либо критерию качества расписания (по критерию быстродействия).

Рассматриваемая задача не вписывается ни в одну существующую классификацию ЗТР. Поэтому рассматривают частные случаи

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

Первый этап – моделирование ППОС заключается в построении формальной модели и формализации задачи синтеза расписаний как задачи ДО (динамического обслуживания?), а также в ее редукции в задачу ЧЦЛП (частично-целочисленного линейного программирования).

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

Третий этап — декомпозиция и решение координирующей задачи, которая по принятой классификации является NP-полной задачей JobShop. В качестве эффективного алгоритма ее решения используется процедура неполной декомопзиции.

Задачи синтеза оптимальных расписаний параллельной ОС с динамическим входом является ключевой подзадачей общей ЗТР для параллельно-последовательных систем. Динамический вход параллельной ОС означает наличие некоторого (меняющегося во времени) расписания поступления заявок в параллельную подсистему.

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

Пусть имеется ряд заявок, которые необходимо распределить между параллельными приборами при известной (различной) производительности таким образом, чтобы минимизировать суммарное время обслуживания всех заявок (минимизировать время окончания работы всей ОС, минимизировать суммарные затраты, либо максимизировать некоторый показатель качества обслуживания заявок). Прерывания обслуживания запрещены. Пусть также известно расписание поступления заявок в параллельную обслуживающую систему. В этом случае необходимо учитывать величины задержек поступления заявок.

Обозначим задержку поступления j-й заявки в ОС через Ʈ0j и упорядочим

В качестве базового рассмотрим линейное обслуживание. Для описания двух других случаев внесем соответствующие корректировки. Построим общую математическую модель, синтезирующую расписания параллельной системы с задержками на входе.

τij имеет смысл фактической задержки начала выполнения j-й заявки i-м прибором после завершения обслуживания им предшествующей заявки. Компенсирующие переменные yi,j вводятся для того, чтобы избежать появления отрицательных задержек τi, j . Действительно, наличие неравенств (1.4), (1.6) гарантируют выполнение условий:

Условия (1.1)–(1.3) характерны для задачи о назначениях.

(1.1) обеспечивают назначения любой заявки только на один прибор;

(1.2) – назначения не менее и не более заявок на любой прибор i.

(1.5)–(1.6) вычисляют фактические задержки обслуживания j-й заявки i-м прибором, после окончания обслуживания им предшествующей заявки. Фактическая задержка - это разность задержки поступления заявки (задается в условии задачи) и суммы времени обслуживания всех предшествующих заявок (вычисляется как сумма всех фактических задержек обслуживания l-х заявок и их длительности обработки). l меняется от 1 до j-1.

Пример ввода компенсирующей переменной yij :

Номер заявки (j)

Время обслуживания (ti,j)

Задержка поступления

заявки (τ0j)

Номер прибора (i)

1

2

1

2

4

0

2

3

3

0

3

3

2

2

4

1

1

4

5

4

3

5

Назначение на приборы (рассчитано в Ilog CPLEX)

X0 =

τ 2,3 = τ03 – ( (τ 2,1 + t 2,1)x2,1 + 2,2 + t 2,2)x2,2 )

τ 2,3= 2-((4+0)*0+(3+0)*0)=2

Так как τ 2,3 > 0 , ввод y23 не требуется

τ 1,2 = 0 – (2+0)*1 = -2 так как обработка первой и второй детали не может начаться одновременно, следовательно, обслуживание второй детали начнется как минимум через 2 ед. времени, поэтому вводится компенсирующая переменная y1,2 =2.

Суть ограничения (1.7): сумма всех фактических задержек j-х заявок, назначенных на прибор i и длительности обработок этих заявок не должна превышать λ

Если для модели (1.1)–(1.7) определен критерий качества (или эффективности) расписания, например

λ  min , (1.8)

то (1.1)–(1.8) определяют задачу синтеза оптимальных по быстродействию расписаний параллельной системы с задержками на входе. (1.7) и (1.8) реализуют минимаксный критерий, имеющий смысл критерия максимального быстродействия (иногда называемого также критерием равномерной загрузки) вида

Содержательное описание:

Пусть имеется ряд заявок, которые необходимо распределить между параллельными приборами при известной (различной) производительности таким образом, чтобы минимизировать суммарное время обслуживания всех заявок (минимизировать время окончания работы всей ОС, минимизировать суммарные затраты, либо максимизировать некоторый показатель качества обслуживания заявок). Прерывания обслуживания запрещены. Пусть также известно расписание поступления заявок в параллельную обслуживающую систему (задано задержками поступления заявок, отсчитываемыми от момента времени 0). В качестве базового рассмотрим линейное обслуживание.

Используются следующие ограничения:

1.3 Используется булева переменная назначения заявки j на прибор i xij (1 — назначено, 0 — не назначено)

1.1 Каждая заявка назначается только на один прибор.

1.2 Количество назначений заявок на один прибор ограничено сверху и снизу (в общем случае не менее 0 и не более общего числа заявок)

(1.5)–(1.6) вычисляют ориентировочные фактические и фактические задержки обслуживания j-й заявки i-м прибором. Фактическая задержка заявки j на приборе i измеряется от времени окончания обработки на приборе i предшествующей заявки. Ориентировочная фактическая задержка (вычисляется рекурсивно) — это разность задержки поступления заявки по расписанию и суммарного времени обслуживания всех предшествующих заявок (оно вычисляется как сумма всех фактических задержек обслуживания l-х заявок и их длительности обработки). l меняется от 1 до j-1. Если ориентировочная фактическая задержка меньше 0, это значит, заявке j приходится ждать прибор i. Тогда (1.4) вводятся неотрицательные компенсационные переменные yij (смысл — фактическое время ожидания заявкой j обработки на приборе i).

(1.7) Суммарное время обработки заявок на приборе i (оно вычисляется как сумма длительностей обработки заявок и их фактических задержек) ограничено сверху числом λ (и так для каждого прибора), λ минимизируется (1.8). То есть, используется минимаксный критерий, имеющий смысл критерия максимального быстродействия.

Можно ввести верхнее ограничение на суммарный расход ресурсов по всем приборам и всем заявкам. Расход может зависеть от времени обработки заявки или от величины фактической задержки и времени обработки заявки.