Решение задачи загрузки уникального оборудования при помощи популяционно-генетического алгоритма

Решение задачи загрузки уникального оборудования при помощи популяционно-генетического алгоритма

Е.А. Неймарк

Нижегородский Государственный Университет им. Н.И. Лобачевского

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

Введение

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

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

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

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

На производстве имеется станок для изготовления и заточки режущего инструмента ANCA RX7. Уникальность оборудования состоит в способности изготавливать инструмент из твердосплавных материалов с высокой точностью - порядка нескольких микрон.

• Станок может выполнять следующие типовые операции:

• Заточка;

• Переточка концевого инструмента;

• Изготовление инструмента.

Время выполнения операции зависит от сложности и размера изготовляемого инструмента. Например, изготовление фрезы из твердого сплава (5-и зуб, 016) занимает 16 минут. Максимальное время на операцию в пределах 1 часа.

Постановка задачи загрузки уникального оборудования

Данная задача относится к задачам ранцевого типа. Сформулируем возникшую на производстве задачу в терминах целочисленного программирования.

Таким образом, для i-ой смены имеется набор заказов на инструменты Aj = (aj,a2 ...а[},i = 1,5, каждый заказ aj характеризуется временем выполнения tj и штрафом cj за невыполнение заказа за время Т - длительность смены.

Обычно время, необходимое на изготовление всех заказанных инструментов, больше длительности смены.

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

J

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

Таким образом, необходимо найти такой набор заказов для /-ой смены

i n

Ai * = {a!*,a2*,...af} Ai* с у Al, чтобы общий штраф ^cjxj был максимальным,

1=1 J=1

n

а суммарное время выполнения ^ tJxJ не превышало фонда времени работы

j=1

уникального оборудования Т. В такой постановке задача загрузки уникального оборудования является классической задачей об одномерном ранце (1).

n

^ xjс j (i) ^ max

j=1

Ъл * T

j=1

Xj e {0,1}, j = Щ

Решения формируются следующим образом: x} =1, если соответствующая операция aj e A * включена в набор заказов для i-ой смены, иначе xj =0

В данном случае возникают две задачи: планирования и оперативного управления.

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

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

Обе задачи являются динамическими, т.е. условия задачи зависят от времени.

Применение популяционно-генетических алгоритмов [1,2] при решении задач дискретной оптимизации позволяет получать хорошие результаты, что было показано в работах [3-5]. Существуют и другие подходы для решения задач планирования [6], тем не менее, применение популяционно-генетического алгоритма к решению полученных задач является оправданным.

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

Поскольку задачи, возникающие при загрузке уникального оборудования, являются динамическими, то в данной работе используется популяционно-генетический подход [7,8], позволяющий с равным успехом решать как классические (стационарные) задачи, так и задачи, число переменных в которых меняется в зависимости от времени.

Определение оптимального плана загрузки уникального оборудования

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

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

увеличивается. Таким образом, Аг+1 = {а{+1, а 2+1,...а[+1} и {а{, а 2,...а)}, где {а/, а2,...а\} - невыполненные за предыдущую смену (смены) заказы, их штрафы СТ=/(',Л*с), где /(/,у) - функция увеличения штрафа за невыполнениеу-го заказа.

Таблица №1.

Оценки эффективности для задачи планирования загрузки уникального

оборудования на рабочую неделю.

Среднее отношение Среднее отношение ПъеЛЦрррег

1.02 0.97

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

Задача планирования решалась при помощи алгоритма с базой опыта [4]. Данный алгоритм позволяет сохранять хорошие найденные решения, что актуально в случае перехода части невыполненных заказов на следующую смену. Для оценки качества решения, получаемой при помощи указанного метода, использовались верхняя и нижняя оценка соответствующей задачи о ранце. В качестве верхней оценки (Upper) получаемого решения рассматривалось решение линейной задачи о ранце, нижней (Low) - решение дискретной по методу Данцига [11]. При этом верхняя оценка может быть недостижимой для дискретной задачи о ранце.

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

момент времени выполнения запланированных на смену заказов, может произойти поступление новых. Количество поступления новых заказов за смену ограничено.

Пусть для смены задан набор заказов А = {а1, а 2...ап}, время выполнения

г7 и штраф с7 для каждого заказа 7 = 1, п известны, заказы нужно выполнить

за смену, длительность которой Т. Из заданных заказов нужно составить план загрузки станка на рабочую смену таким образом, чтобы минимизировать штрафы за невыполнение. Кроме того, в произвольное время гк е (0, Т) может прийти дополнительный набор заказов А'к = {а{к,а2* ...аП*}, каждый заказ имеет время выполнения ^ и штраф с'*, 7 = 1, щ . Количество дополнительных заказов не больше 10 за смену.

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

Таким образом, необходимо решить две задачи: составление оптимального плана работы на смену А* = {а*,а**,...а*} А* е А', упорядочивание заказов (а*,а**,...а**), где порядок выполнения заказов. Здесь применим один из жадных подходов: упорядочим заказы, составляющие оптимальный план, по не убыванию их относительной полезности (2).

Тогда, при внесении изменений в план загрузки оборудования станка на смену, наиболее ценные заказы уже будут выполнены.

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

Рис. 1. - График адаптации решений для задачи оперативного управления загрузкой уникального оборудования. На графике (рис.1) также представлены верхняя и нижняя оценка для решаемой задачи. В качестве верхней оценки (Upper) выступает решение линейной задачи о ранце, нижней (Low) - решение дискретной по методу Данцига.

Таблица 2.

Оценки полученного решения для задачи оперативного управления.

Количество дополнительных задач Среднее отношение Пbest/ / Low Среднее отношение пbest/ /Upper

10 1.03 0.96

5 1.03 0.96

Таблица 2 представляет усредненные отношения лучшего найденного решения к нижней оценке (Low) и к верхней оценке (Upper) при внесении 5 изменений в план загрузки оборудования за смену и при внесении 10 изменений в план загрузки оборудования за смену. Полученные результаты

позволяют говорить об устойчивости модели и ее адекватности реальной производственной задаче.

Литература

1. Батищев, Д.И. Генетические алгоритмы решения экстремальных задач: Учебное пособие. / Воронеж, 1995.- 64c

2. Goldberg, D.E., 1989. Genetic algorithms in search, optimization, and machine learning. Addison-Wesley, p. 372

3. Батищев, Д.И. Применение генетических алгоритмов к решению задач дискретной оптимизации: Учебное пособие./Д.И.Батищев, Е.А.Неймарк, Н.В.Старостин-Н.Новгород, изд-во ННГУ им.Н.И. Лобачевского 2006. -136с.

4. Нетёсов, А.С. Эвoлюциoннo-генетический пoдхoд к решению зaдaч oптимизaции. Срaвнительный aнaлиз генетических aлгoритмoв с трaдициoнными метoдaми oптимизaции //Инженерный вестник Дона. - 2011, №3 URL: ivdon.ru/ru/magazine/archive/n3y2011/459

5. Simoes, A. and E. Costa, 2001. An Evolutionary Approach to the Zero/One Knapsack Problem: Testing Ideas from Biology. Proc. of the 5th International Conference on Artificial Neural Networks and Genetic Algorithms (ICANNGA '2001), pp: 236-239.

6. Кузнецов А. В. Принципы подхода к объемному календарному планированию при проведении лесотранспортных работ // Инженерный вестник Дона , 2012, № 2, URL: ivdon.ru/ru/magazine/archive/n2y2012/881

7. Неймарк, Е.А. Решение нестационарной задачи о ранце при помощи генетического алгоритма. //Вестник ННГУ. 2006. Вып.3(32). с.133-137

8. Неймарк, Е.А. Оптимизация нестационарной функции с использованием генетического алгоритма / Е.А. Неймарк // Вестник ВГАВТ. Вып.14. Межвузовская серия Моделирование и оптимизация сложных систем. - 2005- Н.Новгород: Изд-во ФГОУ ВПО ВГАВТ,. - с.85-90.

9. Eggermont, J. and T.Lenaerts, 2001. Non-stationary function optimization using evolutionary algorithms with a case-based memory. Technical Report TR2001, URL:citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.310.

10. Bendtsen, C. N. and T. Krink. Dynamic Memory Model for Non-Stationary Optimization. Proc. of the Fourth Congress on Evolutionary Computation (CEC-2002), vol. 1, pp. 145-150.

11. Сигал, И.Х. Введение в прикладное дискретное программирование./ И.Х. Сигал, А.П. Иванова - 2007г.- М. Физматлит , 304с.

References

1. Batishhev, D.I. Geneticheskie algoritmy reshenija jekstremal'nyh zadach: Uchebnoe posobie.[Genetin algorythms for exstreme problems. Manual.]/ D.I. Batishhev; pod red. L'vovicha Ja.E. Voronezh, 1995. p.64

2. Goldberg, D.E., 1989. Genetic algorithms in search, optimization, and machine learning. Addison-Wesley, p. 372

3. Batishhev, D.I. Primenenie geneticheskih algoritmov k resheniju zadach diskretnoj optimizacii: Uchebnoe posobie. [Genetic algorythms for discrete optimization. Manual]. D.I.Batishhev, E.A.Neumark, N.V.Starostin. N.Novgorod, izd-vo NNGU im. N.I.Lobachevskogo 2006. p.136.

4. Netjosov, A.S. Inzenernyj vestnik Dona (Rus). 2011, №3, URL: http://ivdon.ru/ru/magazine/archive/n3y2011/459

5. Simoes, A. and E. Costa, 2001. An Evolutionary Approach to the Zero/One Knapsack Problem: Testing Ideas from Biology. Proc. of the 5th International Conference on Artificial Neural Networks and Genetic Algorithms (ICANNGA '2001), pp: 236-239.

6. Kuznecov A. V. , Skrypnik V.I., Krupko A. M. Inzenernyj vestnik Dona (Rus). 2012, № 2, URL: ivdon.ru/ru/magazine/archive/n2y2012/881

7. Neumark, E.A. Vestnik NNGU. 2006. Vyp.3 (32). pp.133-137

8. Neumark, E.A. Vestnik VGAVT. Vyp.14. Mezhvuzovskaja serija Modelirovanie i optimizacija slozhnyh sistem. 2005. N.Novgorod: Izd-vo FGOU VPO VGAVT. Pp.85-90.

9. Eggermont, J. and T.Lenaerts, 2001. Non-stationary function optimization using evolutionary algorithms with a case-based memory. Technical Report TR2001, URL:citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.310.

10. Bendtsen, C. N. and T. Krink. Dynamic Memory Model for Non-Stationary Optimization. Proc. of the Fourth Congress on Evolutionary Computation (CEC-2002), vol. 1, pp. 145-150.

11. Sigal, I.H. Vvedenie v prikladnoe diskretnoe programmirovanie. [Introduction to applying discrete programming]. I.H. Sigal, A.P. Ivanova, 2007. M. Fizmatlit, p.304