Глава 4 ПДС-АЛГОРИТМЫ И ТРУДНОРЕШАЕМЫЕ ЗАДАЧИ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ Введение В главах 1–3 приведены эффективные ПДС-алгоритмы решения трех задач календарного планирования: 1. Минимизация суммарного запаздывания при выполнении независимых заданий одним прибором (задача МСЗ). Решением задачи является построение расписания выполнения n заданий на одном приборе, которому соответствует минимум суммы: min max 0, C j d j , n j 1 где C j – время окончания выполнения j -го задания, d j – директивный срок его выполнения. 2. Минимизация суммарного взвешенного окончания выполнения заданий на одном приборе при ограничениях на последовательность выполнения заданий, заданных ориентированным ацикличным графом (задача МВМ). Решением задачи является построение расписания выполнения заданий: а) удовлетворяющего ограничениям на очередность выполнения заданий на одном приборе; б) минимизирующего сумму n C j 1 j j , где j – вес j -го задания, который умножается на C j – время окончания выполнения j -го задания. 3. Минимизация суммарного запаздывания выполнения независимых заданий с общим директивным сроком параллельными приборами (задача МСЗП). Решением задачи является расписание выполнения заданий на параллельных приборах, которому соответствует минимум суммы: max 0, C n j 1 215 j d, Глава 4 где d – общий директивный срок выполнения всех заданий. Как указано в предисловии, задачи МСЗ, МВМ, МСЗП являются составной частью иерархической модели планирования сложных систем, имеющих сетевое представление технологических процессов и ограниченные ресурсы, к числу которых относятся: планирование мелкосерийного производства, планирование производства «под заказ», планирование производства в рабочем цеху, планирование производства по изготовлению партий, планирование работ по строительству сложных объектов, планирование и управление проектами. Необходимо отметить, что критерий качества задачи МВМ может содержательно обозначать максимизацию суммарной прибыли от выполнения заданий в случае, когда прибыль от выполнения задания задается линейной функцией от момента окончания ее выполнения. Действительно, в этом случае максимизации прибыли соответствует выражение n n n n max j T C j max T j const j C j min j C j , j 1 j 1 j 1 j 1 где T – период времени, в течение которого гарантируется выполнение всех изделий. Анализ современной литературы позволяет утверждать, что задачи МСЗ, МВМ, МСЗП имеют самостоятельное значение и в качестве моделей используются в различных отраслях промышленности и экономики в целом. Поэтому проблема построения эффективных алгоритмов нахождения оптимальных расписаний является не только интересной в теоретическом плане, но очевидно имеет большое прикладное значение. Сложность построения эффективных точных алгоритмов определяется тем, что все три задачи относятся к классу так называемых труднорешаемых задач комбинаторной оптимизации, либо более строго к классу NР-полных задач, или задач не менее сложных, чем NР-полные [8]. Это означает, что теоретическая верхняя оценка вычислительной сложности точных алгоритмов фактически соизмерима с полным перебором допустимых вариантов. В работах [15, 29, 56, 171] развивается новый подход к построению точных эффективных алгоритмов для труднорешаемых задач комбинаторной оптими216 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации зации (ПДС-алгоритмы). В рамках теории расписаний на основе этого подхода построены эффективные точные ПДС-алгоритмы для следующих задач: – Минимизация суммарного запаздывания при выполнении независимых заданий на одном приборе (МСЗ) (глава 1); – Минимизация суммарного взвешенного момента окончания выполнения частично упорядоченного множества заданий при отношении порядка, заданном ориентированным ацикличным графом (МВМ) (глава 2); – Минимизация суммарного запаздывания при выполнении независимых заданий с равными директивными сроками параллельными приборами (МСЗП) (глава 3). Как известно, гипотеза о том, что существуют труднорешаемые комбинаторные задачи (или более строго Р ≠ NP), привела к созданию строгой теории NP-полноты [8], в рамках которой исследуются теоретические свойства точных и приближенных алгоритмов решения задач из класса NP. В этой главе приведен краткий обзор теории NP-полноты в соответствии с [8], который позволяет определить место ПДС-алгоритмов в общей теории труднорешаемых комбинаторных задач. Предлагается классификация ПДСалгоритмов; сравнительный статистический анализ их эффективности; анализируются и обосновываются пути повышения их эффективности; обсуждается возможность использования теоретических свойств известных ПДС- алгоритмов для построения новых. 4.1 Анализ эффективности решения NP-полных задач Большая часть дискретных математических моделей, построенных для анализа, синтеза и функционирования сложных систем, является либо NP-полными, либо не менее простыми, чем класс NP-полных задач. В частности, большинство задач теории расписаний принадлежит этому классу. Анализ трудностей, возникающих при вычислениях на пути создания эффективных методов решения дискретных задач, привел к постановке следующей проблемы: можно ли исключить перебор при решении дискретных задач, или, иными словами, существует ли принципиальная возможность найти опти217 Глава 4 мальное решение, не перебирая всех или почти всех вариантов в задаче? Эта проблема исследуется в теории NP-полных задач, сформировавшейся на основе работ С. Куна, Р. Карпа, Л. Левина и др. Главными объектами теории являются класс NP всех переборных задач и класс Р переборных задач, разрешаемых за полиномиальное время на машине Тьюринга. Краткий обзор теории NP-полноты приводится в соответствии с [8] для задач распознавания свойств и обобщается затем на оптимизационные задачи. Ключевыми моментами в теории NP-полноты являются: 1. Задача распознавания П. Она состоит из двух множеств: множества Dn всех возможных индивидуальных задач и множества Yn , Yn Dn индивидуаль- ных задач с ответом «Да». 2. Функция Length: D R . Эта функция связана с каждой задачей распо- знавания, она не зависит от конкретной схемы кодирования и полиномиально эквивалентна длине кода индивидуальной задачи, получаемой при любой разумной схеме кодирования. Например, в задаче распознавания Ax b , x C , где нужно определить, суще- ствует ли X , для которого cx a , функция Length может иметь вид L mn log p . Здесь m и n – размеры матрицы А; р – произведение всех ненулевых коэф- фициентов, определяющих ограничения задачи распознавания. 3. Детерминированные машины Тьюринга и класс Р. Детерминированная одноленточная машина Тьюринга состоит из управляющего устройства с конечным числом состояний, читающей (пишущей) головки, которая может считывать и записывать символы на неограниченной в обе стороны ленте, разделенной на бесконечное число одинаковых ячеек, занумерованных целыми числами ..., –2, –1, 0, 1, 2.... Задача распознавания переводится в детерминированную программу для машины Тьюринга, которая определяется следующими компонентами: конечным множеством символов, записываемых на ленте; подмножеством входных символов и выделенным пустым символом b / ; 218 конечным множеством состояний Q, в котором выделено начальное со- ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации стояние и два заключительных состояния qo – «Да», qY qN – «Нет»; функцией перехода : Q \ qV , qN Q 1,1 . Входом для детерминированной программы является слово X * , где * – множество всех слов, каждое из которых соответствует индивидуальной задаче распознавания. Слово записывается на ленте в ячейках с номерами 1,2,, по одному символу в ячейке. Все другие ячейки в начальный момент времени содержат пустой символ. Программа начинает работу в состоянии qo , при этом головка находится над ячейкой с номером 0. Процесс вычислений осуществляется последовательно шаг за шагом. Если текущее состояние если q qY , q есть qY или qN , то процесс вычислений заканчивается; результат вычислений «Да», если q qN , результат «Нет». В против- ном случае текущее состояние принадлежит множеству головка читает на ленте некоторый символ S Q \ qY , q N . и определено значение q, s . Пусть q, s q1 , s1 , . Тогда головка стирает s , пишет на этом месте гается на одну ячейку влево при 1 При этом или вправо при управляющее устройство переходит из состояния q в 1 . s1 и сдви- Одновременно q1 . Детерминированная программа М называется полиномиальной, если существует такой полином p, что для всех TM n max m : грамме M существует такое слово на входе X требует времени n, n 1, 2, * , x n , m , TM n p n , где что вычисление по про- , Задача распознавания П принадлежит классу Р, если существует полиномиальная программа, которая решает эту задачу. 4. Недетерминированные машины Тьюринга и класс NP. Введем понятие недетерминированного алгоритма. Такой алгоритм состоит из двух различных стадий – угадывания и проверки. По заданной индивидуальной задаче распознавания J на первой стадии происходит «угадывание» некоторой структуры тем J и S S. За- вместе подаются в качестве входа на стадию проверки, которая вы- полняется обычным детерминированным образом и заканчивается либо ответом 219 Глава 4 «Да», либо ответом «Нет». Недетерминированный алгоритм реализуется недетерминированной одноленточной машиной Тьюринга, представляющей собой модификацию одноленточной детерминированной машины Тьюринга путем включения в ее состав угадывающего модуля. Считают, что недетерминированный алгоритм, решающий задачу распознавания П, работает в течение «полиномиального времени», если найдется такой полином p, что для любой индивидуальной задачи распознавания (имеющей ответ «Да») найдется некоторая догадка S , приводящая на стадии детерминированной проверки на входе J , S к ответу «Да» за время p(Length[J]). Отсюда следует, что «размер» угадываемой структуры S обязательно ограничен поли- номом от Length[J]. Класс NP – это класс всех задач распознавания П, которые при разумном кодировании могут быть решены недетерминированными алгоритмами за полиномиальное время. 5. Зависимость между классами Р и NP. Вопрос о зависимости классов Р и NP имеет фундаментальное значение для теории NP-полных задач. Очевидно, P NP. В настоящее время существует гипотеза о том, что это включение является строгим, т. е. P NP. Строго эта гипотеза не доказана. Не доказано также и обратное. Не известны общие методы превращения недетерминированных полиномиальных алгоритмов в детерминированные. Поэтому целью теории NPполных задач является получение результатов вида: «если P NP, то...». Один из наиболее мощных результатов, связывающий детерминированный и недетерминированные алгоритмы, заключается в следующем [8]: если P NP, то существует такой полином p, что П может быть решена детерминированным алгоритмом с временной сложностью O 2 p n . 6. Полиномиальная сводимость и NP-полные задачи. Введем понятие языка LM детерминированной программы М следующим образом: останавливается в состоянии qY 220 f : 1* *2 , : M . Полиномиальная сводимость языка существует функция LM * L1 1* к языку L2 *2 имеет место, если удовлетворяющая двум условиям: ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации 1) существует детерминированная программа для одноленточной машины Тьюринга, вычисляющая с временной сложностью, ограниченной полино- f мом; 2) для любого 1* , альная сводимость языка Очевидно, если утверждение: из ли L L1 , L1 и L1L2 , L1 L2 тогда и только тогда, когда f L2 . Полиномиобозначается символом то из следует, что и любой другой язык L2 следует, что L2 ). L' L1L2 . Язык L cводится к L1 . (Эквивалентное называется NP-полным, есL. Иными словами, задача распознавания П называется NP-полной, если любая другая задача распознавания ' сводится к П. Таким образом, с NP-полными задачами отождествляются самые трудные задачи из NP. Отсюда, в частности, следует вывод: если хотя бы одна NPполная задача может быть решена за полиномиальное время, то и все задачи из NP также могут быть решены за полиномиальное время. Интересен также вывод, сделанный из предположения, что P NP [8]: существуют задачи из NP, не разрешимые за полиномиальное время и не являющиеся NP-полными. Справедливо следующее утверждение: если L1 и L2 принадлежат классу NP, a L1 – NP- полный язык (соответствующая этому языку задача распознавания NP-полная) и L1L2 , то L2 также NP-полный язык. С помощью этого утверждения легко доказать NP-полноту новой задачи П. Если известна хотя бы одна NP-полная задача, то для доказательства NP-полноты новой задачи достаточно показать, что и какая-то одна известная NP-полная задача ' сводится к П. Первой NP-полной задачей стала задача распознавания из булевой логики, которую обычно называют «Выполнимость». С. Кун показал, что эта задача принадлежит NP. Получив общее представление недетерминированной программы машины Тьюринга, конкретизация которого позволяет найти произвольную задачу, принадлежащую NP, он показал, что эта задача полиномиально сводится к задаче «Выполнимость». В настоящее время существует очень много задач, для которых доказана NP-полнота. 221 Глава 4 7. Применение теории NP-полноты для анализа задач. Предположим, что установлена NР-полнота некоторой задачи П. Тогда необходимо определить, существуют ли подзадачи ' , разрешаемые за полиномиальное время, что позволит сузить класс задач, точное решение которых требует экспоненциального времени. Введем функцию J целое число числа в J max J , J , max J , которая ставит в соответствие любой задаче соответствующее величине максимального по модулю . Алгоритм решения задачи распознавания П называется псевдополи- номиальным по времени алгоритмом, или просто псевдополиномиальным алгоритмом, если его временная функция ограничена сверху полиномом от двух аргументов: Length[J] и max J , J . Назовем задачу П задачей с числовыми параметрами, если не существует такого полинома p, что J 1 . max J pLength J , Пусть задача П разрешима псевдополиномиальным алгоритмом. Выде- лим класс задач ' , для которого выполняется условие J ' , max J pLength J . Тогда любая задача J ' решается полиномиальным алгоритмом. Таким образом, хотя задача П является NP-полной, но трудности, возникающие при ее решении, связаны с тем, что в формулировку задачи могут входить довольно большие числа. Ограничение по модулю величин этих чисел приводит к полиномиальным алгоритмам их решения. Например, задача «о целочисленном ранце» методом динамического программирования решается с псевдополиномиальной временной сложностью. Однако ограничение по модулю коэффициентов, входящих в функционал либо в единственное ограничение, превращает метод динамического программирования в полиномиальный алгоритм. С этим, в частности, связана высокая практическая эффективность решения задач «о булевом ранце» с десятками тысяч переменных. Для произвольной задачи распознавания П и полинома фициентами) обозначим через p только тех индивидуальных задач (с целыми коэф- подзадачу, получаемую из П рассмотрением J , для которых выполнено соотношение max J pLength J . 222 p ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации Задача П называется задачей NP-полной в сильном смысле, если П принадлежит NP и существует такой полином задача p с целыми коэффициентами, что p является NP-полной. В частности, если задача П – NP-полная и не яв- ляется задачей с числовыми параметрами, то задача П автоматически NPполная в сильном смысле. Отсюда следует вывод: если задача П – NP-полная в сильном смысле, то она не может быть решена псевдополиномиальным алгоритмом при Действительно, в этом случае задача p . не решается полиномиальным ал- горитмом, а это возможно только тогда, когда для задачи П не существует псевдополиномиального алгоритма. В [8] показано, что имеются задачи с числовыми параметрами, NP-полные в сильном смысле. 8. Подходы к решению NP-полных задач. Комбинаторные оптимизационные задачи. Дадим формальное определение понятия «оптимизационная задача» [8]. Комбинаторная оптимизационная задача П есть либо задача минимизации, либо задача максимизации и состоит из следующих трех частей: множества индивидуальных задач; конечного множества дивидуальной задачи J для каждой дой индивидуальной задаче некоторое целое число J Dn mn J , , J Dn ; S n J функции Dn допустимых решений инmn , сопоставляющей каж- и каждому допустимому решению S n J называемое величиной решения . Если П – задача минимизации (соответственно, максимизации), то оптимальным решением индивидуальной задачи J Dn является такое допустимое решение * Sn J , что для всех S n J выполнено неравенство mn J , * mn J , ). символ n J mn J , * mn J , (соответственно, Для обозначения оптимального решения задачи или J . J используют Алгоритм А называется приближенным алгоритмом решения задачи П, если для любой индивидуальной задачи J Dn с помощью ал- горитма А находят некоторое допустимое решение S n J . Через J обозначим величину по J . Если mn J , того возможного решения , которое алгоритм А строит J J , J Dn , то А называется точным алгоритмом решения задачи П. 223 Глава 4 Для комбинаторных задач, в частности, оптимизационных комбинаторных задач, вводится понятие NP-трудных задач, неформальное определение которых является следующим: оптимизационная комбинаторная задача называется NP-трудной, если соответствующая ей задача распознавания является NPполной. Это означает, что решение оптимизационной комбинаторной задачи не проще, чем решение соответствующей ей задачи распознавания. Формально определение NP-трудной задачи в [8] вводится с помощью понятий словарного отношения, полиномиальной сводимости по Тьюрингу и оракульной машины Тьюринга. Утверждение о том, что решение оптимизационной комбинаторной задачи не проще, чем решение соответствующей ей задачи распознавания, основывается на очевидной возможности решения задачи распознавания с помощью соответствующей ей оптимизационной комбинаторной задачи. Если задача распознавания принадлежит классу P, то отсюда вытекает полиномиальная разрешимость соответствующей оптимизационной комбинаторной задачи. Так, в [62] показано, что из полиномиальной разрешимости задачи распознавания линейного программирования вытекает полиномиальная разрешимость оптимизационной задачи линейного программирования. Пусть П – задача минимизации (соответственно, максимизации), a J – произвольная индивидуальная задача из Dn . Определим отношение R A J сле- дующим образом: R A J AJ J (соответственно R A J J ). AJ Погрешностью приближенного алгоритма А решения задачи П называют величину RA inf r 1 : RA J r для всех индивидуальных задач J Dn . Очевидно, что при построении приближенных алгоритмов необходимо стремиться к тому, чтобы RA было как можно ближе к единице. Назовем аппроксимационной схемой для оптимизационной задачи П алгоритм А, который, начиная работать на входе, состоящем из двух объектов – индивидуальной задачи J Dn и «желаемой точности» стимое решение» S n J , что R A J 1 . 224 0 выдает такое допу- ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации Приближенная схема А называется приближенной схемой с полиномиальным временем работы или просто приближенной полиномиальной схемой, если для каждого 0 соответствующий алгоритм имеет полиномиальную A временную сложность. Приближенная схема А называется вполне полиномиальной приближенной схемой, если ее временная сложность ограничена полиномом от Length J и 1 . В [8] приведена вполне полиномиальная приближен- ная схема решения оптимизационной задачи «о булевом рюкзаке (ранце)». Оказывается, что при P NP не существует полиномиального приближенного алгоритма А для решения задачи «о рюкзаке» с оценкой где k AJ J k , – некоторая фиксированная константа [8]. Следовательно, невозможно построить полиномиальный приближенный алгоритм, решающий с произвольной наперед заданной точностью, в смысле приведенного выше неравенства, задачу линейного целочисленного программирования, сепарабельного целочисленного программирования, а также произвольную нелинейную задачу целочисленного программирования. В заключение приведем ряд общих утверждений, связывающих NPтрудные задачи и приближенные схемы их решений [8]. Утверждение 4.1. Если существует такой полином переменных, что для любой индивидуальной задачи J q, зависящий от двух выполнено соотношение J qLength J , max J , то из существования вполне полиномиальной приближенной схемы для решения задачи П следует существование псевдополиномиального оптимизационного алгоритма решения задачи П. Следствие. Пусть П – оптимизационная задача с целочисленными величинами решений, удовлетворяющая приведенному выше утверждению. Если П является NP-трудной в сильном смысле задачей (не существует псевдополиномиального оптимизационного алгоритма), то при она не может быть реше- на вполне полиномиальной приближенной схемой. Утверждение 4.2. Пусть П – задача минимизации, величины всех решений которой есть неотрицательные целые числа. Предположим, что для некоторого 225 Глава 4 фиксированного k R ей соответствует следующая задача распознавания: «Задана индивидуальная задача J Dn . Является ли J k NP-трудной?» Тогда при P NP не существует полиномиального приближенного алгоритма А решения задачи П с погрешностью RA 1 1 / k , и П не может быть решена по- линомиальной приближенной схемой. Краткий обзор теории NP-полных задач позволяет сделать следующие выводы: приняв гипотезу о том, что P NP, верной, нельзя ожидать создания теоретически обоснованных эффективных точных алгоритмов для NP-трудных задач комбинаторной оптимизации большой размерности. Периодически появляются сообщения о том, что гипотеза P NP неверна (предлагается полиномиальный алгоритм точного решения NP-трудной либо NP-полной задачи). Учитывая, что NP-полные (трудные) задачи сводятся друг к другу алгоритмами полиномиальной сложности, делается вывод, что закрыта и практическая проблема точного эффективного решения задач комбинаторной оптимизации большой размерности. Оставив в стороне обсуждение истинности или ложности гипотезы P NP (в соответствующих алгоритмах с течением времени находят ошибки, либо по крайней мере до сих пор ни один из них не является общепризнанным), необходимо отметить, что даже появление точного полиномиального алгоритма для одной или нескольких NP-трудных задач проблему эффективного решения комбинаторных задач оптимизации не снимает. Действительно, полиномиальное сведение одной задачи к другой в общем случае на порядки увеличивает размерность задачи, что делает получение точного решения исходной задачи большой размерности невозможным, не говоря уже о том, что существуют задачи из класса NP, для которых сведение одной в другую полиномиальной вычислительной схемой доказано лишь на качественном уровне [8]. В настоящее время известны следующие основные универсальные подходы к решению труднорешаемых комбинаторных задач. 1. Из исследуемой комбинаторной задачи выделяют подкласс (определяемый ограничениями, накладываемыми на параметры этой задачи), для которо226 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации го строится полиномиальный точный алгоритм. Так, например, известно, что труднорешаемая задача комбинаторной оптимизации – задача МВМ – в случае, когда ориентированный граф является деревом либо последовательнопараллельным, точно решается полиномиальным алгоритмом. Практическая реализация первого подхода существенно ограничена как небольшим количеством известных в настоящее время подклассов полиномиально разрешимых комбинаторных задач, так и существенной ограниченностью с точки зрения практики их математических моделей. 2. Точные методы решения. Группа методов, базирующихся на правилах отсечения конкурирующих вариантов, основанных на идеях методов ветвей и границ, отсечений, последовательного конструирования вариантов, динамического программирования и их модификаций. Основной недостаток этой группы методов – при решении труднорешаемой комбинаторной задачи общего вида достаточно большой размерности статистически значимо реальный объем вычислений является экспоненциальным (в частности, при решении задач дискретного математического программирования, когда допустимого решения не существует). 3. Приближенные и эвристические алгоритмы. Одним из современных направлений исследования является создание приближенных либо эвристических алгоритмов, способных решать задачи большой размерности. Их практическая эффективность проверяется на задачах меньшей размерности (путем статистического сравнения с точным решением) и качественно обосновывается разумностью закладываемых в них эвристик. Эти эвристики порождаются самой математической моделью и свойствами решаемой практической задачи. Рассматриваемый подход применим лишь в том случае, когда получение точного решения не является принципиально необходимым. Достаточно, в некотором смысле, «разумного» решения. Главное – возможность его получения для задач большой размерности. В [171, 15, 29] изложен новый подход к решению NP-трудных задач комбинаторной оптимизации, суть которого заключается в исследовании свойств рассматриваемых классов задач, доказательстве положений, правил, позволя227 Глава 4 ющих разработать единый принцип вычислений, и на их основе построении ПДС-алгоритмов. ПДС-алгоритмом считается точный алгоритм, содержащий полиномиальную и декомпозиционную составляющие. Общая методология построения ПДС-алгоритма заключается в следующем – на основе теоретических свойств исследуемой комбинаторной задачи: а) находят логико-аналитические условия (p-условия), выполнение которых в процессе решения ПДС-алгоритмом произвольной индивидуальной задачи данного класса либо приводит к получению оптимального решения полиномиальной вычислительной процедурой заранее известной сложности (задачи МСЗ, МВМ), либо их выполнение в процессе реализации заданной полиномиальной вычислительной схемой приводит к получению оптимального решения (задача МСЗП – в этом случае выполнение условий также служит критерием прекращения вычислений экспоненциальной составляющей ПДС-алгоритма); б) если в процессе решения индивидуальной задачи выполняются теоретически обоснованные логико-аналитические условия (d-условия), то она разбивается (декомпозируется) на подзадачи меньшей размерности. Приведенные в главах 1–3 ПДС-алгоритмы для трех одноэтапных NPтрудных задач теории расписаний – МСЗ, МВМ и МСЗП – как раз и претендуют на то, что они статически значимо эффективно находят точное решение этих NP-трудных комбинаторных задач большой размерности. При этом в каждом конкретном случае известно, является ли полученное решение точным либо приближенным. Действительно: – задача МСЗ. Верхняя оценка вычислительной сложности полиномиальной составляющей ограничена полиномом третьей степени от числа заданий, для экспоненциальной составляющей алгоритма определены условия, выполнение которых в процессе реализации алгоритма приводит к существенному увеличению объема вычислений. Моделирование произвольных индивидуальных задач с незначительной эмпирической вероятностью реализует этот случай. Статистические исследования показали, что вне этого случая для произвольной индивидуальной задачи 228 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации реализуемое количество направленных перестановок и отсечений экспоненциальной составляющей алгоритма позволяет получать точное решение для задач размерности до 1000 переменных; – задача МВМ. Верхнюю оценку вычислительной сложности полиномиальной составляющей алгоритма легко построить по полученным признакам оптимальности. При моделировании произвольных индивидуальных задач этого класса статистически значимо структура оптимального расписания соответствует структуре последовательно-параллельного графа и определяется работами, цепочками, простыми конструкциями. В этом случае верхняя оценка вычислительной сложности получения оптимального расписания ограничена полиномом второй степени от числа заданий; – задача МСЗП. На основании теоретических свойств задачи определены условия, выполнение любого из которых на допустимом расписании гарантирует его оптимальность. Полиномиальная составляющая алгоритма задается детерминированной процедурой последовательного выполнения направленных перестановок, общее количество которых ограничено полиномом от числа заданий и количества приборов. Полином задается исследователем и зависит от допустимого времени вычисления задачи и мощности вычислительного комплекса. Если в процессе вычислений удовлетворялось одно из условий оптимальности, то полиномиальная составляющая ПДС-алгоритма реализовалась. Вычислительные эксперименты показали, что с увеличением размерности числа заданий увеличивается статистическая вероятность реализации полиномиальной составляющей алгоритма. Были предложены два ПДС-алгоритма: А1 с трудоемкостью О(n2m) и А2 с трудоемкостью О(mn log n). Алгоритм А2 построен на основе анализа эффективности алгоритма А1 и выделения наиболее эффективных перестановок с точки зрения реализации условий оптимальности. 229 Глава 4 4.2 Теоретические основы построения ПДС-алгоритмов Для удобства изложения материала повторим постановки задач МСЗ, МВМ и МСЗП. Ниже j и ji обозначает номер работы в соответствии с индексацией, заданной функционалом; j[g ] – номер работы, стоящей в допустимом расписании на позиции g. Постановка задачи МСЗ Задано множество независимых заданий J = { j1 , j2 , ..., jn }, каждое из кото- рых состоит из одной операции. Для каждого задания известны длительность выполнения lj и директивный срок выполнения d j . Задания поступают в си- стему одновременно в момент времени a j 0, j 1, n . Прерывания не допускают- ся. Необходимо построить расписание выполнения заданий для одного прибора, минимизирующее суммарное опоздание при выполнении заданий: f max 0,C j d j , n (4.1) j 1 где Cj – момент завершения выполнения задания j. Согласно Ду и Люнгу [109], задача является NP-трудной. Обзор известных методов решения этой задачи приведен в [190]. Постановка задачи МВМ Имеется частично-упорядоченное множество заданий J = ( j1, j2, ..., jn), которые, начиная с нулевого момента времени обслуживаются одним прибором, без прерываний, не более чем одно в единицу времени. Каждому заданию j поставлены в соответствие его длительность lj > 0 и вес j (произвольное действительное число, в приложении теории расписания большее нуля). Орграф частичного упорядочивания ацикличен. Необходимо найти последовательность обслуживания заданий, суммарный взвешенный момент окончания выполнения работ в которой минимален: n f = j [k ] Cj [k ] min, k 1 230 (4.2) ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации k где Cj [k ] = lj [s ] – момент завершения выполнения задания, стоящего в доs 1 пустимом расписании на k-й позиции. Эта задача является NP-трудной в сильном смысле и останется таковой, если все длительности или все веса заданий равны 1. Она разрешима за полиномиальное время, если порядок отношений предшествования является лесом или последовательно-параллельным графом [150]. Постановка задачи МСЗП Задано множество заданий J, число приборов m, для каждого j J известна длительность выполнения lj. Все задания имеют общий директивный срок d. Необходимо построить расписание выполнения заданий j J на m приборах равной производительности такое, чтобы достигался минимум функционала: f() = max[0; Cj() – d], (4.3) jJ где Cj() – момент завершения выполнения задания j в последовательности . Предполагается, что все задания множества J поступают на выполнение одновременно и обслуживаются без прерываний. Сформулированная задача относится к классу NP-трудных задач [8]. Задача разрешима за псевдополиномиальное время при m = 2. 4.2.1 Общие принципы построения ПДС-алгоритмов 1. Принадлежность к классу перестановочных расписаний Критерии (4.1)–(4.3) принадлежат к одному и тому же классу, называемому классом регулярных критериев. Регулярный критерий R является возрастающей функцией момента окончания каждого из n заданий. Известно следующее утверждение. Утверждение 4.3 [28]. Для системы n | 1 расписание, оптимальное относительно регулярного критерия, принадлежит классу, исключающему прерывания или искусственные простои. 231 Глава 4 Основным результатом этого утверждения является то, что поиск оптимального решения должен проводиться в классе перестановочных расписаний [28], общее количество которых в случае n работ задается одной из n! возможных перестановок их номеров. В последующих параграфах главы 4 при описании общих принципов построения ПДС-алгоритмов использованы определения и утверждения из глав 1–3. В скобках указаны фактические номера этих утверждений и определений в соответствующих главах. 2. Направленность перестановок Во избежание полного перебора перестановок необходимо определить возможность проведения направленных перестановок, позволяющих отсечь бесперспективные варианты решения. Рассмотрим типы направленных перестановок для каждой из трех задач. Задача МСЗ Разработанный ПДС-алгоритм построен на перестановках и встраиваниях, направленных на оптимальное использование запаздывающими заданиями резервов времени незапаздывающих заданий. В главе 1 приведено следующее утверждение. Утверждение 4.4 (1.1). Если в последовательности, упорядоченной по неубыванию значений длительности заданий (последовательность уп), запаздывающим заданиям не предшествуют задания j[i], для которых rj d j C j 0 , [i ] [i ] [i ] то не существует переносов заданий (перестановок и встраиваний), приводящих к улучшению целевой функции, где rj d j C j – резерв времени задания [i ] [i ] [i ] j[i], а i – позиция, занимаемая заданием j[i] в последовательности уп. Определение 4.1 (1.2). Перестановкой (EFSR – extraction and forward-shifted reinsertion – извлечение и повторная вставка со сдвигом вперед) называется процедура переноса задания j[g ] на позицию k (k > g) и, одновременно, зада- ний, занимающих позиции g+1, g+2,..., k–1, k на позиции g, g+1,..., k–1, соответственно. 232 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации Определение 4.2 (1.3). Интервалом перестановки задания j[g ] на позицию k в последовательности называется интервал, определяемый суммой длительностей заданий, занимающих в этой последовательности позиции g+1, g+2,..., k–1, k. Определение 4.3 (1.4). Встраиванием (EBSR – extraction and backwardshifted reinsertion – извлечение и повторная вставка со сдвигом назад) называется процедура переноса задания j[g ] на позицию p (g > p) и, одновременно, за- даний p, p+1,..., g–2, g–1 на позиции p+1, р+2,..., g–1, g, соответственно. Определение 4.4 (1.5). Интервалом встраивания I j[g ] задания j[g ] на пози- цию p (g > p) в последовательности называется интервал, определяемый суммой длительностей заданий, занимающих в этой последовательности позиции p, p+1,...g–1, где p определяется из условия g 1 i p 1 l j[ i ] C j[ g ] d j[ g ] g 1 l j i p (4.4) [i ] Если же условие (4.4) не выполняется ни для одной позиции, то p = 1. Таким образом, опоздание по заданию j на позиции p должно быть равным нулю или минимальным. Справедливо следующее утверждение. Утверждение 4.5 (1.10). Пусть в последовательности уп j[g ] – запаздыва- ющее задание. Уменьшение значения функционала при перемещении j[g ] на более ранние позиции в результате перестановок и встраиваний возможно только при выполнении хотя бы одного из следующих условий: 1. j[i ] , Pmin есть задания j[i ] i g | rj[i ] > 0, d j[i ] > d j[ g ] . На интервале встраивания задания с резервами времени, для которых d j[i ] > d j[ g ] . которой запаздывание по заданию j[g ] Pmin j[g ] – позиция, на минимально (или равно нулю). 2. j[q ] , q < g, d j[ q ] > C j[ g ] . В последовательности уп на позиции q, предше- ствующей позиции g, есть задание с резервом времени, перестановка которого 233 Глава 4 после задания j[g ] уменьшает опоздание по заданию j[g ] . Задание j[q ] остается незапаздывающим. 3. j[q ] , q < g, C j[ g ] – l j[ g ] < d j[ q ] < C j[g ] . Существует незапаздывающее задание j[q ] , директивный срок которого больше момента начала выполнения задания j[g ] , но меньше момента окончания задания j[g ] . При этом выполняется min C j[ g ] d j[ g ] , l j[ q ] C j[ g ] d j[ q ] 0 . Следовательно, перестановка задания j[q ] после задания j[g ] приведет к уменьшению значения функционала, за счет использования резерва задания 4. i | Pmin i g | rj[i ] 0, но j[k ] , k < На интервале перестановки задания задание j[k ] , k< Pmin , Pmin | d j > D j[g ] , [k ] rj[k ] > j[q ] . 0, d j[ k ] C j p1 . резервы отсутствуют, но существует j[g ] директивный срок которого больше d j[ g ] и резерв больше нуля. Выполнение одного из условий 1–4 означает, что на интервале встраивания задания j[g ] существуют резервы (условия 1–3) или они будут образованы в ре- зультате перестановок (условие 4). При невыполнении условия 4 перестановка заданий, занимающих позиции 1, Pmin 1 , на интервал встраивания задания j[g ] , приведет к запаздыванию этих заданий, и так как они имеют меньшую длительность, чем j[g ] , то встраивание задания j[g ] приведет к увеличению значе- ния функционала. Следовательно, если не выполняется ни одно из условий 1– 4, то не существует встраиваний задания j[g ] на более ранние позиции, приво- дящих к улучшению целевой функции. Следствие. Пусть в последовательности nз > 1. Тогда, если в последовательности заданий j[g ] уп уп нет предшествующих заданий число запаздывающих заданий ни для одного из запаздывающих j[s ] , s < g, для которых выполняется хотя бы одно из условий 1–4, то последовательности значение функционала. 234 уп отвечает оптимальное ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации В последовательности уп выполняются свободные перестановки – пере- становки незапаздывающих заданий с резервами на более поздние позиции таким образом, чтобы эти задания оставались незапаздывающими. Перестановки выполняются только в том случае, если на интервале перестановки есть запаздывающие задания (последовательность сп). Утверждение 4.6 (1.14). Для последовательности сп не существует пере- становок и встраиваний, приводящих к улучшению целевой функции, если выполняется хотя бы одно из условий: а) d j [i ] б) d j [i ] в) C j[ i ] 0, i 1, n ; C j[ i ] 0, i 1, l , d j[ i ] C j[ i ] 0, i l 1, n ; d j[ i ] C j[ i ] 0, i 1, n ; г) для каждого задания вами (R), и каждого задания заданий (Y), выполняется: j[k ] , принадлежащего множеству заданий с резер- j[g ] , принадлежащего множеству запаздывающих d j[ k ] d j[ g ] , l j[ k ] l j[ g ] k 1, n , g Y . Следствие. При выполнении хотя бы одного из условий, сформулированных в утверждении 4.6, в последовательности сп достигается оптимальное значение функционала. В последовательности сп определяется множество конкурирующих заданий. Определение 4.5 (1.10). Запаздывающее задание сп j[g ] в последовательности называется конкурирующим, если в этой последовательности найдется хо- тя бы одно предшествующее задание d j[ l ] d j[ g ] j[l ] , и для которого выполняются условия d j[ l ] C j[ l ] 0 . В процессе решения используются следующие типы перестановок и встраиваний. Перестановки (EFSR): а) заданий, для которых резерв времени больше нуля; б) заданий, ранее использовавших резервы в результате перестановок и встраиваний. 235 Глава 4 Перестановки осуществляются, если при их выполнении значение функционала уменьшается. Встраивания (EBSR): а) при наличии резервов на интервале встраивания запаздывающего задания j[g ] – p, g 1, где p – позиция встраивания задания j[g ] ; б) если резервы на интервале p, g 1 отсутствуют, при наличии резервов на интервале 1, p 1 у заданий j[i ] , для которых d j[ l ] d j[ g ] , d j[ l ] C j[ l ] , d j[ l ] C j[ p1] . Алгоритм решения задачи МСЗ является итерационным. На каждой итерации проверяется возможность использования резервов времени предшествующих незапаздывающих заданий очередным конкурирующим заданием и строится оптимальное расписание рассматриваемой подпоследовательности. Пусть k – подпоследовательность, в которой для очередного конкурирующего задания j[g ] определяется возможность использования резервов незапаз- дываюших заданий, занимающих предшествующие позиции. Последовательность k на интервале 1, g 1 оптимальна. Справедливо следующее утверждение: Утверждение 4.7 (1.16). Пусть в последовательности k j[g ] – запаздыва- ющее задание. Уменьшение значения функционала при перемещении j[g ] на более ранние позиции возможно только при выполнении хотя бы одного из следующих условий: 1. j[i ] , p i g | rj[i ] > 0, d j[i ] > d j[ g ] . На интервале встраивания задания есть задания j[i ] , для которых d j[i ] > d j[ g ] , d j[i ] > C j[i ] , p – позиция, на которой за- паздывание по заданию j[g ] минимально (или равно нулю). 2. j[q ] , q < g, d j[ q ] > C j[ g ] . 3. j[l ] , l < g, d j[l ] > C j[ g ] – l j[ g ] ; min l j[ l ] , C j[ g ] d j[ g ] 4. i | p i g | rj[i ] 0, но j[k ] , k < p | >C j[ g ] – d j[l ] . d j[ k ] > d j[ g ] , d j[ k ] > C j[ k ] , d j[ k ] > C j[ p 1] . * ** 5. i | i = 1, g 1 , rj[i ] 0, но j[m ] ( j[m ] ), m < g. 236 j[g ] ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации Следствие 1. Пусть в результате выполнения алгоритма построена оптимальная подпоследовательность на интервале дывающих заданий на интервале 5, то последовательность k k 1, n 1, k . Если для каждого из запаз- не выполняется ни одно из условий 1– оптимальна. Следствие 2. При выполнении итераций оптимизации для текущей подпоследовательности необходимо выполнение для запаздывающих заданий следующих процедур: а) определение и расширение интервала встраивания (условия 1–4 утверждения 4.7); б) определение резервов времени на интервале встраивания (определение 4.4); в) в случае наличия резервов времени на расширенном интервале встраивания выполнение процедуры встраивания запаздывающего задания на позицию, определенную интервалом встраивания (определение 4.4). Все задания, занимающие позиции после встроенного запаздывающего задания, упорядочиваются по неубыванию значений их длительности (утверждение 4.5); г) в случае отсутствия резервов на расширенном интервале встраивания выполнение процедуры освобождения резервов посредством перестановки заданий, ранее их использовавших в результате предыдущих шагов итерации (утверждение 4.7, п.5); д) проверка возможности использования освобожденных резервов запаздывающими заданиями на интервале перестановки (утверждение 4.7, п.5). Все пункты а)–д) выполняются в свою очередь для запаздывающих заданий на интервале встраивания. Алгоритм выполняется, пока не будет рассмотрено все множество конкурирующих заданий и получено оптимальное расписание. Задача МВМ Направленность перестановок основывается на следующей теореме. Теорема 4.1 (2.1) [29]. Оптимальное расписание является p- упорядоченным. 237 Глава 4 Определение 4.6 (2.3). Приоритетно-упорядоченным (р-упорядоченным) расписанием [29] является такая допустимая последовательность заданий, которая удовлетворяет следующим свойствам: а) первым выполняется подмножество S1 J ( J – множество всех заданий), имеющее максимально возможный приоритет, т.е. pS1 pU , U J \ S1 ; (4.5) б) подмножество S1 содержит минимально возможное количество заданий при условии выполнения неравенства (4.5); в) вторым выполняется подмножество S 2 , удовлетворяющее свойствам а), б) на множестве заданий J \ S1 и т. д. Утверждение 4.8 [29]. Пусть на множестве n F ( ) jk c jk . Пусть . Тогда для задан функционал любых перестановок k 1 1 , a , b , 2 и 1 , b , a , 2 , принадлежащих , существует функционал f , определенный на множестве Q и обладающий следующим свойством: из условия f a f b следует F F , а из условия f a f b – равенство F F . Данная функция называется приоритетом перестановки и обозначается p / l j j j j . Алгоритм основан на встраиваниях, направленных на построение p-упорядоченного расписания. В [29] были введены понятия цепочек и конструкций общего вида и определены их свойства. На их основе разработан ПДС-алгоритм, строящий оптимальное расписание для индивидуальной задачи МВМ, отношения предшествования которых имеют вид цепочек, простых или сложных конструкций произвольной степени вложения. Оптимальное расписание получается также в том случае, если направленные ребра, нарушающие p-условия алгоритма, не принимают участие в построении оптимального расписания. Например, когда алгоритм не использует отношения предшествования, нарушающие p-условия 238 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации при построении множеств максимальных приоритетов, а сами множества имеют вид цепочек или конструкций произвольного вида. Алгоритм основывается на анализе приоритетов и использовании перестановочного приема для непосредственно следующих друг за другом структур взаимосвязанных заданий. Задача МСЗП Направленность выполнения перестановок определяется на основе следующих утверждений [56]. Пусть исходное множество заданий J упорядочено по неубыванию значений длительностей выполнения и разбито на (необязательно непустые) подмножества (J1, J2,… Jm), попарно не имеющие общих элементов, где Ji – множество заданий, обслуживаемых i-м прибором, i = 1, m . Поиск оптимального расписания в соответствии с известной теоремой [76] можно ограничить рассмотрением расписаний, при которых каждый прибор обслуживает задания в порядке возрастания их длительностей. Теорема 4.2 (3.3). Существует оптимальное расписание, при котором выполняются условия: 1) P S = {1, 2,..., P S }; 2) если P S < n, то l jPi Si j d и Qi \ Si содержит те и только те элементы, которые отличаются от P S + i на величину, кратную m, i = 1, m , где P = Pi; S = Si; Q = Qi; i 1, m i 1, m i 1, m Pi() – множество незапаздывающих заданий в расписании прибора i; Si() – множество запаздывающих заданий в расписании прибора i, для которых выполняются условия: Sjн < d, Cj > d, j Si(), где Sjн – момент начала выполнения задания j; Qi() – множество запаздывающих заданий в расписании прибора i, для которых выполняются условия: Sjн > d, j Qi(); 239 Глава 4 Ri – резерв времени прибора i в расписании : Ri = d – lj; jPi ( ) i() – запаздывание в выполнении задания j Si() относительно дирек- тивного срока: i = jPi ( ) Si ( ) lj – d. Пусть PS – класс расписаний, удовлетворяющий условию теоремы 4.2; P PS – класс расписаний, удовлетворяющий дополнительно следующим условиям: P = {1, 2,..., P }; min lj > max Ri(); jS ( ) i 1, m S Hjk S Hjl , если l jk l jl , jk, jl S(). Теорема 4.3 (3.9). Если в расписании P () = min{R(), ()} = 0, то расписание оптимально. Величина () является основной характеристикой расписания, где R(), () показывают, насколько можно теоретически уменьшить значение функционала, чтобы получить оптимальное расписание. Теорема 4.4 (3.12). Если в расписании (P) () = min{R(), ()} достигает наименьшего значения, то расписание оптимально. Определение 4.7. Расписание с одинаковым числом запаздывающих заданий на приборах назовем равномерным. Теорема 4.5 (3.6). Равномерное расписание P является оптимальным. Перестановки направлены на уменьшение значения () на приборах с бóльшим числом запаздывающих заданий за счет резервов R() на приборах с меньшим числом запаздывающих заданий и на построение равномерных расписаний. Если в процессе решения произвольной индивидуальной задачи выполняются условия, сформулированные в теоремах 4.3 и 4.5, то задача решается полиномиальной составляющей ПДС-алгоритма. Полиномиальная составляющая всех трех разработанных ПДС-алгоритмов определяется только на основе направленных перестановок. 240 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации 3. Структура алгоритмов Разработанные ПДС-алгоритмы решения задач МСЗ, МВМ и МСЗП условно можно представить в виде следующих основных блоков: (а) блок упорядочения; (б) блок построения начального расписания; (в) блок оптимизации. В блоке упорядочения выполняется упорядочение заданий в соответствии с их приоритетами (последовательность уп). Для заданий с весами и директивными сроками приоритет задания для всех трех задач в общем случае определяется отношением j lj – чем больше вес задания и меньше его длитель- ность, тем выше приоритет этого задания. В задаче МСЗ все веса равны, поэтому упорядочение осуществляется по неубыванию значений длительности выполнения заданий (последовательности уп). В задаче МВМ все задания упорядочиваются по невозрастанию отношения j lj , и если полученная последовательность допустима по выполнению, то она оптимальна. В задаче МСЗП, аналогично задаче МСЗ, все задания упорядочиваются по неубыванию значений их длительностей. В блоке (б) по определенным правилам на основе последовательности уп строятся начальные расписания, для которых затем выполняются процедуры оптимизации. В задаче МСЗ в последовательности уп выполняются свободные перестановки – строится последовательность сп. В этой последовательности определяется множество конкурирующих заданий. В задаче МВМ строится допустимая по выполнению последовательность заданий. В задаче МСЗП осуществляется предварительное распределение заданий по приборам по правилам, определенным в теореме 4.2. Для выполнения блока оптимизации в задаче МСЗП разработана окрестность поиска оптимального решения, полученная с помощью различных типов перестановок. Поиск оптимального решения по этой окрестности осуществляется посредством направленных перестановок в соответствии с условиями 241 Глава 4 теорем 4.3, 4.5. Величина () = min{R(), ()} является оценкой полученных решений и показывает, насколько можно теоретически уменьшить значение функционала, чтобы получить оптимальное решение. Для выполнения блоков оптимизации исследуемых задач МСЗ и МВМ разработаны адаптивные алгоритмы поиска оптимального решения, суть которых состоит в том, что на каждой k-й итерации анализируется решение (k–1)-й итерации, на основании чего выбирается дальнейшая стратегия поиска решения. В задаче МСЗ число итераций алгоритма определяется количеством конкурирующих заданий. На каждой итерации проверяется возможность использования резервов времени предшествующих незапаздывающих заданий очередным конкурирующим заданием и строится оптимальное расписание рассматриваемой последовательности. На первой итерации строится оптимальное расписание для заданий на интервале 1, g1 , задание в последовательности где j[ g1 ] – первое сп . запаздывающее конкурирующее На следующей итерации рассматривается последовательность заданий на интервале 1, g2 , где j[ g2 ] – следующее запаздыва- ющее конкурирующее задание. Пусть уже выполнено k–1 итераций и построено оптимальное расписание для последовательности заданий на интервале переходим к очередному запаздывающему конкурирующему заданию строим оптимальное расписание для подпоследовательности k 1, k 1 , j[k ] и , включающей задания на интервале 1, k . Аналогичные процедуры выполняются до тех пор, пока не будет рассмотрена вся последовательность сп и построено оптимальное расписание на всем множестве заданий. Алгоритм решения задачи МВМ также является итерационным. Он основывается на анализе приоритетов и использовании перестановочного приема для непосредственно следующих друг за другом подпоследовательностей заданий. Данный алгоритм на каждой k-й итерации строит p-упорядоченное расписание следующим образом: к оптимальному расписанию, полученному на (k–1)-й итерации, добавляется очередное запаздывающее задание из начальной допустимой последовательности, и проводится последующая оптимизация. В 242 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации конце последней итерации получаем оптимальное решение для всего множества заданий. Алгоритмы решения задач МСЗ и МВМ построены таким образом, что на каждой итерации улучшается (или остается равным предыдущему) значение оптимизируемого функционала на всем множестве заданий. Последнее обстоятельство позволяет остановить процесс решения при достижении граничного времени и оценить отклонение полученного решения от искомого оптимального, так как для решенного класса задач получены оценки, величины которых зависят от текущего решения. Отметим еще одно свойство разработанных алгоритмов для задач МСЗ и МВМ. Структура алгоритмов позволяет «загрублять» предлагаемые решения, т. е. выигрывать во времени за счет потери точности получаемых результатов, исключая из алгоритмов те процедуры, которые статистически лишь незначительно влияют на значение функционала. Это свойство позволяет строить эффективные приближенные решения. 4. Декомпозиция В задаче МСЗ на этапе оптимизации последовательность сп декомпозиру- ется на подпоследовательности меньшего размера. Оптимизация осуществляется на подпоследовательности, ограниченной позицией встраивания очередного конкурирующего задания и позицией, занимаемой этим заданием в последовательности сп . В эту подпоследовательность в процессе решения могут быть включены только задания, образующие резервы на интервале встраивания рассматриваемого конкурирующего задания. Таким образом, реализуется декомпозиция задачи на подзадачи меньшего размера. В задаче МВМ построение P-упорядоченного расписания заключается в том, что на каждой итерации k на основе рассматриваемого задания j[k ] по определенным правилам строится структура взаимосвязанных заданий (цепочка, простая конструкция, вложенная конструкция), которая встраивается в соответствии с приоритетом в допустимой последовательности на более ранние позиции, не нарушая допустимость всей последовательности. Аналогично 243 Глава 4 строится p-упорядоченное расписание для всего множества заданий, которое, в соответствии с определением, представлено упорядоченной подпоследовательностью подмножеств максимальных приоритетов. Разбиение исходного множества заданий на подмножества максимальных приоритетов является декомпозицией исходной задачи на подзадачи меньшей размерности и выполняется полиномиальной вычислительной схемой [29]. В задаче МСЗП при построении начального расписания выполнения заданий на приборах осуществляется декомпозиция всего множества заданий на подмножества незапаздывающих и запаздывающих заданий, в соответствии с условиями, сформулированными в теореме 4.2. В соответствии с теоремой 4.3 выполняются перестановки, направленные на уменьшение () на приборах с бóльшим числом запаздывающих заданий за счет резервов R() на приборах с меньшим числом запаздывающих заданий и на построение равномерных расписаний [56]. Причем в перестановках участвуют только задания, принадлежащие множеству незапаздывающих заданий. 4.2.2 Классификация ПДС-алгоритмов Разработанные ПДС-алгоритмы имеют различие в способах реализации. Существуют два типа ПДС-алгоритмов. ПДС-алгоритмы первого типа (задачи МВМ и МСЗП) включают полиномиальную составляющую и приближенный алгоритм и строятся только на направленных перестановках. В результате решения задачи получаем либо строго оптимальное решение полиномиальной составляющей алгоритма (теоремы 4.3, 4.5), либо приближенное с верхней оценкой отклонения от оптимального. В задаче МСЗП задается полиномиальное ограничение на число вычислений от размерности задачи, и характеристика () = min{R(), ()} является оценкой отклонения от оптимального значения функционала, в отличие от известной оценки [76], в соответствии с которой оптимальное расписание достигается в том случае, когда () достигает наименьшего значе244 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации ния. Здесь R(), () показывают, насколько можно теоретически уменьшить значение функционала, чтобы получить оптимальное расписание. При этом всегда известно, является ли полученное решение точным или приближенным. Условия реализации полиномиальной составляющей ПДС-алгоритма задачи МВМ удобно сформулировать в следующей компактной форме. Определение p-упорядоченного расписания приведено выше в параграфе 4.2.1. Из теоремы 4.1 следует, что оптимальное расписание состоит из оптимальных подрасписаний, каждое из которых задано на множестве максимального приоритета. Существует три типа условий, задающих полиномиальную составляющую ПДС-алгоритма решения задачи МВМ: 1. На множествах максимального приоритета выделяются последовательно-параллельные подграфы, на которые строятся оптимальные подпоследовательности, которые в свою очередь задают оптимальное расписание на общем подграфе исходного графа. Если исключенные ребра исходного графа оставляют это расписание допустимым, оно является оптимальным расписанием исходной задачи. Алгоритм П1, приведенный в параграфе 2.5, находит оптимальное решение, если оно существует. Лишние ребра не влияют на его эффективность. Построение множеств максимального приоритета и оптимального расписания у этого алгоритма являются единой процедурой. ... ... К1 ... ... ... ... ... ... Кi ... ... ... Кt b ... a(g[k]) ... ... ... Рис. 4.1. 245 Глава 4 В параграфе 2.5 (рис. 4.1) определены условия, при которых все направленные ребра, определяющие отношение предшествования, не являющиеся ребрами конструкции, могут быть исключены из графа, и это расписание также является оптимальным для полученного подграфа, имеющего вид сложной конструкции и, следовательно, удовлетворяющего p-условиям. 2. Напомним определения цепочки, простой и вложенной конструкций. Определение 4.8. Подпоследовательность заданий a jg jr , jr 1 ,..., jg в последовательности называется цепочкой заданий, если где 1. jr 2. p j r ,..., j g k 1 p j g k ,..., j g 1 , j g jr 1 ... j g ; для всех допустимых натуральных k , a j / La j – приоритет цепочки a j p a j g g g вес цепочки a j g , а La j g jl a j g ljl g ; a j g j – jl a j g l – длительность ее выполнения. Определение 4.9. Конструкцией К называется допустимая последовательность заданий, структура которой показана на рис 4.2 ( b , a 1 ,..., a k – цепочки; j ai , i 1, k ; pa 1 pa 2 pa k ). β j ... ... α1 α2 ... ... αk ... ... Рис. 4.2. ~ Определение 4.10. Сложной конструкцией K называется такая конструкция, в которой либо: а) вместо любой цепочки a t стоит конструкция K* (типа К) и выполняется: задание j непосредственно предшествует первому заданию конструкции ~ K* ; б) аналогично, в конструкции K может выполняться условие а) для любой ~ цепочки a~ j , входящей в K , и т. д. 246 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации ~ Для К либо K должно выполняться: при любом разбиении последовательности заданий конструкции на две непересекающиеся части приоритет начальной части меньше или равен приоритету конечной (соответствующий аналог свойства цепочки). В параграфе 2.3 показано, что структура оптимального расписания на последовательно-параллельном графе определяется: работами, цепочками, конструкциями либо совокупностью конструкций, если цепочка и работа – простейшие конструкции. В параграфе 2.5 определены условия второго типа, задаваемые структурой ориентированного подграфа и соотношением приоритетов, при которых структура оптимального расписания на множествах максимального приоритета не является совокупностью конструкций и строится полиномиальной вычислительной схемой с заранее известной верхней оценкой. В параграфе 2.5 (рис. 4.3) рассмотрены ограничения на соотношения приоритетов конструкций и цепочек M i , при выполнении которых можно получить оптимальное расписание за полиномиальное время. Если дополнительные ребра исходного ориентированного графа оставляют это расписание допустимым, то получено оптимальное расписание на данной итерации полиномиальной составляющей алгоритма. ... ... ... ... ... ... ... ... ... ... ... Кi1 bi1 ... Кij ... bif ... a(g[k]) ... ... ... Кip Рис. 4.3. 247 Глава 4 3. Находятся условия, накладываемые на структуру допустимого pупорядоченного расписания, которые позволяют с помощью введения дополнительных ребер свести задачу нахождения оптимального расписания к нахождению оптимального расписания на множестве последовательнопараллельных подграфов. Если количество последовательно-параллельных подграфов является полиномом, то оптимальное расписание находится полиномиальной вычислительной схемой. Наиболее полно условия 3-го типа изложены в работе [171]. В общем случае прием с помощью введения дополнительных ребер при построении оптимального расписания на множестве последовательно- параллельных графов является эффективным приемом уменьшения вычислений экспоненциальной составляющей ПДС-алгоритма. Полиномиальная составляющая реализуется, если она реализуется на каждой из n итераций. Отметим общее свойство экспоненциальной составляющей ПДС- алгоритма. Если на текущей итерации построено приближенное расписание, то это не исключает возможности реализации полиномиальной составляющей на последующих итерациях. В частности, получение приближенного расписания на всех итерациях, кроме последней, не исключает возможности получения оптимального расписания на последней итерации. При моделировании индивидуальных задач статистически значимо реализуется первый тип условий, задающих полиномиальную составляющую ПДСалгоритма решения задачи МВМ. И в 90 % случаев (для задач размерности 500 заданий) структура оптимального расписания – это совокупность работ, цепочек, простых и сложных конструкций. Трудоемкость достижения оптимального расписания определяется функцией О(n2). ПДС-алгоритм второго типа (задача МСЗ) включает полиномиальную и экспоненциальную составляющие. Если в процессе решения задачи произвольной индивидуальной задачи выполняются логико-аналитические условия, полученные на основании исследования свойств задачи, то данная задача решается полиномиальным подалгоритмом, иначе выполняется экспоненциальное число вычислений. 248 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации В утверждениях 4.9–4.13 рассматриваются отдельные случаи, когда оптимальное решение задачи достигается полиномиальной составляющей алгоритма. Утверждение 4.9 (1.33). Пусть в последовательности – первое за- уп j[g ] паздывающее задание, и выполняется: max r( уп ) l j[ g ] . В этом случае оптимальное значение функционала достигается за полиномиальное время с трудоемкостью, определяемой функцией О(n log n). Утверждение 4.10 (1.34). Пусть j[g ] – первое запаздывающее задание в по- следовательности сп . Если в этой последовательности на интервале 1, p 1 , – позиция встраивания задания j[g ] j[g ] , резервы отсутствуют, задание где p на пози- ции p остается запаздывающим, на интервале p, g 1 для каждой пары заданий j[ s ] , j[t ] выполняется l j[ s ] l j[ t ] , d j[ s ] d j[ t ] , и j[r ] , r = g 1, n , выполняется d j[ r ] C j[ r ] , d j[ g ] d j[ r ] , то задача решается за полиномиальное время с трудоемко- стью, не превышающей O(n2). Утверждение 4.11 (1.35). Пусть j[g ] – первое запаздывающее задание в по- следовательности сп . Если на интервале 1, g 1 все задания упорядочены по неубыванию значений длительности выполнения; max ri l j[ g ] , s= g 1, n , d j[ s ] C j[ s ] , i 1, g 1 и j[s ] , то задача решается за полиномиальное время с трудоемко- стью O(n2). Утверждение 4.12 (1.36). Пусть при выполнении каждой итерации оптимизации при встраивании очередного запаздывающего задания j[g ] (конкури- рующего или порожденного) выполняется: а) фактическая позиция встраивания p H , определяемая в процессе выполнения алгоритма, больше позиции задания, встроенного последним на предыдущих шагах алгоритма; б) на интервале 1, p H 1 нет заданий d j[ k ] > C j[ k ] , d j[ k ] > C j [ p H 1] j[k ] , для которых выполняются условия: d j[ k ] > d j[ g ] , ; в) на интервале 1, p H 1 для заданий, помеченных «*» («**»), условие (4.7), позволяющее сместить эти задания на более поздние по- 249 Глава 4 зиции, не выполняется. Тогда задача решается за полиномиальное время с трудоемкостью O(n3). Утверждение 4.13 (1.37). Если условия утверждений 4.5 или 4.7 (для всех конкурирующих заданий) не выполняются, или выполняются условия хотя бы одного из утверждений 4.6 или 4.9–4.12, то задача решается посредством полиномиальной составляющей предложенного алгоритма. Таким образом, реализацию полиномиальной составляющей алгоритма можно представить в виде следующей блок-схемы (рис. 4.4). Более подробно условия выполнения полиномиальной составляющей ПДС-алгоритма задачи МСЗ изложены в параграфе 1.4. В процессе решения задачи реализуются следующие отсечения, позволяющие исключить бесперспективные варианты перестановок и существенно сократить вычисления экспоненциальной составляющей алгоритма для получения точного оптимального решения. Утверждение 4.14 (1.15). Необходимые условия для встраивания очередного конкурирующего задания j[g ] в последовательности k (начало итерации) на позицию p, где p – позиция, на которой запаздывание по заданию j[g ] минимально или равно нулю: 250 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации Начало Нет Упорядочение заданий по неубыванию длительностей Выполняются условия утверждения 4.7 Да Да sуп Выполняются условия утверждений 4.6 или 4.10, 4.11 Нет Нет Выполняются условия утверждения 4.5 Выполнение итерации оптимизации для конкурирующих заданий Да Выполняются условия утверждения 4.9 Да sk Нет Да Свободные перестановки Выполняются условия утверждения 4.12 Нет Задача решается экспоненциальной составляющей алгоритма Задача решается полиномиальной составляющей алгоритма sсп Конец Рис. 4.4 – Условия выполнения полиномиальной составляющей ПДС-алгоритма задачи МСЗ а) наличие резервов на интервале встраивания задания для которых j[g ] у заданий j[i ] , d j[ i ] d j[ g ] , j[i ] I j[ g ] ; б) если резервы на интервале позициях 1, p 1 у заданий j[i ] , p, g 1 отсутствуют, то наличие резервов на для которых d j[ i ] d j[ g ] , d j[ i ] C j[ i ] , d j[ i ] C j[ p 1] . (4.6) 251 Глава 4 Утверждение 4.15 (1.18). Если на интервале встраивания запаздывающего задания j[g ] находится задание задания j[g ] определяется позициями j[k ] , d j[ k ] d j[ g ] , l j[ k ] l j[ g ] , то интервал встраивания k 1, g 1 . Утверждение 4.16 (1.19). Пусть уже выполнено k итераций. Переходим к очередному конкурирующему заданию дания j[g ] j[g ] . Если на позиции p встраивания за- находится запаздывающее задание или задание с нулевым резервом, и на позициях 1, p 1 нет заданий, отвечающих условиям (4.6), то задание j[g ] встраивается на позицию p+1; при выполнении аналогичных условий на позиции p+1 – на позицию p+2, и т.д. до позиции g. Утверждение 4.17 (1.20). Пусть уже выполнено k итераций. Переходим к очередному конкурирующему заданию j[g ] . оптимизации для конкурирующего задания незапаздывающих заданий j[i ] выполняется: резервы отсутствуют, то задание j[g ] Если при выполнении итерации j[g ] для всех предшествующих d j[ i ] d j[ g ] , или на интервале 1, g 1 остается на занимаемой позиции и в оп- тимальном расписании не может занять позицию меньше g. Утверждение 4.18 (1.21). Если в последовательности запаздывающего задания j[g ] на интервале 1, g 1 k при встраивании нет предшествующих заданий, для которых d j[i ] > d j[ g ] и d j[i ] > C j[i ] , но есть задания * j[m ] ** ( j[m ] ), для которых l j* ( l j ** ) > l j[g ] , то оптимизация осуществляется за счет резервов, освобожден[ m] [m] ных заданиями * j[m ] ** ( j[m ] ) при встраивании их после задания j[g ] . При этом необ- ходимо выполнение следующего условия: C j[g] d j * m < max0, C j d j . g i m i (4.7) i Утверждение 4.19 (1.22). Если очередное конкурирующее задание j[g ] в результате выполнения для него итерации оптимизации, определяющей возможность использования резервов этим заданием, заняло позицию k > p, то следующие за ним конкурирующие задания j[l ] , для которых d j[ l ] d j[ g ] , мальном расписании не смогут занять позицию меньшую, чем k+1. 252 в опти- ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации Утверждение 4.20 (1.24). Если конкурирующее задание j[g ] в результате выполнения для него итерации оптимизации осталось на исходной позиции, и все задания на позициях d j[ l ] d j[ g ] , g 1, n запаздывающие, то задания, для которых i g 1, n , исключаются из числа конкурирующих за резервы предше- ствующих заданий и в оптимальном расписании не смогут занимать более ранние позиции. Утверждение 4.21 (1.25). Запаздывающее задание j[g ] на k-й итерации мо- жет занять более раннюю позицию, что приведет к улучшению целевой функции, только в том случае, если хотя бы у одного задания есть резерв и выполняется: d j[ k ] d j[ g ] , j[k ] на интервале 1, g 1 либо (в случае отсутствия резервов) на интервале 1, g 1 есть задания с метками. Утверждение 4.22 (1.23). Пусть в последовательности ющих заданий j[k ] , j[r ] ном расписании задание J выполняется: j[k ] l j[k ] l j[r ] , d j[ k ] d j[ r ] k для запаздыва- . Тогда в оптималь- будет предшествовать заданию j[r ] [99]. Утверждение 4.23 (1.26). Неконкурирующие задания в последовательности k не могут занять более ранние позиции, чем позиции, занимаемые ими в сп . Утверждение 4.24 (1.27). Пусть уже построена оптимальная подпоследовательность на интервале 1, g 1 . Запаздывающее конкурирующее задание j[g ] на k-й итерации, выполняемой для определения возможности использования резервов этим заданием, не может быть перемещено на более раннюю позицию, если на интервале 1, g 1 ни у одного из заданий нет резервов и для всех l помеченных заданий выполняется: l j l j * [i] ** [i] j[ g ] , i = 1, g 1 . В утверждениях 4.25, 4.26 сформулированы признаки оптимальности полученного решения. Утверждение 4.25 (1.28). Если в последовательности задание j[g ] k конкурирующее в результате выполнения для него итерации оптимизации не ис- пользовало существующие резервы, минимальное значение функционала соответствует позиции g, занимаемой этим заданием, и если j[r ] , r = g 1, n , 253 Глава 4 d j[ r ] d j[ g ] и C j[ r ] d j[ r ] , то задания щих, а последовательность k j[r ] исключаются из множества конкурирую- оптимальна. Утверждение 4.26 (1.29). Пусть на итерации k, выполняющейся для очередного конкурирующего запаздывающего задания справедливо g, n d jl C jl , для всех j[l* ] j[g ] , для всех l ( j[**l ] ) выполняется l j l j * [l ] ** [l ] j[l ] , l = 1, g 1 , , и на интервале j[ g ] резервы отсутствуют. Тогда запаздывающие задания, занимающие позиции g, n , исключаются из множества конкурирующих, а последовательности k от- вечает оптимальное значение функционала. Утверждение 4.27 (1.30). Пусть на итерации k, выполняемой для очередного конкурирующего задания j[r ] , для которого j[g ] , на интервале его встраивания есть задание d j[ r ] d j[ g ] , l j[r ] l j[ g ] , и задание j[r ] запаздывает. Тогда осу- ществляется декомпозиция рассматриваемой подпоследовательности, при выполнении итерации оптимизации для задания j[g ] задания на интервале рассматриваются, и оптимизация осуществляется на интервале Утверждение 4.28 (1.31). Пусть в последовательности конкурирующие (g < k) и выполняется неравенство: позиция встраивания задания j[g ] ), а на интервале k задания p j[k ] j[g ] и j[k ] p (pн – резервы отсутствуют. Если в результате выполнения итерации оптимизации задание зицию s > pн, то задание не r 1, g 1 . d j[ k ] d j[ g ] < C j н l j н 1, p н 1, r j[g ] заняло по- в оптимальном расписании не сможет занять по- зицию меньшую, чем s + 1. При невыполнении условия утверждения 4.14 существующие резервы в последовательности k недостаточны для перемещения задания j[g ] на более ранние позиции. Процедура встраивания с последующей оптимизацией для этого задания не выполняется, что существенно сокращает число выполняемых перестановок. В утверждениях 4.15, 4.16, 4.17, 4.19, 4.22, 4.27, 4.28 сформулированы условия, позволяющие уменьшать интервал встраивания очередного запаздывающего задания и, так как процедура оптимизации выполняется на этом интервале, соответственно сокращается число выполняемых переста254 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации новок. Условия утверждения 4.18 отсекают выполнение процедур, связанных со встраиванием запаздывающего задания на более ранние позиции, оптимизация осуществляется за счет резервов, освобожденных заданиями, ранее их использовавшими, а в выражении (4.7) определяется возможность выполнения таких перестановок. При выполнении условий утверждений 4.20, 4.23, 4.25, 4.26 часть конкурирующих заданий исключается из множества конкурирующих, для этих заданий не выполняются итерации оптимизации, что сокращает объем вычислений. В утверждениях 4.21 и 4.24 сформулированы условия, определяющие возможность уменьшения значения функционала при перемещении запаздывающего задания на более ранние позиции в текущей последовательности. В утверждениях 4.25, 4.26 сформулированы признаки оптимальности полученной последовательности. Утверждение 4.29 (1.17). Текущая итерация оптимизации, основанная на направленных перестановках и реализованная посредством конечного числа операций оптимизационных процедур а)–д) (следствие 2 к утверждению 4.7), выполняемых для очередного конкурирующего задания, входящего в состав текущей подпоследовательности, а также рекурсивно выполняемых для переупорядочения заданий на интервалах встраивания и интервалах перестановок, 1) является конечной и 2) позволяет достичь оптимального значения функционала на текущей подпоследовательности. Утверждение 4.30 (1.32). Алгоритм решения задачи МСЗ является конечным и точным. 4.2.3 Статистические исследования алгоритмов Предварительные исследования задачи МСЗ на задачах с размерностью до 1000 заданий показали, что данный алгоритм не имеет аналогов среди существующих алгоритмов и может применяться для задач размерности существенно большей, чем 500 заданий. Алгоритм не только конструирует оптимальные расписания для больших задач, но и делает это за приемлемое время. Для задачи МВМ проведено 7700 испытаний с размерностью до 500 заданий (решались также индивидуальные задачи с размерностью до 1000 заданий), в 255 Глава 4 70 % случаев результирующее расписание оптимально. Анализ результатов статистического моделирования показал, что полиномиальная составляющая ПДСалгоритма задачи МВМ является статистически значимой для моделируемых произвольным образом индивидуальных задач. Для задачи МСЗП были проведены испытания на задачах с размерностью до 40 000 заданий с числом приборов до 30-ти. Исследовались алгоритмы А1 (трудоемкость О(n2m)) и А2 (трудоемкость О(mn log n)) решения данной задачи, приведенные в главе 3. Среднее время решения задачи МСЗП полиномиальной вычислительной схемой А1 не превысило 2,4 с для размерности n до 40 000 заданий и m до 30 приборов (исследования проводились на процессоре Pentium Core 2 Duo с тактовой частотой 3,0 ГГц). Среднее время решения задач той же размерности полиномиальной вычислительной схемой А2 не превысило 35 мс. Средняя частота получения оптимального решения для алгоритма А1 составила 89,2 %, для алгоритма А2 – 74,1 %, причем с возрастанием числа заданий увеличивается статистическая вероятность реализации полиномиальной составляющей алгоритмов. Среднее отклонение от оптимального решения для алгоритма А1 составляло величину 0,000283, для алгоритма А2 – 0,00016. При введении дополнительных типов перестановок алгоритм А2 эффективнее алгоритма А1. При этом оптимальное значение функционала достигается полиномиальной составляющей алгоритма в 92 % случаев. Более подробные результаты исследований приведены в параграфе 3.4. 4.2.4 Пути повышения эффективности разработанных ПДСалгоритмов Для задач МВМ и МСЗП дальнейшие исследования проводятся в направлении обоснования новых логико-аналитических условий, позволяющих найти точное решение задачи полиномиальной составляющей алгоритма. Так, для задачи МВМ в [29] был предложен алгоритм построения оптимального расписания для индивидуальных задач МВМ, отношения предшествования которых имеют вид цепочек, простых или сложных конструкций с произвольной степенью вложения. Рассматриваемая индивидуальная задача МВМ может быть 256 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации решена за полиномиальное время, когда реализуются условия выполнения полиномиальной составляющей ПДС-алгоритма, т. е. в результате решения исходной индивидуальной задачи алгоритм строит только структуры, имеющие вид цепочек либо конструкций произвольного вида. В главе 2 приведены новые условия полиномиальной составляющей ПДС-алгоритма задачи МВМ, доказано, что оптимальное расписание может быть получено за полиномиальное время для множеств максимальных приоритетов, не являющихся в общем случае совокупностью конструкций. Рассмотрен ряд новых условий полиномиальной составляющей, реализация которых приводит к получению точного решения за полиномиальное время. Выведены дополнительные условия, определенные для задачи, все множество заданий которой является одним множеством максимального приоритета, предложена модификация полиномиальной составляющей ПДС-алгоритма, реализующего эти условия. Для задачи МСЗ дальнейшие исследования будут проводиться по следующим двум направлениям, дополняющим друг друга: а) выделение случаев, когда с учетом декомпозиции реализуется трудоемкий перебор различных вариантов использования резервов предшествующих заданий конкурирующими заданиями и доказательство эффективности экспоненциальной составляющей алгоритма на основе экспериментальных исследований; б) выделение и обоснование случаев, когда с учетом декомпозиции реализуется трудоемкий перебор вариантов решения задачи, и теоретическое обоснование расширения области определения полиномиальной составляющей алгоритма в тех случаях, когда экспоненциальная составляющая приводит к незначительному перебору вариантов. Распараллеливание вычислений Общим универсальным принципом повышения эффективности ПДСалгоритмов является принцип распараллеливания вычислений [18], позволяющий: – реализовать выполнение независимых перестановок различных типов на параллельных процессорах (задача МСЗП); 257 Глава 4 – останавливать вычислительный процесс при выполнении одного из условий полиномиальной составляющей алгоритма (задачи МСЗ, МСЗП); – управлять дальнейшим процессом вычислений на основе текущего анализа результатов параллельных вычислений (задачи МСЗ, МВМ, МСЗП); – гарантированно уменьшить общее время вычислений (задачи МСЗ, МВМ, МСЗП). 4.2.5 Построение новых ПДС-алгоритмов на основе разработанных Свойства ПДС-алгоритма решения задачи МСЗ могут быть использованы при построении ПДС-алгоритмов для решения задач «Минимизация суммарного взвешенного запаздывания при выполнении независимых заданий на одном приборе» (МСВЗ) и «Минимизация суммарного опережения и запаздывания относительно директивных сроков при выполнении независимых задач одним прибором» (МОЗ). Для задачи МСВЗ приоритет определяется отношением j lj . В ПДС-алго- ритме для этой задачи будет использоваться та же методология решения задачи, типы и правила перестановок, с учетом различных весов заданий, по аналогии ПДС-алгоритма задачи МСЗ. Последнее обстоятельство позволит учитывать дополнительные отсечения, что существенно сократит трудоемкость алгоритма. ПДС-алгоритм задачи МСЗ войдет в состав ПДС-алгоритма решения задачи МОЗ как его наиболее трудоемкая составляющая. Алгоритм решения задачи МОЗ базируется на следующих утверждениях. Обозначим r j d j C j – резерв задания j. Очевидно, r j E j , где E j – опережение задания j относительно его директивного срока. Следовательно, уменьшение опоздания за счет резервов незапаздывающих заданий приводит к уменьшению функционала МОЗ. Справедливы следующие леммы [169]: 258 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации Лемма 1. Последовательность, отсортированная по неубыванию значений длительности выполнения, не имеющая опережающих работ, является оптимальной по критерию МОЗ. Лемма 2. Последовательность, отсортированная по невозрастанию значений длительности выполнения, не имеющая запаздывающих работ, является оптимальной по критерию МОЗ. Примечание. Очевидно, авторы статьи [169] имели в виду, что лемма 2 справедлива для каждого конкретного момента начала выполнения всей последовательности заданий. Обозначим rmin = min{rj}; Nr – число заданий с резервами (rj > 0); Nз – число запаздывающих заданий (rj 0). Утверждение 4.31 [15] (использование резервов опережающих заданий). Если в последовательности выполняется Nr > Nз, то при увеличении начала выполнения заданий на величину rmin значение функционала МОЗ уменьшается на величину (Nr – Nз) rmin. Исходная последовательность оптимизируется по критерию МСЗ. На каждой итерации при условии Nr ≥ Nз увеличиваются моменты начала выполнения заданий в текущей последовательности на rmin, и эта последовательность снова оптимизируется по критерию МСЗ. Такие процедуры выполняются до тех пор, пока в последовательности, полученной после оптимизации, не выполнится условие Nr < Nз. Полученную последовательность обозначим R и проверим условия утверждения 4.32. Утверждение 4.32 [15] (признак оптимальности последовательности R). Если в последовательности R резервы отсутствуют, то она оптимальна по критерию МОЗ. Справедливость утверждения 4.32 основана на положениях, сформулированных в лемме 1, утверждении 4.31 и оптимальности последовательности R по критерию МСЗ. Результаты приведенных утверждений будут использованы при создании ПДС-алгоритма решения задачи МОЗ для определения направленности пере259 Глава 4 становок, а также при определении условия выполнения полиномиальной составляющей алгоритма. 260 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации СПИСОК ЛИТЕРАТУРЫ НЕ ПЕЧАТАЕТСЯ, НО ДОЛЖЕН БЫТЬ В КОНЦЕ КАЖДОЙ ГЛАВЫ, ЧТОБЫ ПОЛЯ ПРАВИЛЬНО ОБНОВЛЯЛИСЬ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Адлер Ю.П., Маркова Е.В., Грановский Ю.В. Планирование эксперимента при поиске оптимальных условий. – 2-е изд., перераб. и доп. – М.: Наука, 1976. – 280 с. Айвазян С.А. Многомерный статистический анализ // Математическая энциклопедия / Гл. ред. И.М. Виноградов. – М., 1982. – Т.З. – Стб. 732738. Аксенова Л.А. Новые полиномиальные подклассы труднорешаемой задачи «Минимизация суммарного взвешенного момента» для множества одного приоритета // Управляющие системы и машины, – 2002.– №6.– С.21-28 Андерсон Т. Введение в многомерный статистический анализ / Пер. с англ. Ю.Ф. Кичатова; Под ред. Б.В. Гнеденко. – М.: Физматтиз, 1963. – 500 с. Андрейчиков А.В., Андрейчикова О.Н. Анализ, синтез, планирование решений в экономике. – Москва: Финансы и статистика. – 2001. Веселов С.И., Шевченко В.Н. Об экспоненциальном росте коэффициентов агрегирующего уравнения: Тез. докл. 4 Феодосийской конф. по пробл. теорет. кибернетики. – Новосибирск: Ин-т математики СО АН СССР, 1977. – 53 с. Галочкин И., Нестеренко Ю.В., Шидковский А.Б. Введение в теорию чисел. – М.: Изд-во Моск. ун-та, 1984. – 280 с. Гери М.Р., Джонсон Д.С. Вычислительные машины и труднорешаемые задачи. – М.: Мир, 1982. – 416 с. Д. Худсон. Статистика для физиков. Москва, Мир, 1970. Емельянов С.В. Управление гибкими производственными системами. Модели и алгоритмы.– Л.: Машиностроение; Берлин: Техник,– 1987.– 364 с. Ершов А. А. Стабильные методы оценки параметров: (Обзор) // Автоматика и телемеханика. – 1978. – № 8. – С. 66-100. Зайченко Ю.П. Дослідження операцій, – Київ: Слово – 2006 р. – 814с. Згуровский М.З., Павлов А.А. Иерархическое планирование в системах, имеющих сетевое представление технологических процессов и ограниченные ресурсы, как задача принятия решений // Системні дослідження та інформаційні технології.– 2009.– №.__ С.____ . Згуровский М.З., Павлов А.А., Штанькевич А.С. Модифицированный метод анализа иерархий // Системні дослідження та інформаційні технології.– 2010.– №.1. – С.____ . Згуровский М.З., Павлов А.А., Мисюра Е.Б. ПДС-алгоритмы и труднорешаемые задачи комбинаторной оптимизации. Анализ эффективности, методология построения // Системні дослідження та інформаційні технології.– 2009.– №.__ С.____ . 261 Глава 4 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 262 Згуровский М.З., Павлов А.А., Мисюра Е.Б., Мельников О.В. Методология построения эффективного решения многоэтапных задач календарного планирования на основе принципа иерархии и комплекса взаимосвязанных моделей и методов // Вісник НТУУ “КПІ”. Інформатика, управління та обчислювальна техніка. К.: “ВЕК+”, 2010.– №50 Згуровский М.З., Павлов А.А., Мисюра Е.Б., Мельников О.В. Методы оперативного планирования и принятия решений в сложных организационно-технологических системах // Вісник НТУУ “КПІ”. Інформатика, управління та обчислювальна техніка. К.: “ВЕК+”, 2010.– №50 Згуровський М.З., Панкратова Н.Д. Основи системного аналізу // К.: Видавнича група BHV, 2007. – 544c. И. Экланд. Элементы математической экономики. – М.: Мир, 1983. – 245ст. Ивахненко А.Г. Моделирование сложных систем. – Киев: Высшая школа, 1997. Ивахненко А.Г., Мюллер И.А.Самоорганизация прогнозирующих моделей. – Киев: Техника, 1985. – 221с. Ивахненко А.Г., Юрачковский Ю.В. Моделирование сложных систем по экспериментальным данным. – М: Радио и связь, 1986. – 118с. Интернет-страница: http://www.bilkent.edu.tr/~bkara/start.html Информатика в Украине: становление, развитие, проблемы. / Сергієнко И.В., Капітонова Ю.В., Лебедєва Т.Т. – НАН Украины. Ін-т кибернетики им. В.М. Глушкова.– К.: Наук. думка.– 1999 – 354 с. Катренко А.В., Пасічник В.В., Пасько В.П. Теорія прийняття рішень. – Київ: Видавнича группа BHV, – 2009, – 438 с. Кини Р.Л., Райфа X. Принятие решений при многих критериях: предпочтения и замещения.—М.: Радио и связь, 1981. – 560 с. Колмогоров А.Н. К обоснованию метода наименьших квадратов // Успехи математических наук. – 1946. – Т. 1, Вып. 1. – С.57-70. Конвей Р.В., Максвелл У.Л. Теория расписаний.– М.: Наука, 1975.– 359 с. Конструктивные полиномиальные алгоритмы решения индивидуальных задач из класса NP / Павлов А.А. и др., – Киев: Техника, – 1993. – 128 с. Котлер Ф. Основы маркетинга: Пер. с англ.. / Под общ. ред. Е.М.Пеньковой.– М.: Прогресс,– 1990.–736 с. Ларичев О.И. Теория и методы принятие решений. – М.:Логос, 2000. Меншикова О.Г., Подиновский В.В. Построение отношения предпочтения и ядра в многокритериальных задачах с упорядоченными по важности неоднородными критериями // ЖВМ и МФ. 1988. № 5. С. 647 – 659. Миллер Г. Магическое число семь плюс или минус два // Инж. психология. – М: Прогресс, – 1964. Многоуровневая система оперативного управления ГПС в машиностроении / С.А.Соколицын, В.А.Дуболазов, Ю.Н.Демченко; под общ.ред. С.А.Соколицына. – СПб: Политехника,– 1991. – 208 с. ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Ногин В.Д. Упрощенный вариант метода анализа иерархий на основе нелинейной свертки критериев // Журнал вычислительной математики и математической физики. – 2004. – т.44. – № 7. – С.1259-1268. Норманн Р. Дрейпер, Гарри Смит. Прикладной регрессионный анализ, 3е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2007. – 912 с Общая модель и методы иерархического планирования функционирования сложных организационно-производственных систем с ограниченными ресурсами / А.А. Павлов, Е.Б. Мисюра, О.В.Мельников, Сераржи Али Рухани // Системні дослідження та інформаційні технології.– 2005.– №4.– С.7-24 Основы системного анализа и проектирования АСУ: Учебн. пособие. / А.А. Павлов, С.Н. Гриша, В.Н.Томашевский и др. Под общ. ред. А.А.Павлова, К.: Выща шк.,– 1991.– 367 с. Павлов А.А. Линейные модели в нелинейных системах управления. – К.: Техніка, 1982. – 166 с. Павлов А.А. Алгоритмическое обеспечение сложных систем управления. / К.: Выща школа, 1989. – 162 с. Павлов А.А., Аксенова Л.А. Новые условия полиномиальной составляющей ПДС-алгоритма задачи «Минимизация суммарного взвешенного момента» // Проблемы программирования.– 2001.– №1.– C.69-75. Павлов А.А., Анализ оценок сложности вычислений точных алгоритмов решения задачи линейного целочисленного программирования общего вида//Автоматика. – 1985. – № 5. – С. 42-48. Павлов А.А., Гершгорин А. Е. Об одном методе сведения задачи линейного целочисленного программирования общего вида к задаче «о ранце» //Автоматика. – 1985. – № 1. – С. 52-56. Павлов А.А., Гриша С.Н., Томашевский В.Н. и др. Основы системного анализа и проектирования АСУ: учеб. пособие./ под общ. ред. Павлова А.А. – К.: Выща шк., 1991. – 367 с. Павлов А.А., Иванова А.А. Алгоритм идентификации функции цели в методе анализа иерархий. / Вісник НТУУ “КПІ”. Інформатика, управління та обчислювальна техніка. К.: “ВЕК+”, 2008.– №48.– С.46-48 Павлов А.А., Иванова А.А., Зигура Р.А. Метод группового учета аргументов и анализа иерархий (МГУАиАИ) в задачах принятия решений. // Віснік НТУУ «КПІ» Інформатика, управління та обчислювальна техніка, Київ – 2007р. №47. – 350с. – С. 205-214. Павлов А.А., Иванова А.А., Чеховский А.В. Восстановление функции принятия решения с использованием модифицированного метода анализа иерархий // Вестник НТУ “ХПИ”: Сборник научных трудов. Тематический выпуск «Системный анализ, управление и информационные технологии».– Харьков: НТУ «ХПИ».– 2009.– №4.– С.17-23 Павлов А.А., Кут В.И. Математические модели оптимизации для обоснования и нахождения весов объектов по неоднородным матрицам парных сравнений // Системні дослідження та інформаційні технології. 2007.– №3.– С. 28–37 263 Глава 4 49 50 51 52 53 54 55 56 57 58 59 60 264 Павлов А.А., Кут В.И., Штанкевич А.С. Нахождение весов по матрице парных сравнений с односторонними ограничениями. / Вісник НТУУ “КПІ”. Інформатика, управління та обчислювальна техніка. К.: “ВЕК+”, 2008.– №48.– С.29-32 Павлов А.А., Лищук Е.И. Оперативное корректирование в задаче многокритериального выбора. / Автоматизированные системы управления и приборы автоматики. – 2007. – В печати. Павлов А.А., Лищук Е.И. Принятие решений на основе метода анализа иерархий. // Вестник НТУ «ХПИ». Системный анализ, управление и информационные технологии. – 2007. – №41. – С. 69-76. Павлов А.А., Лищук Е.И., Кут В.И. Математические модели оптимизации для обоснования и нахождения весов в методе парных сравнений // Системні дослідження та інформаційні технології.– 2007.– №2.– С.13–21 Павлов А.А., Лищук Е.И., Кут В.И. Многокритериальный выбор в задаче обработки данных матрицы парных сравнений // Вісник НТУУ “КПІ”. Інформатика, управління та обчислювальна техніка. К.: “ВЕК+”, 2007.– №46.– С.84-88 Павлов А.А., Мисюра Е.Б. Новый подход к решению задачи «Минимизация суммарного взвешенного опоздания при выполнении независимых заданий с директивными сроками одним прибором» // Системні дослідження та інформаційні технології, – 2002, №2, С.7-32. Павлов А.А., Павлова Л.А. Основы методологии проектирования ПДСалгоритмов для труднорешаемых комбинаторных задач/ Киев.– Проблемы информатики и управления.– 1995.–№ 4.– ст. 135-141. Павлов А.А., Теленик С.Ф. Информационные технологии и алгоритмизация в управлении.– К.: Техника.– 2002.– 344 с. Павлов А.А., Чеховский А.В. Построение многомерной полиномиальной регрессии (активный эксперимент) // Системні дослідження та інформаційні технології, – 2009, №1. – С.87-99 Павлов А.А., Чеховский А.В. Построение многомерной полиномиальной регрессии. Активный эксперимент с ограничениями // Вестник НТУ “ХПИ”: Сборник научных трудов. Тематический выпуск «Системный анализ, управление и информационные технологии».– Харьков: НТУ «ХПИ».– 2009.– №4.– С.174-186 Павлов А.А., Чеховский А.В. Сведение задачи построения многомерной регрессии к последовательности одномерных задач // Вісник НТУУ “КПІ”. Інформатика, управління та обчислювальна техніка. К.: “ВЕК+”, 2008.– №48.– С.111-112 Павлов А.А., Штанькевич А.С. Восстановление закономерности по результатам пассивного эксперимента с ограниченным набором данных. / Вестник НТУ «ХПИ». Системный анализ, управление и информационные технологии. – Харьков: НТУ «ХПИ».– 2009.– №4.– С.160-169 ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 Павлов А.А., Штанькевич А.С. Восстановление неизвестной закономерности по ограниченному набору экспериментальных данных с ошибкой./ Вестник НТУУ «ХПИ». Системный анализ, управление и информационные технологии. Харьков: НТУ «ХПИ». – 2009. – №5. – 10с. Пападимитриу X. Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. – М.: Мир, 1985. – 510 с. Первин Ю. А., Португал В. М., Семенов А. И. Планирование мелкосерийного производства в АСУП. – М.: Наука, – 1973. – 459 с. Петров В.А., Масленников А.Н., Осипов Л.А. Планирование гибких производственных систем.– Л.: Машиностроение, ЛО,– 1985.– 182 с. Планирование и управление в автоматизированном производстве / В.В. Шкурба, С.А. Белецкий, К.Ф. Ефетова и др.– К.: Наукова думка, 1985.– 224 с. Планирование производства в условиях АСУ: Справочник / Ефетова К.Ф., Подчасова Т.П., Португал В.М., Тринчук Б.Е.– К.: Техніка,– 1984.– 135 с. Подиновский В.В. Многокритериальные задачи с однородными равноценными критериями // ЖВМ и МФ. 1975. № 2. С. 330 – 344. Радченко С.Г. Устойчивые методы оценивания статистических моделей: Монография – К.: ПП «Санспарель», 2005. – 504 с. Саати Т. Принятие решений. Метод анализа иерархий: Tomas Saaty. The Analytic Hierarchy Process. –Пер. с англ. Р.Г. Вачнадзе. – М.: Радио и связь, 1993. – 315 с. Саати Т. Целочисленные методы оптимизации и связанные с ними экстремальные проблемы. – М.: Мир, 1973. – 302 с. Саати Т., Кернс К. Аналитическое планирование. Организация систем: Пер. с англ. Р.Г. Вачнадзе: Под ред. И.А. Ушакова. – М.: Радио и связь, 1991. – 223 с. Сергиенко И.В. Математические модели и методы решения задач дискретной оптимизации. / К.: Наукова думка, 1985. – 382 с.; 2-е изд., доп. и перераб., 1988. – 472 с. Сергиенко І.В. Інформатика в Україні: становлення, розвиток, проблеми / К.: Наукова думка, 1999. – 354 с. Системы автоматизированного планирования и диспетчирования групповых производственных процессов / А.А.Павлов, З.Банашак, С.Н.Гриша, Е.Б.Мисюра; под ред. А.А.Павлова.– К.: Тэхника, 1990.– 260 с. Скурихин В.И., Павлов А.А., Путилов Э.П., Гриша С.Н. Автоматизированные системы управления гибкими технологиями. – К.: Техніка, 1987. – 184 с. Танаев В.С., Шкурба В.В. Введение в теорию расписаний. – М.: Наука, 1975.– 256 с. Таха Хемди. Введение в исследование операций, 6-е издание: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 912с.: ил. – Парал. тит. англ. Тоценко В.Г. Методы и системы поддержки принятия решений. Алгоритмический аспект. – Киев: Наукова думка. – 2002. – 381с. 265 Глава 4 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 266 Универсальный алгоритм решения задачи «Минимизация взвешенного момента окончания работ при отношении порядка, заданном ориентированным ациклическим графом» / А.А.Павлов, Л.А.Павлова, А.Б.Литвин, Е.Б.Мисюра.– К., 1992.– 58с.– Деп. в УкрНИИНТИ 05.05.90, №569 – Ук 92 Форсайт Дж., Малькольм М., Моулер К. Машинные методы математических вычислений / Пер. с англ. Х.Д. Икрамова. – М.: Мир, 1980. – 280 с. Ху Т. Целочисленное программирование и потоки в сетях. – М.: Мир, 1974.-519 с. Шило В.П. Метод глобального равновесного поиска / Кибернетика и систем. анализ, 1999. -№1. – С. 74-80. A.H.G. Rinnooy Kan, B.J. Lageweg and J.K.Lenstra, Minimizing total costs in one-machine scheduling / Oper. Res. 23, 908–927 (1975). Aarts, E.H.L., Van Laarhooven, P.J.M., Ulder, N.L.J. Local search based algorithms for job-shop scheduling. Working Paper.– Eindhoven: University of Technology, Department of Mathematics and Computer Science,– 1991.– 20 p. Adams, J., Balas, E., Zawack, D. The shifting bottleneck procedure for jobshop scheduling // Management Science,– 1988.– №34 (3).– pp. 391–401. Akers, S.B., Jr. A graphical approach to production scheduling problems // Operations Research.– 1956.– №4.– pp. 244–245. Baker K.R., Scudder G.D. Sequencing with earliness and tardiness penalties: a review // Operations Research.– 1990.– Vol.1.– №38.– Р.22-36 Baker K.R., Shrage L.E. Finding an optimal sequence by dynamic programming: an extension to precedence-related tasks / Oper. Res. 26, 111–120 (1978). Balas, E., Lancia, G., Serafini, P., Vazacopoulos, A. Job-shop scheduling with deadlines // Journal of Combinatorial Optimization.– 1998.– №1 (4).– pp. 324– 353. Balas, E., Vazacopoulos, A. Guided local search with shifting bottleneck for job-shop scheduling // Management Science.– 1998.– №44 (2).– pp. 262–275. Bitran G.R., Haas E.A., Hax A.C. Hierarchical Production Planning: A Single Stage System. Operations Research 29,– 1981.– pp.717-743. Bitran G.R., Hax A.C. Disaggregation and Resource Allocation Using Convex Knapsack Problems. Management Science 27,– 1981.– pp.431-441. Bitran G.R., Hax A.C. One the Design of Hierarchical Production Planning Systems. Decision Science 8,– 1977.– pp.28-55. Bitran G.R., Tirupati D., Hierarchical Production Planning, in: Handbooks in Operations Research and Management Science, Volume 4, Logistics of Production and Inventory, edited by S. C. Graves, A. H. G. Rinnooy Kan and P. H. Zipkin, Amsterdam, Elsevier Science Publishers B. V.,– 1993, pp. 523-568. Bradley G.Н. Transformation of Integer Programs to Knapsack Problems //Discrate Mathematics. – 1971. – 1. – P. 29-45. Bräsel, H. Lateinische Rechtecke und Maschinenbelegung.– Magdeburg: Habilitationschrift, TU Magdeburg, 1990.– 272 p. ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 Brucker P., Hurink J., Werner F. Improving local search heuristics for some scheduling problems part I // Discrete Applied Mathematics.– 1996.– №65 (1– 3).– pp. 97–122. Brucker P., Hurink J., Werner F. Improving local search heuristics for some scheduling problems part II // Discrete Applied Mathematics.– 1997.– №72 (1/2).– pp. 47–69. C.N.Potts and L.N.Van Wassenhove, A decomposition algorithm for the single machine total tardiness problem / Oper. Res. Lett. 1, 177–181 (1982). C.N.Potts and L.N.Van Wassenhove, Dynamic programming and decomposition approaches for single machine total tardiness problem / European J. Oper. Res. 32, 405–414 (1987). Caseau Y., Laburthe F. Disjunctive scheduling with task intervals. LIENS Technical Report No 95-25.– Paris: Laboratoire d’Informatique de l’ Ecole Normale Superieure Departement de Mathematiques et d’Informatique, 1995.– 35 p. Chen B., Potts C.N., Woeginger G.J. A Review of Machine Scheduling: Complexity, Algorithms and Approximability // In: D.-Z. Du and P. Pardalos, eds., Handbook of Combinatorial Optimization, Vol. 3 (Kluwer Academic Publishers),– 1998.– pp.21-169. Chris N. Potts, Mikhail Y. Kovalyov. Scheduling with batching: A review // European Journal of Operational Research.– 2000, Vol.120.– P.228-249. Cook, S.A.: The complexity of theorem-proving procedures // Proc. 3rd. Annual ACM Symp. Theory of Computing.– New York, 1971.– pp. 151–158. Davis J.S., Kanet J.J. Single-machine scheduling with early and tardy completion costs // Naval Research Logistics.– 1996.– №40.– Р.85-101 Delia Croce F., Grosso A., Paschos V.Т. Lower bounds on the approximation ratios of leading heuristics for the single-machine total tardiness problem / Journal of Scheduling 7: 85-91, 2004. Demirkol, E., Mehta, S., Uzsoy, R. A computational study of shifting bottleneck procedures for shop scheduling problems // Journal of Heuristics.– 1997.– №3 (2).– pp. 111–137. Dorndorf U., Pesch E. Evolution based learning in a job-shop scheduling environment // Computers and Operations Research.– 1995.– №22 (1).– pp. 25–40. Du J., Leung J.Y.-T. Minimizing total tardiness on one processor is NP-hard. / Math. Oper. Res. 15, 483–495 (1990). Emmons H. One machine sequencing to minimize certain functions of job tardiness / Oper. Res. 17, 701–715 (1969). Falkenauer, E., Bouffouix, S. A genetic algorithm for the job-shop. // The Proceedings of the IEEE International Conference on Robotics and Automation.– Sacremento, California, USA, 1991.– pp. 41-48. Feldmann M., Biskup D. Single-machine scheduling for minimizing earliness and tardiness penalties by meta-heuristic approaches // Computers & Industrial Engineering.– 2003.– №44.– P.307-323 267 Глава 4 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 268 Fisher H., Thompson G.L. Probabilistic learning combinations of local jobshop scheduling rules. / In: Muth, J.F., Thompson, G.L. Industrial Scheduling.– Englewood Cliffs: Prentice-Hall, 1963.– pp. 225–251. Fisher M.L. A dual algorithm for the one-machine scheduling problem / Math. Programming 11, 229–251 (1976). Fisher, M.L., Rinnooy Kan, A.H.G. The design, analysis and implementation of heuristics (special issue) // Management Science.– 1988.– №34 (3).– pp. 263– 401. Foo, S.Y., Takefuji, Y. Integer linear programming neural networks for jobshop scheduling // IEEE International Conference on Neural Networks.– San Diego, 1988.– pp. 341–348. Foo, S.Y., Takefuji, Y. Stochastic neural networks for solving job-shop scheduling: Part 1. Problem representation // IEEE International Conference on Neural Networks.– San Diego, 1988.– pp. 275–282. Foo, S.Y., Takefuji, Y. Stochastic neural networks for solving job-shop scheduling: Part 2. Architecture and simulations // IEEE International Conference on Neural Networks.– San Diego, 1988.– pp. 283–290. Forsythe G, journ. Sos.Ind. Appl. Math 5,74 (1957) Fox, M.S. Constraint-Directed Search: A Case Study of Job-Shop Scheduling // Research Notes in Artificial Intelligence.– London:Pitman, 1987.– pp. 12-23. Garey, M.R., Tarjan, R.E., Wilfong, G.T. One-processor scheduling with symmetric earliness and tardiness penalties // Mathematics of Operations Research.– 1988.– №13.– Р.330-348 Glover F. Future paths for integer programming and links to artificial intelligence // Computers and Operations Research.– 1986.– №13 (5).– pp. 533–549. Glover F. Heuristics for integer programming using surrogate constraints // Decision Sciences.–1977.– №8 (1).– pp. 156–166. Glover F. Tabu search – Part I // ORSA Journal on Computing.– 1989.– №1(3).– pp. 190–206. Glover F. Tabu search – Part II // ORSA Journal on Computing.– 1990.– №2 (1).– pp. 4–32. Glover, F., Greenberg, H.J. New approaches for heuristic search: A bilateral linkage with artificial intelligence // European Journal of Operations Research.– 1989.– №39 (2).– pp. 119–130. Glover, F., Laguna, M. Tabu Search. Kluwer, Norwell: Kluwer.– 1989.– 85 p. Goldman R.P., Boddy M.S. A constraint-based scheduler for batch manufacturing. // IEEE Expert 12 (1),– 1997.– pp.49-56. Grabot B., Geneste L. Dispatching rules in scheduling: A fuzzy approach // International Journal of Production Research.– 1994.– №32 (4).– pp. 903–915. Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.E.G.: Optimization and approximation in deterministic sequencing and scheduling: a survey // Ann. Discrete Math.– 1979.– №5.– pp. 287–326. Graves S.C. Manufacturing Planning and Control. Massachusetts Institute of Technology. / Working paper // In: Handbook of Applied Optimization, edited by P. Pardalos and M. Resende,– 1999.– 26 p. ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 Grefenstette J.J. Incorporating problem specific knowledge into genetic algorithms. / In: Davis L. Genetic Algorithms and Simulated Annealing.– London: Pitman, 1987.– pp. 42–60. Grossmann I.E., Quesada I., Raman R. et. al. Mixed integer optimization techniques for the design and scheduling of batch processes. Presented at NATO Advanced Study Institute – Batch process system engineering. Antalya, Turkey, – 1992. Grosso A., Della Croce F., Tadei R. An enhanced dynasearch neighborhood for the single-machine total weighted tardiness scheduling problem // Operations Research Letters. – 2004.– №32.– pp.68–72 Hax A. C., Meal H. C. Hierarchical Integration of Production Planning and Scheduling. // Studies in Management Sciences, Vol. 1. Logistics, M. A. Geisler (ed.), North Holland-American Elsevier, New York, – 1975. Hefetz, N., Adiri, I. An efficient optimal algorithm for the two-machines unittime job-shop schedule-length problem // Mathematics of Operations Research.– 1982.– №7.– pp. 354–360. Jackson, J.R. An extension of Johnson's result on job lot scheduling. // Naval Research Logistics Quarterly.– 1956.– №3 (3).– pp. 201–203. Jain, A.S., Meeran, S. Deterministic job-shop scheduling: Past, present and future. European Journal of Operational Research.– 1999.– №113.– pp. 390–434. Jin S., Mason S.J. Minimizing earliness and tardiness costs on a single machine with uncommon job due dates // Department of Industrial Engineering, Bell Engineering Center, University of Arkansas Fayetteville, 2004.– 23 p. Johnson, D.S., Papadimitriou, C.H., Yannakakis, M. How easy is local search? // Journal of Computer and System Sciences.– 1988.– №37 (1).– pp. 79–100. Johnson, S.M. Optimal two– and three-stage production schedules with set-up times included // Naval Research Logistics Quarterly.– 1954.– №1.– pp. 61–68. Karp, R.M.: Reducibility among combinatorial problems / In: Miller, R.E., Thather, J.W. (eds.): Complexity of Computer Computations, Plenum press, New York, 1972.– pp. 85–103. Kempf K.G., Le Pape C, Smith S. F., Fox B. R. Issues in the Design of AIBased Schedulers: A Workshop Report. AI Magazine, Special Issue.– 1991 Kirkpatrick S., Gelatt C.D., Vecchi M.P. Optimization by simulated annealing / Science. – 1983. -220. –P. 671-680. Kolonko, M. Some new results on simulated annealing applied to the job shop scheduling problem // The European Journal of Operational Research.– 1999.– №113.– pp. 435–467. Kovacs A. Novel Models and Algorithms for Integrated Production Planning and Scheduling: Ph.D. Thesis. Computer and Automation Research Institute: Budapest,– 2005. Lageweg, B.J., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G. Computer-aided complexity classification of deterministic scheduling problems, Report BM №138.– New York: Centre for Mathematics and Computer Science, 1981.– 41 p. 269 Глава 4 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 270 Lageweg, B.J., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G. Computeraided complexity classification of combinatorial problems // Comm. ACM.– 1982.– №25.– pp.817-822. Lawler E.L. A pseudopolynomial algorithm for sequencing jobs to minimize total tardiness / Ann. Discrete Math. 1, 331–342 (1977). Lawler E.L. Sequencing jobs to minimize total weighted completion time subject to precedence constraints // Ann. Discrete Math.– 1978.– №2.– P.75–90. Lawler E.L., Lenstra J.K., Rinnooy Kan A.H.G., Shmoys D.B. Sequencing and scheduling: Algorithms and complexity / In: Lawler, E.L., Lenstra, J.K. Handbook in Operations Research and Management Science 4: Logistics of Production and Inventory.– New York: Academic Press, 1993.– pp 120-182. Lawler, E.L. A fully polynomial approximation scheme for the total tardiness problem // Operations Research Letters.– 1982.– №1.– Р.207-208 Lawrence S. Supplement to resource constrained project scheduling: An experimental investigation of heuristic scheduling techniques.– Pittsburgh: Graduate School of Industrial Administration, Carnegie-Mellon University, 1984.– 120 p. Liu R. A Framework for Operational Strategies for Pipeless Plants. (Ph.D. thesis, Department of Chemical Engineering, The University of Leeds).– 1996.– pp. 26-28. Lourenco H.R.D. A computational study of the job-shop and the flow-shop scheduling problems. Ph.D. Thesis TR – New York: School of Operations Research and Industrial Engineering, Cornell University, 1993.– 185 p. Lourenco H.R.D. Job-shop scheduling: Computational study of local search and large-step optimization methods // European Journal of Operational Research.– 1995.– №83.– pp. 347–364. Lourenco H.R.D., Zwijnenburg M. Combining the large-step optimization with tabu-search: Application to the job-shop scheduling problem / In: Osman, I.H., Kelly, J.P. Meta-heuristics: Theory and Applications.– Boston, MA: Kluwer Academic Publishers, 1996.– pp. 219–236. Martin O., Otto S.W., Felten E.W. Large-step Markov chains for traveling salesman problem // Complex Systems.– 1989.– №5.– pp. 299–326. Martin O., Otto S.W., Felten E.W. Large-step Markov chains for TSP incorporating local search heuristics // Operations Research Letters.– 1992.– №11.– pp. 219–224. Matsuo, H., Suh, C.J., Sullivan, R.S. A controlled search simulated annealing method for the general job-shop scheduling problem. Working Paper, 03-04-88.– Austin: Graduate School of Business, University of Texas at Austin, 1988.– 42 p. Morton, T.E., Pentico, D.W. Heuristic Scheduling Systems // Wiley Series in Engineering and Technology Management.– New York, 1993.– pp.35-47. Moscato P. On evolution, search, optimization, genetic algorithms and martial arts: Towards memetic algorithms. // C3P Report 826: Caltech Concurrent Computation Program.– Caltech, CA, 1989.– pp. 33-48. Musier R.F.H., Evans L.B. An approximate method for the production scheduling of industrial batch processes with parallel units. / Computers & Chemical Engineering, 13 (1-2),– 1989.– pp. 229-238. ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 Nakano, R., Yamada, T. Conventional genetic algorithm for job-shop problems. / In: Kenneth, M.K., Booker, L.B. (Eds.), Proceedings of the Fourth International Conference on Genetic Algorithms and their Applications.– San Diego, CA, USA, 1991.– pp. 474–479. Nowicki E., Smutnicki C. A fast taboo search algorithm for the job-shop problem // Management Science.– 1996.– №42 (6).– pp.797– 813. Nuijten W.P.M., Le Pape C. Constraint-based job-shop scheduling with ILOG SCHEDULER // Journal of Heuristics.– 1998.– №3 (4).– pp. 271–286. Nussbaum M., Parra E.A. A Production Scheduling System. ORSA Journal on Computing. Vol. 5, No. 2, Spring 1993, pp.168-181 Overturf B.W., Reklaitis G.V., Woods J.W. GASP IV and the simulation of batch/semi-continuous operations: single train process. // Industrial and Engineering Chemistry, Process Design and Development, 17 (2),– 1978.– pp. 161165. Ow P.S.; Morton T.E.The Single Machine Early/Tardy Problem / Management Science, Vol. 35, №2, 1989,– p.177-191 Panwalkar S.S., Iskander W. A survey of scheduling rules // Operations Research.– 1977.– №25 (1).– pp.45–61. Pavlov A., Pavlova L. PDC-algorithms for intractable combinatorial problems. Theory and methodology of design. – Uzhhorod, «Karpatskij region» shelf №15, 1998,– 320 pp. Pavlov A.A., Pavlova L.A. About one subclass of polynomially solvable problems from class «Sequencing jobs to minimize total weighted completion time subject to precedence constraints»// Вестник международного Соломоновского университета (Киев).– 1999.– №1.– C. 109-116. Pesch E., Tetzlaff U.A.W. Constraint propagation based scheduling of job shops // INFORMS Journal on Computing.– 1996.– №8 (2).– pp. 144–157. Plaggenborg, S. Ein Algorithmus zur komplexitaetsmaessigen Klassifikation von Schedulingproblemen. – Osnabrueck: Diplomarbeit Fachbereich Mathematik/Informatik, Universitaet Osnabrueck, 1994.– 112 S. Resende, M.G.C. A GRASP for job shop scheduling // INFORMS Spring Meeting.– San Diego, CA, 1997.– pp. 23-31. Rich S.H., Prokopakis G.J. Scheduling and sequencing of batch operations in a multipurpose plant. / Industrial and Engineering Chemistry, Process Design and Development, 25,– 1986.– pp. 979-988. Rippin D.W.T. Design and operations of multiproduct and multipurpose batch chemical plants – an analysis of problem structure. / Computers & Chemical Engineering, 7 (4),– 1983.– pp.463-481. Rippin D.W.T. Simulation of single- and multiproduct batch chemical plants for optimal design and operation. / Computers & Chemical Engineering, 7 (3),– 1983.– pp.137-156. Rodammer, F.A., White, K.P., Jr. A recent survey of production scheduling // IEEE Transactions of Systems, Man and Cybernetics.– 1988.– №18 (6).– pp. 841–851. 271 Глава 4 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 272 Saaty T.L. Multycriteric Decision Making. The Analytic Hierarchy Process, McGraw Hill International. – New York, 1980. Translated to Russian, Portuguese, and Chinese. Revised edition, Paperback. – Pittsburgh, PA: RWS Publications, 1990, 1996. Saaty T.L. The Analytic Network Process. – Pittsburgh: RWS Publications, 2001.– p.386. Sabuncuoglu, I., Bayiz, M. A beam search based algorithm for the job shop scheduling problem. Research Report IEOR-9705.– Bilkent: Department of Industrial Engineering, Bilkent University, Turkey, 1997.– 24 p. Sabuncuoglu, I., Gurgun, B. A neural network model for scheduling problems // European Journal of Operations Research.– 1996.– №93 (2).– pp. 288–299. Sadeh, N. Look-ahead techniques for micro-opportunistic job shop scheduling. Ph.D. Thesis.– Pittsburgh, PA: School of Computer Science, Carnegie Mellon University, 1991.– 168 p. Shrage L., Baker K.R. Dynamic programming solution of sequencing problems with precedence constraints / Oper. Res. 26, 444–449 (1978). Sidney J.B. Decomposition algorithm for Single-Machine Sequencing with Precedence Relation and Deferral Costs // Operation Res.– 1975.– N23.– P.283-298 Sridharan V., Zhou, Z. A decision theory based scheduling procedure for single-machine weighted earliness and tardiness problem // European Journal of Operations Research.– 1996.– №94.– Р.292-301 Srinivasan V. A hybrid algorithm for the one-machine sequencing problem to minimize total tardiness / Naval Res. Logist. Quart. 18, 317–327 (1971). Szwarc W. Single machine total tardiness problem revisited, in: Y.Ijiri (ed.), Creative and Innovative Approaches to the Science of Management, Quorum Books, 1993, pp.407–419. Szwarz W., Mukhopadhyay S.K. Decomposition of the single machine total tardiness problem // Operations Research Letters 19 (1996) pp.243-250. Szwarc W., Mukhopadhyay S.K. Optimal timing scheduling in earlinesstardiness single machine sequencing // Naval Research Logistics.– 1995.– №42.– Р.1109-1114 Szwarc W., Grosso A., Delia Croce F. Algorithmic paradoxes of the single machine total tardiness problem / Journal of Scheduling 4, 93-104 (2001). Taillard, E. Parallel taboo search technique for the job-shop scheduling problem. Internal Research Report ORWP89/11.– Lausanne, Switzerland: Department de Mathematiques (DMA), Ecole Polytechnique Federale de Lausanne, 1989.– 38 p. Tϋtϋncϋoglu R.A. Sequencing with earliness and tardiness penalties.– Department of Industrial Engineering, Bilkent University, 1999.– 14 p. Ulder N.L.J., Aarts E.H.L., Bandelt H.-J. et al. Genetic local search algorithm for the travelling salesman problem // Lecture Notes in Computer Science.– 1991.– №496.– pp. 109–116. Ulder N.L.J., Aarts E.H.L., Bandelt H.-J. et al. Improving TSP exchange heuristics by population genetics // First International Workshop on Parallel Problem solving from Nature (PPSN’1).– Dortmund, Germany, 1990.– pp. 45-51. ПДС-алгоритмы для труднорешаемых задач комбинаторной оптимизации 197 198 199 200 201 202 203 204 205 206 207 Vaessens, R.J.M. Operations research library of problems. London: Management School, Imperial College, 1996.– 150 p. Valente J. M. S., Alves R. A. F. S. Improved heuristics for the early/tardy scheduling problem with no idle time // Computers & Operations Research.– 2005.– №32.– P.557-569 Van Laarhoven, P.J.M., Aarts, E.H.L., Lenstra, J.K. Job-shop scheduling by simulated annealing. Report OS-R8809.– Amsterdam: Centrum voor Wiskunde en Informatica, 1988.– 58 p. Wallace M.G. Practical applications of constraint programming. Constraints, 1(1):139-168, 1996. Werner, F., Winkler, A. Insertion techniques for the heuristic solution of the job-shop problem // Discrete Appl. Math.– 1995.– №58 (2).– pp. 191–211. Yamada T., Nakano R. Job-shop scheduling by simulated annealing combined with deterministic local search. Meta-heuristics: Theory and Applications.– Hingham, MA: Kluwer Academic Publishers, 1996.– pp. 237–248. Yamada, T., Nakano, R. Job-shop scheduling by simulated annealing combined with deterministic local search. // Metaheuristics International Conference (MIC’95).– Hilton, Breckenridge, Colorado, USA, 1995.– pp. 344–349. Yannakakis, M. The analysis of local search problems and their heuristics // Lecture Notes in Computer Science.– 1990.– №415.– Berlin: Springer-Verlag.– pp. 298–311. Yano C.A., Kim Y.D. Algorithms for a class of single-machine weighted tardiness and earliness problems // European Journal of Operations Research.– 1991.– №52.– pp.167–178 Zhou, D.N., Cherkassky, V., Baldwin, T.R., Hong, D.W. Scaling neural networks for job-shop scheduling. // International Joint Conference on Neural Networks (IJCNN'90).– San Diego, CA, 1990.– pp. 889–894. Zhou, D.N., Cherkassky, V., Baldwin, T.R., Olson, D.E. A neural network approach to job-shop scheduling // IEEE Transactions on Neural Network.– 1991.– №2 (1).– pp.175–179. 273