Научная статья на тему 'Бионические алгоритмы решения иерархической задачи составления расписания при оперативном планировании производства'

Бионические алгоритмы решения иерархической задачи составления расписания при оперативном планировании производства Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
228
46
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЯ / ОПЕРАТИВНОЕ ПЛАНИРОВАНИЕ ПРОИЗВОДСТВА / ЭВРИСТИКА ЛИНА --КЕРНИГАНА / МУРАВЬИНЫЙ АЛГОРИТМ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / SCHEDULING PROBLEM / SHORT-TERM PRODUCTION PLANNING / LIN --KERNIGHAN HEURISTIC / ANT COLONY OPTIMIZATION / GENETIC ALGORITHM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Семенкина О. Е., Попов Е. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Nature-Inspired Algorithms for Solving a Hierarchical Scheduling Problem in Short-Term Production Planning

The paper deals with the scheduling problem relevant in many fields, such as project management, lesson scheduling or production scheduling. In practice, using optimisation methods to solve the scheduling problem is considerably restricted by the fact that in the real world, problem statement involves high dimensionality, high production process complexity and many nontrivial constraints. These specifics mean that even merely searching for a feasible solution becomes a difficult task. Consequently, in order to solve the problem in a reasonable amount of time it is necessary to use problem-oriented heuristics. Ensuring manufacturing process stability involves respecting all constraints, but at the same time, short-term production planning demands fast solutions whenever there is a change of state. We propose to implement a hierarchical problem structure that puts the travelling salesman problem at the top and replaces the nested resource-constrained project scheduling problem with a simulation model. The paper considers using such algorithms as the Lin --Kernighan heuristic, the genetic algorithm and the ant colony optimization. We study the efficiency of employing the algorithms mentioned above to solve the scheduling problem in the statement proposed

Текст научной работы на тему «Бионические алгоритмы решения иерархической задачи составления расписания при оперативном планировании производства»

УДК 519.87

DOI: 10.18698/0236-3933-2019-3-46-63

БИОНИЧЕСКИЕ АЛГОРИТМЫ РЕШЕНИЯ ИЕРАРХИЧЕСКОЙ ЗАДАЧИ СОСТАВЛЕНИЯ РАСПИСАНИЯ ПРИ ОПЕРАТИВНОМ ПЛАНИРОВАНИИ ПРОИЗВОДСТВА

О.Е. Семенкина Е.А. Попов

[email protected] [email protected]

СибГУ им. М.Ф. Решетнева, Красноярск, Российская Федерация

Аннотация

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

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

Задача составления расписания, оперативное планирование производства, эвристика Лина — Кернигана, муравьиный алгоритм, генетический алгоритм

Поступила 14.01.2019 © Автор(ы), 2019

Исследование выполнено при финансовой поддержке РФФИ (проект № 18-37-00433)

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

• соблюдение договорных сроков выпуска готовой продукции;

• сокращение размеров незавершенного производства;

• выдача сменно-суточных заданий;

• снижение себестоимости продукции;

• обеспечение рациональной равномерной загрузки оборудования;

• своевременное обнаружение отклонений от плана, принятие мер по их устранению.

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

Для любого типа планирования, для любой направленности организации или производства, а также для любой степени автоматизации постоянным является одно — необходимость оптимизации. Будь то в смысле системы поддержки принятия решений при выборе набора проектов для внедрения на производстве, при заключении договоров на производство определенных продуктов, при составлении план-графика реализации проектов или в смысле составления сменно-суточных заданий для рабочих, а также перепланирования при изменении ситуации или поломке оборудования. Если речь идет о масштабном производстве с участием сложного оборудования сотен различных видов, номенклатур продуктов, включающих тысячи позиций, десятков самостоятельных цехов, то утверждать об оптимальном управлении силами экспертов не приходится. Здесь находят свое применение современные информационные технологии поддержки оперативного планирования производства.

Среди доступных на данный момент программных продуктов можно выделить следующие.

1. Системы планирования и управления ресурсами предприятий класса ERP (Enterprise Resource Planning) [1], решающие распространенные задачи управления финансами, персоналом, логистикой и пр., в том числе:

- SAP ERP — программное обеспечение, ориентированное на крупные и средние предприятия, разрабатываемое и продаваемое компанией SAP SE (Германия) [2];

- Microsoft Dynamics — набор программных приложений для планирования ресурсов предприятия и управления взаимоотношениями с клиентами [З];

- Oracle E-Business Suite — комплекс прикладного программного обеспечения, предназначенный для автоматизации основных направлений деятельности предприятий [4];

- «1С:Предприятие» — программный продукт для автоматизации деятельности на предприятии, первоначально предназначенный для автоматизации бухгалтерского и управленческого учетов [5].

2. Производственные исполнительные системы MES (Manufacturing Execution Systems), предназначенные для решения оперативных задач и относящиеся в основном к системам управления уровня цеха [6].

3. Системы управления взаимоотношениями с клиентами CRM (Customer Relationship Management), позволяющие повышать уровень продаж и улучшать обслуживание клиентов за счет сохранения истории взаимоотношений, анализа результатов взаимодействия, формирования статистики [7].

4. Системы производственного планирования APS (Advanced Planning & Scheduling) с возможностью быстрого составления планов с учетом имеющихся ресурсов и производственных ограничений, а также быстрого перепланирования по заранее составленным сценариям [8].

5. Системы управления лабораторной информацией LIMS (Laboratory Information Management System), являющиеся необходимым инструментом для предприятий химической области, а также любых предприятий, где берутся пробы, проводятся анализы сырья, материалов и продукции [9]. Эти системы также используются в научно-исследовательских центрах, где разрабатываются новые технологии производственного процесса или усовершенствуются существующие.

Как правило, на крупных реальных производствах все эти системы (или набор из нескольких) присутствуют одновременно, и выстраивается целая «пирамида» систем автоматизации различных уровней [10]. К тому же эта «пирамида» на деле не соответствует полноценной системе взаимодействия

элементов предприятия в единой информационной структуре, а носит «лоскутный» характер автоматизации [11], что приводит к накоплению ошибок и, как следствие, — к потере времени и качества. Алгоритмы построения расписаний в таких системах достаточно просты и в основном сводятся к итерационным процессам получения допустимого решения с учетом ограничений, т. е. к несложным эвристикам. К тому же все они оперируют общими понятиями, не учитывающими специфику конкретного производства, и не включают готовых модулей оптимизации составления расписания работ для оборудования и рабочих. Поэтому в настоящее время основными направлениями развития подобных систем является их интеграция и интеллектуализация. Однако данные, накопленные этими системами, уже могут быть эффективно использованы для поддержки принятия бизнес-решений на всех уровнях, например при прогнозировании спроса, расчете загруженности складов, анализе рисков, оценке скидок и т. д. [12]

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

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

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

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

Problem, RCPSP) [15]. Для решения классической RCPSP-задачи разработаны точные методы поиска оптимального расписания, но ввиду вычислительной сложности они применимы только к небольшим задачам.

Определим RCPSP более формально. Пусть n — число операций (работ/activities), которое необходимо выполнить для осуществления некоторого проекта, m — число доступных возобновляемых ресурсов. Тогда планируемый проект можно описать множеством из n + 2 работ {ао, ..., an+i}, где нулевая и (п+1)-я работы являются фиктивными и существуют для обозначения начальной и конечной точек проекта. Требуется составить расписание для множества работ A = {ab ..., an}, используя множество возобновляемых ресурсов R = {ri, ..., rm} такое, что каждый к-й ресурс rk доступен в объеме Вк.

Обозначим вектор длительностей операций какp = (p0,...,pn+1) е Nn+2, где pi — длительность i-й операции; ро = pn+i = 0. Для осуществления i-й операции требуется использование ресурса к объемом bik для к = 1, ..., m. Пусть Si — начальный момент времени операции ai для i = 0, ..., n+1, где So = 0, а момент Sn+1 представляет суммарную длительность проекта, так как равен разности конечного и начального моментов времени.

Отношение предшествования можно описать в виде множества E, представляющего собой набор пар номеров операций (i, j) таких, что операция i должна быть завершена до начала выполнения операции j, что порождает ограничение

Si + pi < Sj V(i, j) e E. (1)

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

An process =ii G AIS * t < S + pi } ,

не превосходит доступного объема ресурсов каждого вида, что может быть представлено в виде ограничения

x bk < Bk Vk eim vt e[ 0, T ]. (2)

i 6 Ain process

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

Допустим S = {S0, S1, ..., Sn, Sn+1} представляет собой некоторое решение RCPSP, т. е. составленный план проекта; оно является допустимым, если удовлетворяет ограничениям (1), (2). Таким образом, можно опре-

делить RCPSP как оптимизационную задачу минимизации критерия S„+i ^ min при ограничениях (1), (2).

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

Пусть L = {li, l2,..., Ih} — множество партий (lot) или проектов, где каждая партия h должна быть обработана согласно соответствующей ей последовательности операций, определенной множеством Eh: Ah = = Iah, —,ahh J. В этом случае целевую функцию можно описать выражением

ZSj+i ^min. (3)

¡=1

Тогда ограничения (1), (2) принимают вид

Sh + Pi < Sh V(i, j) e Eh, Vh e 1H, (4)

E X bh ^Bk VkeTm, Vt e[0,T], (5)

h=1 ieAh

in process

где Ahn process = {i * Ah\Sh * t < Sh + Pi ) Vt ^ [0, T ] •

Оптимизационная задача (3)-(5) может рассматриваться как иерархическая задача, состоящая из комбинаторной задачи оптимизации для определения последовательности запускаемых в производство партий, и RCPSP для каждой партии. При такой постановке задача определения последовательности партий сводится к задаче коммивояжера [16].

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

женные методы, позволяющие генерировать эффективные расписания для крупных проектов за разумное время.

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

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

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

нимальное покрывающее дерево, алгоритм Христофидеса и др. В связи с этим для сравнения с генетическим и муравьиным алгоритмами выбрана именно эвристика Лина — Кернигана, которая является представителем стандартных методов.

Генетический алгоритм (ГА) (Genetic Algorithm, GA) — адаптивный метод решения оптимизационных проблем, основанный на принципах эволюции и приспособляемости биологических организмов. Основные принципы ГА строго сформулированы Дж. Холландом [23] и хорошо описаны во многих последующих работах, поэтому здесь ограничимся только описанием отличий стандартного ГА от его комбинаторной версии.

Основное отличие комбинаторного ГА — хромосома задана не бинарной строкой, а в виде перестановки чисел от 1 до n. Поэтому вместо привычных одноточечного, двухточечного и равномерного скрещиваний здесь используется специальный вид рекомбинации, в котором у первого родителя выбирается участок хромосомы случайным образом и передается потомку без изменений, а остальная часть хромосомы, т. е. все оставшиеся числа перестановки, берется от второго родителя в том порядке, в котором хромосомы расположены, начиная с точки разрыва.

В комбинаторном ГА оператор мутации, необходимый для поддержания генетического разнообразия, представлен в четырех вариантах: 1) инверсией; 2) обменом; 3) перемещением; 4) сдвигом. В мутации инверсией случайным образом выбираются две точки разрыва хромосомы и все гены между ними выставляются в обратном порядке. В мутации обменом происходит выбор двух случайных генов в хромосоме, которые меняются местами. В мутации перемещением сначала необходимо выбрать случайный ген в хромосоме, а затем случайную точку, в которую он затем перемещается. Для мутации сдвигом необходимо выбрать две случайные точки разрыва хромосомы, затем переместить все гены между ними на место третьей случайно выбранной точки.

Алгоритм муравьиных колоний (муравьиный алгоритм, Ant Colony Optimization, ACO) — один из наиболее перспективных современных алгоритмов комбинаторной оптимизации, успешно применяющийся для решения широкого круга задач [24]. Муравьиный алгоритм, предложенный М. Дориго в 1992 г., основан на имитации поведения муравьев в природе при отыскании кратчайшего пути от гнезда до источника пищи и обратно. Основная идея заключается в том, что для обмена информацией внутри колонии они используют след фермента, оставляемый ими на пройденном пути, а любой муравей с большей вероятностью выбирает тот путь, на котором находится большее количество этого фермента.

Результаты. Используемая в работе имитационная модель описывает процесс производства с позиции таких понятий, как оборудование, сотрудники, операции, партии и технологические процессы. Оборудование и сотрудники являются возобновляемыми ресурсами, для которых в ходе решения задачи составляется собственное расписание, описывающее интервалы занятости каждого конкретного ресурса. Оборудование подразделяется на несколько типов, например печи, реакторы и пр.; пусть Mt — общее число типов оборудования. Типы оборудования в каком-то смысле определяют «типы сотрудников», т. е. Et компетенций по работе с оборудованием, которыми сотрудники могут обладать. Операцией назовем некоторую деятельность по доведению до готовой продукции партии, для которой требуется оборудование определенного типа и сотрудник, обладающий компетенцией определенного типа. Каждая операция имеет некоторую длительность и может относиться к нескольким видам технологических процессов. Технологический процесс может быть задан некоторой последовательностью операций, пусть общее число различных технологических процессов равно Wt.

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

Данная имитационная модель является частью системы, разработанной на языке Java с использованием фреймворка Spring Boot. Система имеет веб-интерфейс на основе фреймворка JSF с контролем beans, осуществляемым фреймворком Spring Boot. В разработанной системе используется база данных с открытым исходным кодом PostgreSQL, а для взаимодействия базы данных и приложения — фреймворк MyBatis.

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

Затем сгенерировано 50 различных операций, которые требуют случайным образом выбранное оборудование, сотрудника и имеют длительность, выбранную случайным образом. После этого для каждой из трех задач были присвоены различные технологические процессы числом 2, 4 и 6. Каждый технологический процесс сгенерирован как последовательность случайно выбранных операций, число которых случайно и находится в интервале от 3 до 10. Далее для каждого технологического процесса каждой задачи сгенерировано пять партий, что определяет итоговые размерности задач: 10, 20 и 30 соответственно.

Все описанные ранее алгоритмы запущены на этих задачах с фиксированным числом вычислений целевой функции, равным 1 000 000. Результаты вычислений, представленные в таблице, усреднялись по 50 прогонам для каждого алгоритма с каждым набором его параметров. Поскольку у данных задач нет известного заранее лучшего решения, эффективность алгоритмов не может сравниваться по показателю надежности нахождения решения, поэтому в качестве параметров сравнения используются следующие величины: лучшее найденное решение за все прогоны, среднее по прогонам найденное решение и среднеквадратическое отклонение. Кроме того, в сравнении представлены результаты работы генетического и муравьиного алгоритмов при лучших их настройках на конкретной задаче и усредненные результаты по всем рассматриваемым настройкам алгоритмов. Так, для генетического алгоритма рассмотрены все возможные сочетания настроек: пропорциональная селекция; турнирная селекция с размерами турнира 2, 4, 8; ранговая селекция с линейным и экспоненциальным ранжированием (с параметром X = 0,50, 0,80 или 0,95), а также четыре вида мутации (инверсией, обменом, перемещением или сдвигом) с низким, средним или высоким уровнем. Для муравьиного алгоритма рассматривались значения параметров а и Р, равные 1, 2, 5 и 10.

Сравнение алгоритмов

Алгоритм Лучшее решение Среднее решение Среднеквадратическое отклонение

Эвристика Лина — Кернигана Задача 1 (1 5043,00 0) 5044,14 8,0611

Генетический (лучший) 5143,00 5543,89 82,155

Генетический (средний) 5446,62 6196,12 138,62

Муравьиный (лучший) 4884,00 5118,04 57,034

Муравьиный (средний) 5049,06 5158,01 39,125

Окончание таблицы

Алгоритм Лучшее Среднее Среднеквадратическое

решение решение отклонение

Задача 2 (20)

Эвристика Лина — Кернигана 7796,00 7937,86 54,373

Генетический (лучший) 8006,00 8294,68 73,158

Генетический (средний) 8482,45 9116,34 157,24

Муравьиный (лучший) 7822,00 7946,00 47,595

Муравьиный (средний) 7968,38 8122,12 64,393

Задача 3 (30)

Эвристика Лина — Кернигана 16 454,00 16 500,00 35,852

Генетический (лучший) 16 298,00 16 862,38 215,46

Генетический (средний) 16 657,92 17 832,93 538,34

Муравьиный (лучший) 13 609,00 16 125,95 691,00

Муравьиный (средний) 15 396,55 16 558,64 289,88

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

Обсуждение полученных результатов. При небольшой размерности эвристика Лина — Кернигана показывает лучшие результаты, чем генетический и муравьиный алгоритмы, однако при увеличении размерности ситуация меняется. Если речь идет о практическом использовании алгоритмов, то в реальных задачах размерность будет существенно расти, а сложность имитационных моделей увеличиваться. Это связано с тем, что алгоритм Лина — Кернигана относится к алгоритмам локального спуска, ориентированным на быстром уточнении результата в локальной окрестности, в то время как генетический и муравьиный алгоритмы относятся к алгоритмам глобального поиска, из чего следует, что им необходимо «время на разгон» для рассмотрения куда большей области допустимых решений, а только потом найденные варианты будут уточняться. Подобное поведение алгоритмов глобального поиска без сомнений делает их неэффективными при решении небольших задач, однако дает существенные преимущества при решении сложных практических задач, размерности которых могут достигать нескольких сотен и даже тысяч [27].

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

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

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

ЛИТЕРАТУРА

[1] Leon A. Enterprise resource planning. McGraw-Hill, 2008.

[2] SAP ERP. Построение эффективной системы управления. М., Альпина Бизнес Букс, 2008.

[3] Пажинская А.А. ERP-системы, их назначение и особенности. Обзор программного обеспечения Microsoft Dynamics. Молодежный научно-технический вестник, 2015, № 3. URL: http://ainsnt.ru/doc/770644.html

[4] Грачева Е.В., Пчелинцева О.Н. Планирование и управление производством предприятий на основе системы Oracle E-Business Suite. Известия ПГПУ им. В.Г. Белинского, 2011, № 26, с. 547-549.

[5] Адуева Т.В., Ахаев А.В., Ходашинский И.А. Продукционная система выбора программных продуктов системы «1С:Предприятие 8». Бизнес-информатика, 2012, № 1 (19), с. 55-61.

[6] Фролов Е.Б., Загидуллин Р.Р. MES-системы как они есть или эволюция систем планирования производства. Станочный парк, 2008, № 10 (55), с. 31-37.

[7] Городецкая О.Ю., Гобарева Я.Л. CRM-система как стратегия управления бизнесом компании. Транспортное дело России, 2014, № 4, с. 169-172.

[8] Джуха В.М., Кириллов Д.О. Потенциальные преимущества APS-систем в продажах и операционном планировании. Управление экономическими системами, 2013, № 7 (55), с. 19.

[9] Идзиковский В.И., Горшкова Е.А. ЛИМС — автоматизированная система управления для лаборатории, или нечто большее? Современная лабораторная практика, 2012, № 3 (19), с. 10-24.

[10] Амбарцумян А.А., Хадеев А.С. Анализ функциональности систем управления техническим обслуживанием и ремонтом оборудования. Проблемы управления, 2005, № 6, с. 2-12.

[11] Моргунова О.В. Формирование единого информационного пространства предприятия. Сб. тр. X Всерос. науч.-практ. конф. «Математические модели современных экономических процессов, методы анализа и синтеза экономических механизмов. Актуальные проблемы и перспективы менеджмента организаций в России». Самара, СамНЦ РАН, 2015, с. 130-139.

[12] Симонова С.И. Интеллектуальный анализ данных для задач CRM. INJOIT, 2015, № 2, с. 17-22.

[13] Gantt H.L. A graphical daily balance in manufacture. Trans. ASME, 1903, vol. 24, pp.1322-1336.

[14] Wilson J.M. Gantt charts: a centenary appreciation. EJOR, 2003, vol. 149, iss. 2, pp. 430-437. DOI: 10.1016/S0377-2217(02)00769-5

[15] Аничкин А.С., Семенов В.А. Современные модели и методы теории расписаний. Труды ИСПРАН, 2014, т. 26, № 3, с. 5-50.

[16] Davendra D., ed. Traveling salesman problem. Theory and applications. InTech, 2010.

[17] Blazewicz J., Lenstra J., Rinnooy Kan A.H.G. Scheduling subject to resource constraints: classification and complexity. Discrete Appl. Math., 1983, vol. 5, iss. 1, pp. 11-24. DOI: 10.1016/0166-218X(83)90012-4

[18] Eiben A.E., Smith J.E. Introduction to evolutionary computing. Natural Computing Series. Berlin, Heidelberg, Springer, 2003.

DOI: https://doi.org/10.1007/978-3-662-05094-1

[19] Громов С.А., Тарасов В.Б. Интегрированные интеллектуальные системы оперативного планирования производства. Известия ЮФУ. Технические науки, 2011, № 7, с. 60-67.

[20] Скобцов Ю.А., Ченгарь О.В., Скаковская А.Н. Многокритериальный муравьиный алгоритм оптимизации производственного расписания. Математические методы в технике и технологиях, 2016, № 12 (94), с. 245-253.

[21] Papadimitriou C.H., Steiglitz K. Combinatorial optimization. Algorithms and complexity. Prentice-Hall, 1982.

[22] Lin S., Kernigan B.W. An effective heuristic algorithm for the traveling-salesman problem. Oper. Res., 1973, vol. 21, no. 2, pp. 498-516.

[23] Holland J.H. Adaptation in natural and artificial systems. The University of Michigan Press, 1975.

[24] Dorigo М., Gambardella L.M. Ant colony system: a cooperative learning approach to the traveling salesman problem. IEEE Trans. Evol. Comput., 1997, vol. 1, no. 1, pp. 5366. DOI: 10.1109/4235.585892

[25] Семенкина О.Е., Семенкина О.Э. Исследование эффективности бионических алгоритмов комбинаторной оптимизации. Программные продукты и системы, 2013, № 3, c. 23.

[26] Семенкина О.Е. Сравнение эффективности муравьиного и генетического алгоритмов при решении задач комбинаторной оптимизации. Вестник СибГАУ, 2012, № 4 (44), c. 96-98.

[27] Semenkina O., Ryzhikov I., Semenkin E. The large-scale optimization problem of product distribution in orders. Proc. 5th Int. Workshop Math. Models Appl. (IWMMA). Krasnoyarsk, Russia, 2017, pp. 126-134.

[28] Semenkina O.Ev., Popov E.A., Semenkina O.Er. Self-configuring nature inspired algorithms for combinatorial optimization problems. Журнал Сибирского федерального университета. Серия: Математика и физика, 2017, т. 10, № 4, с. 463-473.

[29] Семенкина О.Е., Попов Е.А., Семенкина О.Э. Self-configuring evolutionary algorithms for travelling salesman problem. Вестник СибГАУ, 2013, № 4 (50), с. 134-139.

Семенкина Ольга Евгеньевна — инженер грантового центра НИУ СибГУ им. М.Ф. Решетнева (Российская Федерация, 660037, Красноярск, пр-т им. газеты Красноярский рабочий, д. 31).

Попов Евгений Александрович — д-р физ.-мат. наук, профессор кафедры системного анализа и исследования операций СибГУ им. М.Ф. Решетнева (Российская Федерация, 660037, Красноярск, пр-т им. газеты Красноярский рабочий, д. 31).

Просьба ссылаться на эту статью следующим образом:

Семенкина О.Е., Попов Е.А. Бионические алгоритмы решения иерархической задачи составления расписания при оперативном планировании производства. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение, 2019, № 3, с. 46-63. DOI: 10.18698/0236-3933-2019-3-46-63

NATURE-INSPIRED ALGORITHMS FOR SOLVING A HIERARCHICAL SCHEDULING PROBLEM IN SHORT-TERM PRODUCTION PLANNING

O.E. Semenkina [email protected]

E.A. Popov [email protected]

Reshetnev Siberian State University of Science and Technology, Krasnoyarsk, Russian Federation

Abstract

The paper deals with the scheduling problem relevant in many fields, such as project management, lesson scheduling or production scheduling. In practice, using optimisation methods to solve the scheduling problem is considerably restricted by the fact that in the real world, problem statement involves high dimensionality, high production process complexity and many nontrivial constraints. These specifics mean that even merely searching for a feasible solution becomes a difficult task. Consequently, in order to solve the problem in a reasonable amount of time it is necessary to use problem-oriented heuristics. Ensuring manufacturing process stability involves respecting all constraints, but at the same time, short-term production planning demands fast solutions whenever there is a change of state. We propose to implement a hierarchical problem structure that puts the travelling salesman problem at the top and replaces the nested resource-constrained project scheduling problem with a simulation model. The paper considers using such algorithms as the Lin — Kernighan heuristic, the genetic algorithm and the ant colony optimization. We study the efficiency of employing the algorithms mentioned above to solve the scheduling problem in the statement proposed

Keywords

Scheduling problem, short-term production planning, Lin — Kernighan heuristic, ant colony optimization, genetic algorithm

Received 14.01.2019 © Author(s), 2019

The study was supported by Russian Federation Basic Research (RFBR project no. 18-37-00433)

REFERENCES

[1] Leon A. Enterprise resource planning. McGraw-Hill, 2008.

[2] Forndron F., Liebermann T., Thurner M., et al. mySAP ERP roadmap: business processes, capabilities, and complete upgrade strategy. SAP PRESS, 2006.

[3] Pazhinskaya A.A. ERP-systems, their purpose and features. Microsoft Dynamics Software overview. Molodezhnyy nauchno-tekhnicheskiy vestnik, 2015, no. 3 (in Russ.). Available at: http://ainsnt.ru/doc/770644.html

[4] Gracheva E.V., Pchelintseva O.N. Planning and production management of the enterprises on the basis of system Oracle Е-Business Suite. Izvestiya PGPUim. V.G. Belin-skogo, 2011, no. 26, pp. 547-549 (in Russ.).

[5] Adueva T.V., Akhaev A.V., Khodashinskiy I.A. Production rule system for the choice of software products of system "1C:Enterprise 8". Biznes-informatika [Business Informatics], 2012, no. 1 (19), pp. 55-61 (in Russ.).

[6] Frolov E.B., Zagidullin R.R. ES-systems as they are or evolution of production planning systems. Stanochnyy park, 2008, no. 10 (55), pp. 31-37 (in Russ.).

[7] Gorodetskaya O.Yu., Gobareva Ya.L. CRM system as a strategy for company's business management. Transportnoe delo Rossii, 2014, no. 4, pp. 169-172 (in Russ.).

[8] Dzhukha V.M., Kirillov D.O. Potential advantages of APS systems in sales and operational planning. Upravlenie ekonomicheskimi sistemami, 2013, no. 7 (55), pp. 19 (in Russ.).

[9] Idzikovskiy V.I., Gorshkova E.A. Is LIMS an automated control system for laboratories or something more? Sovremennaya laboratornaya praktika, 2012, no. 3 (19), pp. 10-24 (in Russ.).

[10] Ambartsumyan A.A., Khadeev A.S. Functionality analysis of equipment maintenance management systems. Problemy upravleniya [Control Sciences], 2005, no. 6, pp. 2-12 (in Russ.).

[11] Morgunova O.V. [Formation of a unified information space of the enterprise]. Sb. tr. X Vseros. nauch.-prakt. konf. "Matematicheskie modeli sovremennykh ekono-micheskikh protsessov, metody analiza i sinteza ekonomicheskikh mekhanizmov. Aktual'nye problemy i perspektivy menedzhmenta organizatsiy v Rossii" [Proc. X Russ. sci.-pract. conf. "Mathematical models of modern economic processes, methods of economic mechanisms analysis and synthesis. Topical problems and prospects of organization management in Russia"]. Samara, SSC RAS Publ., 2015, pp. 130-139 (in Russ.).

[12] Simonova S.I. Data mining for CRM tasks. INJOIT, 2015, no. 2, pp. 17-22 (in Russ.).

[13] Gantt H.L. A graphical daily balance in manufacture. Trans. ASME, 1903, vol. 24, pp.1322-1336.

[14] Wilson J.M. Gantt charts: a centenary appreciation. EJOR, 2003, vol. 149, iss. 2, pp. 430-437. DOI: 10.1016/S0377-2217(02)00769-5

[15] Anichkin A.S., Semenov V.A. A survey of emerging models and methods of scheduling. Trudy ISP RAN [Proceedings of ISP RAS], 2014, vol. 26, no. 3, pp. 5-50 (in Russ.).

[16] Davendra D., ed. Traveling salesman problem. Theory and applications. InTech, 2010.

[17] Blazewicz J., Lenstra J., Rinnooy Kan A.H.G. Scheduling subject to resource constraints: classification and complexity. Discrete Appl. Math., 1983, vol. 5, iss. 1, pp. 1124. DOI: 10.1016/0166-218X(83)90012-4

[18] Eiben A.E., Smith J.E. Introduction to evolutionary computing. Natural Computing Series. Berlin, Heidelberg, Springer, 2003.

DOI: https://doi.org/10.1007/978-3-662-05094-1

[19] Gromov S.A., Tarasov V.B. Integrated intelligent systems of production planning and scheduling. Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2011, no. 7, pp. 60-67 (in Russ.).

[20] Skobtsov Yu.A., Chengar' O.V., Skakovskaya A.N. Multi-criteria ant algorithm for production schedule optimization. Matematicheskie metody v tekhnike i tekhnologiyakh, 2016, no. 12 (94), pp. 245-253 (in Russ.).

[21] Papadimitriou C.H., Steiglitz K. Combinatorial optimization. Algorithms and complexity. Prentice-Hall, 1982.

[22] Lin S., Kernigan B.W. An effective heuristic algorithm for the traveling-salesman problem. Oper. Res., 1973, vol. 21, no. 2, pp. 498-516.

[23] Holland J.H. Adaptation in natural and artificial systems. The University of Michigan Press, 1975.

[24] Dorigo M., Gambardella L.M. Ant colony system: a cooperative learning approach to the traveling salesman problem. IEEE Trans. Evol. Comput., 1997, vol. 1, no. 1, pp. 53-66. DOI: 10.1109/4235.585892

[25] Semenkina O.E., Semenkina O.E. Effectiveness investigation of biology-inspired algorithms for combinatorial optimization. Programmnye produkty i sistemy [Software & Systems], 2013, no. 3, p. 23 (in Russ.).

[26] Semenkina O.E. Effectiveness comparison of ant colony and genetic algorithms for solving combinatorial optimization problem. Vestnik SibGAU, 2012, no. 4 (44), pp. 96-98 (in Russ.).

[27] Semenkina O., Ryzhikov I., Semenkin E. The large-scale optimization problem of product distribution in orders. Proc. 5th Int. Workshop Math. Models Appl. (IWMMA). Krasnoyarsk, Russia, 2017, pp. 126-134.

[28] Semenkina O.Ev., Popov E.A., Semenkina O.Er. Self-configuring nature inspired algorithms for combinatorial optimization problems. Zhurnal Sibirskogo federal'nogo universiteta. Seriya: Matematika i fizika [Journal of Siberian Federal University. Mathematics & Physics], 2017, vol. 10, no. 4, pp. 463-473.

[29] Semenkina O.E., Popov E.A., Semenkina O.E. Self-configuring evolutionary algorithms for travelling salesman problem. Vestnik SibGAU, 2013, no. 4 (50), pp. 134-139 (in Russ.).

Semenkina O.E. — Engineer, Grant Centre, Reshetnev Siberian State University of Science and Technology (Imeni gazety Krasnoyarskiy rabochiy prospekt 31, Krasnoyarsk, 660037 Russian Federation).

Popov E.A. — Dr. Sc. (Phys.-Math.), Professor, Department of Systems Analysis and Operations Research, Reshetnev Siberian State University of Science and Technology (Imeni gazety Krasnoyarskiy rabochiy prospekt 31, Krasnoyarsk, 660037 Russian Federation).

Please cite this article in English as:

Semenkina O.E., Popov E.A. Nature-inspired algorithms for solving a hierarchical scheduling problem in short-term production planning. Herald of the Bauman Moscow State Technical University, Series Instrument Engineering, 2019, no. 3, pp. 4663 (in Russ.). DOI: 10.18698/0236-3933-2019-3-46-63

В Издательстве МГТУ им. Н.Э. Баумана вышло в свет учебное пособие авторов Э.Н. Самохвалова, Г.И. Ревункова, Ю.Е. Гапанюка

«Введение в проектирование и разработку приложений на языке программирования С#»

Представлены основы языка программирования С#. Рассмотрены среда исполнения .NET, конструкции языка С# и объектно-ориентированное программирование на нем, работа с коллекциями, файловой системой, рефлексией, а также параллельная обработка данных. Приведено введение в технологию разработки оконных пользовательских интерфейсов Windows Forms. Для студентов, изучающих информатику и вычислительную технику в МГТУ им. Н.Э. Баумана.

По вопросам приобретения обращайтесь:

105005, Москва, 2-я Бауманская ул., д. 5, стр. 1 +7 (499) 263-60-45 [email protected] http://baumanpress.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.