УДК 004.94
ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ РЕШЕНИЯ ЗАДАЧ ОРТОГОНАЛЬНОЙ УПАКОВКИ ОБЪЕКТОВ4
Чеканин Владислав Александрович, к.т.н., доцент, ФГБОУ ВО «МГТУ «СТАНКИН», Москва, Россия, [email protected]
Чеканин Александр Васильевич, д.т.н., профессор, ФГБОУ ВО «МГТУ «СТАНКИН», Москва, Россия, [email protected]
Введение
Задача ортогональной упаковки представляет собой оптимизационную задачу поиска наиболее плотного размещения заданного набора ортогональных объектов в ортогональных контейнерах. К решению задачи ортогональной упаковки сводится решение большого числа практических задач оптимизации, включая задачи прямоугольного раскроя материалов, распределения трафика в компьютерных и вычислительных сетях, компоновки технологического оборудования и элементов интегральных схем, контейнерной упаковки грузов и паллетирования, объемно-календарного планирования и многие другие задачи [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 [email protected] Панов Сергей Аркадьевич, старший преподаватель, Томский государственный университет систем управления и радиоэлектроники, Россия, Томск, [email protected]
Введение
В последнее время моделирование бизнес-процессов (БП) становится модной тенденцией, охватившей немало крупных предприятий. Благодаря моделированию БП компаниям предоставляется возможность выбора и расчета вариантов их улучшения без привлечения реальных экспериментов, но с максимальной приближенностью к действительности, а также принятия эффективных управленческих решений.
В основе моделирования БП лежит графический метод их описания в виде диаграмм, схем и т.д. Это может быть простой рисунок, созданный с помощью карандаша и бумаги или компьютерной программы.
Полученное графическое представление БП получило название «модель бизнес-процесса».
Для разработки моделей БП (деятельности компании) используется совокупность графических элементов (нотация). В тоже время под нотацией понимают синтаксис графического языка моделирования.
Модели БП применяются предприятиями, компаниями для различных целей, вследствие чего выделяют три основных типа моделей:
1) Графическая модель БП в виде наглядной, общепонятной диаграммы может служить для обучения новых сотрудников их должностным обязанностям, согласования действий между структурными единицами компании, подбора или разработки компонентов информационной системы и т. д. Описание с помощью моделей такого типа существующих и целевых БП используется для оптимизации и совершенствования деятельности компании путем устранения узких мест, дублирования функций и т.д.
5 Исследование выполнено при финансовой поддержке гранта РФФИ № 16-37-00027 «Разработка программных средств автоматической параметризации компьютерных моделей эколого-экономических систем предприятий нефтегазовой промышленности»