DOI 10.25987^Ти.2019.15.2.003 УДК 519.876.5
ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ В ОПТИМИЗАЦИИ ПЛАНИРОВОЧНЫХ РЕШЕНИЙ ПРОИЗВОДСТВЕННЫХ ПОДРАЗДЕЛЕНИЙ МАШИНОСТРОИТЕЛЬНЫХ ПРЕДПРИЯТИЙ
П.Ю. Гусев1, К.Ю. Гусев1, СЮ. Вахмин2
воронежский государственный технический университет, г. Воронеж, Россия 2Военный учебно-научный центр Военно-воздушных сил "Военно-воздушная академия имени профессора Н. Е. Жуковского и Ю. А. Гагарина", г. Воронеж, Россия
Аннотация: решается задача оптимизации планировочных решений производственных подразделений машиностроительных предприятий. Для решения задачи предлагается использование генетического алгоритма. Генетический алгоритм как метод решения задачи нахождения оптимальной планировки неоднократно описан. Однако описание практического применения генетического алгоритма в машиностроительной области не нашло своего отражения в научной литературе. Для решения задачи нахождения оптимального планировочного решения возможно применение программных средств имитационного моделирования, которые уже имеют встроенные механизмы оптимизации, в том числе и на основе генетических алгоритмов. Но применение таких программных средств затрудняется трудоемкостью создания имитационной модели, а также закрытым программным кодом, который реализует работу генетического алгоритма. Проведена формализация решаемой задачи. Для этого осуществлен выбор специфичного для машиностроительных предприятий производственного подразделения. На основе формализованного представления задачи выбран критерий оптимизации и разработан алгоритм расчета функции приспосабливаемом^ генетического алгоритма. В работе применены традиционные подходы к разработке принципов функционирования генетического алгоритма и предложен метод скрещивания, учитывающий повторяемость элементов. Реализация предложенного метода скрещивания в виде алгоритма позволила избежать дополнительных проверок на повторяемость элементов после проведения процедуры скрещивания. На основе разработанного генетического алгоритма реализовано программное средство на языке программирования С#. К особенностям программного средства можно отнести возможность изменения исходных данных как самой задачи, так и исходных настроек алгоритма, среди которых - количество популяций, количество генотипов в популяции, количество мутирующих генотипов. Отражены некоторые особенности разработки программного средства. В результате анализа полученных данных определены оптимальные параметры алгоритма для решения поставленной задачи оптимизации планировочного решения
Ключевые слова: генетические алгоритмы, оптимизация, формализация, машиностроение, генотип, функция приспосабливаемости
Введение
Современные машиностроительные предприятия активно используют новые технологии цифрового производства. Применение этих технологий позволяет эффективно организовать производственные процессы с минимальными затратами. Внедрение технологии цифрового производства подразумевает глобальную реконструкцию всей производственной системы предприятия. Особенно остро проблемы реконструкции возникают перед крупными предприятиями. Программные средства, которыми обеспечиваются цифровые производства, позволяют найти оптимальные параметры производственной системы, получаемые после реконструкции. Однако зачастую задачи формализации исследуемой системы и оптимизации результата решаются недостаточно точно, что
© Гусев П.Ю., Гусев К.Ю., Вахмин С.Ю., 2019
приводит к неудовлетворительному результату внедрения новых цифровых технологий.
Одной из задач реконструкции машиностроительных предприятий является оптимизация планировочных решений производственных подразделений. Аналогичная задача возникает при проектировании нового производственного подразделения. Для решения данной задачи необходимо учитывать специфику машиностроительных предприятий. Например, в ракетно-космическом машиностроении для производства корпуса турбины может потребоваться до 120 операций на различных рабочих местах. В авиационной промышленности для производства элемента закрылка из полимерных композиционных материалов требуется до 50 операций на различных рабочих местах [1]. Приведенные примеры говорят о том, что технологические маршруты на машиностроительных предприятиях могут иметь большое количество операций. Это приводит к повышенным требованиям при планировании технологиче-
скои цепочки в производственном подразделении.
Учитывая, что количество технологических процессов на одном предприятии может достигать нескольких тысяч, то получение планировочного решения является задачеИ многофакторной многокритериальной оптимизации.
Как следствие, возникла задача разработки современного метода получения оптимального планировочного решения без применения дорогостоящих программных продуктов. Одним из таких методов является применение генетического алгоритма для оптимизации планировочного решения. Вопросы оптимизации и применения генетических алгоритмов многократно рассматривались в отечественной литературе [2-6]. Однако массовому применению генетических алгоритмов в оптимизации производственных систем препятствует строго научный подход к решению рассматриваемых задач. Инженеры, работающие на производстве, не всегда могут быть знакомы с математическими положениями, применяемыми при формальном описании генетического алгоритма.
В зарубежной литературе также можно найти исследования генетического алгоритма применительно к задаче оптимальной планировки [7, 8]. В статье [7] тоже предлагается использовать нечеткую логику при решении подобных задач. Авторы работы [8] предлагают использовать дополнительные операторы обмена и вращения, которые позволяют расширить зону поиска в работе алгоритма. Однако оценка эффективности проводилась по ранее решенным задачам и не всегда может проецироваться на особенности отечественных машиностроительных предприятий со слабой автоматизацией.
Таким образом, целью данной работы является получение реализации генетического алгоритма для оптимизации планировочных решений с формализацией реальной задачи.
Для достижения поставленной цели решены следующие задачи: выбор исследуемой системы, формализация задачи оптимизации, разработка генетического алгоритма и оператора скрещивания, реализация предложенных положений в программном средстве.
Формализация задачи
Основываясь на опыте работы с машиностроительными предприятиями, объектом исследования выбран участок механической об-
работки деталей как наиболее показательный и отражающий специфику предприятий в целом. Исследуемое производственное подразделение можно рассматривать как замкнутую производственную систему, которая характеризуется прямоточностью обработки поступающих заготовок и заранее известным дискретным временем обработки. От исследования сборочных операций в данной работе решено отказаться, т.к. сборочные операции, как правило, характеризуются одним постоянным рабочим местом.
Для формализации поставленной задачи оптимизации, в первую очередь, рассмотрена типовая планировка исследуемого участка. Оборудование на участке объединено по технологическому принципу и расположено в две линии. Можно точно определить расстояние между оборудованием и ширину проезда. Таким образом, для расстояний между оборудованием можно ввести свой весовой коэффициент, который на планировке выражается в метрах.
При прохождении каждой детали своего технологического маршрута можно подсчитать сумму пройденного расстояния. Полученная сумма является критерием, который необходимо минимизировать для получения оптимального планировочного решения. Учитывая наличие нескольких технологических маршрутов, критерием оптимизации будет выступать сумма частных решений. Таким образом, в формализованном виде можно определить критерий оптимизации:
1
(1)
где п - количество технологических маршрутов, Si - сумма пройденного расстояния 1-го технологического маршрута.
На рис. 1 представлен частный случай схемы формализации задачи оптимизации планировочного решения.
Рис. 1. Схема формализации задачи
Например, требуется рассчитать пройденное расстояние технологического маршрута С1-С3-С8. Координаты станка задаются по ближайшему к проезду левому углу. В таком случае пройденное расстояние может быть вычислено как:
5 =у1 х2 + у22 + (Х2 - X) + + ,](х4 -х2)2 + (у -уг)2 + (х5 -х4) (2)
Разработка генетического алгоритма
Учитывая предложенную схему формализации задачи, каждый генотип в популяции генетического алгоритма представляет собой последовательность наименований оборудования -генов. При этом каждая неповторяющаяся последовательность генов представляет собой уникальное решение. Основная идея применения генетического алгоритма - это выполнение определенных операций над генотипами, которые имитируют процесс эволюционного отбора. На рис. 2 представлен обобщенный принцип работы используемого генетического алгоритма.
Генерация начального поколения осуществляется созданием случайных генотипов. Набор случайных генотипов позволяет охватить наибольшее количество решений. В случае отсутствия приемлемого решения можно увеличить количество генотипов или количество генераций для нахождения оптимального решения.
В работе генетического алгоритма предусмотрена возможность сохранения лучшего решения. Такая возможность позволяет генотипу, показавшему лучший результат, сохранять все свои гены. Таким образом, лучший генотип из текущей популяции только передает часть своих генов потомкам, но сам не изменяется.
Разработанный генетический алгоритм предусматривает функцию мутации. Мутирующий генотип заполняется случайными значениями. Мутация происходит с генотипом, имеющим наихудшую функцию приспосабливае-мости. Это позволяет обновлять генотип, что может скорее привести к глобальному экстремуму.
Учитывая особенности исследуемой задачи, предложен алгоритм операции скрещивания. Ввиду того, что все технологические маршруты в производственном подразделении подчиняются принципу прямоточности, то решено сохранять первую половину генов в лучших решениях. Первый генотип при скрещива-
нии сохраняет первую половину своих генов. Вторая половина генов формируется скрещиванием. Лучший генотип текущей популяции сохраняется и в скрещивании участия не принимает.
Вычисление функции прпспосабливаеыости
К Цикл от 1 до количества генотипов ,
Скрещивание
_
_
Мутация
I_ ';
С^^Конец^^} Рис. 2. Принцип работы генетического алгоритма
Формально работу предлагаемого оператора скрещивания можно описать следующим образом. Работе оператора скрещивания подвергается пара родительских генотипов:
^ = & 2)
G2 = g22,..., ё1)
где G - родительский генотип, g - ген в генотипе, п - количество генов в каждом генотипе.
Каждая пара скрещиваемых генотипов выбирается согласно функции приспосабливаемо-сти. Генотип G1 обладает лучшим значением функции приспосабливаемости в сравнении с генотипом G2. Первыми скрещиваются 2 по приспосабливаемости генотип и следующий за ним. Дальше скрещиваются 4 и 5 по значению функции приспосабливаемости генотипы. Далее идет скрещивание до количества генотипов в популяции с шагом 2.
Два родительских генотипа в результате скрещивания дают 2 генотипа - потомка:
C = (с;, с;,..., ci)
C 2 = (С;2, С22,..., С„2):
(4)
где С - генотип-потомок, с - ген в генотипе-потомке, п - количество генов в каждом генотипе.
Значения генов-потомков определяются следующим образом:
с = •
\ g;, при i < n /2 или i > n /2 и i - четное I gi, при i > n /2 и i - нечетное
с 2 =■
gi, при i - нечетное
gi , при i - четное
, (5)
(6)
Условия поставленной задачи диктуют необходимость наличия всех генов в каждом генотипе и гены не должны повторяться. При работе оператора скрещивания проводится проверка: если количество генов nCi Ф nGi, то в
генотип C1 добавляются гены из генотипа G2, а в генотип C2 добавляются гены из генотипа
G1. Описанный оператор скрещивания можно
отнести к частному случаю многоточечного скрещивания.
Программная реализация и тестирование генетического алгоритма
Реализация генетического алгоритма оптимизации планировочных решений производственных подразделений производилась в среде программирования Visual Studio на языке программирования C#. Наличие множества встроенных функциональных возможностей языка позволило сосредоточить усилия на разработке алгоритма оптимизации. При этом вопросы использования вспомогательных средств отошли на второй план.
Первый этап реализации генетического алгоритма - это определение функциональных возможностей программного средства. Разрабатываемое программное средство должно обеспечивать:
- внесение и изменение исходных данных;
- управление настройками генетического алгоритма;
- проведение оптимизации с применением генетического алгоритма;
- вывод графика нахождения оптимального решения.
На рис. 3 изображена таблица с исходными данными. В ней внесены данные о станках и их местоположении. Каждый станок представляет собой ген. Совокупность генов, описывающих станки, представляет собой отдельный генотип.
чй1 StanokList
X
Название Координата X Координата Y Л
StanokO 0 0
Stanokl D 12D
Stanok2 SD 0
Stanokü 80 120
Stanok4 160 0
StanokB 1S0 120
StanokG 24D 0
Stanok7 240 120 V
OK
Отмена
Рис. 3. Окно с исходными данными
Программная реализация генетического алгоритма разработана с применением объектно-ориентированной парадигмы программирования. Генетический алгоритм реализован в отдельном классе, содержащем программные методы, обеспечивающие работу оператора скрещивания, оператора мутации, вычисления функции приспосабливаемости. Реализация генетического алгоритма в отдельном классе позволит, при необходимости, упростить применение генетического алгоритма в других программных средствах.
Для реализации работы генетического алгоритма создаются 5 уникальных полей:
- поле для хранения количества генераций, которые будут получены в ходе оптимизации;
- поле для хранения количества популяций, которые будут создаваться в рамках одной генерации;
- поле для учета количества генов в одном генотипе. По сути, каждый ген - это отдельный станок;
- поле для регулирования использования мутаций при проведении оптимизации;
- поле для сохранения лучшего результата при проведении оптимизации.
Важный этап программирования генетического алгоритма - вычисление значения функции приспосабливаемости. Значение функции приспосабливаемости отвечает за то, какие генотипы будут продолжать существование и будут скрещиваться, а какие прекратят свое существование или мутируют. Функция приспо-сабливаемости просматривает каждый технологический процесс и каждый генотип. Затем для каждого технологического процесса подсчиты-вается вес маршрутов, которые предстоит пройти деталям. После прохода всех технологических процессов по одному генотипу, значения функций для каждого технологического процесса складываются между собой. Таким образом, для каждого генотипа вычисляется своя функция приспосабливаемости. После вычисления функций приспосабливаемости происходит сортировка и этап скрещивания.
Для проверки работоспособности разработанной программной реализации генетического алгоритма с предложенным оператором скрещивания рассмотрен реальный участок механической обработки машиностроительного предприятия. На участке находится 12 единиц оборудования. Используемые технологические маршруты изготовления четырех деталей получены из маршрутных карт.
Для оценки эффективности работы генетического алгоритма и предложенного оператора скрещивания в программном средстве имитационного моделирования Plant Simulation создана модель рассматриваемого участка механической обработки. Данное программное средство выбрано ввиду того, что оно содержит инструменты оптимизации на основе генетических алгоритмов. В таблице представлены результаты оптимизации в имитационной модели и разработанном программном средстве, при этом применялись разные параметры генетического алгоритма. Каждый эксперимент проводился 5 раз, в результат записано среднее значение.
Результаты оптимизации
Параметры генетического алгоритма использовались идентичные параметрам в имитационной модели. Исключение составляют параметры сохранения лучшего решения и мутации. Это связано с тем, что программное средство имитационного моделирования не предоставляет возможность управлять этими параметрами.
Как видно из сравнительного анализа результатов - оба алгоритма в 5 эксперименте определили оптимальный результат. При этом в первых двух экспериментах лучший результат найден в имитационной модели, а в 3 и 4 экспериментах лучший результат показал генетический алгоритм с предложенным оператором скрещивания. Таким образом, можно сделать вывод о том, что разработанный генетической алгоритм показывает эффективную работу при параметрах размера популяции в 15 генотипов и при количестве популяций больше 20.
Дальнейшие эксперименты с программным средством показали, что при отключении мутаций решение зачастую останавливается на локальном минимуме и дальше поиск не продолжается. Мутации позволяют «пробивать» локальное решение и расширять зону поиска. Отключение процедуры сохранения лучшего решения показывает хорошие результаты оптимизации. Однако данные результаты не стабильны по отношению к полученным оптимальным параметрам алгоритма.
Выводы
В результате работы получено формализованное описание поставленной задачи. Предложенный оператор скрещивания для генетического алгоритма позволяет успешно проводить поиск оптимальных решений. Тестирование программной реализации генетического алгоритма показало эффективность применения предложенного оператора скрещивания. В дальнейшем планируется предложить дополнительные операторы скрещивания, которые расширят область применения данной реализации генетического алгоритма.
Таким образом, достигнута главная цель проведенной работы: получена реализация генетического алгоритма для оптимизации планировочных решений с предложенным оператором скрещивания.
№ экспе- Раз- Количе- Результат Результат
римента мер ство в имита- в разрабо-
попу- популя- ционной танном
ляции ции модели программ-
ном сред-
стве
1 5 15 6000 6200
2 10 20 5940 6140
3 15 25 5800 5760
4 20 30 5460 5260
5 40 100 5140 5140
Литература
1. Чижов М.И., Скрипченко Ю.С., Гусев П.Ю. Имитационное моделирование производства деталей из полимерных композиционных материалов //Компьютерные исследования и моделирование. 2014. Т. 6. №. 2. С. 245252.
2. Лаздынь С.В., Секирин А.И., Коробкова Т.А. Оптимизация компоновки технологического оборудования гибких производственных систем с использованием генетических алгоритмов //Прогрессивные технологии и системы машиностроения. 2007. №. 2. С. 114-119.
3. Спирячин А.А., Бурковский В.Л., Воропаев А.П. Анализ эффективности использования метода нечёткой классификации и генетических алгоритмов в интеллектуальной системе поддержки принятия врачебных решений //Вестник Воронежского государственного технического университета. 2015. Т. 11. №. 2.
4. Елизаров Д.Э., Бурковский В.Л. Оптимизационные модели формирования структуры развивающихся мультисервисных сетей информационного обслуживания
населения //Вестник Воронежского государственного технического университета. 2015. Т. 11. №. 1.
5. Кравец О.Я., Чудинова К.В. Оптимизация мониторинга телекоммуникационных сетей для создания резервной производительности системы //Информационные технологии моделирования и управления. 2017. Т. 106. №. 4. С. 285-298.
6. Рыжков В.А., Юров А.Н., Кольцов А.С. Формализация задачи проектирования с целью автоматизации и оптимизация сборочных технологических процессов //Современные инструментальные системы, информационные технологии и инновации. 2015. С. 419-423.
7. Jadram C., Boongsood W. Application of fuzzy materials-handling inputs with the genetic algorithm for machine layout //Industrial Technology and Management (ICITM), 2018 7th International Conference on. IEEE, 2018. С. 265269.
8. Hasda R.K., Bhattacharjya R.K., Bennis F. Modified genetic algorithms for solving facility layout problems //International Journal on Interactive Design and Manufacturing (IJIDeM). 2017. Т. 11. №. 3. С. 713-725.
Поступила 01.02.2019; принята к публикации 21.03.2019 Информация об авторах
Гусев Павел Юрьевич - канд. техн. наук, доцент кафедры компьютерных интеллектуальных технологий проектирования, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), тел. 8-952-55-11-640, e-mail: [email protected], ORCID: https://orcid.org/0000-0002-3752-0152
Гусев Константин Юрьевич - канд. техн. наук, доцент кафедры электропривода, автоматики и управления в технических системах, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), тел. (473)243-77-20
Вахмин Сергей Юрьевич - канд. физ.-мат. наук, преподаватель кафедры 207 физики и химии, Военный учебно-научный центр Военно-воздушных сил «Военно-воздушная академия имени профессора Н.Е. Жуковского и Ю.А. Гагарина» (394064, г. Воронеж, ул. Старых Большевиков, 54 «А»), тел. (473)244-76-13, e-mail: [email protected]
APPLICATION OF GENETIC ALGORITHMS IN OPTIMIZATION OF PLANNING DECISIONS OF INDUSTRIAL DIVISIONS OF MACHINE-BUILDING ENTERPRISES
P.Yu. Gusev1, K.Yu. Gusev1, S.Yu. Vahmin2
'Voronezh State Technical University, Voronezh, Russia 2Military scientific educational center of Military-Air forces "N.E.Zhukovsky and Ju.A. Gagarin
Military-Air academy", Voronezh, Russia
Abstract: the work solves the problem of optimizing the planning decisions of the production departments of machinebuilding enterprises. To solve the problem, the use of a genetic algorithm is proposed. The genetic algorithm, as a method for solving the problem of finding the optimal layout, has been repeatedly described. However, the description of the practical application of the genetic algorithm in the engineering field has not been reflected in the scientific literature. To solve the problem of finding the optimal planning solution, it is possible to use simulation tools that already have built-in optimization mechanisms, including those based on genetic algorithms. But the use of such software is hampered by the complexity of creating a simulation model, as well as a closed program code that implements the work of the genetic algorithm. In this work, the for-malization of the problem was done. The selection of a production unit specific to machine-building enterprises was carried out. Based on the formalized presentation of the task, an optimization criterion was chosen and an algorithm was developed for calculating the adaptability function of the genetic algorithm. In the work, traditional approaches to the development of the principles of functioning of the genetic algorithm were applied and a crossing method was proposed that takes into account the repeatability of elements. The implementation of the proposed crossing method in the form of an algorithm made it possible to avoid additional checks on the repeatability of elements after the crossing procedure. Based on the developed genetic algorithm, a software tool in the C# programming language was implemented. The features of the software include the possibility of changing the initial data of both the task itself and the initial settings of the algorithm, among which there are the number of populations, the number of genotypes in the population, the number of mutated genotypes. The paper reflects some features of software development. As a result of the analysis of the obtained data, the optimal parameters of the algorithm were determined for solving the set optimization problem for the planning solution
Key words: genetic algorithms, optimization, formalization, engineering, genotype, adaptability function
References
1. Chizhov M.I., Skripchenko Yu.S., Gusev P.Yu. "Simulation modeling of the production of parts from polymer composite materials", Computer Research and Modeling (Komp'yuternye issledovaniya i modelirovanie), 2014, vol. 6, no. 2, pp. 245-252.
2. Lazdyn' S.V., Sekirin A.I., Korobkova T.A. "Optimization of the layout of technological equipment of flexible production systems using genetic algorithms", Progressive Technologies and Systems of Mechanical Engineering (Progressivnye tekhnologii i sistemy mashinostroyeniya), 2007, no. 2, pp. 114-119.
3. Spiryachin A.A., Burkovskiy V.L., Voropayev A.P. "Analysis of the effectiveness of using the method of fuzzy classification and genetic algorithms in the intellectual system to support medical decision-making", Ihe Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2015, vol. 11, no. 2.
4. Yelizarov D. E., Burkovskiy V. L. "Optimization models of the formation of the structure of developing multi-service networks of information services for the population", Ihe Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2015, vol. 11, no. 1.
5. Kravets O. YA., Chudinova K. V. "Optimization of monitoring telecommunication networks for creating backup system performance", Information Technologies for Modeling and Management (Informatsionnye tekhnologii modelirovaniya i upravleni-ya), 2017, vol. 106, no. 4, pp. 285-298.
6. Ryzhkov V. A., Yurov A. N., Kol'tsov A. S. "Formalization of the design task for the purpose of automation and optimization of assembly technological processes", Modern Instrumental Systems, Information Technologies and Innovations (Sovremennye instrumental'nye sistemy, informatsionnye tekhnologii i innovatsii), 2015, pp. 419-423.
7. Jadram C., Boongsood W. "Application of fuzzy materials-handling inputs with the genetic algorithm for machine layout", 7th International Conference on Industrial Technology and Management (ICITM) - IEEE, 2018, pp. 265-269.
8. Hasda R. K., Bhattacharjya R. K., Bennis F. "Modified genetic algorithms for solving facility layout problems", International Journal on Interactive Design and Manufacturing (IJIDeM), 2017, vol. 11, no. 3, pp. 713-725.
Submitted 01.02.2019; revised 21.03.2019
Information about the authors
Pavel Yu. Gusev, Cand. Sc. (Technical), Associate Professor, Voronezh State Technical University (14 Moskovskiy prospekt, Vo-ronezh, 394026, Russia), tel. 8-952-55-11-640, e-mail: [email protected]
Konstantin Yu. Gusev, Cand. Sc. (Technical), Associate Professor, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh, 394026, Russia), tel. +7(473) 243-77-20
Sergey Yu. Vakhmin, Cand. Sc. (Physics and Mathematics), Assistant Professor, Military scientific educational center of Military-Air forces "N.E. Zhukovsky and Ju.A. Gagarin Military-Air academy" (54A Starykh Bol'shevikov st., Voronezh 394064, Russia), tel. +7(473) 244-76-13, e-mail: vax [email protected]