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

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

CC BY
586
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАДАЧА УПАКОВКИ / ЗАДАЧА ОРТОГОНАЛЬНОЙ УПАКОВКИ / ЗАДАЧА ПРЯМОУГОЛЬНОГО РАСКРОЯ / ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ БИБЛИОТЕКА КЛАССОВ / PACKING PROBLEM / ORTHOGONAL PACKING PROBLEM / RECTANGULAR CUTTING / APPLIED SOFTWARE / OBJECT-ORIENTED CLASS LIBRARY

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

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

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

The article is devoted to the problem of orthogonal packing problem of arbitrary dimension given in a general form. This optimization problem is a classical problem of discrete optimization which is to find the most efficient placement of a given set of orthogonal objects without overlap in orthogonal containers. Orthogonal packing problems combine a wide range of optimization problems of resource allocation, where resources are presented in the form of orthogonal objects. Among various types of the orthogonal packing problems the most popular are the linear and rectangular cutting problems, strip packing problems, as well as the bin packing problems where all containers are three-dimensional parallelepipeds. In order to solve different types of orthogonal packing problems was developed an application software that provides the possibility of placing one-, twoand three-dimensional orthogonal objects. Core of the program enables the placement of objects of arbitrary dimension, which can be used in solving orthogonal packing problems with the dimension greater than three, in which the dimension is usually enhanced by non-spatial variables such as time, cost and others. In the basis of the developed software is a set of classes built with using a unified class library for solving resource allocation problems. The software as the model for description the content of the containers uses previously developed model of potential container which describes free spaces of each container by a set of all existing orthogonal areas. In order to get quick access to the potential containers is used the proposed by the authors multilevel linked data structure. The developed software includes a library of standard benchmark test problems of rectangular cutting as well as two-dimensional and three-dimensional bin packing problems which are intended to analyze the effectiveness of heuristic and metaheuristic optimization methods for solving the orthogonal packing problems.

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

УДК 004.94

ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ РЕШЕНИЯ ЗАДАЧ ОРТОГОНАЛЬНОЙ УПАКОВКИ ОБЪЕКТОВ4

Чеканин Владислав Александрович, к.т.н., доцент, ФГБОУ ВО «МГТУ «СТАНКИН», Москва, Россия, vladchekanin@rambler.ru

Чеканин Александр Васильевич, д.т.н., профессор, ФГБОУ ВО «МГТУ «СТАНКИН», Москва, Россия, avchekanin@rambler.ru

Введение

Задача ортогональной упаковки представляет собой оптимизационную задачу поиска наиболее плотного размещения заданного набора ортогональных объектов в ортогональных контейнерах. К решению задачи ортогональной упаковки сводится решение большого числа практических задач оптимизации, включая задачи прямоугольного раскроя материалов, распределения трафика в компьютерных и вычислительных сетях, компоновки технологического оборудования и элементов интегральных схем, контейнерной упаковки грузов и паллетирования, объемно-календарного планирования и многие другие задачи [1, 2]. Актуальность проблемы оптимизации решения задачи ортогональной упаковки объектов объясняется широким спектром областей практического применения решений этой задачи, что подтверждается наличием большого числа научных публикаций, подготовленных как отечественными (Э.А. Мухачёва, В.М. Картак, А.С. Филиппова, А.Ф. Валеева, Ю.И. Валиахметова), так и зарубежными (S. Martello, A. Lodi, D. Vigo, D. Pisinger, A. Bortfeldt, G. Wascher, S. Fekete, J. Shchepres, T. Crainic, G. Perboli) исследователями.

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

1. Постановка задачи ортогональной упаковки объектов

В общем виде постановка D-мерной задачи ортогональной упаковки объектов подразумевает наличие двух наборов элементов в форме D-мерных параллелепипедов:

1) набор N ортогональных контейнеров с габаритными размерами

W},W},...,Wf }, j e{l,..., N};

2) набор n ортогональных объектов с габаритными размерами {w1, wf,..., wj } i eft,...,n}.

Обозначим положение объекта i в контейнере j через (x1;xfj;...;xjНеобходимо

разместить все объекты в минимальном числе контейнеров при выполнении следующих условий корректного размещения [11, 12]:

• ребра размещенных в контейнере ортогональных объектов параллельны ребрам этого контейнера;

4 Статья рекомендована к опубликованию в журнале "Прикладная информатика"

10

• размещенные объекты не перекрывают друг друга, т.е.

(4 > 4+^ > 4+)

У/ е{1,...,Ж}, Уё е {1.....Б}, г, к е {1.....и}, г * к ;

• размещенные объекты не выходят за границы контейнеров, т.е.

(х/ > о)л (х/ + wf < Ж/ ) у/ е{1,., N1 Уё е{1,..., Б}, Уг е{1,..., и}

Постановка задачи .О-мерной ортогональной упаковки предполагает задание направления загрузки контейнера в виде приоритетного списка выбора связанных с ним координатных осей Ьр = {рр2 ;...;РБ}, где р е {1,...,Б}Уё е {1,...,Б}. При размещении каждого объекта поиск свободных областей заполняемого контейнера должен осуществляться в порядке, определенном в приоритетном списке Ьр . В качестве примера на рис. 1 приведены схемы размещения ортогональных объектов, полученные для различных направлений загрузки трёхмерного ортогонального контейнера.

Ьр = {1;2;3}

Ьр = {1;3;2}

Ьр = {2;1;3}

Ьр = {2;3;1}

Ьр = {3;1;2}

Ьр = {3;2;1}

Рис. 1 - Возможные направления загрузки трёхмерного ортогонального контейнера

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

{рк;Ркъ---;Рк }, содержащим его габаритные размеры к и вектором {к;х^;...;хБ}, содержащий координаты некоторой точки, определяющей положение этого потенциального контейнера. Для эффективной организации набора потенциальных контейнеров используется многоуровневая связная структура данных, описанная в статье [4].

2. Программная реализация

Прикладное программное обеспечение для решения задач ортогональной упаковки разработано с использованием объектно-ориентированного языка программирования С++. В его основе лежит набор классов, построенный на базе унифицированной библиотеки классов для решения задач распределения ресурсов [3], приведённый в виде диаграммы ЦМЬ на рис. 2. В таблице 1 приведено краткое описание основных классов.

Рис. 2 - Диаграмма классов

№ п/п Класс Назначение класса

1 СОгёег Класс задачи ортогональной упаковки размерности О

2 СОЬ] Класс размещаемого ортогонального объекта

3 СО^Раекеё Класс размещенного в контейнере объекта

4 ССоШшпег Класс ортогонального контейнера

5 СУРо1т Класс потенциального контейнера

6 СУоЬ]^ Класс многоуровневой связной структуры данных, предназначенной для эффективного хранения набора потенциальных контейнеров [4]

7 СУоЬ] Класс элемента многоуровневой связной структуры данных

8 СЛ^аек Абстрактный класс метаэвристического алгоритма решения задачи [7]

9 ССИгошоБоше Класс закодированного решения задачи, представленного в виде последовательности размещаемых объектов или последовательности эвристик размещения объектов [8]

На рис. 3 приведено главное окно программы в режиме вывода результатов решения задачи трёхмерной ортогональной упаковки объектов.

Рис. 3 - Визуализация решения задачи трёхмерной ортогональной упаковки объектов

Заключение

Разработанное прикладное программное обеспечение для решения задач ортогональной упаковки объектов реализует следующие возможности:

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

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

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

В состав разработанного программного обеспечения входит библиотека стандартных эталонных тестовых задач ортогональной упаковки и прямоугольного раскроя, включающая следующие наборы задач:

• задачи упаковки на полубесконечную полосу (задачи SPP, классы C1-C6 [13] и C7-C10 [14]);

• задачи прямоугольной контейнерной упаковки объектов (задачи 2DBPP [15]);

• задачи контейнерной упаковки трёхмерных объектов в форме параллелепипедов (задачи 3DBPP [16]).

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

Литература

1. Bortfeldt A., Wascher G. Constraints in container loading - A state-of-the-art review // European

Journal of Operational Research. 2013. Vol. 229. N. 1. P. 1-20.

2. Wascher G., Haubner H., Schumann H. An improved typology of cutting and packing problems //

European Journal of Operational Research. 2007. Vol. 183. N. 3. P. 1109-1130.

3. Чеканин В.А., Чеканин А.В. Объектно-ориентированная библиотека классов для решения

оптимизационных задач распределения ресурсов // Объектные системы - 2015: материалы X Международной научно-практической конференции (Ростов-на-Дону, 10-12 мая 2015 г.) / Под общ. ред. П.П. Олейника. - Ростов-на-Дону: ШИ (ф) ЮРГПУ (НПИ) им. М.И. Платова,

2015. - С. 41-44, http://objectsystems.ru/files/2015/Object_Systems_2015_Proceedings.pdf.

4. Чеканин В.А., Чеканин А.В. Объектно-ориентированная реализация связной структуры данных

для оптимизационных задач упаковки // Объектные системы - 2016: материалы XII Международной научно-практической конференции (Ростов-на-Дону, 10-12 мая 2016 г.) / Под общ. ред. П.П. Олейника. - Ростов-на-Дону: ШИ (ф) ЮРГПУ (НПИ) им. М.И. Платова,

2016. - С. 17-23, http://objectsystems.ru/files/2016/Object_Systems_2016_Proceedings.pdf.

5. Chekanin A.V., Chekanin V.A. Improved packing representation model for the orthogonal packing

problem // Applied Mechanics and Materials. 2013. Vol. 390. P. 591-595.

6. 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.

7. Чеканин А.В., Чеканин В.А. Проектирование инновационной библиотеки бионических

алгоритмов для решения практических задач оптимизации // Инновации. 2016. № 8. С. 108112.

8. Чеканин В.А., Чеканин А.В. Алгоритм решения задач ортогональной упаковки объектов на

основе мультиметодной технологии // Информационные технологии. 2013. № 7. С. 17-21.

9. Чеканин В.А., Чеканин А.В. Модели конструирования ортогональной упаковки объектов //

Информационные технологии и вычислительные системы. 2014. № 2. С. 37-45.

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

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

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

13. Berkey O., Wang P.Y. Two-dimensional finite bin-packing algorithms // Journal of the Operational Research Society. 1987. Vol. 389. N. 5. P. 423-429.

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

15. Fekete S.P., Schepers J. New classes of lower bounds for bin packing problems // Lecture Notes in Computer Science. 1998. Vol. 1412. P. 257-270.

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

УДК 004.94

РАЗРАБОТКА ГРАФИЧЕСКОЙ НОТАЦИИ ДЛЯ МНОГОУРОВНЕВОГО КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ БИЗНЕС-ПРОЦЕССОВ5

Григорьева Татьяна Евгеньевна, аспирант, Томский государственный университет систем управления и радиоэлектроники, Россия, Томск, tanya grig 1991@mail.ru Панов Сергей Аркадьевич, старший преподаватель, Томский государственный университет систем управления и радиоэлектроники, Россия, Томск, spytech3000@gmail.com

Введение

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

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

Полученное графическое представление БП получило название «модель бизнес-процесса».

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

Модели БП применяются предприятиями, компаниями для различных целей, вследствие чего выделяют три основных типа моделей:

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

5 Исследование выполнено при финансовой поддержке гранта РФФИ № 16-37-00027 «Разработка программных средств автоматической параметризации компьютерных моделей эколого-экономических систем предприятий нефтегазовой промышленности»

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