Планирование на не связанных машинах — это задача оптимизации в информатике и исследовании операций . Это вариант оптимального планирования заданий . Нам нужно запланировать n заданий J 1 , J 2 , ..., J n на m различных машинах таким образом, чтобы была оптимизирована определенная целевая функция (обычно, время выполнения должно быть минимизировано). Время, необходимое машине i для обработки задания j, обозначается как p i,j . Термин «не связанный» подчеркивает, что нет никакой связи между значениями p i,j для разных i и j . Это контрастирует с двумя особыми случаями этой задачи: планирование на однородных машинах — при котором p i,j = p i / s j (где s j — скорость машины j ), и планирование на идентичных машинах — при котором p i,j = p i (одинаковое время выполнения на всех машинах).
В стандартной трехполевой нотации для задач оптимального планирования заданий вариант с не связанными машинами обозначается как R в первом поле. Например, задача, обозначенная как " R|| ", является задачей планирования с не связанными машинами без ограничений, где целью является минимизация максимального времени завершения.
В некоторых вариантах задачи вместо минимизации максимального времени завершения желательно минимизировать среднее время завершения (усредненное по всем n работам); это обозначается как R|| . В более общем случае, когда некоторые работы важнее других, может быть желательно минимизировать средневзвешенное время завершения, где каждая работа имеет разный вес. Это обозначается как R|| .
В третьем варианте целью является максимизация минимального времени завершения, " R|| " . Этот вариант соответствует проблеме эгалитарного распределения предметов .
Минимизация максимального времени завершения является NP-трудной задачей даже для идентичных машин, за счет сокращения проблемы разбиения .
Горовиц и Сахни [1] представили:
Ленстра, Шмойс и Тардос [2] представили поливременной алгоритм аппроксимации 2-фактора и доказали, что поливременной алгоритм с аппроксимационным фактором меньше 3/2 невозможен, если только P=NP. Сокращение разрыва между 2 и 3/2 является давней открытой проблемой.
Верша и Визе [3] представили другой алгоритм двухфакторной аппроксимации.
Glass, Potts и Shade [4] сравнивают различные методы локального поиска для минимизации времени выполнения на не связанных машинах. Используя компьютерное моделирование, они обнаруживают, что поиск с запретами и имитация отжига работают намного лучше, чем генетические алгоритмы .
Бруно, Коффман и Сети [5] представляют алгоритм, работающий во времени , для минимизации среднего времени завершения работы на несвязанных машинах, R|| (среднее по всем работам время, необходимое для завершения работ).
Минимизация средневзвешенного времени завершения, R|| (где w j — вес задания j ), является NP-трудной задачей даже на идентичных машинах, по сокращению из задачи о рюкзаке . [1] Это NP-трудная задача, даже если количество машин фиксировано и не менее 2, по сокращению из задачи о разбиении . [6]
Шульц и Скутелла [7] представляют алгоритм (3/2+ε)-приближения с использованием рандомизированного округления . Их алгоритм представляет собой (2+ε)-приближение для задачи со временем выпуска заданий, R| | .
Бар-Ной, Бар-Йехуда, Фройнд, Наор и Шибер [8] рассматривают ситуацию, в которой для каждой работы и машины есть прибыль от выполнения этой работы на этой машине. Они представляют приближение 1/2 для дискретного ввода и приближение (1- ε )/2 для непрерывного ввода.
Предположим, что вместо «работ» у нас есть ценные предметы, а вместо «машин» — люди. Человек i оценивает предмет j в p i,j . Мы хотели бы распределить предметы среди людей так, чтобы наименее счастливый человек был максимально счастлив. Эта проблема эквивалентна планированию с не связанными между собой машинами, в котором цель состоит в максимизации минимального времени завершения. Это более известно под названием эгалитарное или распределение предметов по принципу максимума и минимума .
Естественный способ сформулировать задачу как линейную программу называется линейной программой Ленстры–Шмойса–Тардоса [9] (LST LP) . Для каждой машины i и задания j определите переменную , которая равна 1, если машина i обрабатывает задание j , и 0 в противном случае. Тогда ограничения LP будут следующими:
Ослабление целочисленных ограничений дает линейную программу с размером полинома на входе. Решение ослабленной задачи может быть округлено для получения 2-приближения к задаче. [9]
Другая формулировка LP — это конфигурационная линейная программа . Для каждой машины i существует конечное число подмножеств заданий, которые могут быть обработаны машиной i за время не более T. Каждое такое подмножество называется конфигурацией для машины i . Обозначим через C i ( T ) множество всех конфигураций для машины i . Для каждой машины i и конфигурации c в C i ( T ) определите переменную , которая равна 1, если фактическая конфигурация, используемая в машине i, равна c , и 0 в противном случае. Тогда ограничения LP таковы:
Обратите внимание, что число конфигураций обычно экспоненциально зависит от размера задачи, поэтому размер конфигурации LP экспоненциален. Однако в некоторых случаях можно ограничить число возможных конфигураций и, следовательно, найти приближенное решение за полиномиальное время.
Существует особый случай, в котором p i,j равно либо 1, либо бесконечности. Другими словами, каждое задание может быть обработано на подмножестве разрешенных машин , и его время выполнения на каждой из этих машин равно 1. Этот вариант иногда обозначается как " P|p j =1,M j | ". Его можно решить за полиномиальное время. [10]
Ким, Ким, Джанг и Чен [11] расширяют проблему, позволяя каждому заданию иметь время настройки, которое зависит от задания, но не от машины. Они представляют решение с использованием имитации отжига . Валлада и Руиз [12] представляют решение с использованием генетического алгоритма .
Нисан и Ронен в своей статье 1999 года о проектировании алгоритмических механизмов [13] расширяют проблему по-другому, предполагая, что задания принадлежат эгоистичным агентам (см. Истинное планирование заданий ).