Задачи теории расписаний
СОДЕРЖАНИЕ
Введение
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1. Основные понятия теории расписаний
1.2. Задача двух машин
1.3. Перестановочный прием
1.4. Метод полного перебора
1.5. Анализ расписаний
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1.Примеры задач теории расписаний
СПИСОК ЛИТЕРАТУРЫ
Введение
Настоящая курсовая работа содержит сведения, необходимые для практического изучения проблемы составления оптимальных конвейерных расписаний. Эта проблема может быть актуальна на этапе технологической подготовки производства при выборе очередности последовательной обработки заданной партии деталей на конечном множестве станков, образующих систему многофазного конвейера для выполнения требуемого маршрута технологических операций. Другое важное приложение этой проблематики связано с организацией конвейерной обработки данных в многопроцессорных системах, когда необходимо определить порядок обслуживания пакета вычислительных заданий, операции которых последовательно выполняются отдельными процессорами.
В обоих случаях целесообразно
составить оптимальное
Данная курсовая работа состоит из 2-х частей. В теоретической части рассмотрены постановка задачи и методы проектирования оптимальных расписаний в 2-х фазной конвейерной системе обслуживания, состоящей из 2-х обслуживающих устройств (машин). Эту классическую проблему теории расписаний обычно называют задачей 2-х машин. Практическая часть содержит реальный пример задачи 2-х машин. Задача основана на исходных данных. В процессе работы алгоритма упорядочивания приведен пример использования ресурсов до и после использования алгоритма Джонсона.
1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1.Основные понятия теории расписаний
Терминологическую базу теории расписаний составляют следующие категории: операция, работа, машина. Физическая природа этих понятий безразлична для теории расписаний. Существенны только их общие свойства, инвариантные к прикладному содержанию.
Операция-элементарное действие, подлежащее выполнению. Каждая операция количественно характеризуется длительностью выполнения, принадлежит определенной работе и реализуется на соответствующей машине.
Работа-целенаправленная последовательность
операций. Очередность операций каждой
работы строго фиксирована, формально
задается отношением порядка и устанавливается,
исходя из соответствующих
Машина - устройство для выполнения операций работ. В общем случае, машина есть нескладируемый ресурс, который в ходе выполнения назначенной операции не расходуется, а производит сам некий расходуемый фактор, не подлежащий складированию, например, машино-смены. Множество машин, необходимое для выполнения операций работ заданной партии, составляет систему обслуживания.
Реализация выполнения операций партии работ машинами системы обслуживания называется процессом обслуживания. Процесс обслуживания характеризуется следующими показателями:
-число машин в системе обслуживания;
-количество операций в каждой работе;
-порядок прохождения машин для каждой работы.
По числу машин процессы обслуживания подразделяются на одномашинные, когда все операции работ выполняются 1-й машиной, и многомашинные, если в системе обслуживания есть несколько одно- или разнотипных машин. По количеству операций работ процессы обслуживания подразделяются на однофазные, когда каждая работа состоит из единственной операции, и многофазные, если в состав каждой работы входит несколько операций. По порядку прохождения машин процессы обслуживания подразделяются на конвейерные, когда порядок прохождения машин одинаков для всех работ партии, и произвольные, если порядок прохождения машин различен или не регламентируется.
Для реализации процесса обслуживания
необходимо составить расписание, которое
определяет сроки выполнения операций
для каждой машины и (или) очередность
работ партии. Формальные модели и
методы планирования оптимальных расписаний
изучает теория расписаний. В настоящее
время в ней реализован достаточно
узкий класс формальных моделей
и методов планирования простого
процесса обслуживания, для которого
существенны следующие
- параллельное выполнение операций одной работы недопустимо;
- каждая операция выполняется полностью одной машиной;
- прерывания выполнения операций отсутствуют;
- любая машина в любой момент выполняет не более одной операции.
В качестве критерия оптимальности расписания могут быть приняты либо суммарная длительность процесса обслуживания заданной партии работ, либо среднее время прохождения работ в системе обслуживания.
В теории расписаний рассматривается большое число модельных задач оптимального планирования простого процесса обслуживания. Их формальные постановки и численные методы решения определяются выбором критерия оптимальности и показателями процесса обслуживания. Одной из наиболее хорошо изученных задач теории расписаний является задача 2-х машин.
- Задача двух машин
В этой задаче рассматривается проблема составления оптимального конвейерного расписания простого 2-х фазного процесса обслуживания в системе обслуживания из 2-х машин для произвольной по объему, но фиксированнной во времени партии работ. Это означает, что все работы заданной партии состоят из 2-х операций, которые в одинаковом порядке выполняются парой машин системы обслуживания, длительность операций всех работ и объем партии считаются заданными. Требуется определить порядок выполнения работ и сроки начала их операций, при которых достигается минимальная продолжительность простого процесса обслуживания.
Классической прикладной интерпретацией задачи 2-х машин является составление оптимального расписания конвейерной обработки партии деталей на 2-х станках или пакета заданий 2-мя процессорами. По этой причине эту задачу часто называют задачей о 2-х станках или задачей о 2-х процессорах. Независимо от прикладной интерпретации исходными данными задачи 2-х машин являются:
- состав партии работ;
- перечень машин системы обслуживания;
- продолжительности выполнения операций.
Состав партии формально задает конечное множество:
W = { Wq , q = 1,...,n },
где Wq - обзначение q-й работы, а n - число работ партии. Например, для обозначения работ могут быть использованы строчные буквы латинского алфавита:
W = { a, b, c, ... x, y, z }.
Систему обслуживания задает упорядоченная пара (A, B), где A и B обозначают машины для выполнения 1-й и 2-й операции каждой работы. Длительности операций каждой работы Wq на машинах A и B задаются величинами Aq и Bq (q = 1,...,n), соответственно. Причем, Aq = 0 или Bq = 0, если работа Wq не обслуживается машиной A или B, т.е. имеет только одну операцию.
Допустимые решения задачи 2-х машин образуют множество расписаний, определяющих сроки операций в условиях простого процесса обслуживания. Любое допустимое расписание для задачи 2-х машин однозначно определяет очередность выполнения работ. Такие расписания относятся к классу перестановочных, т.к. могут быть формально заданы перестановкой работ:
S = ( [1], [2], ... [i], ... [n] ) ,
где [i] обозначает работу, которая имеет i-ю очередность обслуживания.
Если i-ю очередь имеет работа Wq, то длительности ее операций Aq и Bq обозначаются A[i] и B[i], соответственно. Для партии объемом n работ можно построить n различных перестановок работ, определяющих n различных допустимых расписаний.
Специфика задачи 2-х машин позволяет ограничиться рассмотрением только перестановочных расписаний, в которых машина A не имеет простоев. Желаемую плотность упаковки графика машины A можно обеспечить сдвигом даты начала всех операций влево. Однако, упаковка графика машины A не означает отсутствие простоев машины B. Более того, в расписании обычно необходимо предусмотреть простои машины B, чтобы гарантировать выполнение условий простого процесса обслуживания.
Пусть X[i] обозначает интервал простоя
машины B непосредственно перед
X[i] = max(Y[i] - X[1] - X[2] - ... - X[i-1], 0),
где величины Y[i] определяются как:
Y[i] = A[1] + A[2] + ... + A[i] - B[1] - B[2] - ... - B[i-1] .
Пусть D[i] обозначает частную сумму простоев машины B до начала выполнения на ней работы [i], т.е.:
D[i] = X[i] + X[2] + ... + X[i].
Подстановка выражений локальных простоев машины B позволяет представить указанные частные суммы в виде следующих рекуррентных соотношений:
D[i] = max(Y[i], D[i-1]), D[1] = A[1],
которые после алгебраических преобразований могут быть представлены следующим образом:
D[i] = max(Y[i], Y[i-1], ..., Y[1]).
Как следует из содержательной постановки задачи 2-х машин, качество расписания определяет суммарная продолжительность обслуживания партии работ. Для любой перестановки S работ партии общую продолжительность простого процесса обслуживания устанавливает суммарная длительность операций и простоев машины B, количественную оценку которой дает следующая функция цели:
F(S) = B[1] + ... + B[n] + max(Y[n], Y[n-1], ..., Y[1]).
Оптимальное расписание для задачи 2-х машин должно гарантировать минимальную продолжительность обслуживания партии. Формально оно определяется перестановкой работ S, которая обеспечивает минимум функции цели F(S) на множестве всех n различных перестановок работ партии. Выполнение условий простого процесса обслуживания гарантирует способ назначения простоев машины B, рассмотренный выше.
Следует отметить, что суммарная длительность операций машины B не зависит от порядка обслуживания работ партии, так как:
B[1] + ... + B[i] + ... + B[n] = const.
Это обстоятельство позволяет упростить функцию цели F(S) и свести задачу 2-х машин к выбору перестановки работ, которая минимизирует суммарный простой машины B, или обеспечивает минимум максимальной из величин Y[i] (i=1,...,n):
max (Y[n], Y[n-1], ..., Y[1]) -> min
на множестве всех n перестановок S работ партии.
Рассмотренная формальная модель позволяет
отнести задачу 2-х машин к классу
задач упорядочивания, в которых
нужно найти перестановку, доставляющую
экстремум функции цели на множестве
допустимых перестановок. Оптимальное
решение задач упорядочивания теоретически
всегда может быть найдено методом
полного перебора. Для ряда "простых"
задач упорядочивания, к которым
относится задача 2-х машин, оптимальное
решение удается получить с помощью
специальных перестановочных
1.3.Перестановочный прием
Существующие эффективные
Перестановочные приемы в задаче 2-х машин основаны на правиле Джонсона. Согласно этому правилу, для получения оптимального расписания достаточно, чтобы порядок обслуживания работ партии соответствовал следующему условию:
min (A[i], B[i+1]) =< min (A[i+1], B[i]), i = 1, ..., n-1.
Если для любых пар работ это условие является строгим неравенством, то существует единственное расписание, оптимальное по правилу Джонсона. Если для некоторых пар работ это условие обращается в равенство, то по правилу Джонсона можно построить более чем 1 оптимальное расписание. Правило Джонсона удобно использовать для эффективной проверки качества готового расписания. Однако, его непосредственное применение для поиска оптимального расписания в задаче 2-х машин алгоритмически неудобно. Эффективное упорядочивание работ по правилу Джонсона обеспечивают два перестановочных приема, известные как алгоритм Джонсона и алгоритм приоритетов.
Алгоритм Джонсона разбивает процедуру
синтеза оптимального расписания для
партии из n работ на n последовательных
шагов. На каждом шаге определяется место
в расписании для одной из работ
партии. При этом, на очередном шаге
выбирается работа, которая обладает
самой короткой, т.е. минимальной
по длительности, операцией среди
всех пока неразмещенных работ. Для
размещения выбранной работы используется
либо наименьшее, либо наибольшее по номеру
свободное место расписания в
зависимости от соотношения длительности
ее операций на машинах A и B. Если короткая
операция выбранной работы Wq выполняется
машиной B, т.е. Bq < Aq, то для размещения
работы Wq назначается наибольшее по
номеру свободное место расписания.
В остальных случаях (Aq < Bq или Aq
= Bq), выбранная работа Wq размещается
на 1-м свободном месте
При равенстве продолжительности
коротких операций у 2-х или более
работ возникает
Вычислительную сложность
Алгоритм приоритетов
Pq = sign(Aq - Bq) * { M - min(Aq, Bq)}
Константа M в формуле приоритетов должна превосходить по величине продолжительность максимальной по длительности короткой операции среди всех коротких операций работ партии. Формально, выбор константы M должен быть ограничен снизу следующим неравенством:
M > max min (Aq, Bq),
где максимум ищется при всех q от 1 до n. На практике допустимо назначить константу M в формуле приоритетов следующим образом:
M = max min (Aq, Bq) + 1
Таким образом, после 1-го этапа алгоритма приоритетов для каждой работы Wq (q = 1, ... , n) должен быть назначен приоритет Pq в диапазоне целых чисел от -M до M, то есть:
Pq =< | M |, q = 1, ... , n
На 2-м этапе алгоритма
P[i] =< P[i+1] , i = 1, ... , n-1
После сортировки по приоритетам будет
получено оптимальное расписание, удовлетворяющее
правилу Джонсона. При равенстве
приоритетов у 2-х или более
соседних работ возможна вариация полученного
оптимального расписания путем транспозиции
работ с равными приоритетами.
Для всех подобных вариаций оптимального
расписания сохраняется справедливость
правила Джонсона. В общем случае
алгоритм приоритетов порождает
более узкий класс оптимальных
расписаний, чем алгоритм Джонсона.
Любые "приоритетные" расписания
могут быть получены алгоритмом Джонсона
после соответствующей
Вычислительную сложность
Таким образом, перестановочные приемы обеспечивают эффективное в вычислительном отношении упорядочивание работ партии для задачи 2-х машин, порождая класс оптимальных расписаний, удовлетворяющих правилу Джонсона.
1.4.Метод полного перебора
Перестановочные приемы обеспечивают эффективный поиск оптимального решения задачи 2-х машин, т.к. вычислительная сложность реализующих их алгоритмов полиномиально зависит от объема партии работ. Однако, правило Джонсона, которое лежит в основе перестановочных приемов, устанавливает только достаточное условие получения оптимального расписания, которое не является необходимым. Поэтому, в общем случае, класс оптимальных расписаний для задачи 2-х машин может включать достаточно большое число расписаний, которые не удовлетворяют правилу Джонсона и, следовательно, недостижимы с помощью перестановочных приемов. Воэможность перечисления всех расписаний в классе оптимальных обеспечивает полный перебор всех n перестановок работ партии.
Существуют различные способы организации полного перебора перестановок: лексиграфическое упорядочивание, циклический сдвиг, транспозиция смежных элементов. Для задачи 2-х машин удобно использовать вариант полного перебора, который порождает перестановки циклическим сдвигом, известный также как алгоритм вращения.
Естественный способ перечисления
перестановок циклическим сдвигом
состоит в том, что начав с
некоторой произвольной перестановки,
последовательно сдвигать по циклу
на одно место влево все n работ
партии. При каждом сдвиге 1-я работа
текущей перестановки перемещается
на последнее место без изменения
взаимного расположения остальных,
образуя новую перестановку. Такая
организация циклического сдвига называется
вращением. Вращение всех работ нужно
продолжать, пока оно порождает новые
перестановки, не встречавшиеся ранее.
Перестановка считается оригинальной,
когда после сдвига позиция последнего
вращаемой части не равна его
позиции в исходной перестановке.
Если в результате очередного вращения
получается ранее порожденная
Для каждой оригинальной перестановки,
порождаемой рассмотренным
1.5. Анализ расписаний
Анализ расписания связан с оценкой
ресурсных характеристик
Диаграмма Ганта-двумерная форма
графического представления расписания
в системе координат: время - номер
машины. Она имеет смысл графика
загрузки машин операциями работ
партии. Для любого момента времени
от начала до конца процесса обслуживания
этот график позволяет однозначно определить
операцию какой работы выполняет
каждая машина и установить периоды
простоя машин. Операции работ представляют
горизонтальные отрезки, равные по длине
продолжительностям выполнения операций
в принятом масштабе времени. Вертикальное
смещение каждого отрезка соответствует
машине, которая обслуживает операцию,
отображаемую им. Таким образом, количество
горизонтальных уровней диаграммы
Ганта равно числу машин
Чтобы отличать операции различных работ, отрезки операций диаграммы Ганта должны быть помечены сообразно обозначениям соответствующих работ. Например, если работы партии обозначить строчными литерами латинского алфавита, то каждый единичный интервал отрезка любой операции можно маркировать литерой работы, которой принадлежит эта операция. Для обозначения единичных интервалов простоя машин может быть использован символ тире(-). Таким образом, в рассмотренном символическом варианте диаграммы Ганта горизонтальные цепочки одинаковых литер соответствуют операциям работ партии или промежуткам простоя машин. Продолжительность операций работ, промежутков простоя и процесса обслуживания в целом определяется соответствующим числом знакомест диаграммы Ганта. Следующий рисунок иллюстрирует диаграмму Ганта для расписания процесса обслуживания партии из 5-ти работ { a, b, c, d, e }, выполняемых в алфавитном порядке:
Машина A: aabbccdddddddeeee--
Машина B: --aaaaabbbc--ddd-ee
Из приведенной диаграммы
Кроме анализа временных
Эффект накопления работ на между машинами можно наблюдать по диаграмме Ганта, приведенной выше. Из него видно, что после завершения операций работ b и c на машине A они не могут быть мгновенно переданы машине B, занятой обслуживанием предыдущей работы (a), образуя очередь на входе машины B. Максимальная длина очереди равна 2 работы в момент завершения обслуживания работы (a) машиной B.
Накопление работ между
2.ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1.Примеры задач теории расписаний
Пример 1. Р | prec, pt= 1 | Стах
Задача поиска расписания с минимальным временем окончания всех работ на т параллельных машинах с длительностями работ pi = 1 и условиями предшествования, то есть предполагается известным ориентированный граф без циклов, вершинами которого являются работы, а дуги задают частичный порядок выполнения работ.
Если n = 7, m = 2 и условия предшествования заданы графом:
то
одно из допустимых решений имеет вид
Пример 2. 1 | ri,pmtn | Lmax
Задача на одной машине с возможностью прерывания работ, директивными сроками окончания работ и произвольными временами появления работы.
Требуется найти расписание {сi}=1, минимизирующее максимальное запаздывание, то есть
Lmах = max (ci-di) → min
i=1,.n
Для n= 4 и |
Одно из допустимых решений задачи имеет вид: |
i |
1 |
2 |
3 |
4 |
pi |
2 |
1 |
2 |
2 |
ri |
1 |
2 |
2 |
7 |
di |
2 |
3 |
4 |
8 |
Lmax=max{3-2;4-3;6-4;9-8}=2.
Пример 3. J3 | pij = 1 | Cmax,
Задача поиска расписания с минимальным временем окончания всех работ на трех машинах, образующих систему job shop— рабочий цех; длительности всех операций равны 1; у каждой работы свое множество операций; для каждой операции указана машина для ее выполнения.
При n = 5, т = 3 и матрице Машины
|
Одно из допустимых решений задачи имеет вид:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

- Задачи транспортного обеспечение коммерческой деятельности
- Задачи транспортного обслуживания по повышению качества обслуживания
- Задачи транспортного хозяйства по повышению качества обслуживания потребителей
- Задачи транспортного хозяйства по повышению качества обслуживания потребителей
- Задачи транспортного хозяйства по повышению качества обслуживания потребителей
- Задачи транспортного хозяйства по повышению качества обслуживания потребителей
- Задачи транспортного хозяйства по повышению качества обслуживания потребителей
- Задачи статистики занятости и безработицы. Источники данных
- Задачи статистики и ее организации
- Задачи статистики основных фондов
- Задачи статистики производства и реализации продукции
- Задачи статистического изучения
- Задачи статистической сводки
- Задачи Счетной Палаты по развитию государственного финансового контроля