Экономика, организация и менеджмент на предприятии
ГРОМОВ Сергей Алексеевич
главный специалист отдела внедрения корпоративных информационных систем, ЗАО НПО «Тяжпромарматура»
УДК 004.89:330.115
Методы адаптивного и генетического поиска в оперативном планировании производства
С.А. Громов
Рассмотрены проблемы автоматизации построения оперативных планов производства. Приведена формальная постановка одной практической задачи, затронуты вопросы ее алгоритмической сложности. Предложены и исследованы подходы к решению поставленной задачи на основе методов искусственного интеллекта.
Ключевые слова: оперативное планирование производства, теория расписаний, NP-полные задачи, методы искусственного интеллекта, мультиагентные системы, адаптация программных агентов, генетические алгоритмы.
The article discusses the problems of the production scheduling process automation. A strict formulation of one practical scheduling problem is performed, the problems of its algorithmic complexity for scheduling are touched upon. The approaches to the problem to solve are proposed and investigated based on the artificial intelligence methods.
Keywords: production scheduling, scheduling theory, class NP-hard tasks, artificial intelligence methods, multi-gent systems, adaptation of software agents, genetic algorithms.
Возможности современных информационных систем в части поддержки процессов оперативного планирования производства достаточно широки. Среди большого перечня программных продук-
тов можно выделить целые классы систем так или иначе включающие в свой арсенал функциональность, покрывающую соответствующие предметные области. К подобным классам систем следует отнести ERP — системы, традиционно затрагивающие задачи планирования, а также недавно сформировавшиеся классы, такие как MES-системы и APS-системы. К примеру, модуль SAP APO (Advanced Planning & Optimization) широко известной компании SAP AG является системой APS-класса [1]. Уникальность задач оперативного планирования производства на цеховом уровне обуславливается набором индивидуальных ограничений, специфике производственных и технологических процессов предприятия.
Определения процесса детального планирования, которые даются международными организациями такими как MESA organization и APICS, говорят о том, что их стоит рассматривать в контексте задач теории расписаний (ТР). Согласно определению международного консорциума по производственным системам (Manufacturing Enterprise Solutions Association (MESA) International), оперативное/детальное планирование трактуется как процесс составления и расчета производственных расписаний, основанный на приоритетах, атрибутах, характеристиках и способах, связанных со спецификой изделий и технологией производства.
Таким образом, оперативное планирование сводится к задачам ТР, в рамках которых необходимо назначить исполнителя каждому заданию, а затем упорядочить задания для каждого исполнителя, т. е. найти наилучшую, с точки зрения поставленной цели, последовательность их выполнения.
В общем виде базовая постановка задачи ТР начинается с описания системы машин и множества заданий или работ. Пусть система состоит из множества машин {M}, | M| = m и множества заданий или работ {N}, | N\ = n.
В классической ТР различают три класса задач: задачи упорядочения, задачи распределения, задачи согласования (сетевое планирование).
Простейшим и наиболее изученным классом задач ТР являются задачи упорядочения. В этих задачах распределение работ по машинам и длительности их выполнения предполагаются заданными. Необходимо указать наиболее эффективную стратегию управления очередями требований на выполнение работ каждой машиной.
Задачи распределения предполагают, что одна и та же машина может выполнять различные задания. Необходимо указать наилучшее, в некотором смысле, распределение заданий по машинам.
В задачах согласования основное внимание уделяется выбору длительностей работ, а также расчету моментов начала работ при заданном их распределении по машинам.
При построении моделей оперативного планирования в реальных ситуациях редко удается получить «чистую» задачу, относящуюся к конкретному классу. Как правило, принятие наилучших плановых решений сопряжено с рассмотрением экстремальных задач, в которых в значительной мере объединяются элементы упорядочения, согласования и распределения.
Формальная поставка задачи
Часто при решении практических задач построения производственных расписаний прибегают к определенному упрощению описания производственного процесса. В частности, агрегаты, задействованные в последовательном выполнении операций производственного цикла, представляются в виде единой абстрактной машины или производственной линии, выполняющей выпуск продукции. Реализуя подобное преобразование, удается значительно сократить число рассматриваемых элементов задачи ТР и избежать некоторых ограничений. Разумеется, подобное упрощение далеко не всегда адекватно, однако предпосылки, позволяющие представить производственный процесс, как одну операцию на одной машине встречаются не так редко. Таким образом, результаты упорядочения для одной машины прямо применимы в следующих случаях:
♦ сложные технические комплексы функционируют как одно целое (в металургии, хими-
ческой отрасли и массовом машиностроении производственная линия или все предприятие зачастую представляет собой одно целое по отношению к конечному продукту производства);
♦ из совокупности операций каждой работы одна (выполняющаяся на определенной машине) является доминантной; в таких ситуациях второстепенными операциями можно пренебречь и рассматривать систему как бы состоящей из одной машины, осуществляющей эту доминантную операцию;
♦ одна из машин временно становится настолько узким местом в системе, что в основном определяет ее производительность. Для этой машины расписание составляется отдельно и независимо от других машин. Например, если в технологическом цикле изготовления различных деталей имеются операции, выполняющиеся на ресурсах с ограниченной пропускной способностью. Такие участки принято называть бутылочное горло. В этом случае для этого участка расписание составляется в первую очередь, поскольку его возможности являются определяющими для всей технологической цепочки.
Для предприятий отечественного тяжелого машиностроения имеет место следующая задача оперативного планирования производства, сочетающая в себе различные классы задач ТР.
Дано:
♦ множество машин — производственных линий {М}, | М| = т, каждая линия характеризуется определенным перечнем параметров, значение которых накладывает дополнительные ограничения при назначении работ. График недоступности производственных линий определяет периоды сервисов или ремонтов;
♦ начало 1-го сервиса на у-й линии $Ъп;
♦ окончание 1-го сервиса на у-й линии $е]1;
♦ общее количество оснастки Я£);
♦ матрица времени переналадки линии ^^, требуемого при переходе с выпуска /-го задания на у-е, каждый элемент матрицы > 0;
♦ матрица смежности (спаренности) производственных линий ЬБ, которая вводит дополнительные ограничения на загрузку производственных линий:
М
у 1Л
1, если линии у и у2 являются спаренными, 0 в противном случае;
♦ конечное множество заданий {И}, | N1 = п, каждое задание / состоит из одной операции. Задание — элементарная задача, подлежащая выполнению, оно характеризуется:
♦ номером машины т,, на которую назначено /-е задание, 1< т, < т,
♦ длительностью задания t¡,
♦ индивидуальным директивным сроком М -го задания,
♦ признаком необходимости использовать оснастку щ, £ {0,1},
♦ матрицей инцидентности заданий и производственных линий Я, элемент матрицы Гу отражает приоритет выбора ]-й линии для выполнения /-го задания:
Г=
у
Г > 0,
'у —
Г.. = оо
» '
значение да, если 1-е задание не производится на у-й линии,
♦ матрицей смежности заданий ИБ, определяющей возможность параллельного выпуска на смежных линиях:
пМ =
1112
1, если задания ^ и /2 можно выпускать
на смежных линиях, 0,в противном случае.
Определить: Разбиение N = И1 и И2 и. ,.иИт множества заданий N на т непересекающихся подмножеств, такое что:
1) распределение заданий по линиям соответствует матрице инцидентности Я, Ут £ М, /£ Ит * гш > 0;
2) для заданий осуществляется выбор линий с наименьшим значением приоритета,
•штК
I /£И
3) для каждого подмножества Ит на горизонте планирования Б существует расписание (упорядочение) ат: Ит ^ {0,1,...,Б} такое, что:
последовательности выполнения заданий на одной линии не повторяются,
Уп
/■+1
N \/ * а т (п а т (П / *
не нарушается график доступности т-й ли-
„ ,_АГ т (П ) ; ],
нии, Уп, £ Nт
' т т П )+ ^ £[ *Ьт1 ; т1 ];
не превышается количество загруженных линий единовременно, V/£0,1,....,Д| п, £
N: 2«
m=1
выполняются условия назначения переналадок линий П/+1 £ Жт \ / т (п/)< ° т (п /41 ) ^
^ а т (п /+1 ) - а т (п i ) - ti > 1П/4 1 ;
выполняются ограничения по единовременному использованию оснастки, V/£{0,1,....,А}:{Уп; £ Ж:
[ат п );ат Ц- ) 4 t] ] с / Л щ =1} < ЛО;
выполняются ограничения по загрузке смежных линий V/£{0,1,....,А},Ут1,т2 £М:Ып 1 т2 =1,
N я, £ N.
я
Л
(як )= CT m (П, )= i ^ =1
J J
т. е. единовременно на смежных линиях могут выполняться смежные задания.
Общим критерием для построения всего расписания является минимизация целевой функции F ^ min, где F понимается как функция штрафа, отражающая суммарное отклонение заданий от индивидуальных директивных сроков:
N
F = )+ ti )■
■d,\
»min.
Анализируя представленную постановку, можно предположить, что решение задачи невозможно получить, рассматривая и решая по отдельности задачу разбиения и задачи упорядочения на каждой из т производственных линий.
Методы решения
«Временной» характер задач ТР выделяет их в особый класс, существенно отличающийся от «объемных» экономических задач. Если в последних требуется ответить на вопрос, что и сколько производить, то в задачах ТР необходимо определить, когда, в какой последовательности выполнять задания. Это различие
в существе задач определяет различие в методах и возможностях их решения. Для задач объемного характера разработан достаточно мощный аппарат, главным образом математического программирования, позволяющий, в общем, с успехом добиваться их решения. Для задач ТР решающий аппарат развит в гораздо меньшей степени.
В ряде источников простейшие задачи ТР, отмечены как МР-полные или МР-трудные (МР-полнота для которых не доказана, но при этом они являются труднорешаемыми) [2—4]. Приведем некоторые простейшие задачи: задача упорядочивания внутри интервалов является МР-полной, задача упорядочения с минимальным запаздыванием является МР-полной, задача составления расписания для произвольного числа машин и заданий является МР-пол-ной.
Разумеется, имеют место частные индивидуальные задачи, для которых существуют полиномиальные алгоритмы, например расписание для двух станков, с отношением предшествования и работ произвольной длительности. Однако, большинство проблем построения расписаний для промышленных объектов далеки от таких индивидуальных задач.
Трудности, с которыми приходится сталкиваться при решении практических задач построения производственных расписаний, не исчерпываются только алгоритмическими проблемами (МР-трудность, МР-полнота). Иногда достаточно сложно выполнить абстрагирование и строгую формализацию требуемую, например, при использовании методов математического программирования. Реальные производственные ограничения крайне трудоемко, а может быть и невозможно, свести к формату системы неравенств, необходимому для использования этого аппарата. При этом далеко не всегда целевая функция имеет линейный вид. Если рассматриваемая оптимизационная задача МР-трудна, то в настоящее время нельзя построить точный полиномиальный алгоритм ее решения. Предпочтительно попытаться найти приближенный алгоритм решения, время которого ограничено полиномом. Таким образом, МР-полнота задачи является веским дово-
дом при обосновании необходимости построения приближенных или эвристических алгоритмов ее решения [5].
Основная особенность эвристических методов заключается в том, что практически нет ограничений на постановку решаемой задачи. Если в классических методах добавление того или иного условия может повлечь за собой неприменимость сразу целого ряда методов, и даже невозможность решить задачу строгими методами, то в этом случае такой проблемы нет — следует лишь изменить формализацию задачи в рамках применяемого метода. Идеи эвристических методов несут комбинаторный подход, который заключаются в целенаправленной перестановке пар работ в некоторой исходной последовательности, пока не будет получено квазиоптимальное (близкое к оптимальному) решение. Таким образом, строится направленный алгоритм перебора. В ряде случаев используют решающие правила — эвристики, применение которых не гарантирует получение оптимума, но предоставляет приемлемый результат.
Подходы искусственного интеллекта являются современным и популярным направлением в развитии эвристических методов. Основа этих алгоритмов не отличается от комбинаторных подходов и представляет собой направленный поиск в пространстве состояний.
В качестве базовых технологий, для решения задач комбинаторной оптимизации, которыми являются задачи ТР, в искусственном интеллекте предлагаются: методы эволюционного поиска — многообразие генетических алгоритмов, а также методы на основе технологии адаптации программных агентов.
В основе подхода с использованием технологии программных агентов заложен метод обучения с подкреплением [6, 7]. Рассматривается коллектив программных агентов, на который возлагается задача направленного поиска в пространстве состояний. На момент запуска алгоритм предусматривает наличие произвольно взятого начального решения, полученного случайным образом или с помощью эксперта. Идея алгоритма заключается в последовательном улучшении решения на каждой последующей итерации. Процесс поиска состоит из по-
вторяющихся этапов, каждый из которых представляет собой переход от одного решения к другому, лучшему, что и образует процедуру последовательного улучшения решения. Детальное описание алгоритма адаптивного поиска (ААП) применительно к задачам ТР представлено в работах [8, 9].
В качестве альтернативного подхода к решению задачи был использован модифицированный генетический алгоритм (МГА). За основу был взят простейший генетический алгоритм. [10]. Эффективность применения алгоритмов подобного рода традиционно зависит от того на сколько целесообразно осуществляется кодирование решения, а также от того как проведена формализация штрафных функций моделирующих ограничения, учитываемых при расчете функции пригодности. Помимо традиционных подходов, для повышения эффективности были модифицированы базовые операторы генетического поиска: мутации и скрещивания. В логику этих операторов был включены экспертные правила, или эвристики, разработанные предметными специалистами. Такое преобразование базовых операторов позволяет исключить потенциальные решения, т. е. потомки, которые заведомо не удовлетворяют ограничениям. Подробно алгоритм описан в работе [11].
Предложенные алгоритмы были реализованы программно с использованием среды MATLAB 7, а также стандарта ANSI C/C++. На базе программного решения в контексте рассматриваемой задачи построения расписания проведены исследования, направленные на оценку общей сходимости двух разработанных алгоритмов. Исследование проводилось по двенадцати точкам, выбранным экспертно и отличающимся размерностью задачи. Для каждой точки эксперимента, определяемой набором исходных данных, выполнялось несколько прогонов расчетной модели. Полученные результаты усреднялись по количеству прогонов (рис. 1). Результаты численных экспериментов подтвердили общее предположение о целесообразности использования приближенного алгоритма для получения приемлемого (квазиоптимального) решения. Характер графиков от-
Рис. 1. Сходимость алгоритмов
ражает почти линейную зависимость времени счета от размерности задачи, таким образом можно предполагать полиномиальную временную сложность предложенных алгоритмов. Следует отметить, что использование алгоритма адаптивного поиска имеет более быструю сходимость, однако полученные решения уступают по качеству результатам, достигаемым при использовании модифицированного генетического алгоритма.
Данное обстоятельство послужило предпосылкой к созданию гибридного поискового алгоритма, сочетающего достоинства как адаптивного, так и генетического поиска. Гибридный алгоритм сочетает подходы адаптивного и генетического поиска в рамках единого оптимизационного процесса. Основная идея гибридизации заключается в возможности обмена решениями, полученными каждым алгоритмом в отдельности МГА и ААП в ходе поискового процесса. Гибридный алгоритм можно применять в условиях ведения параллельных вычислений на соответствующих вычислительных ресурсах.
Результаты исследования качественных характеристик предложенных в работе алгоритмов для одних и тех же исходных данных представлены на рис. 2. Улучшение качества оцени-
вается по отношению значения целевой функции на соответствующем цикле работы алгоритма в сравнении с начальным решением. В целях наглядности демонстрации в эксперимент дополнительно был включен алгоритм случайного поиска решения.
Анализируя полученные зависимости, можно отметить тот факт, что все алгоритмы, за исключением случайного, показывают явную направленность поиска. Что касается скорости сходимости, то наиболее быстрым является ААП. Однако общее качество итоговых решений явно уступает результатам, полученным в МГА и гибридном алгоритме. Таким образом, для быстрого получения приемлемых решений достаточно пользоваться адаптивным поиском. В обратном случае, если же требуется найти наиболее качественные решения, рекомендуется воспользоваться алгоритмом генетического поиска. Следует отметить, что добиться качественных результатов можно быстрее, применяя гибридный алгоритм, нежели МГА.
Выводы
Описанные алгоритмы генетического поиска и адаптивного поиска были реализованы программно для автоматизации решения поставленной выше практической задачи по-
Рис. 2. Эффективность алгоритмов
строения промышленного расписания. Ряд запусков соответствующих программных модулей показал адекватность их применения в рассматриваемых условиях. В настоящее время только адаптивный подход реализован про-мышленно в виде оптимизационного алгоритма. Этот алгоритм расширяет возможности базовой функциональности APS-системы ORACLE ASCP, входящей в состав ERP ORACLE e-Business Suite. Данная разработка использована при автоматизации решения задачи оперативного планирования производства на одном из отечественных предприятий. Однако ввиду модернизации производства есть веские предпосылки по использованию гибридного поискового алгоритма.
Литература
1. Норенков И.П. Система SAP Business Suite. Системы автоматизированного проектирования (САПР) МГТУ им. Н.Э. Баумана. 2006. 72 с.
2. Гэри М, Джонсон Д. Вычислительные машины и труд-норешаемые задачи. М.: Мир, 1982.
3. Теория расписаний и вычислительные машины / Под ред. Э.Г. Коффмана. М.: Наука, 1984. 334 с.
4. Конвей Р.В., Максвелл В.Л., Миллер Л.В. Теория расписаний. М.: Наука, 1975. 358 с.
5. A.S. Jain, S. Meeran. Theory and Methodology Deterministic job-shop scheduling: Past, present and future. European Journal of Operational Research 113, 1999. P. 390—434.
6. Редько В.Г., Прохоров Д.В. Нейросетевые адаптивые критики // Научная сессия МИФИ. 2004. VI Всероссийская научно-техническая конференция «Нейроинформатика — 2004» // Сб. науч. трудов. Ч. 2. М.: МИФИ, 2004. С. 77—84.
7. Sutton R., Barto A. Reinforcement Learning: An Introduction. Cambridge: MIT Press, 1998.
8. Громов С.А, Тарасов В.Б. Методы искусственного интеллекта в автоматизации оперативного планирования// Программные продукты и системы. 2007. № 4. С. 89—92.
9. Громов С.А., Дубовенко А.А. Использование экспертных оценок для обучения алгоритмов генетического и адаптивного поиска в задачах оперативного планирования. Интегрированные модели и мягкие вычисления в искусственном интеллекте // Сб. трудов IV-й Международной научно-практической конференции (Коломна, 28—30 мая 2007). В 2-х т. Т. 1. М.: Физматлит, 2007. С. 308—313.
10. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. М.: Физматлит, 2003. 462 с.
11. Громов С.А. Интеллектуализация систем оперативного планирования производства // Сб. трудов VI-й Международной научно-практической конференции (Коломна, 16—19 мая 2011). М.: Физматлит, 2011. В 2-х т. Т. 2. С. 588—598.
Статья поступила 30.06.2011 г.