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

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

CC BY
332
86
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Инновации
ВАК
RSCI
Область наук
Ключевые слова
РАСПРЕДЕЛЕНИЕ РЕСУРСОВ / RESOURCE ALLOCATION / ОПТИМИЗАЦИЯ / OPTIMIZATION / БИБЛИОТЕКА КЛАССОВ / CLASS LIBRARY / ЗАДАЧА ОРТОГОНАЛЬНОЙ УПАКОВКИ / ORTHOGONAL PACKING PROBLEM / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / SOFTWARE

Аннотация научной статьи по математике, автор научной работы — Чеканин А.В., Чеканин В.А.

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

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

Innovative approach to solve optimization problems of resource allocation in industry

The article is devoted to an innovative approach to solving the optimization resource allocation problems which is to use the developed unified class library designed to solve a variety of resource allocation problems using heuristic and metaheuristic algorithms. On the basis of the developed class library has been created an application software intended to optimize the solutions of orthogonal packing problems.

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

ю

о сч

сч о сч

со

J

ä О

Инновационный подход к решению оптимизационных задач распределения ресурсов в промышленности

А. В. Чеканин,

д. т. н., профессор, зав. кафедрой

avchekanin@rambler.ru

В. А. Чеканин,

к. т. н., доцент

vladchekanin@rambler.ru

Кафедра теоретической механики и сопротивления материалов, ФГБОУ ВО «МГТУ «СТАНКИН»

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

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

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

Задачи распределения ресурсов являются классическими задачами математической теории исследования операций (Operations Research). К этому классу задач относится большое число оптимизационных задач, решение которых заключается в поиске наиболее рациональных способов размещения ресурсов одного типа, называемых объектами, среди ресурсов другого типа, называемых контейнерами. Первая подробная классификация задач распределения ресурсов, рассматривающая различные виды объектов и контейнеров, была представлена H. Dyckhoff в 1990 г. [2]. В настоящее время наиболее полной считается классификация,

предложенная G. Wascher, H. Haubner и H. Schumann в 2007 г. [3], при подготовке которой были рассмотрены 445 статей, посвященных проблеме оптимизации распределения ресурсов.

Решение большинства задач распределения ресурсов сводится к решению следующих типов оптимизационных задач в промышленности [2, 3]:

• задача ортогональной упаковки объектов в ортогональные контейнеры (Orthogonal Bin Packing Problem), заключающаяся в поиске способа размещения заданного числа ортогональных объектов в минимальное число ортогональных контейнеров (распределение процессорного времени; распределение памяти в мультипрограммных системах; распределение трафика в вычислительных сетях; составление расписаний [4-6]);

• задача раскроя (Cutting Stock Problem), имеющая место при решении задач автоматического и автоматизированного раскроя материалов (гильотинный и негильотинный раскрой материала из листовых и рулонных заготовок в металлообрабатывающей, деревообрабатывающей и текстильной промышленности [7, 8]);

• задача компоновки (Layout Problem), заключающаяся в поиске наиболее рационального с функциональной точки зрения размещения фиксированного набора объектов в одном контейнере с

учетом технологических ограничений (компоновка и размещение оборудования на рабочих местах; проектирование и синтез печатных плат; планирование помещений);

• задача о ранце (Knapsack Problem), представляющая собой многокритериальную задачу поиска наиболее подходящего набора объектов для их размещения в одном контейнере (расчет оптимальных капиталовложений; складирование грузов и планирование грузоперевозок автомобильным, железнодорожным, воздушным, речным и морским транспортом [9]);

• задача о покрытии (Nesting Problem), заключающаяся в поиске способа полного покрытия некоторой области минимальным числом объектов одного типа (покрытие базовых станций сотовой связи [10]; покрытие территории в агротехнических и экологических системах; проектирование систем автоматической противопожарной защиты; проектирование систем освещения). Широкое распространение практических приложений задач распределения ресурсов в промышленности и экономике [11-14] делает актуальной проблему разработки эффективных методов решения этих задач.

Все задачи оптимального распределения являются задачами комбинаторного анализа и принадлежат к классу NP-сложных (Nondeterministic Polynomial) задач, для решения которых не существует алгоритмов решения полиномиальной сложности [15]. Применение точных методов, основанных на полном переборе всех вариантов решения, нереализуемо на практике из-за больших временных затрат при решении задач большой размерности. Поэтому для решения NP-сложных задач применяются различные недетерминированные эвристические [16] и метаэвристические алгоритмы оптимизации, обеспечивающие получение субоптимальных решений за приемлемое время. Основным недостатком таких алгоритмов является невозможность гарантированного попадания решения в глобальный оптимум. Среди метаэвристических алгоритмов оптимизации при решении задач распределения ресурсов наибольшую эффективность демонстрируют генетический алгоритм, алгоритм муравьиной колонии и алгоритм отжига [17-20], а также их комбинированные варианты [21, 22].

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

Унифицированная библиотека классов для задач распределения ресурсов

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

• возможность решения задач различной размерности (одномерной, двухмерной, трехмерной, произвольной размерности);

• возможность решения различных типов задач распределения ресурсов;

• возможность выбора различных направлений загрузки контейнеров;

• возможность расширения библиотеки за счет включения в нее новых типов размещаемых объектов;

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

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

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

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

Многоуровневая связная структура данных обеспечивает возможность задания различных направлений загрузки контейнера при решении задач распределения ресурсов произвольной размерности. Направление загрузки контейнера определяет очередность выбора координатных осей контейнера при размещении в нем объектов и задается в виде списка Ь = {^ ^ ...; 1в|, где D — размерность задачи; Ц — номер координатной оси, Ц £ [1; D] V I £ [1; D]. На рис. 1 показаны упаковки, полученные для всех возможных направлений загрузки трехмерного ортогонального контейнера.

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

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

ю о

CN

cJ о N

оо

J <

СО

ю о

о?

о ^

оо

< со

Рис. 1. Направления загрузки трехмерного ортогонального контейнера

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

1. Установить номер выбираемого к размещению объекта г:=1. Установить номер текущего контейнера Т=1.

2. В контейнере ] произвести поиск наиболее подходящей свободной области для размещения объекта г. Если искомая область отсутствует, выполнить переход к следующему контейнеру_/':=/'+1. Если среди всех контейнеров не найдена искомая область (_/ < Щ, то установить у=1 и выполнить переход к п. 4, иначе повторить п. 2.

3. Разместить объект г в найденной свободной области контейнера _/. Установить номер текущего контейнера _;:=1.

4. Выбрать очередной объект г:=г+1 из строки размещения. Если выбраны все объекты (г >Щ, то завершить декодирование.

При разработке унифицированной библиотеки классов, реализованной на алгоритмическом языке программирования С++, был применен объектно-ориентированный подход, обеспечивающий возможность построения систем любого размера и сложности за счет следующих особенностей объектного моделирования [26]:

• наследование объектов;

• инкапсуляция методов и данных;

• перегрузка методов;

• моделирование связей между объектами в условиях, предельно близких к реальным;

• естественность и наглядность процесса программирования;

• легкость сопровождения и дальнейшей модификации программного кода.

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

Класс задачи предназначен для управления всеми операциями, связанными с решением задачи распределения ресурсов. Он содержит информацию о типе

Рис. 2. Процесс решения оптимизационной задачи распределения ресурсов

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

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

Абстрактный класс объектов позволяет расширять библиотеку классов путем включения в нее новых типов размещаемых объектов. Он содержит информацию о следующих параметрах размещаемых объектов:

• геометрические параметры (габаритные размеры, варианты ориентации, величина допуска при раскрое);

• физические параметры (вес, хрупкость, температура);

• иные параметры (стоимость, срочность размещения и др.).

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

Объект

геометрические параметры -физические параметры -иные параметры

+Проверка возможности размещения() +Установка новых узлов() +Присоединение объекта к узлуО

т

1 1

Цилиндр Ортогональный объект Шар

-радиус -размерность -радиус

-высота -габаритные размеры

Рис. 3. Абстрактный класс объектов

+3апуск алгоритмаО

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

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

Разработанная библиотека классов для решения оптимизационных задач распределения ресурсов приведена в виде диаграммы UML на рис. 5. Для повышения наглядности на диаграмме не показаны классы-наследники, приведенные на рис. 3 и 4.

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

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

• задача одномерной упаковки, известная также как задача 1DBPP (One-Dimensional Bin Packing Problem);

• задача прямоугольного негильотинного раскроя (Non-Guillotine Cutting Stock Problem);

• задача упаковки прямоугольников на полубесконечную полосу, известная также как задача рулонного раскроя SPP (Strip Packing Problem);

• задача двухмерной контейнерной упаковки прямоугольников 2DBPP (Two-Dimensional Bin Packing Problem);

• задача трехмерной контейнерной упаковки параллелепипедов 3DBPP (Three-Dimensional Bin Packing Problem).

Рис. 5. Библиотека классов для решения оптимизационных задач распределения ресурсов

Программное обеспечение «Packer» содержит следующие компоненты:

• модуль создания, загрузки и сохранения задач;

• редактор параметров задачи;

• библиотека эталонных тестовых задач ортогональной упаковки объектов;

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

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

• модуль визуализации результатов решения задачи.

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

• задачи рулонного раскроя SPP (классы задач C1-C6), предложенные J. O. Berkey и P. Y. Wang

[27];

• задачи рулонного раскроя SPP (классы задач C7-C10), описанные в статье S. Martello и D. Vigo

[28];

• задачи двухмерной контейнерной ортогональной упаковки 2DBPP, предложенные S. P. Fekete и J. Schepers [29];

• задачи трехмерной контейнерной ортогональной упаковки 3DBPP, предложенные S. Martello, D. Pisinger и D. Vigo [5].

ю о

CN

cï о N

оо

J <

СО

ю о

CN

cJ о сч

оо

J <

со

Рис. 6. Параметры задачи трехмерной ортогональной упаковки объектов

Работу программного обеспечения «Packer» продемонстрируем на примере решения задачи трехмерной ортогональной упаковки объектов, параметры которой приведены на рис. 6. В рассматриваемом примере решается задача оптимизации размещения 200 объектов в форме параллелепипедов 10 различных типов в 4 контейнерах в форме куба с габаритными размерами 100x100x100. Найденное решение задачи приведено на рис. 7.

Заключение

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

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

Данная работа выполнялась при финансовой поддержке Министерства образования и науки РФ в рамках выполнения государственного задания в сфере научной деятельности (задание № 2014/105).

Рис. 7. Решение задачи трехмерной ортогональной упаковки объектов

Список использованных источников

1. Постановление Правительства Российской Федерации от 15.04.2014 № 301 «Об утверждении государственной программы Российской Федерации «Развитие науки и технологий» на 2013-2020 гг.»//Собрание законодательства Российской Федерации. 2014. № 18. Ч. I. Ст. 2150.

2. Dyckhoff H. A typology of cutting and packing problems// European Journal of Operational Research. 1990. Vol. 44. P. 145-159.

3. Wascher G., Haubner H., Schumann H. An improved typology of cutting and packing problems//European Journal of Operational Research. 2007. Vol. 183. № 3. P. 1109-1130.

4. Crainic T. G., Perboli G., Tadei R. Extreme point-based heuristics for three-dimensional bin packing//INFORMS Journal on Computing. 2008. Vol. 20. № 3. P. 368-384.

5. Martello S., Pisinger D., Vigo D. The three-dimensional bin packing problem//Operations Research. 2000. Vol. 48. № 2. P. 256-267.

6. Чеканин В. А., Чеканин А. В. Модели конструирования ортогональной упаковки объектов//Информационные технологии и вычислительные системы. 2014. № 2. С. 37-45.

7. Картак В. М. Матричный алгоритм поиска оптимального решения для задачи упаковки прямоугольников в полубесконечную полосу//Информационные технологии. 2008. № 2. С. 24-30.

8. Chekanin V. A., Chekanin A. V. Development of the multimethod genetic algorithm for the strip packing problem//Applied Mechanics and Materials. 2014. Vol. 598. P. 377-381.

9. Чеканин В. А., Ковшов Е. Е. Систематизация и анализ структур данных при автоматизации управления складом на основе генетических алгоритмов//Известия высших учебных заведений. Проблемы полиграфии и издательского дела. 2008. № 5. С. 42-51.

10. Ермолов И. Л., Собольников С. А. Решение задачи распределения группы мобильных роботов для обеспечения работы подвижной коммуникационной сети//Вестник МГТУ «Станкин». 2012. № 4. С. 126-129.

11. Григорьев С. Н., Кутин А. А., Долгов В. А. Принципы построения цифровых производств в машиностроении//Вестник МГТУ «Станкин». 2014. № 4. С. 10-15.

12. Ковшов Е. Е., Мартынов П. Н., Горяева О. В., Чугреева Е. Е. «Облачные» вычисления при управлении инновациями и интеллектуальной собственностью промышленного пред-приятия//Вестник МГТУ «Станкин». 2012. № 3. С. 124-128.

13. Костров И. А., Ковшов Е. Е. Сервисно-ориентированная архитектура приложений как средство организации распределенных

* * *

систем в среде слабоструктурированных данных//Вестник МГТУ «Станкин». 2012. № 3. С. 140-144.

14. Гришина Т. Г. Факторы, влияющие на оперативность управления технологическими системами//Вестник МГТУ «Станкин». 2011. № 3. С. 167-170.

15. Carey M., Johnson D. Computers intractability: a guide to the theory of NP-completeness. - San Francisco: W. H. Freeman, 1979. - 338 p.

16. Чеканин В. А., Чеканин А. В. Эвристический алгоритм оптимизации решений задачи прямоугольного раскроя//Вестник МГТУ «Станкин». 2014. № 4. С. 210-213.

17. Чеканин А. В., Чеканин В. А. Алгоритмы эффективного решения задачи ортогональной упаковки объектов//Журнал вычислительной математики и математической физики. 2013. Т. 53. № 10. С. 1639-1648.

18. Валеева А. Ф. Применение метаэвристики муравьиной колонии к задачам двумерной упаковки//Информационные технологии. 2005. № 10. С. 36-43.

19. Филиппова А. С. Моделирование эволюционных алгоритмов решения задач прямоугольной упаковки на базе технологии блочных структур//Информационные технологии. 2006. № 6. Приложение. 32 с.

20. Чеканин В. А., Чеканин А. В. Исследование генетических методов оптимизации распределения прямоугольных ресурсов// Современное машиностроение. Наука и образование. 2012. № 2. С. 798-804.

21. Валиахметова Ю. И., Филиппова А. С. Мультиметодный генетический алгоритм для решения задач ортогональной упаковки// Информационные технологии. 2007. № 12. С. 50-56.

22. Чеканин В. А., Чеканин А. В. Алгоритм решения задач ортогональной упаковки объектов на основе мультиметодной техно-логии//Информационные технологии. 2013. № 7. С. 17-21.

23. Chekanin A. V., Chekanin V. A. Improved packing representation model for the orthogonal packing problem//Applied Mechanics and Materials. 2013. № 390. P. 591-595.

24. Чеканин В. А., Чеканин А. В. Структура данных для задачи трехмерной ортогональной упаковки объектов//Вестник МГТУ «Станкин». 2015. № 1. С. 112-116.

25. Chekanin A. V., Chekanin V. A. Effective data structure for the multidimensional orthogonal bin packing problems//Advanced Materials Research. 2014. Vol. 962-965. P. 2868-2871.

26. Лафоре Р. Объектно-ориентированное программирование в С++. 4-е изд. - СПб.: Питер, 2011. - 928 с.

27. Berkey J. O., Wang P. Y. Two-dimensional finite bin-packing algorithms//Journal of the Operational Research Society. 1987. Vol. 38. № 5. P. 423-429.

28. Martello S., Vigo D. Exact solution of the two-dimensional finite bin packing problem//Management Science. 1998. Vol. 44. P. 388-399.

29. Fekete S. P., Schepers J. New class of lower bounds for bin packing problems//Integer Programming and Computational Optimization (IPCO 98), Lecture Notes in Computer. 1998. Vol. 1412. P. 257-270.

Innovative approach to solve optimization problems of resource allocation in industry

V. A. Chekanin, PhD of Technics, Associate Professor of Department of Theoretical Mechanics and Strength of Materials, MSTU «STANKIN»

A. V. Chekanin, Doctor of Science in Technology, Full Professor of Department of Theoretical Mechanics and Strength of Materials, MSTU «STANKIN»

The article is devoted to an innovative approach to solving the optimization resource allocation problems which is to use the developed unified class library designed to solve a variety of resource allocation problems using heuristic and metaheuristic algorithms. On the basis of the developed class library has been created an application software intended to optimize the solutions of orthogonal packing problems.

Keywords: resource allocation, optimization, class library, orthogonal packing problem, software.

Метрологическая лаборатория центра коллективного пользования МГТУ «СТАНКИН»

Главными задачами работы лаборатории являются:

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

• развитие отрасли разработки и производства средств измерений, в том числе самых передовых в России;

• практическая подготовка кадров для высокотехнологичных отраслей российской экономики. Ученые и специалисты лаборатории занимаются

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

ю о

CN

cJ о сч

оо

J <

СО

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