Jump to content

Оптимальное планирование работы

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

Существует множество различных задач оптимального планирования работ, различающихся по характеру работ, природе машин, ограничениям на расписание и целевой функции. Удобное обозначение для задач оптимального планирования было введено Рональдом Грэмом , Юджином Лоулером , Яном Карелом Ленстра и Александром Риннуем Каном . [1] [2] Он состоит из трёх полей: α , β и γ . Каждое поле может представлять собой список слов, разделенных запятыми. Поле α описывает среду машины, β — характеристики и ограничения работы, а γ — целевую функцию. [3] С момента своего введения в конце 1970-х годов обозначения постоянно расширялись, иногда непоследовательно. В результате сегодня возникают проблемы с разными обозначениями в ряде статей.

Одноэтапные и многоэтапные задания [ править ]

В более простых задачах оптимального планирования заданий каждое задание j состоит из одной фазы выполнения с заданным временем обработки p j . В более сложных вариантах каждое задание состоит из нескольких этапов выполнения, которые могут выполняться последовательно или параллельно.

Машинные среды [ править ]

В задачах одноэтапного планирования заданий существует четыре основные категории машинных сред:

За этими буквами может следовать количество машин, которое затем фиксируется. Например, P2 указывает на наличие двух параллельных одинаковых машин. Pm указывает, что существует m параллельных одинаковых машин, где m — фиксированный параметр. Напротив, P указывает, что существует m параллельных одинаковых машин, но m не фиксировано (оно является частью входных данных).

В задачах многоэтапного планирования заданий существуют другие варианты машинной среды:

  • О : Проблема с открытым магазином . Каждая работа состоит из операции для . Операции можно планировать в любом порядке. Операция должны быть обработаны для единицы на машине .
  • F : Проблема с потоковым цехом . Каждая работа состоит из операции для , которые будут запланированы в заданном порядке. Операция должны быть обработаны для единицы на машине .
  • Дж : Проблема с магазином по работе . Каждая работа состоит из операции для , которые будут запланированы в таком порядке. Операция должны быть обработаны для агрегаты на отдельной машине с для .

Характеристики должности [ править ]

Предполагается, что все времена обработки являются целыми числами. Однако в некоторых старых исследовательских работах они считаются рациональными.

  • , или : время обработки одинаково для всех заданий.
  • , или : время обработки для всех заданий равно 1 единице времени.
  • : для каждого задания указывается время выпуска, раньше которого оно не может быть запланировано, по умолчанию — 0.
  • : онлайн-проблема. Вакансии раскрываются во время их выпуска. В этом контексте производительность алгоритма измеряется его конкурентоспособностью .
  • : для каждой работы указан срок сдачи. Идея состоит в том, что каждое задание должно быть завершено до наступления установленного срока, и за задания, выполненные с опозданием, предусмотрены определенные штрафы. Этот штраф обозначается в объективном значении. Наличие должностной характеристики подразумевается неявно и не обозначается в названии задачи, если нет каких-либо ограничений, например , предполагая, что все сроки выполнения равны некоторой заданной дате.
  • : на каждую работу дается строгий срок выполнения. Любая работа должна быть завершена до установленного срока.
  • pmtn : задания можно прервать и возобновить, возможно, на другом компьютере. Иногда также обозначается « prmp ».
  • : каждое задание включает в себя несколько машин, на которых оно должно быть запланировано одновременно. По умолчанию — 1. Это важный параметр в варианте, называемом планированием параллельных задач .

Отношения старшинства [ править ]

Каждая пара двух заданий может иметь или не иметь отношение приоритета. Отношение приоритета между двумя заданиями означает, что одно задание должно быть завершено раньше другого. Например, если задание i является предшественником задания j в этом порядке, задание j может начаться только после завершения задания i.

  • prec : На отношения старшинства не накладывается никаких ограничений.
  • цепочки : каждое задание является предшественником не более одного другого задания и ему предшествует не более одного другого задания.
  • дерево: отношения старшинства должны удовлетворять одному из двух ограничений.
    • intree: каждый узел является предшественником не более чем одного другого задания.
    • outtree: Каждому узлу предшествует не более одного задания.
  • Противоположный лес: если граф отношений предшествования разбит на связные компоненты , то каждый связный компонент является либо внутренним, либо внешним деревом.
  • sp-граф: Граф отношений предшествования представляет собой последовательно-параллельный граф .
  • ограниченная высота : длина самого длинного направленного пути ограничена фиксированным значением. (Направленный путь — это последовательность заданий, в которой каждое задание, кроме последнего, является предшественником следующего задания в последовательности.)
  • Порядок уровней : каждое задание имеет уровень, который представляет собой длину самого длинного пути, начинающегося с этого задания. Каждая работа с уровнем является предшественником каждой работы с уровнем .
  • интервальный порядок : Каждое задание имеет интервал [ s x , e x ) и задание является предшественником тогда и только тогда, когда конец интервала строго меньше начала интервала для .=

При наличии отношения предшествования можно дополнительно предположить наличие временных задержек . Временной лаг между двумя заданиями — это количество времени, которое необходимо подождать после завершения первого задания, прежде чем начнется второе задание. Формально, если работа i предшествует работе j, то должно быть правдой. Если нет временной задержки указано, то оно считается равным нулю. Временные лаги также могут быть отрицательными. Отрицательный временной лаг означает, что второе задание может начаться в фиксированное время до завершения первого задания.

  • : временной лаг одинаков для каждой пары заданий.
  • : разные пары заданий могут иметь разные временные задержки.

Задержки в транспорте [ править ]

  • : Между завершением операции работы на машине и начало эксплуатации работы на машине , задержка транспортировки составляет как минимум единицы.
  • : Между завершением операции работы на машине и начало эксплуатации работы на машине , задержка транспортировки составляет как минимум единицы.
  • : Задержка транспортировки в зависимости от машины. Между завершением операции работы на машине и начало эксплуатации работы на машине , задержка транспортировки составляет как минимум единицы.
  • : Задержка транспортировки в зависимости от пары машин. Между завершением операции работы на машине и начало эксплуатации работы на машине , задержка транспортировки составляет как минимум единицы.
  • : Задержка транспортировки в зависимости от работы. Между завершением операции работы на машине и начало эксплуатации работы на машине , задержка транспортировки составляет как минимум единицы.

Различные ограничения [ править ]

  • rcrc : Также известен как рециркуляция или гибкая мастерская. Обещание о поднимается и для некоторых пар у нас может быть . Другими словами, на одну и ту же машину можно назначить разные операции одной и той же работы.
  • нет-подождите : операция должен начинаться ровно тогда, когда операция завершает. Другими словами, как только одна операция задания завершается, следующая операция должна начаться немедленно. Иногда также обозначается как « nwt» .
  • no-idle : ни одна машина не может простаивать между началом своего первого выполнения и концом последнего выполнения.
  • : Многопроцессорные задачи на идентичных параллельных машинах. Выполнение работы делается одновременно на параллельные машины.
  • : Многопроцессорные задачи. Каждая работа предоставляется с набором машин , и нуждается одновременно во всех этих машинах для исполнения. Иногда также обозначается как «MPT».
  • : Универсальные машины. Каждая работа необходимо запланировать на одной машине из данного набора . также обозначается Mj Иногда .

Целевые функции [ править ]

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

  • - : Отсутствие объективного значения обозначается одинарной чертой. Это означает, что проблема состоит просто в создании допустимого планирования, удовлетворяющего всем заданным ограничениям.
  • : время завершения работы . — максимальное время выполнения; также известный как makepan . Иногда нас интересует среднее время завершения (среднее значение по всем j ), что иногда обозначается mft (среднее время окончания). [4]
  • : Время выполнения задания представляет собой разницу между временем его завершения и временем выпуска, т.е. .
  • : Опоздание . Каждая работа указан срок сдачи . Опоздание на работу определяется как . Иногда используется для обозначения возможности решения проблемы со сроками. Действительно, при использовании двоичного поиска сложность технико-экономической версии эквивалентна минимизации .
  • : Пропускная способность . У каждой работы есть срок сдачи . Существует удельная прибыль для работ, выполненных вовремя, т.е. если и в противном случае. Иногда смысл в литературе перевернут, что эквивалентно при рассмотрении варианта решения проблемы, но имеет огромное значение для аппроксимаций.
  • : Опоздание . Каждая работа указан срок сдачи . Опоздание на работу определяется как .
  • : Скороспелость . Каждая работа указан срок сдачи . Раннее начало работы определяется как . Эта цель важна для своевременного планирования.

Есть также варианты с несколькими целями , но они гораздо менее изучены. [2]

Примеры [ править ]

Вот несколько примеров задач, определенных с использованием приведенных выше обозначений. [1]

  • – назначение каждого из задания передаются на одну из двух идентичных машин, чтобы минимизировать максимальное общее время обработки на машинах. Это оптимизационная версия проблемы с разделами.
  • 1|предварительный| – назначение одной машине процессов с общим ограничением приоритета, минимизирующим максимальную задержку.
  • Р|pmtn| – назначение задач переменному числу несвязанных параллельных машин, позволяющее вытеснять их и минимизировать общее время выполнения.
  • J3| – задача цеха с тремя станками и единичным временем обработки, цель которой – минимизировать максимальное время завершения.
  • – назначение заданий параллельные идентичные машины, где каждое задание выполняется на нескольких машинах, на которых оно должно быть запланировано одновременно, что сводит к минимуму максимальное время выполнения. См. Планирование параллельных задач .

Другие варианты [ править ]

  • Все рассмотренные выше варианты являются детерминистическими в том смысле, что планировщику известны все данные. Существуют также стохастические варианты, в которых данные заранее неизвестны или могут искажаться случайным образом. [2]
  • В игре с балансировкой нагрузки каждое задание принадлежит стратегическому агенту, который может решить, где запланировать свою работу. Равновесие Нэша в этой игре может быть неоптимальным. Ауманн и Домбб [5] оценить неэффективность равновесия в нескольких играх с балансировкой нагрузки.

См. также [ править ]

Ссылки [ править ]

  1. ^ Jump up to: Перейти обратно: а б Грэм, РЛ; Лоулер, Эл.; Ленстра, Дж. К.; Риннуй Кан, AHG (1979). «Оптимизация и аппроксимация в детерминированном секвенировании и планировании: обзор» (PDF) . Труды Института перспективных исследований по дискретной оптимизации и системным применениям Группы системных наук НАТО и Симпозиума по дискретной оптимизации . Эльзевир. стр. (5) 287–326.
  2. ^ Jump up to: Перейти обратно: а б с Юджин Л. Лоулер, Ян Карел Ленстра, Александр Х. Г. Риннуй Кан, Дэвид Б. Шмойс (1 января 1993 г.). «Глава 9. Последовательность и планирование: алгоритмы и сложность» . Справочники по исследованию операций и науке управления . 4 : 445–522. дои : 10.1016/S0927-0507(05)80189-6 . ISBN  9780444874726 . ISSN   0927-0507 . {{cite journal}}: CS1 maint: несколько имен: список авторов ( ссылка )
  3. ^ Б. Чен, К. Н. Поттс и Г. Дж. Вогингер . «Обзор машинного планирования: сложность, алгоритмы и аппроксимируемость». Справочник по комбинаторной оптимизации (том 3) (редакторы: Д.-З. Ду и П. Пардалос), 1998, Kluwer Academic Publishers. 21-169. ISBN   0-7923-5285-8 (HB) 0-7923-5019-7 (набор)
  4. ^ Горовиц, Эллис; Сахни, Сартадж (1 апреля 1976 г.). «Точные и приближенные алгоритмы планирования неидентичных процессоров» . Журнал АКМ . 23 (2): 317–327. дои : 10.1145/321941.321951 . ISSN   0004-5411 . S2CID   18693114 .
  5. ^ Ауманн, Йонатан; Домбб, Яир (2010). Контояннис, Спирос; Куцупиас, Элиас; Спиракис, Пол Г. (ред.). «Эффективность Парето и приблизительная эффективность Парето в играх с маршрутизацией и балансировкой нагрузки» . Алгоритмическая теория игр . Конспекты лекций по информатике. Берлин, Гейдельберг: Springer: 66–77. дои : 10.1007/978-3-642-16170-4_7 . ISBN  978-3-642-16170-4 .

Внешние ссылки [ править ]

  • Зоопарк планирования (Кристоф Дюрр, Сигрид Кнуст, Дэмиен Прот, Оскар К. Васкес): онлайн-инструмент для поиска оптимальной задачи планирования с использованием обозначений.
  • Результаты по сложности задач планирования (Питер Брукер, Сигрид Кнуст): классификация задач оптимального планирования по тому, что известно об их сложности во время выполнения.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4c0028e2cea064f5006da7172ab9afce__1718809920
URL1:https://arc.ask3.ru/arc/aa/4c/ce/4c0028e2cea064f5006da7172ab9afce.html
Заголовок, (Title) документа по адресу, URL1:
Optimal job scheduling - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)