График работы цеха
Планирование цеха , проблема цеха ( JSP ) или задача планирования цеха ( JSSP ) — это задача оптимизации в информатике и исследовании операций . Это вариант оптимального планирования работы . В общей задаче планирования заданий нам даны n заданий J 1 , J 2 , ..., J n с различным временем обработки, которые необходимо запланировать на m машинах с различной вычислительной мощностью, пытаясь при этом минимизировать время выполнения – общая продолжительность расписания (т. е. момент завершения обработки всех заданий). В конкретном варианте, известном как планирование цеха , каждое задание состоит из набора операций O 1 , O 2 , ..., O n , которые необходимо обрабатывать в определенном порядке (известном как ограничения приоритета ). У каждой операции есть определенная машина , на которой она должна быть обработана, и в данный момент времени может быть обработана только одна операция в задании. Распространенным расслаблением является гибкий цех, где каждую операцию можно выполнить на любом станке из заданного набора (станки в каждом наборе идентичны).
Первоначальное название произошло от планирования заданий в магазине вакансий , но эта тема имеет широкое применение за пределами этого типа экземпляров. Эта задача является одной из самых известных задач комбинаторной оптимизации и первой проблемой, для которой конкурентный анализ в 1966 году. Грэм представил [1] Лучшие примеры проблем для базовой модели с заданным сроком изготовления принадлежат Тайларду. [2]
В стандартной трехполевой записи задач оптимального планирования работ вариант цеха обозначается буквой J в первом поле. Например, проблема, обозначенная « J3| | « — это задача цеха с тремя станками и единичным временем обработки, цель которой — минимизировать максимальное время завершения.
Варианты проблем [ править ]
Существует множество вариантов проблемы, включая следующие:
- Машины могут иметь дубликаты (гибкий цех с дублирующими станками) или принадлежать к группам одинаковых станков (гибкий цех). [3]
- Машины могут требовать определенного перерыва между работами или отсутствия простоев.
- Машины могут иметь настройки, зависящие от последовательности.
- Целевая функция может заключаться в минимизации времени обработки, нормы L p , опозданий, максимального опоздания и т. д. Это также может быть задача многокритериальной оптимизации.
- Задания могут иметь ограничения, например, задание i необходимо завершить, прежде чем задание j можно будет запустить (см. рабочий процесс ). Также целевая функция может быть многокритериальной. [4]
- Набор заданий может относиться к разным наборам машин.
- Детерминированное (фиксированное) время обработки или вероятностное время обработки.
NP-твердость [ править ]
Поскольку задача коммивояжера является NP-трудной , задача цеха с последовательно-зависимой настройкой , очевидно, также является NP-трудной, поскольку TSP является частным случаем JSP с единственной работой (города — это машины, а продавец — это работа). [ нужна ссылка ]
Представление проблемы [ править ]
граф Дизъюнктивный [5] — одна из популярных моделей, используемых для описания примеров задач планирования цеха. [6]
Математическая постановка задачи может быть сделана следующим образом:
Позволять и быть двумя конечными множествами . Учитывая индустриальное происхождение проблемы, называются машинами , а называются рабочими местами .
Позволять обозначают множество всех последовательных назначений работ машинам, таких, что каждая работа выполняется каждой машиной ровно один раз; элементы может быть записано как матрицы, в каком столбце перечисляет работы, которые машина сделаю, по порядку. Например, матрица
означает, что машина сделаю три работы в порядке , пока машина выполню работу по порядку .
Предположим также, что существует некоторая функция стоимости . Функцию стоимости можно интерпретировать как «общее время обработки» и она может иметь некоторое выражение в терминах времени. , стоимость/время для машины делать работу .
Задача магазина по трудоустройству состоит в том, чтобы найти задание на работу. такой, что является минимумом, то есть нет такой, что .
Эффективность планирования
Эффективность планирования можно определить для расписания через отношение общего времени простоя машины к общему времени обработки, как показано ниже:
Здесь это время простоя машины , это продолжительность работы и это количество машин. Обратите внимание, что в приведенном выше определении эффективность планирования — это просто период выполнения, нормированный по количеству машин и общему времени обработки. Это позволяет сравнивать использование ресурсов экземплярами JSP разного размера. [7]
Проблема бесконечной стоимости [ править ]
Одна из первых проблем, которую необходимо решить в JSP, заключается в том, что многие предлагаемые решения имеют бесконечную стоимость: т. е. существует такой, что . На самом деле, примеры таких примеров придумать довольно просто. гарантируя, что две машины войдут в тупик , чтобы каждая ждала вывода следующего шага другой.
Основные результаты
Грэм уже представил алгоритм планирования List в 1966 году, который является (2 − 1/ m ) -конкурентным, где m — количество машин. [1] Также было доказано, что планирование по спискам является оптимальным онлайн-алгоритмом для 2 и 3 машин. Алгоритм Коффмана-Грэма (1972) для работ одинаковой длины также оптимален для двух машин и является (2 - 2/ m ) -конкурентным. [8] [9] В 1992 году Бартал, Фиат, Карлофф и Вохра представили алгоритм, конкурентоспособный на уровне 1,986. [10] Алгоритм, конкурирующий с 1,945, был представлен Каргером, Филипсом и Торнгом в 1994 году. [11] В 1992 году Альберс предложил другой алгоритм, конкурентоспособный по коэффициенту 1,923. [12] В настоящее время наиболее известным результатом является алгоритм Флейшера и Валя, который достигает конкурентного коэффициента 1,9201. [13]
Нижнюю границу в 1,852 представил Альберс. [14] Экземпляры Taillard играют важную роль в разработке планирования цеха с учетом продолжительности рабочего времени.
В 1976 году Гари представил доказательство. [15] что эта проблема является NP-полной для m>2, то есть оптимальное решение не может быть вычислено за детерминированное полиномиальное время для трех или более машин (если только P = NP ).
В 2011 году Синь Чен и др. предоставили оптимальные алгоритмы онлайн-планирования на двух связанных машинах [16] улучшение предыдущих результатов. [17]
Минимизация времени автономной работы [ править ]
Атомарные задания [ править ]
Самая простая форма задачи минимизации автономного периода выполнения связана с атомарными заданиями, то есть заданиями, которые не подразделяются на несколько операций. Это эквивалентно упаковке нескольких предметов разного размера в фиксированное количество контейнеров, при этом максимальный необходимый размер контейнера должен быть как можно меньшим. (Если вместо этого количество контейнеров должно быть сведено к минимуму, а размер контейнера фиксирован, проблема становится другой проблемой, известной как проблема упаковки контейнеров .)
Дорит С. Хохбаум и Дэвид Шмойс в 1987 году представили схему аппроксимации с полиномиальным временем , которая находит приближенное решение автономной задачи минимизации продолжительности рабочего времени с помощью атомарных заданий с любой желаемой степенью точности. [18]
Задания, состоящие из нескольких операций [ править ]
Основная форма задачи планирования заданий с несколькими (М) операциями на М машинах, при которой все первые операции должны выполняться на первой машине, все вторые операции на второй и т. д., а одна задание не может выполняться параллельно, известно как проблема планирования цеха . Существуют различные алгоритмы, включая генетические алгоритмы . [19]
Алгоритм Джонсона [ править ]
Эвристический алгоритм С.М. Джонсона можно использовать для решения задачи о работе с двумя машинами N, когда все работы должны обрабатываться в одном и том же порядке. [20] Шаги алгоритма следующие:
Задание Pi состоит из двух операций продолжительностью Pi1 , Pi2 , которые должны быть выполнены на машине M1, M2 в этой последовательности.
- Шаг 1. Список A = { 1, 2, …, N }, Список L1 = {}, Список L2 = {}.
- Шаг 2. Из всех доступных длительностей операций выберите минимальную.
Если минимум принадлежит P k1 ,
Удалить K из списка A; Добавьте K в конец списка L1.
Если минимум принадлежит P k2 ,
Удалить K из списка A; Добавьте K в начало списка L2.
- Шаг 3. Повторяйте шаг 2, пока список A не станет пустым.
- Шаг 4. Объедините список L1, список L2. Это оптимальная последовательность.
Метод Джонсона оптимально работает только для двух машин. Однако, поскольку он оптимален и его легко вычислить, некоторые исследователи попытались применить его для машин M ( M > 2).
Идея заключается в следующем: представьте, что каждая работа требует m операций последовательно, на M1, M2… Mm. Объединим первые m /2 станков в (воображаемый) обрабатывающий центр MC1, а оставшиеся станки — в обрабатывающий центр MC2. Тогда общее время обработки задания P на MC1 = sum (время работы на первых m /2 машинах), а время обработки задания P на MC2 = sum (время работы на последних m /2 машинах).
Тем самым мы свели проблему m-Machine к задаче планирования с двумя обрабатывающими центрами. Мы можем решить эту проблему, используя метод Джонсона.
Прогноз Makespan [ править ]
Машинное обучение недавно использовалось для прогнозирования оптимального периода выполнения экземпляра JSP без фактического создания оптимального расписания. [7] Предварительные результаты показывают точность около 80 %, когда методы контролируемого машинного обучения применялись для классификации небольших случайно сгенерированных экземпляров JSP на основе их оптимальной эффективности планирования по сравнению со средним показателем.
Пример [ править ]
Вот пример задачи планирования цеха, сформулированной в AMPL как задача смешанно-целочисленного программирования с индикаторными ограничениями:
param N_JOBS;
param N_MACHINES;
set JOBS ordered = 1..N_JOBS;
set MACHINES ordered = 1..N_MACHINES;
param ProcessingTime{JOBS, MACHINES} > 0;
param CumulativeTime{i in JOBS, j in MACHINES} =
sum {jj in MACHINES: ord(jj) <= ord(j)} ProcessingTime[i,jj];
param TimeOffset{i1 in JOBS, i2 in JOBS: i1 <> i2} =
max {j in MACHINES}
(CumulativeTime[i1,j] - CumulativeTime[i2,j] + ProcessingTime[i2,j]);
var end >= 0;
var start{JOBS} >= 0;
var precedes{i1 in JOBS, i2 in JOBS: ord(i1) < ord(i2)} binary;
minimize makespan: end;
subj to makespan_def{i in JOBS}:
end >= start[i] + sum{j in MACHINES} ProcessingTime[i,j];
subj to no12_conflict{i1 in JOBS, i2 in JOBS: ord(i1) < ord(i2)}:
precedes[i1,i2] ==> start[i2] >= start[i1] + TimeOffset[i1,i2];
subj to no21_conflict{i1 in JOBS, i2 in JOBS: ord(i1) < ord(i2)}:
!precedes[i1,i2] ==> start[i1] >= start[i2] + TimeOffset[i2,i1];
data;
param N_JOBS := 4;
param N_MACHINES := 4;
param ProcessingTime:
1 2 3 4 :=
1 5 4 2 1
2 8 3 6 2
3 9 7 2 3
4 3 1 5 8;
Связанные проблемы [ править ]
- Планирование потокового цеха представляет собой аналогичную проблему, но без ограничения, согласно которому каждая операция должна выполняться на конкретной машине (сохраняется только ограничение порядка).
- Планирование работы открытого цеха представляет собой аналогичную проблему, но также без ограничения количества заказов.
См. также [ править ]
Ссылки [ править ]
- ^ Jump up to: а б Грэм, Р. (1966). «Границы некоторых аномалий многопроцессорной обработки» (PDF) . Технический журнал Bell System . 45 (9): 1563–1581. дои : 10.1002/j.1538-7305.1966.tb01709.x .
- ^ «Случаи Тайяра» .
- ^ Маккарти (1993). «Устранение пробелов в исследованиях планирования: обзор оптимизации и эвристических методов планирования производства».
- ^ Малакути, Б. (2013). Операции и производственные системы с множеством целей . Джон Уайли и сыновья. ISBN 978-1-118-58537-5 .
- ^ Б. Рой, Б. Суссманн, Проблемы планирования с дизъюнктивными ограничениями, SEMA, Note DS, № 9, Париж, 1964.
- ^ Яцек Блажевич, Эрвин Пеш, Малгожата Стерна, Представление проблемы планирования цеха на дизъюнктивной графовой машине, Европейский журнал операционных исследований, том 127, выпуск 2, 1 декабря 2000 г., страницы 317-331, ISSN 0377-2217, 10.1016/ С0377-2217(99)00486-5.
- ^ Jump up to: а б Миршекарян, Садег; Шормаз, Душан Н. (2016). «Корреляция особенностей планирования цеха с эффективностью планирования» (PDF) . Экспертные системы с приложениями . 62 : 131–147. дои : 10.1016/j.eswa.2016.06.014 .
- ^ Коффман, Э.Г. младший ; Грэм, Р.Л. (1972), «Оптимальное планирование для двухпроцессорных систем» (PDF) , Acta Informatica , 1 (3): 200–213, doi : 10.1007/bf00288685 , MR 0334913 , S2CID 40603807 .
- ^ Лам, Шуй; Сетхи, Рави (1977), «Анализ наихудшего случая двух алгоритмов планирования», SIAM Journal on Computing , 6 (3): 518–536, doi : 10.1137/0206037 , MR 0496614 .
- ^ Барталь, Ю.; А. Фиат; Х. Карлофф; Р. Вохра (1992). «Новые алгоритмы для древней проблемы планирования». Учеб. 24-й симпозиум ACM . Теория вычислений. стр. 51–58. дои : 10.1145/129712.129718 .
- ^ Каргер, Д .; С. Филлипс; Э. Торнг (1994). «Лучший алгоритм для древней задачи планирования» . Учеб. Пятый симпозиум ACM . Дискретные алгоритмы.
- ^ Альберс, Сюзанна ; Торбен Хагеруп (1992). «Улучшенная параллельная целочисленная сортировка без одновременной записи» . Материалы третьего ежегодного симпозиума ACM-SIAM по дискретным алгоритмам . Архив симпозиума по дискретным алгоритмам. стр. 463–472.
- ^ Флейшер, Рудольф (2000). Алгоритмы – ESA 2000 . Берлин / Гейдельберг: Springer. стр. 202–210. дои : 10.1007/3-540-45253-2_19 . ISBN 978-3-540-41004-1 .
- ^ Альберс, Сюзанна (1999). «Лучшие возможности для онлайн-планирования». SIAM Journal по вычислительной технике . 29 (2): 459–473. CiteSeerX 10.1.1.685.8756 . дои : 10.1137/S0097539797324874 .
- ^ Гэри, MR; Джонсон, Д.С.; Сетхи, Рави (1976). «Сложность планирования потокового цеха и цеха». Математика исследования операций . 1 (2): 117–129. дои : 10.1287/moor.1.2.117 . JSTOR 3689278 .
- ^ Чен, Синь; Лан, Ян; Бенко, Аттила; Доса, Дьёрдь; Хан, Синь (2011). « Оптимальные алгоритмы онлайн-планирования с ограниченной перестановкой в конце » . Теоретическая информатика . 412 (45): 6269–6278. дои : 10.1016/j.tcs.2011.07.014 .
- ^ Лю, М.; Сюй, Ю.; Чу, К.; Чжэн, Ф. (2009). «Онлайн-планирование на двух одинаковых машинах для минимизации времени изготовления» . Теория. Вычислить. Наука . 410 (21–23): 2099–2109. дои : 10.1016/j.tcs.2009.01.007 .
- ^ Хохбаум, Дорит ; Шмойс, Дэвид (1987). «Использование алгоритмов двойного приближения для задач планирования: теоретические и практические результаты» (PDF) . Журнал АКМ . 34 (1): 144–162. CiteSeerX 10.1.1.125.5753 . дои : 10.1145/7531.7535 . S2CID 9739129 .
- ^ Хури, Сами; Мирьяла, Совья Рао (1999). «Генетические алгоритмы решения задач планирования открытых цехов». Материалы 9-й португальской конференции по искусственному интеллекту: прогресс в области искусственного интеллекта . Лондон: Springer Verlag . CiteSeerX 10.1.1.29.4699 .
- ^ С.М. Джонсон, Оптимальные двух- и трехэтапные графики производства с учетом времени наладки, Naval Res. Бревно. Кварта. Я (1954) 61-68.
Внешние ссылки [ править ]
- Венского университета для динамической оптимизации. Справочник методологий, систем и программного обеспечения
- Экземпляры Тайларда
- Брукер П. Алгоритмы планирования . Гейдельберг, Шпрингер. Пятое изд. ISBN 978-3-540-24804-0