Планирование на одной машине или планирование на одном ресурсе или Dhinchak Pooja является задачей оптимизации в информатике и исследовании операций . Нам даны n заданий J 1 , J 2 , ..., J n с различным временем обработки, которые необходимо запланировать на одной машине таким образом, чтобы оптимизировать определенную цель, например, пропускную способность .
Планирование на одной машине является частным случаем планирования на идентичных машинах , которое само по себе является частным случаем оптимального планирования заданий . Многие проблемы, которые в общем случае являются NP-трудными, могут быть решены за полиномиальное время в случае с одной машиной. [1] : 10–20
В стандартной трехполевой нотации для задач оптимального планирования заданий вариант с одной машиной обозначается как 1 в первом поле. Например, « 1|| » — это задача планирования с одной машиной без ограничений, где целью является минимизация суммы времен завершения.
Задача минимизации makespan 1|| , которая является общей целью для нескольких машин, тривиальна для одной машины, поскольку makespan всегда одинаков. Поэтому были изучены другие цели. [2]
Минимизация суммы времен завершения
Задача 1|| направлена на минимизацию суммы времен завершения. Она может быть решена оптимально с помощью правила кратчайшего времени обработки ( SPT ): задания планируются в порядке возрастания времени их обработки .
Задача 1|| направлена на минимизацию взвешенной суммы времен завершения. Она может быть решена оптимально с помощью правила Weighted Shortest Processing Time First ( WSPT ): задания планируются в порядке возрастания отношения . [2] : лекция 1, часть 2
Задача 1|цепи| является обобщением вышеуказанной задачи для заданий с зависимостями в виде цепей. Она также может быть решена оптимально с помощью подходящего обобщения WSPT. [2] : лекция 1, часть 3
Минимизация стоимости опоздания
Задача 1|| направлена на минимизацию максимального опоздания . Для каждого задания j существует дата выполнения . Если оно выполнено после даты выполнения, оно терпит опоздание , определяемое как . Задача 1|| может быть решена оптимально с помощью правила «Самый ранний срок выполнения первым» ( EDD ): задания планируются в порядке возрастания их крайнего срока . [2] : лекция 2, часть 2
Задача 1|prec| обобщает 1|| двумя способами: во-первых, она допускает произвольные ограничения по приоритету для заданий; во-вторых, она допускает для каждого задания произвольную функцию стоимости h j , которая является функцией времени его завершения (задержка является частным случаем функции стоимости). Максимальную стоимость можно минимизировать с помощью жадного алгоритма, известного как алгоритм Лоулера . [2] : лекция 2, часть 1
Задача 1| | обобщает задачу 1|| , позволяя каждому заданию иметь разное время выпуска , к которому оно становится доступным для обработки. Наличие времени выпуска означает, что в некоторых случаях может быть оптимальным оставить машину бездействующей, чтобы дождаться важной работы, которая еще не выпущена. Минимизация максимальной задержки в этой ситуации является NP-трудной. Но на практике ее можно решить с помощью алгоритма ветвей и границ . [2] : лекция 2, часть 3
Максимизация прибыли от ранности
В условиях с крайними сроками возможно, что если работа будет завершена к крайнему сроку, то будет прибыль p j . В противном случае прибыли не будет. Цель состоит в том, чтобы максимизировать прибыль. Планирование на одной машине с крайними сроками является NP-трудным; Сахни [3] представляет как точные экспоненциальные алгоритмы, так и полиномиальный алгоритм аппроксимации.
Максимизация пропускной способности
Задача 1|| направлена на минимизацию количества опаздывающих заданий, независимо от величины опоздания. Она может быть решена оптимально с помощью алгоритма Ходжсона-Мура. [4] [2] : лекция 3, часть 1 Ее также можно интерпретировать как максимизацию количества заданий, которые завершаются вовремя; это число называется пропускной способностью .
Задача 1|| направлена на минимизацию веса просроченных работ. Она NP-трудна, поскольку частный случай, в котором все работы имеют одинаковый срок выполнения (обозначается 1| | ), эквивалентен задаче о рюкзаке . [2] : лекция 3, часть 2
Задача 1| | обобщает задачу 1|| , позволяя разным работам иметь разное время выпуска . Задача NP-трудная. Однако, когда все длины работ равны, задача может быть решена за полиномиальное время. Она имеет несколько вариантов:
Вариант взвешенной оптимизации, 1| | , может быть решен за время . [5]
Вариант оптимизации без учета веса, максимизирующий количество работ, которые завершаются вовремя, обозначаемый 1| | , может быть решен за время с использованием динамического программирования, когда все времена релизов и крайние сроки являются целыми числами. [6] [7]
Вариант решения — определение того, возможно ли, что все заданные задания будут выполнены вовремя — может быть решен несколькими алгоритмами, [8] самый быстрый из них выполняется за время . [9]
Задания могут иметь интервалы выполнения . Для каждого задания j есть время обработки t j и время начала s j , поэтому оно должно быть выполнено в интервале [ s j , s j +t j ]. Поскольку некоторые интервалы перекрываются, не все задания могут быть выполнены. Цель состоит в том, чтобы максимизировать количество выполненных заданий, то есть пропускную способность . В более общем смысле, каждое задание может иметь несколько возможных интервалов, и каждый интервал может быть связан с различной прибылью. Цель состоит в том, чтобы выбрать не более одного интервала для каждого задания, так чтобы общая прибыль была максимизирована. Более подробную информацию см. на странице о планировании интервалов .
В более общем смысле, задания могут иметь временные окна , как с началом, так и с крайними сроками, которые могут быть больше, чем длина задания. Каждое задание может быть запланировано в любом месте в пределах его временного окна. Бар-Ной, Бар-Йехуда, Фройнд, Наор и Шибер [10] представляют приближение (1- ε )/2.
Работы с непостоянной длиной
Рабочие и машины часто устают после работы в течение определенного времени, и это делает их медленнее при обработке будущих заданий. С другой стороны, рабочие и машины могут научиться работать лучше, и это делает их быстрее при обработке будущих заданий. В обоих случаях длительность (время обработки) задания не является постоянной, а зависит от заданий, обработанных до него. В этой ситуации даже минимизация максимального времени завершения становится нетривиальной. Существует два распространенных способа моделирования изменения длительности задания.
Продолжительность работы может зависеть от времени начала работы. [11] Когда продолжительность является слабо возрастающей функцией времени начала, это называется эффектом ухудшения ; когда она слабо убывает, это называется эффектом обучения .
Длина задания может зависеть от суммы нормальных времен обработки ранее обработанных заданий. Когда длина является слабо возрастающей функцией этой суммы, это часто называют эффектом старения . [12]
Продолжительность, основанная на времени начала
Ченг и Дин изучали минимизацию времени выполнения и минимизацию максимальной задержки, когда фактическая продолжительность задания j, запланированного на время s j , определяется как
, где p j — нормальная длина j .
Они доказали следующие результаты:
Когда задания могут иметь произвольные сроки выполнения, задачи становятся строго NP-трудными за счет сокращения с 3-разбиения ; [13]
Когда задания могут иметь один из двух крайних сроков, задачи являются NP-полными, согласно сокращению из разбиения . [14]
Когда задания могут иметь произвольные сроки выполнения, задачи являются строго NP-трудными , путем сведения к задаче с произвольными сроками. [15]
Когда задания могут иметь одно из двух времен выпуска: 0 или R, задачи являются NP-полными. [15]
Кубиак и ван-де-Вельде [16] изучали минимизацию makespan, когда усталость начинается только после общей даты выполнения d . То есть фактическая продолжительность работы j, запланированной на время s j, определяется как
.
Итак, если работа начинается до d , ее длина не меняется; если она начинается после d , ее длина растет со скоростью, зависящей от работы. Они показывают, что задача является NP-трудной, дают псевдополиномиальный алгоритм, который выполняется за время , и дают алгоритм ветвей и границ, который решает примеры с количеством работ до 100 за разумное время. Они также изучают ограниченное ухудшение, когда p j перестает расти, если работа начинается после общей даты максимального ухудшения D > d. Для этого случая они дают два алгоритма псевдополиномиального времени.
Ченг, Дин и Линь [11] рассмотрели несколько исследований эффекта ухудшения, где продолжительность работы j, запланированной на время s j, является либо линейной, либо кусочно-линейной, а скорость изменения может быть положительной или отрицательной.
Длина, рассчитанная на основе суммы времени обработки
Эффект старения бывает двух типов:
В модели старения на основе позиции время обработки задания зависит от количества заданий, обработанных до него, то есть от его положения в последовательности. [17]
В модели старения, основанной на сумме времени обработки , время обработки задания является слабо возрастающей функцией суммы обычных (=не затронутых старением) времен обработки заданий, обработанных до него. [18]
Ван, Ван, Ван и Ван [19] изучили модель старения, основанную на сумме времени обработки, где время обработки задания j, запланированного на позицию v, определяется как
где — это работа, запланированная в позиции , а α — «характеристика старения» машины. В этой модели максимальное время обработки перестановки равно:
Рудек [20] обобщил модель двумя способами: допустив, что усталость отличается от времени обработки, и допустив характеристику старения, зависящую от работы:
Здесь f — возрастающая функция, описывающая зависимость усталости от времени обработки; а α j — характеристика старения работы j . Для этой модели он доказал следующие результаты:
Минимизация максимального времени завершения и минимизация максимального опоздания решаются за полиномиальное время.
Минимизация максимального времени выполнения и минимизация максимального опоздания являются строго NP-трудными задачами, если некоторые задания имеют крайние сроки.
^ Юджин Л. Лоулер, Ян Карел Ленстра, Александр Х. Г. Ринной Кан, Дэвид Б. Шмойс (1993-01-01). "Глава 9 Последовательность и планирование: Алгоритмы и сложность". Справочники по исследованию операций и науке управления . 4 : 445– 522. doi :10.1016/S0927-0507(05)80189-6. ISBN9780444874726. ISSN 0927-0507.{{cite journal}}: CS1 maint: несколько имен: список авторов ( ссылка )
^ abcdefgh Гриншпун, Таль (2020). «Субъекты в планировании». www.youtube.com . Получено 12 сентября 2021 г. .
^ Сахни, Сартадж К. (1976-01-01). «Алгоритмы планирования независимых задач». Журнал ACM . 23 (1): 116– 127. doi : 10.1145/321921.321934 . ISSN 0004-5411. S2CID 10956951.
^ Лоулер, Э. Л. (1994-07-01). «Задачи планирования типа рюкзака, алгоритм Мура-Ходжсона и свойство «башни множеств». Математическое и компьютерное моделирование . 20 (2): 91– 106. doi : 10.1016/0895-7177(94)90209-7 . ISSN 0895-7177.
^ Baptiste, P. (1999). «Алгоритмы полиномиального времени для минимизации взвешенного числа поздних заданий на одной машине с равным временем обработки». Journal of Scheduling . 2 (6): 245– 252. doi :10.1002/(SICI)1099-1425(199911/12)2:6<245::AID-JOS28>3.0.CO;2-5.
^ Хробак, Марек; Дюрр, Кристоф; Явор, Войцех; Ковалик, Лукаш; Куровский, Мацей (01 февраля 2006 г.). «Примечание о планировании заданий одинаковой длины для максимизации пропускной способности». Журнал планирования . 9 (1): 71–73 . arXiv : cs/0410046 . дои : 10.1007/s10951-006-5595-4. ISSN 1099-1425. S2CID 7359990.
^ Хробак, Марек; Дурр, Кристоф; Явор, Войцех; Ковалик, Лукаш; Куровский, Мацей (12 мая 2021 г.). «Примечание о планировании заданий одинаковой длины для максимизации пропускной способности». arXiv : cs/0410046 .{{cite journal}}: Цитировать журнал требует |journal=( помощь )
^ Саймонс, Барбара (1978-10-16). "Быстрый алгоритм для планирования одного процессора". Труды 19-го ежегодного симпозиума по основам компьютерной науки . SFCS '78. США: IEEE Computer Society: 246– 252. doi :10.1109/SFCS.1978.4. S2CID 10284575.
^ Garey, MR; Johnson, DS; Simons, BB; Tarjan, RE (1 мая 1981 г.). «Планирование задач единичного времени с произвольным временем выпуска и крайними сроками». SIAM Journal on Computing . 10 (2): 256– 269. doi :10.1137/0210018. ISSN 0097-5397.
^ Бар-Ной, Амоц; Бар-Йехуда, Реувен; Фройнд, Ари; (Сеффи) Наор, Джозеф; Шибер, Барух (2001-09-01). «Унифицированный подход к аппроксимации распределения ресурсов и планирования». Журнал ACM . 48 (5): 1069– 1090. doi :10.1145/502102.502107. ISSN 0004-5411. S2CID 12329294.
^ ab Cheng, TC E; Ding, Q; Lin, BM T (2004-01-01). "Краткий обзор планирования с зависящим от времени временем обработки". European Journal of Operational Research . 152 (1): 1– 13. doi :10.1016/S0377-2217(02)00909-8. ISSN 0377-2217.
^ Чанг, Пей-Чанн; Чен, Ши-Синь; Мани, В. (01.01.2009). «Заметка о назначении сроков и планировании работы на одной машине с эффектом обучения/старения». Международный журнал экономики производства . 117 (1): 142– 149. doi :10.1016/j.ijpe.2008.10.004. ISSN 0925-5273.
^ Cheng, TCE; Ding, Q. (1999-07-01). «Задача о времени выполнения машины makespan является строго NP-полной». Computers & Operations Research . 26 (8): 749– 754. doi :10.1016/S0305-0548(98)00093-8. ISSN 0305-0548.
^ Cheng, TCE; Ding, Q. (1998-06-01). «Сложность планирования работы одной машины с двумя различными крайними сроками и одинаковыми темпами убывания времени обработки». Computers & Mathematics with Applications . 35 (12): 95– 100. doi :10.1016/S0898-1221(98)00099-6. ISSN 0898-1221.
^ ab Cheng, TCE; Ding, Q. (1998-01-29). «Сложность планирования задач, зависящих от времени начала, с учетом времени выпуска». Information Processing Letters . 65 (2): 75– 79. doi :10.1016/S0020-0190(97)00195-6. ISSN 0020-0190.
^ Кубяк, Веслав; ван де Вельде, Стив (август 1998 г.). «Планирование ухудшающихся работ для минимизации времени ремонта». Логистика военно-морских исследований . 45 (5): 511–523 . doi :10.1002/(SICI)1520-6750(199808)45:5<511::AID-NAV5>3.0.CO;2-6. ISSN 0894-069X.
^ Гавейнович, Станислав (1996-03-25). «Заметка о планировании на одном процессоре со скоростью, зависящей от количества выполняемых заданий». Information Processing Letters . 57 (6): 297– 300. doi :10.1016/0020-0190(96)00021-X. ISSN 0020-0190.
^ Гордон, В.С.; Поттс, К.Н.; Струсевич, В.А.; Уайтхед, Дж.Д. (2008-10-01). «Модели планирования на одной машине с ухудшением и обучением: обработка ограничений приоритета с помощью генерации приоритетов». Журнал планирования . 11 (5): 357– 370. doi :10.1007/s10951-008-0064-x. ISSN 1099-1425. S2CID 31422825.
^ Ван, Цзи-Бо; Ван, Ли-Янь; Ван, Дэн; Ван, Сяо-Юань (2009-08-01). «Планирование для одной машины с ухудшением, зависящим от времени». Международный журнал передовых производственных технологий . 43 (7): 805– 809. doi :10.1007/s00170-008-1760-6. ISSN 1433-3015. S2CID 110043439.
^ Рудек, Радослав (2012-03-01). «Некоторые проблемы планирования для одной машины с расширенным эффектом старения, основанным на сумме времени обработки». Международный журнал передовых производственных технологий . 59 (1): 299– 309. doi : 10.1007/s00170-011-3481-5 . ISSN 1433-3015.