Применение методов программирования в ограничениях в задачах интеллектуального планирования

УДК 004.832

DOI: 10.25702/KSC.2307-5252.2018.10.21-35 А.А. Зуенко1, О.В. Фридман1

1 Институт информатики и математического моделирования ФИЦ КНЦ РАН

ПРИМЕНЕНИЕ МЕТОДОВ ПРОГРАММИРОВАНИЯ В ОГРАНИЧЕНИЯХ В ЗАДАЧАХ ИНТЕЛЛЕКТУАЛЬНОГО ПЛАНИРОВАНИЯ*

Аннотация

В статье рассмотрены особенности существующих подходов к решению задач интеллектуального планирования с применением методов программирования в ограничениях. Проведен анализ современных методов решения задач классического планирования, составления расписаний, интеллектуального планирования.

Ключевые слова:

программирование в ограничениях, планирование, составление расписаний, интеллектуальное планирование

A.A. Zuenko, O.V. Fridman

APPLICATION OF CONSTRAINT PROGRAMMING METHODS IN INTELLECTUAL PLANNING PROBLEMS

Abstract

The article discusses the features of existing approaches to solving problems of intelligent planning using constraint programming techniques. The analysis of modern methods for solving problems of classical planning, scheduling, intelligent planning has been carried out.

Keywords:

constraint programming, planning, scheduling, intelligent planning Введение

Использование подходов и методов искусственного интеллекта (ИИ) позволяет решать многие прикладные задачи, такие как задачи теории расписаний, задачи проектирования экспертных систем и систем поддержки принятия решений, доказательство теорем, задачи тестирования электронных схем, обработки изображений.

Теория удовлетворения ограничений предлагает удобный аппарат и простую формальную схему для представления и решения комбинаторных задач искусственного интеллекта. Целью решения задачи удовлетворения ограничений является нахождение значений переменных, удовлетворяющих определенным ограничениям. Процесс рассуждений на ограничениях сводится к поэтапному усечению изначально заданных областей определения переменных. Любой метод удовлетворения ограничений должен проектироваться особым образом и состоять из двух основных частей: части, реализующей поиск, и части, реализующей вывод на ограничениях. Как правило, под выводом на ограничениях понимается процесс сокращения размерности пространства поиска,

* Работа выполнена при финансовой поддержке РФФИ (проекты №№ 16-07-00377a, 18-07-00615а).

обеспечивающий «сужение» доменов переменных, упрощение ограничений и т.п. и, при этом, имеющий низкую вычислительную сложность (оценивается полиномом низкой степени). Алгоритмы, реализующие вывод на ограничениях, называются алгоритмами-распространителями или алгоритмами-пропагаторами. Методы, реализующие стратегии интеллектуального поиска, в отличие от методов вывода, имеют существенную вычислительную сложность, поскольку сопряжены с перебором вариантов гипотез о возможных значениях тех или иных переменных. В отличие от методов динамического программирования, например, метода перемножения числовых матриц (matrix multiplication method), в качестве стратегий поиска в рамках парадигмы программирования в ограничениях, в основном, используются различные варианты информированного поиска в глубину с возвратами, а также методы локального поиска. Особенности архитектуры систем программирования в ограничениях создают предпосылки для унификации совместной обработки разнородной (количественной и качественной) информации (ограничений). Кроме того, технология программирования в ограничениях позволяет организовать процедуры вывода с недоопределенными параметрами, что дает возможность моделировать и аспекты неопределенности, и недетерминированность действий исполнителя, ограниченную конечным перечнем возможных альтернатив.

Теперь перейдем к описанию задач, при решении которых применяются (или могут быть применены) методы программирования в ограничениях.

Интеллектуальное планирование - это область искусственного интеллекта, которая в настоящее время вызывает значительный интерес [1]. В планировании объединяются два основных направления развития искусственного интеллекта - поиск и логика. Перекрестное обогащение идеями, взятыми из этих двух областей, привело не только к повышению производительности, но и к расширению использования планировщиков в производственных приложениях.

Следует различать два направления исследований: интеллектуальное планирование (Ai-planning) и составление расписаний (scheduling). В рамках настоящей статьи будем придерживаться точки зрения, принятой в AI-community (сообществе искусственного интеллекта), что задача составления расписаний является одной из разновидностей задач интеллектуального планирования.

Составление расписаний (scheduling) - это проблема назначения множества задач множеству рабочих ресурсов, на которые (как на задачи, так и на ресурсы) накладывается ряд ограничений. В качестве примеров ограничений можно привести предельный срок выполнения задачи (deadline), количество рабочих ресурсов, ограничения предшествования на множестве задач, приоритеты задач и т.п. Таким образом, составление расписаний - это распределение (атомарных) задач по исполнителям. Расписание определяет, кто чем занимается (как правило, с привязкой ко времени). То есть здесь действия (задачи), которые нужно выполнить, заданы заранее. Нужно отыскать лишь их порядок и распределение по рабочим ресурсам.

В отличие от составления расписаний, планирование заключается в отыскании действий, необходимых для решения задачи, и выстраивании этих действий в последовательность, приводящую к решению. То есть нужно найти не только порядок, но и сами действия, которые позволят решить задачу в целом.

В значительной степени, работа по интеллектуальному планированию сосредоточена на задачах, которые включают каскадные уровни выбора действия

со сложными логическими взаимосвязями между действиями. Фактически, планирование - это нахождение способа достижения цели при заданных возможностях. Задача планирования заключается в поиске последовательности действий, применение которой в начальном состоянии модели мира, приведет к такому состоянию, в котором достигается заранее заданная цель. При решении задач планирования приходится держать под контролем комбинаторный взрыв. Если в проблемной области имеетсяр примитивных высказываний, то количество состояний становится равным 2p. В сложных проблемных областях величина р может стать весьма значительной.

Выполнение всякого плана окружено контекстом, в котором этот план выполняется. Модель контекста, в котором выполняются действия, называется моделью мира (world model). Модель мира может включать статическую и динамическую составляющие. К статическим элементам относят модели объектов мира и отношений между ними. Динамическим элементом является модель изменения мира по своим внутренним законам, не зависящим от воздействия со стороны субъекта, исполняющего план. Будем называть динамическую составляющую динамикой мира (world dynamics).

Действия плана и динамика мира осуществляют преобразование модели мира (как правило, только статической составляющей). Про изменение модели мира говорят, что модель мира переходит в новое состояние (state). Состояние модели мира в момент, непосредственно предшествующий моменту начала выполнения плана, называется начальным состоянием (initial state) задачи планирования. Большинство современных планировщиков при построении плана оперируют именно понятием состояние, а не модель мира. Формально, состояние может быть представлено различными способами. Конструктивным элементом для процесса планирования является действие. Действие (action) определяет, какие изменения в модели мира произойдут, если действие будет выполнено. В качестве модели действия в интеллектуальном планировании, обычно, используется сущность, описывающая вид деятельности, условия, когда это действие выполнимо, и эффекты, которые это действие производит.

В зависимости от условий, в которых происходит процесс планирования, выделяют несколько разновидностей сред планирования (planning environment). Они определяются рядом свойств исполнителя и мира, в котором он оперирует. Вот эти свойства:

• Наблюдаемость мира. Если это так, то исполнитель знает все о свойствах (но не законах) мира в каждый момент времени. То есть он знает все об объектах, имеющихся в мире, и отношениях между ними. Кроме того, это свойство говорит о том, что мир конечен.

• Статичность мира. Это свойство отражает возможность (или невозможность) мира меняться независимо от действий исполнителя. Или, иными словами, свойство показывает, существует ли динамика мира.

• Детерминированность действий исполнителя. Если действия детерминированы, то исполнитель всегда точно знает, каков будет результат выполнения каждого действия.

• Дискретность или протяженность действий во времени. Если действия дискретны, то они не имеют длительности, и свойства мира во время выполнения действий не определены. О свойствах мира можно говорить, только если ни какое из действий не выполняется.

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

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

Далее в настоящей работе рассматриваются применение методов программирования в ограничениях в задачах классического планирования, составления расписаний, попытки их развития и сопоставление с методами искусственного интеллекта.

Методы классического планирования и попытки их развития

Значительная часть работ по интеллектуальному планированию, выполненных за последние 30 лет, слабо укладывается в парадигму, которую можно назвать классическим планированием. Тем не менее, чтобы понять современные тенденции в интеллектуальном планировании, остановимся на особенностях классического планирования более подробно.

В классическом планировании результатом процесса поиска является достижение заданного набора целей, обычно выражаемых в виде набора положительных и отрицательных литералов исчисления высказываний. Начальное состояние мира, называемое начальными условиями, также выражается как набор литералов. Возможные действия характеризуются с помощью так называемых STRIPS-операторов (STRIPS (Stanford Research Institute Problem Solver) - это автоматический планировщик, разработанный Ричардом Файксом и Нильсом Нилсоном в 1971. В последующем слово STRIPS стало также использоваться для обозначения формального языка, описывающего входные данные этого планировщика). STRIPS-оператор представляет собой параметризованный шаблон, содержащий набор предварительных условий, которые должны быть истинными прежде, чем действие может быть выполнено, а также содержит набор изменений или эффектов, которые произойдут в мире в результате выполнения действия.

В языке представления классических планировщиков STRIPS [2] применяются описания действий в терминах их предусловий и результатов, а также описания начальных и целевых состояний в виде конъюнкций положительных литералов. В языке ADL (ADL - Action Description Language -язык описания действий) [3] некоторые ограничения языка STRIPS ослаблены и допускается использование дизъюнкции, отрицания и кванторов.

Тем не менее, существует ряд более серьезных ограничений в представлениях STRIPS и ADL. Во-первых, это атомарное время. В указанных представлениях нет явной модели времени. Нельзя указать продолжительность действия или указать временные ограничения для целей или действий. Фактически, действия моделируются так, как если бы они были мгновенные и бесперебойные, поэтому нет никаких условий для одновременных действий или представления внешних или экзогенных событий. Во-вторых, нет возможности указывать потребности в ресурсах или потребление ресурсов. В-третьих, нет возможности моделировать неопределенность. Первоначальное состояние мира, как и результаты действий, должны быть достоверно известны. Наконец, единственными типами целей являются цели достижения. Невозможно указать цель, которая была бы связана с поддержанием состояния или достижением состояния к крайнему сроку. Отчасти это происходит из-за того, что нет явной модели времени. Также нет возможности указывать цель, которая предполагает оптимизацию. В классическом планировании оптимизация обычно считается несущественной - достаточно просто найти допустимый план.

Для устранения некоторых из перечисленных недостатков представления STRIPS и/или ADL были расширены. В частности, в работе [4] были разработаны более богатые модели времени в рамках представления STRIPS и освещены аспекты представления и использования различных типов ресурсов, а в работе [5] рассматривались возможности учета различных форм неопределенности. В [6] введены более интересные типы целей. Все эти усовершенствования в языках представления задач планирования требуют методов, расширяющих возможности классических методов планирования. Однако эти расширения, как правило, оказывают значительное негативное влияние на производительность.

Для решения задач классического планирования был разработан ряд различных методов. Здесь мы приведем краткий обзор наиболее важных подходов, перечислим их преимущества и недостатки.

До недавнего времени большинство классических работ по планированию сосредотачивалось на построении планов путем обратного поиска или поиска от цели (Goal-directed Planning). Однако, если действия упорядочены только частично, необходимы дополнительные средства, чтобы убедиться, что неупорядоченные действия не мешают друг другу. Для планирования с учетом отношения частичного порядка на множестве действий были разработаны POCL (Partial Order Causal Link) - планировщики [1]. Несмотря на все усилия в области целенаправленного классического планирования (в частности, планирование POCL), эти планировщики не имели большого практического успеха. Хотя коэффициент ветвления обычно ниже при поиске в обратном направлении от целей, он по-прежнему достаточно велик. Как следствие, успех целенаправленного планирования сильно зависит от используемых эвристик.

В 1995 году Блюм и Фурст представили систему планирования, названную Graphplan [7], которая использует совсем другой подход для поиска планов. Основная идея состоит в том, чтобы выполнить анализ достижимости, чтобы исключить многие комбинации и последовательности действий, которые несовместимы друг с другом. Как и при планировании POCL, технология Graphplan была расширена для поддержки операторов с кванторами и других особенностей языка ADL [8]. Были предприняты попытки расширить Graphplan для работы с неопределенностью [9, 10], но эти усилия до сих пор не доказали

свою эффективность на практике. Также известны работы, направленные на преодоление описанных ограничений, связанных с обработкой времени [11] и вещественных величин в Graphplan [12]. Более подробное введение в Graphplan и расширения метода Graphplan можно найти в [13].

Изложенное показывает, что методы интеллектуального планирования напрямую зависят от возможностей языков представления задач планирования. Помимо представления задач планирования на языках типа STRIPS и ADL планирование может осуществляться по принципу доказательства некоторой теоремы в рамках ситуационного исчисления. В подобной теореме утверждается, что при наличии начального состояния и аксиом состояния-преемника, которые описывают результаты действий, цель будет истинной в ситуации, которая является результатом некоторой последовательности действий. В ранний период развития искусственного интеллекта данный подход считался слишком неэффективным для того, чтобы с его помощью можно было находить интересные планы. Проведенные в последнее время разработки в области эффективных алгоритмов формирования рассуждений для пропозициональной логики привели к возрождению интереса к планированию с помощью логических рассуждений.

Близкий подход основан на проверке выполнимости логического высказывания, а не на доказательстве теорем [13]. Планировщики, основанные на проверке выполнимости, способны обрабатывать крупные задачи планирования.

В алгоритме SATplan [14] задача планирования преобразуется в пропозициональные аксиомы и после этого к ним применяется алгоритм проверки выполнимости для поиска модели, соответствующей действительному плану.

Основная идея планирования как выполнимости - угадать длину плана, перевести задачу планирования в набор пропозициональных формул и попытаться решить возникающую проблему выполнимости (SAT). Если формулы не удовлетворяются, то длина плана увеличивается, и процесс повторяется. На сегодняшний день изучено множество различных схем кодирования, но основная идея в большинстве этих схем состоит в том, чтобы иметь пропозициональную переменную: a) для каждого возможного действия на каждом этапе; b) для каждого возможного утверждения на каждом шаге.

Каждая переменная действия указывает на наличие или отсутствие действия на определенном этапе плана. Каждая переменная утверждения указывает, истинно ли это утверждение на этом этапе плана. Лучшие планировщики SAT и планировщики на основе Graphplan имеют очень схожие характеристики. Они значительно превосходят POCL-планировщики на большинстве тестовых примеров. Подобно планировщикам POCL и Graphplan, планировщики SAT могут быть расширены, для поддержки операторов с кванторами и т.п. Фактически это расширение влияет только на процесс перевода задачи, а не на механизм решения. Вещественные величины, представляют более серьезные трудности. Вольфман [15] обрабатывает вещественные величины, используя линейное программирование в сочетании с методами планирования SAT.

Перечислим наиболее серьезные недостатки подхода представления задач планирования в виде задачи SAT. Во-первых, количество переменных и утверждений может быть очень большим, потому что все возможные действия и

утверждения явно представлены для каждой дискретной временной точки. В результате SAT-планировщики часто требуют огромных объемов памяти (гигабайт) для представления задач сравнительно небольшой размерности. Во-вторых, описанная выше кодировка ограничивается дискретным временем и, следовательно, не поддерживает представление действий, которые имеют разную продолжительность или связаны временными ограничениями.

Зачастую описанные направления интеллектуального планирования (на основе графа планирования и на основе логических методов) интегрируются, образуя новые группы методов. Например, метод, используемый в системе Blackbox, состоит в преобразовании графа планирования в выражение КНФ, а затем извлечении плана с использованием решателя задач SAT. Такой подход обладает более высокой производительностью, чем SATplan, и причиной этого, скорее всего, является то, что в графе планирования уже устранены многие невозможные состояния и действия из рассматриваемой задачи. Кроме того, такой подход действует лучше по сравнению с алгоритмом Graphplan, по-видимому, из-за того, что поиск условий выполнимости, подобный алгоритму WalkSAT, характеризуется гораздо большей гибкостью, чем ограниченный поиск с возвратами, используемый в алгоритме Graphplan.

Таким образом, большинство классических методов планирования не может представлять или рассуждать о ресурсах, количественных (вещественнозначных) величинах, непрерывном времени. Большинство методов также игнорирует оптимизацию. Были предприняты попытки расширить методы классического планирования для обработки ресурсов [16] и вещественнозначных величин, а также обеспечить поддержку критериев оптимизации [12, 15]. Предпринимались попытки расширить методы планирования для обработки временных ограничений [17].

Выход за рамки классического планирования

Далее кратко опишем некоторые исследования, которые нацелены на преодоление перечисленных недостатков классического планирования.

Отметим такое направление исследований в области интеллектуального планирования как планирование иерархической сети задач (HTN Planning). В HTN-планировании первоначальный план, который описывает задачу, рассматривается как описание на очень высоком уровне абстракции. Планы уточняются путем декомпозиции действий. Идея использовать подобное структурированное описание для повышения эффективности процедур планирования оказалась очень продуктивной. Нельзя отрицать, что в большинстве практических систем планирования использовались методы HTN [18]. Например, система O-Plan [1], в которой планирование сочеталось с составлением расписаний, использовалась для разработки производственных планов в компании Hitachi.

Тем не менее, многие исследователи недовольны HTN-планированием, потому что оно ближе к «программированию» конкретного приложения, чем к предоставлению декларативного описания доступных действий и использованию общих методов для планирования. Авторам неизвестна всеобъемлющая обзорная статья, в которой описываются различные системы и методы HTN-планирования. Введение в HTN-планирование можно найти в [19].

Теперь перейдем к описанию одной из технологий планирования, предназначенной для работы с неопределенностью. На протяжении многих лет исследователи в области исследований операций и принятия решений моделировали последовательные решения, используя Марковские процессы принятия решений (MDP). В принципе, MDP - это пространство состояний, в котором переходы между состояниями являются вероятностными по своей природе. В частности, они оказались полезными в задачах навигации робота, где есть неопределенность в расположении робота и ориентации после перемещения [20]. Размер пространства состояний по-прежнему является значительным препятствием для более широкого применения MDP-методов. Справедливости ради следует отметить, что альтернативные подходы (расширения методов POCL, Graphplan и SAT) для планирования с учетом неопределенности также не слишком хорошо зарекомендовали себя на практике. Перечислим некоторые другие недостатки MDP-методов. Во-первых, MDP предполагает, что после выполнения действия с неопределенным результатом агент может наблюдать полученное состояние. Во-вторых, в представлении MDP нет явной модели времени. Действия моделируются так, как если бы они были дискретными, мгновенными и бесперебойными.

Как уже упоминалось, наличие вещественных величин и ограничений может вызвать большие трудности при планировании. В общем случае вещественные ограничения на действия могут быть нелинейными или могут включать производные. Простейший подход к работе с такими величинами при планировании состоит в том, что их следует игнорировать до тех пор, пока значения вещественных переменных не будут точно известны. Этот пассивный подход использовался в нескольких системах планирования [21], но он довольно слабый, поскольку обнаруживает трудности в конце процесса планирования и не дает никаких указаний при фактическом выборе соответствующего действия.

Было построено несколько планировщиков, которые проверяют согласованность наборов вещественных ограничений еще до того, как все переменные известны. Несколько планировщиков использовали методы линейного программирования (LP) для управления этими ограничениями [4, 15].

Также известен планировщик LPSAT [15]. LPSAT использует методы LP совместно с методами планирования SAT. Задача планирования кодируется как проблема SAT, за исключением того, что вещественнозначные предусловия и результаты заменяются булевыми триггерными переменными в кодировке SAT. В ходе планирования, если триггерная переменная становится истинной, соответствующее ограничение передается инкрементному Simplex-решателю. Если Simplex-решатель сообщает, что набор ограничений несовместим, SAT отступает чтобы изменить одну или несколько триггерных переменных. Производительность LPSAT весьма перспективна, но метод имеет те же недостатки, что и основной SAT-подход.

Другим подходом к обработке вещественнозначных величин является представление задачи планирования как смешанной целочисленной линейной задачи (ILP). В работах [22] обсуждаются методы перевода задач планирования в проблемы ILP. До сих пор методы ILP еще не конкурировали с методами планирования SAT, поскольку этап релаксации LP гораздо более дорогостоящий. Основным преимуществом подхода ILP является то, что все аксиомы, включая вещественные ограничения, переводятся в равенства и неравенства.

После того, как были освещены некоторые технологии планирования, нацеленные на поддержку неопределенности, вещественных величин, кратко затронем подход, предназначенный для работы с непрерывным временем. Рассмотрим системы [23, 24], которые объединили идеи планирования POCL и используют интервальное представление для действий и предложений. Данные системы опираются на методы удовлетворения ограничений для представления и управления отношениями между интервалами. Мы будем называть этот подход -основанный на ограничениях интервальный подход (СВ1 аргоаЛ).

Аллен представил набор из семи основных интервальных отношений (и их обратных), которые могут быть использованы для описания отношений между интервалами. Аллен описывает мир, утверждая, что предложения занимают интервалы времени. Аналогичным образом, действия и события описываются как некоторые интервалы. Ограничения между интервалами описывают отношения между действиями (или событиями).

Планировщик работает в обратном направлении от целей, добавляя к плану новые действия, которые, в свою очередь, вводят новые подцели в силу интервальных ограничений. Ограничения на интервалах затем переводятся в простые равенства и неравенства ограничения между конечными точками. Проверка вывода и согласованности в этой сети ограничений часто может быть выполнена с использованием быстрых алгоритмов дуговой совместности [25]. Планировщики СВ1 можно рассматривать как динамические механизмы удовлетворения ограничений - планировщик поочередно добавляет новые ограничения для сети, затем использует методы удовлетворения ограничений для распространения эффектов этих ограничений и для проверки согласованности.

Теперь кратко опишем исследования в области составления расписаний.

Составление расписаний и методы искусственного интеллекта

Составление расписаний не получало серьезного внимания в сообществе искусственного интеллекта до начала 1980-х годов, пока не начались разработки систем составления расписаний, управляемых ограничениями [26]. С того времени все большее число исследователей ИИ работает в этой области. Общая концепция составления расписаний в ИИ заключается в том, что это особый случай планирования, в котором действия уже выбраны, а требуется определить их допустимый порядок. Два хорошо известных учебника по исследованию операций [27, 28] определяют проблему составления расписания как проблему назначения ограниченных ресурсов заданиям с учетом времени для оптимизации одной или нескольких целей. В этом определении есть три важных момента:

• В основе задач составления расписаний лежат рассуждения о времени и ресурсах.

• Проблема составления расписания - это почти всегда проблема оптимизации.

• Проблема составления расписания также связана с выбором. Часто он не просто ограничивается выбором порядка заданий, но включает выбор того, какие ресурсы использовать для каждого задания. Для данного задания могут быть доступны несколько альтернативных ресурсов с разными затратами и / или продолжительностью.

В рамках теории расписаний принято выделять следующие разделы:

- сетевое планирование или построение расписания для проекта, Project scheduling (PS);

- календарное планирование или построение расписания для приборов, Machine scheduling (MS);

- составление временных таблиц (Time Tabling);

- доставка товаров в магазины (Shop-Floor Scheduling);

- составление расписаний движения транспортных средств (Transport Scheduling);

- циклические расписания для транспортных средств

Остановимся на двух основных классах задач: построение расписания для

проекта и построение расписания для приборов.

В задаче построения расписания для проекта (Resource-Constrained Project Scheduling Problem, RCPSP - построения расписания выполнения работ проекта с учетом отношений предшествования и ограничения на ресурсы) под проектом понимают совокупность взаимосвязанных действий, направленных на достижение конкретных целей.

В задаче RCPSP необходимо построить оптимальное расписание проекта (выполнения работ проекта) с учетом сетевого графика (отношений предшествования между работами) и с учетом необходимых/доступных ресурсов, при котором будет оптимизирована некоторая целевая функция [29].

В задачах построения расписания для приборов (в задачах календарного планирования) выделяются несколько подтипов задач: задачи для одного прибора, задачи для параллельных приборов, задачи цеха (Shop Scheduling), Jobshop, Flow-shop, Open-shop. Отличие задач построения расписания для проекта и расписания для приборов заключается в том, что при построении расписания для проекта подразумевается одновременное участие нескольких исполнителей. Календарное планирование - это процесс составления и корректировки расписания, в котором работы, выполняемые различными исполнителями, связываются между собой во времени и с возможностями их обеспечения различными видами материально-технических и трудовых ресурсов. При календарном планировании обязательно должно учитываться соблюдение заданных ограничений (продолжительность работ, лимиты ресурсов) и оптимальное распределение ресурсов.

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

Эвристические алгоритмы - алгоритмы, основанные на правдоподобных, но не обоснованных математически предположениях о свойствах оптимального решения задачи. Фактически в эвристическом алгоритме учитывается одно или несколько свойств оптимального решения, на основе которых производится сокращение перебора возможных решений.

Метаэвристические методы. Примерами таких метаэвристических методов являются генетический алгоритм и метод муравьиных колоний [30, 31].

Метод динамического программирования получил большое распространение при решении некоторых задач дискретной оптимизации [29].

Графический метод - это модификация метода динамического программирования [29]. Преимущества графического метода заключаются в следующем:

• с помощью графического метода можно решать примеры с нецелочисленными параметрами;

• известно, что для некоторых задач графический метод имеет полиномиальную трудоемкость, в то время как исходный алгоритм метода динамического программирования - псевдополиномиальную.

Метод ветвей и границ (B&B) широко используется для нахождения точного (оптимального) решения задач дискретной оптимизации. Чтобы построить алгоритм, основанный на методе Ветвей и Границ, необходимо определить способ ветвления и способы вычисления нижних и верхних оценок.

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

Существует обширная литература по теории расписаний в рамках теории исследования операций [27, 28]. Отличие большинства работ по интеллектуальному планированию от работ в области исследования операций заключается в том, что работы в рамках ИИ имеет тенденцию сосредотачиваться на общих представлениях и методах, которые охватывают ряд различных типов задач планирования. Напротив, работы по исследованию операций часто фокусируются на разработке оптимизированных методов для конкретных классов задач составления расписаний, таких как open-shop, flow-shop, job-shop, release dates и т.п.. В качестве примера рассмотрим [32]. В этой работе задачи составления расписаний классифицируются в соответствии с примерно 10 функциями, каждая из которых имеет от 2 до 10 значений. Конкретные подходы к решению многих из этих классов задач часто основаны на специализированных представлениях и алгоритмах.

В ИИ наиболее распространенным подходом к решению задачи составления расписаний является представление ее как задачи удовлетворения ограничений и использование общих методов удовлетворения ограничений [26, 27]. Для моделирования задач составления расписаний в виде CSP применяются два основных подхода, отличающиеся способом кодирования исходной информации и требованиями к решениям. В рамках первого подхода требуется назначить время начала каждому заданию, чтобы все заданные временные и ресурсные ограничения были удовлетворены. Второй поход предполагает, что в процессе решения между заданиями будут установлены отношения частичного порядка таким образом, чтобы все имеющиеся временные и ресурсные ограничения удовлетворялись.

Большая часть первоначальных работ, где составление расписаний рассматривалось в качестве задачи CSP, была выполнена в рамках первого подхода, и для некоторых приложений он по-прежнему является предпочтительным представлением. Однако существуют также недостатки, возникающие в результате того, что появляется множество вариантов, зависящих

от количества временных меток. Во-первых, набор возможных вариантов излишне велик, поскольку реальное количество вариантов значительно меньше, чем набор всех возможных присваиваний. Это затрудняет поиск решений из-за огромного размера пространства поиска. Во-вторых, подход зависит от дискретизации времени, что делает необходимым определять атомарные временные интервалы, прежде чем задача может быть решена. Хуже того, размер представления зависит от способа дискретизации времени - измеряется ли время в часах, минутах, секундах.

Второй подход к представлению задач составления расписаний в виде задач CSP основан на введении для каждой пары задач двух переменных. Если обеим этим переменным присваивается значение «ложь», то две задачи могут перекрываться во времени; присвоение «истины» для обеих переменных запрещено. Данный подход к представлению задач CSP имеет большое значение для устранения изложенных выше недостатков. В частности, результирующее пространство поиска в этом случае значительно меньше, поиск осуществляется на булевых переменных. Данное представление задачи не зависит от способа дискретизации времени, так как существуют алгоритмы, которые могут отслеживать диапазон времен начала заданий без использования дискретизированных временных точек (см., например, [25]). Следовательно, минимальная длина графика может быть определена непосредственно на основе заданного частичного порядка.

В последние годы многие исследователи ИИ изучали задачи выполнимости в качестве альтернативы общей формулировке задачи удовлетворения ограничений. Задача выполнимости является задачей удовлетворения ограничений, где каждая переменная является булевской переменной и каждое ограничение имеет форму дизъюнкции литералов, каждый из которых представляет переменную или отрицание переменной.

Работа в этой области привела к разработке различных быстрых и эффективных алгоритмов выполнимости [33]. Однако, было выявлено, что затраты на представление временных ограничений в рамках этого подхода нивелируют любые преимущества, обеспечиваемые более быстрыми алгоритмами [34].

До этого задача составления расписаний рассматривалась нами как задача удовлетворения ограничений. Однако задачи составления расписаний часто являются проблемами оптимизации. Задача удовлетворения ограничений легко может быть расширена до задачи оптимизации ограничений (COP). Все, что требуется, - это функция, которая отображает решение с помощью вещественнозначной функции стоимости или функции оценки [35]. Задачи оптимизации ограничений не изучались так широко, как обычные CSP. Тем не менее, имеется ряд полезных методов для решения COP. Многие из этих методов являются адаптацией методов удовлетворения ограничений, а другие используют более ранние методы оптимизации, такие как имитация отжига.

Сведение задачи составления расписаний к задаче CSP позволяет использовать широкий арсенал средств CSP: алгоритмы распространения ограничений, поиск в глубину с возвратами, структурные алгоритмы, алгоритмы локального поиска, алгоритмы обработки глобальных ограничений и т.п. [36, 37].

С учетом того, что задачи составления расписаний требуют анализа временных и ресурсных ограничений, были разработаны специальные методы

для успешного решения подобных задач, такие как: стратегия распространения -edge-finding [38], стратегия поиска в глубину с возвратами - Limited discrepancy search (LDS) [39], стратегия упорядочивания переменных - Slack-based heuristics [40] и др.

Заключение

Подводя итог, можно утверждать, что многие реальные задачи планирования характеризуются тем, что они выходят за тесные рамки классического планирования, где предполагается наличие полной и правильной информации, а также детерминированной, полностью наблюдаемой среды. Это предположение является недействительным во многих проблемных областях.

Несмотря на то, что предпринимаются попытки преодолеть такие ограничения классического планирования, как сложность работы с вещественнозначными величинами, трудности при моделировании неопределенности, требования к полной наблюдаемости среды планирования и детерминированности действий исполнителя, пока нельзя с уверенностью сказать, что с большинством проблем удалось справиться, и все они достаточно хорошо проработаны [41].

Из проведенного обзора следует, что программирование в ограничениях как технология решения задач комбинаторного поиска и комбинаторной оптимизации находит широкое применение в задачах составления расписаний, однако в более общих задачах интеллектуального планирования ее применение все еще весьма ограничено.

По мнению авторов, данная технология в области интеллектуального планирования не получила должного внимания, а многие методы планирования используют методы SAT, а не CSP. При разложении задачи CSP и представлении ее в форме задачи SAT теряется часть информации о структуре задачи, которую можно использовать для ускорения процедур вывода.

Существенным недостатком современных методов интеллектуального планирования является невозможность специфицировать и решать задачи относительно переменных, являющихся сложно структурированными, семантически согласованными данными, в частности, объектно-ориентированными.

При разработке методов интеллектуального планирования возникает дополнительная сложность в случае, когда требуется обеспечить поддержку открытой модели предметной области. Процесс создания такой модели осуществляется поэтапно. На различных этапах в нее могут включаться типы зависимостей, критерии оптимизации, которые не могли быть априорно учтены. Если в некоторой постановке задачи планирования решения не существует, то должна быть обеспечена возможность «ослабить» задачу. В этих условиях применение традиционных методов теории исследования операций представляется проблематичным.

Литература

1. Russel S., Norvig P. Artificial Intelligence: A Modern Approach. 3rd edition. Prentice Hall, 2010. 1132 p.

2. Fikes R. and Nilsson N. STRIPS: A new approach to the application of theorem proving to problem solving. Artificial Intelligence, 1971, pp. 189-208.

3. Pednault E. ADL: Exploring the middle ground between STRIPS and the situation calculus. Proc. 1st Int. Conf. on Principles of Knowledge Representation and Reasoning, 1989. pp. 324-332.

4. Penberthy J. and Weld D. Temporal planning with continuous change. Proc. 12th National Conf. on AI, 1994. pp.1010-1015.

5. Peot M. and Smith D. Conditional nonlinear planning, Proc. 1st Int. Conf. on AI Planning Systems, 1992. pp. 189-197.

6. Williamson M and Hanks S. Optimal planning with a goal-directed utility model. Proc. 2nd Int. Conf. on AI Planning Systems, 1994. pp.176-180.

7. Blum A and Furst M. Fast planning through planning graph analysis. Proc. 14th Int. Joint Conf. on AI, 1995. pp. 1636-1642.

8. Anderson C, Smith D. and Weld D. Conditional effects in Graphplan. Proc. 4th Int. Conf. on AI Planning Systems. 1998. pp. 44-53.

9. Blum A and Langeford J. Probabilistic planning in the Graphplan framework. Proc. AIPS-98 Workshop on Planning as Combinatorial Search, 1998. pp. 8-12.

10.Smith D and Weld D. Conformant Graphplan. Proc. 15th National Conf. on AI, 1998. pp. 889-896.

11.Smith D and Weld D. Temporal planning with mutual exclusion reasoning. Proc. 16th Int. Joint Conf. On AI, 1999. pp. 326-333.

12.Koehler J. Planning under resource constraints. Proc. 13th European Conf. on AI. 1998. pp. 489-493.

13.Weld D. Recent advances in AI planning. AI Magazine. 1999, 20(2), pp. 93-123.

14.Rintanen J. Planning and SAT. In A. Biere, H. van Maaren, M. Heule and Toby Walsh, Eds., Handbook of Satisfiability, IOS Press. 2009, pp. 483-504.

15.Wolfman S. and Weld D. Combining linear programming and satisfiability solving for resource planning. The Knowledge Engineering Review. 1999. 15(1).

16.Drabble B. and Tate A. The use of optimistic and pessimistic resource profiles to inform search in an activity based planner. Proc. 2nd Int. Conf. on AI Planning Systems, 1994. pp. 243-248.

17.Allen J. and Koomen J. Planning using a temporal world model. Proc. 8th Int. Joint Conf. on AI, 1983. pp. 741-747.

18.Wilkins D. Can AI planners solve practical problems? / Computational Intelligence 6(4), 1990.

19.Erol K., Hendler J., and Nau D. Semantics for Hierarchical Task Network Planning. Technical report CSTR-3239, Dept. of Computer Science, U. Maryland. 1994.

20.Dean T., Kaelbling L., Kirman J., and Nicholson A. Planning under time constraints in stochastic domains. AI, 1995. 76, pp. 35-74.

21.Drabble B. Excalibur: a program for planning and reasoning with processes. Artificial Intelligence 1993. 62, pp.1-40.

22.Kautz H and Walser J. State-space planning by integer optimization. The Knowledge Engineering Review. 1999. 15(1).

23.Muscettola N. HSTS: integrating planning and scheduling. Proc. 12th National Conf. on AI, 1994, pp. 169-212.

24.Ferguson G., Allen J. and Miller B. TRAINS-95: towards a mixed-initiative planning assistant. Proc. 3rd Int. Conf. on AI Planning Systems, 1996. pp. 70-77.

25.Dechter R., Meiri I. and Pearl J. Temporal constraint networks. Artificial Intelligence, 1991, 49, pp. 61-95.

26.Zweben M. and Fox M. Intelligent Scheduling. ACM SIGART Bulletin, 1995, 6(2), pp. 49-51.

27.Pinedo M. Scheduling Theory, Algorithms and Systems. Prentice Hall. NY, 1995, 671 p.

28.Baker K. Elements of Sequencing and Scheduling. Dartmouse College, Hanover, NH, 1998.

29. Лазарев, А.А. Теория расписаний. Задачи и алгоритмы. / А.А.Лазарев, Е.Р. Гафаров; - М.: Московский государственный университет им. М.В. Ломоносова (МГУ), 2011, 222 с.

30.Colorni, M. Dorigo et V. Maniezzo. Distributed Optimization by Ant Colonies, actes de la premiere conference europeenne sur la vie artificielle, Paris, France, Elsevier Publishing. 1991. pp. 134-142.

31.M. Dorigo. Optimization, Learning and Natural Algorithms, PhDthesis, Politecnico di Milano, Italie, 1992.

32.Brucker P. Scheduling Algorithms, second edition. Springer-Verlag. 1998.

33.Kautz H. and Selman B. Pushing the envelope: planning, propositional logic, and stochastic search. Proc. 13th Nat. Conf. on AI. 1996, pp. 1194-1201.

34.Jonsson A., Morris P., Muscettola N., Rajan K. Next generation remote agent planner. Proc. 5th Int. Symposium on AI, Robotics and Automation in Space. ESTEC, Noordwijk, Netherlands, 1999, pp. 363-370.

35.Plaunt C., Jonsson A., and Frank J. Satellite tele-communications scheduling as dynamic constraint satisfaction. Proc. 5th Int. Symposium on AI, Robotics and Automation in Space, 1999, pp. 277-284.

36.Chu G., Stuckey P. Learning value heuristics for constraint programming. In Integration of AI and OR techniques in constraint programming. Springer LNCS, 2015, 9075.pp.108-123.

37.Stefan Kreter, Andreas Schutt, Peter J. Stuckey Using constraint programming for solving RCPSP/max-cal. Constraints, 2017, Volume 22, Issue 3, pp. 432-462.

38.Carlier J. and Pinson E. An algorithm for solving the job shop scheduling problem. Management Science, 1989. 35(2). pp. 164-176.

39.Harvey W, and Ginsberg M. Limited discrepancy search. Proc. 14th Int. Joint Conf. on AI, 1993. pp. 607-613.

40.Smith S. and Cheng C. Slack-based heuristics for constraint satisfaction scheduling. Proc. 11th Nat. Conf. on AI, 1993. pp. 139-144.

41.David E. Smith, Jeremy Frank, and Ari K. Jonsson. Bridging the Gap Between Planning and Scheduling. Knowledge Engineering Review, 15(1), 2000. pp. 47-83.

Сведения об авторах

Зуенко Александр Анатольевич - к.т.н, старший научный сотрудник

е-mail: zuenko@iimm.ru

Alexander A. Zouenko - Ph.D. (Tech. Sci.), senior researcher

Фридман Ольга Владимировна - к.т.н, старший научный сотрудник

е-mail: ofridman @iimm.ru

Olga V. Fridman - Ph.D. (Tech. Sci.), senior researcher