УДК 519.6
DOI: 10.17277/vestnik.2015.02.pp.257-265
РАЗРАБОТКА И ИССЛЕДОВАНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ АВТОМАТИЗАЦИИ ПРОЕКТНЫХ ПРОЦЕДУР ОПТИМИЗАЦИИ ГЕОМЕТРИЧЕСКОГО ПОКРЫТИЯ
С. Л. Забелин1, В. Д. Фроловский2, К. В. Жеголко1
ФГБОУ ВПО ««Сибирский государственный университет телекоммуникаций и информатики», г. Новосибирск (1); [email protected]; ФГБОУ ВПО «Новосибирский государственный технический университет» (2)
Ключевые слова: генетический алгоритм; задачи оптимизации геометрического покрытия; метаэвристические алгоритмы; КР-трудные задачи.
Аннотация: Рассмотрена задача геометрического покрытия, которая является частным случаем задачи оптимального проектирования и принадлежит к классу задач «раскроя и упаковки». Сложность рассматриваемых задач оптимального проектирования обусловлена их принадлежностью к классу КР-трудных задач, что не дает возможности их решения точными методами и требует построения приближенных оптимизационных методов и алгоритмов. Эффективным является использование метаэвристических методов. Исследован генетический алгоритм, выполнен сравнительный анализ эффективности покрытия четырех абстрактных поверхностей покрывающими объектами различной формы с использованием четырех вариантов генетического алгоритма с различными настройками вероятностного алгоритма. Вычислительные эксперименты показали, что генетический алгоритм эффективно покрывает поверхности с неровными краями с использованием объектов разного вида.
Введение
Один из путей ускорения научно-технического прогресса - автоматизация конструкторских и технологических решений в системах автоматизированного проектирования и автоматических системах технологический подготовки производства на базе широкого внедрения современных информационных технологий. При решении многих задач проектирования необходимо учитывать их геометрические особенности, что позволило выделить их в отдельный класс задач геометрического проектирования [1]. В качестве примеров можно назвать задачи: рационального раскроя материалов, автоматизированного проектирования генеральных планов промышленных предприятий, проектирования цифровой аппаратуры, проектирования систем воздушного и космического наблюдения, систем безопасности, систем освещения, агротехнических систем, систем сотовой связи и других. Задача геометрического покрытия относится к проблематике «раскроя и упаковки» (Cutting and Packing, C&P). В течение последних шестидесяти лет данная проблема привлекает внимание научных исследователей и производственников. Научное начало рациональному использованию материалов заложено работой [2], которая впервые была опубликована в 1951 г. К фундаментальным работам этого направления относятся работы [1, 3, 4]. В отличие от других задач этого класса, задачи покрытия мало изучены на сегодняшний день [5]. Актуальность задачи геометрического покрытия обусловлена ее принадлежностью к классу
МР-трудных задач, причем с дискретно-непрерывной структурой. Поэтому возникает проблема разработки приближенных и эвристических методов, позволяющих находить субоптимальные решения. Эффективным является использование мета-эвристических методов [6, 7]. В настоящее время развитие методов решения этого класса задач, включая задачи рационального использования материалов и, в общем случае, материальных, финансовых и других ресурсов, направлено, с одной стороны, на создание формального математического аппарата и выявление особенностей задач на основе единого подхода к их описанию, с другой, - разработку практичных моделей и оптимизационных методов для решения соответствующих задач в конкретных технологических условиях.
Постановка задачи
Математическая постановка задачи требует введения формализованных понятий и определений. Всякий геометрический объект обладает вполне определенной пространственной формой, имеет заданные метрические характеристики
п
и занимает некоторое положение в соответствующем пространстве Я . Указанные характеристики задают так называемую геометрическую информацию об объекте. Понятие геометрической информации в данном случае включает:
1) совокупность пространственных форм {5};
2) метрические характеристики {т}, определяющие размеры точечных множеств, имеющих формы из {5};
3) параметры {р}, задающие местоположение точечных множеств в соответствующих пространствах.
Представим геометрическую информацию в виде:
8 = ({4 {т} {р})-
Например, метрической характеристикой точечного множества в простран-
2
стве Я , имеющего форму квадрата, является длина к стороны этого квадрата, а его положение определяется тремя параметрами: координатами Х1, у полюса О1 и углом 61 между осью абсцисс собственной системы координат ХО1 у' и осью абсцисс системы координат хОу. В этом случае информация, индуцирующая данное точечное множество, примет вид: 8 = ({квадрат},{к},{х1, у^^}).
Пусть в двумерном пространстве имеется покрываемая поверхность S0 = S0 (х0, у0,90) и покрывающие геометрические объекты = (х1, у1,91),...
= (хт, ут, 6т), где т - общее число заданных объектов различной формы (прямоугольники, треугольники, окружности с заданными метрическими характеристиками и их теоретико-множественные комбинации). Требуется расположить геометрические объекты на покрываемой поверхности таким образом, чтобы вся поверхность была покрыта целиком, то есть должно выполняться следующее условие:
( п \
So П U s
V i=1
= So
где n - общее количество использованных объектов (в общем случае n Ф m, так как некоторые объекты могут быть использованы несколько раз, или не использованы совсем).
Зададим один из следующих критериев оптимизации:
- Ki = n ^ min, где n - количество использованных геометрических объектов;
n
- K2 P ^ min,
i= 1
где Pi - стоимость использования i-го объекта;
- ^3
где f)St
i=1
n n
^ Si - ^ Si - So - площадь частей геометрических объектов, вышедших за края
i=1 i=1
покрываемой поверхности.
Кроме того, можно использовать комплексный критерий (аддитивный или мультипликативный). В рассматриваемом подходе принято, что все объекты имеют растровую структуру.
Представлена разработка оптимизационных методов, алгоритмов, программ решения задач геометрического покрытия произвольной поверхности объектами любой формы. Для решения поставленных задач разработан и реализован генетический алгоритм. Исследованы покрытия типовых поверхностей группами объектов, подобранных для решения близких по содержанию задач. В основе программы лежит разработанный растровый метод наложения двумерных матриц, в котором каждая точка кодируется целым значением. Все взаимодействия осуществляются с матрицами числовых значений.
Описание генетического алгоритма
Генетический алгоритм (genetic algorithm) (ГА) - эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путем случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. Эффективность алгоритма сильно зависит от параметров (размер начальной популяции, тип селекции, уровень мутации, уровень элитизма и другие), подбираемых опытным путем. Рассмотрим адаптацию генетического алгоритма к задаче оптимального геометрического покрытия.
В основе генетического алгоритма лежит идея развития учеников в классе. Каждый ученик символизирует одно покрытие поверхности. Создается класс определенного количества. Все ученики обладают начальными знаниями. Создание учеников выполняется с помощью алгоритма первого подходящего с уникальной случайностью. При первичной оценке знаний выявляется лучше всех успевающий ученик, с самым высоким коэффициентом Success. Далее происходит обучение и развитие учеников в классе. Определяется материал, который ученики плохо знают, то есть объекты, которые имеют низкий локальный коэффициент, удаляются. Критерий оценки знаний, то есть величина низкого локального коэффициента является случайной, лежащей в пределах от самого низкого до самого высокого коэффициента. Удаление объектов с достаточно высоким локальным коэффициентом ведет не только к возможному ухудшению покрытия, но и к появлению новых веток развития, что может привезти к высокому результату.
Затем происходит составление программы обучения учеников, то есть повторная укладка объектов на пустые области «жадным» методом муравьиного алгоритма или вероятностным алгоритмом, что определяется случайно. После изучения опять осуществляется проверка знаний. У некоторых учеников результаты улучшаются, у некоторых - ухудшаются. Если самый высокий результат в классе улучшается, то считается, что класс развивается в лучшую сторону, а если через определенное число проверок знаний самый высокий результат не улучшается, то считается, что класс не развивается, и обучение завершается.
Управляемыми коэффициентами в этом алгоритме являются число учеников и число попыток, которые подбираются экспериментальным путем, исходя из улучшения результата при небольшом увеличении временных затрат.
(
n n
\
= П Si + Z Si - П Si - S
^ min,
i=1 v i=1 i=1
- площадь пересечений использованных геометрических объектов;
В генетическом алгоритме используется укладка по двум видам карт: полная и неполная. Неполная карта состоит только из точек со значением «1», а полная карта содержит в себе точки с любым значением. Неполная карта существенно сокращает выполнение алгоритма, так как размер карты сокращается с каждым уложенным объектом, однако, дает результат ниже, чем с использованием полной карты. Это происходит из-за того, что сокращается возможность выбора оптимального положения объекта из-за ограниченного числа вариантов размещения. Время выполнение алгоритма с полной картой значительно увеличивается, так как при каждом цикле используются все точки матрицы с любым значением, включая точки со значением «0», которые не принадлежат покрываемой поверхности. Управляемые параметры алгоритма: число учеников, число попыток, вид карты покрытия (полная или неполная).
Структура генетического алгоритма
1. Цикл создания учеников алгоритмом первый подходящий.
2. Поиск и удаление полностью одинаковых учеников по карте покрытия.
3. Цикл попыток:
3.1. Цикл по ученикам (создание новых учеников):
3.1.1. Если найден идеальный ученик (К$ = 1), то расчет коэффициентов эффективности.
3.1.2. Цикл по объектам на ученике:
3.1.2.1. Поиск максимального К$ тах и минимального К$ т;п локальных коэффициентов (количество «1» под объектом).
3.1.3. Выбор случайного локального коэффициента К5 гап^ош принадлежит
[К&_шт; К£_тах];
3.1.4. Цикл по объектам на ученике:
3.1.4.1. Если К5< К5 гап^от, то удалить данный объект с ученика;
3.1.4.2. Если К$ > К$ гапйот, то оставить данный объект на ученике.
3.1.5. Обновление карты и коэффициентов покрытия ученика.
3.1.6. Случайный выбор метода заполнения ученика объектами («0» - муравьиный, «1» - вероятностный):
3.1.6.1. Если на ученика выпал «0», то его заполняем «жадным» методом муравьиного алгоритма:
3.1.6.1.1. Сортируем неиспользованные объекты по убыванию площади;
3.1.6.1.2. Цикл по неиспользованным объектам:
3.1.6.1.2.1. Цикл поиска «1» на карте (неполная карта) или Цикл по всей карте (полная карта):
3.1.6.1.2.1.1. Цикл по поворотам (4 раза):
3.1.6.1.2.1.1.1. Поиск максимального количества «1» на карте под объектом (жадность);
3.1.6.1.2.1.1.2. Поиск суммарного количества «1» на карте под объектом в четырех поворотах (эксклюзив);
3.1.6.1.2.2. Укладывание объекта на место, где максимальная жадность:
3.1.6.1.2.2.1. Если у нескольких мест жадность максимальна, то укладываем на место, где минимальный эксклюзив:
3.1.6.1.2.2.1.1. Если у нескольких мест жадность максимальна, а эксклюзив минимален, то место выбираем случайно;
3.1.6.1.3. Если на ученике остались «1», то покрытие ученика провалено, выход;
3.1.6.2. Если на ученика выпала «1», то его заполняем вероятностным алгоритмом;
3.2. Объединение старых и новых учеников;
3.3. Удаление полностью одинаковых учеников, определяемых по карте покрытия;
3.4. Сравнение коэффициента Success текущего лучшего ученика и старого лучшего ученика:
3.4.1. Если Ks new > Ks oid, то счетчик попыток обнулить;
3.4.2. Иначе: "
3.4.2.1. Счетчик попыток увеличить на один: 3.4.2.1.1. Если счетчик попыток больше заданного числа попыток, то выход;
3.5. Оставить заданное число лучших учеников, а остальные удалить.
Примеры решения абстрактных задач покрытия
Рассмотрены четыре вида покрываемых поверхностей размером 30 х 21 пиксель (рис. 1) и шесть видов покрывающих объектов различных размеров: квадраты, прямоугольники, Г-образные, Т-образные, круги, произвольные формы.
Проведены настройки параметров ГА, как показано в табл. 1. Четыре варианта работы алгоритма позволяют сравнить влияние указанных параметров на коэффициент эффективности. Число выполнений алгоритма установлено равным 10, для работы случайности алгоритма. Коэффициент эффективности Success определяется соотношением числа точек покрываемой поверхности, на которые однократно наложен покрывающий объект, к сумме точек всех используемых покрывающих объектов. Он лежит в пределах от 0 до 1 и равен 1 при идеальном покрытии. Результаты работы алгоритма приведены в табл. 2.
Генетический алгоритм обладает интеллектуальностью, поэтому распределяя одинаковые объекты по всей покрываемой поверхности, создает больше пространства для поиска эффективных решений, но в итоге создает больше перекрытий и промахов, чем менее интеллектуальная последовательная укладка. Примером служат результаты, полученные при покрытии прямоугольной поверхности одним видом прямоугольного, или Г-образного, или круглого объекта (см. табл. 2.). Особенно эффективно ГА работает с поверхностью в виде цветка и покрывающими объектами различного вида и площади, используя полную карту покрытия. Данное сочетание условий полностью раскрывает возможности этого алгоритма, (см. табл. 2).
а) б) в) г)
Рис. 1. Виды покрываемых поверхностей:
а - прямоугольник; б - пирамида; в - цветок; г - случайное
Таблица 1
Управляемые параметры четырех вариантов генетического алгоритма
Параметр алгоритма Вариант ГА
1 2 3 4
Число выполнений 10 10 10 10
Число учеников 3 10 20 50
Число попыток 5 5 5 5
Вид карты покрытия (1 - полная, 0 - неполная) 1 0 1 0
Таблица 2
Коэффициенты эффективности покрытия Success четырех поверхностей различными группами покрывающих объектов
Группа покрывающих объектов Вариант алгоритма Вид покрываемой поверхности
прямоугольник пирамида цветок случайное
Прямоугольные № 1 Вероятностный 0,9722 0,5000 0,3119 0,3861
ГА 1 0,8542 0,7946 0,5721 0,5327
ГА 2 0,8736 0,7321 0,4846 0,5446
ГА 3 0,9345 0,8214 0,6630 0,5753
ГА 4 0,9286 0,7667 0,4969 0,5506
Прямоугольные Вероятностный 0,9375 0,5366 0,4411 0,4198
№ 1, 2, 3, 4, 5 ГА 1 0,9216 0,8114 0,7567 0,6207
ГА 2 0,9231 0,8787 0,5739 0,6088
ГА 3 0,9404 0,9049 0,7297 0,6453
ГА 4 0,9226 0,8313 0,6259 0,6267
Г-образные № 1 Вероятностный 0,8534 0,4332 0,2746 0,3023
ГА 1 0,7050 0,6631 0,5714 0,4670
ГА 2 0,7986 0,6764 0,4339 0,5397
ГА 3 0,7507 0,7586 0,6172 0,5439
ГА 4 0,7862 0,6844 0,4569 0,5202
Г-образные № 1, 2, 3, 4, 5 Вероятностный 0,8508 0,5232 0,3744 0,4790
ГА 1 0,7816 0,7538 0,6270 0,5937
ГА 2 0,8345 0,8213 0,5656 0,5518
ГА 3 0,8200 0,7877 0,6619 0,6163
ГА 4 0,8563 0,8344 0,6133 0,5975
Круг № 1 Вероятностный 0,3943 0,3929 0,3492 0,3383
ГА 1 0,3943 0,5000 0,4716 0,3932
ГА 2 0,3943 0,4493 0,3687 0,3434
ГА 3 0,6043 0,5214 0,5663 0,4646
ГА 4 0,3943 0,4493 0,3983 0,3434
Круг № 1, 2, 3, 4, 5, 6 Вероятностный 0,3458 0,3291 0,3578 0,3026
ГА 1 0,5998 0,5525 0,5268 0,4489
ГА 2 0,5652 0,5984 0,5431 0,4858
ГА 3 0,6359 0,6595 0,5548 0,4800
ГА 4 0,6179 0,6740 0,5612 0,5487
Квадрат № 1, 2, 3, 4, прямоугольник № 1, 2, 3, 4, Г-образный № 1, 2, 3, 4, Т-образный № 1, 2, 3, 4, круг № 1, 2, 3, 4, произвольный № 1, 2, 3, 4 Вероятностный ГА 1 ГА 2 ГА 3 ГА 4 0,5181 0,7278 0,7371 0,7349 0,7412 0,4670 0,6735 0,6724 0,7102 0,7021 0,3154 0,5395 0,5533 0,6311 0,5813 0,4085 0,5303 0,5324 0,5651 0,5607
Изменение числа учеников влияет менее значительно, чем полная карта, однако в среднем улучшение идет на 4 %. На рисунке 2 приведено покрытие ГА методом полной карты поверхности в виде цветка различными Г-образными объектами.
Рис. 2. Карта покрытия поверхности в виде цветка пятью видами Г-образных объектов генетическим алгоритмом с использованием полной карты
Заключение
Генетический алгоритм достаточно прост в настройке, но требует больших временных затрат, чем вероятностный, экстремальный, муравьиный алгоритмы, адаптированные для решения задач оптимального геометрического покрытия. Разработан эффективный целочисленный способ кодирования геометрических объектов и решений, позволяющий достаточно быстро обрабатывать решение, проводить с ним необходимые для каждого конкретного алгоритма оптимизации. Генетический алгоритм эффективно покрывает поверхности с неровными краями с использованием объектов разного вида, а поверхности простой формы, например прямоугольные, хуже, также не достаточно эффективно работает с покрывающими объектами одного вида, ( см. табл. 2).
Скорость решения приведенных выше задач не превышает трех минут с учетом использования полной карты покрытия, которое дает значительное увеличение времени работы алгоритма и более высокий результат. В случаях, когда покрываемая поверхность имеет неровные края, и используются покрывающие объекты разной формы и вида, коэффициент эффективности может увеличиваться до 20 - 30 % только за счет использования полной карты (см. табл. 2, столбец «цветок»).
Список литературы
1. Стоян, Ю. Г. Математические модели и оптимизационные методы геометрического проектирования / Ю. Г. Стоян, С. В. Яковлев. - Киев : Наукова думка, 1986. - 268 с.
2. Канторович, Л. В. Рациональный раскрой промышленных материалов / Л. В. Канторович, В. А. Заллгаллер. - СПб. : Невский диалект, 2012. - 304 с.
3. Романовский, И. В. Алгоритмы решения экстремальных задач / И. В. Романовский. - М. : Наука. 1977. - 420 с.
4. Мухачева, Э. А. Модели и методы расчета раскроя-упаковки геометрических объектов / Э. А. Мухачева, М. А. Верхотуров, В. В. Мартынов. - Уфа : Изд-во Уфим. гос. авиац. техн. ун-та, 1998. - 216 с.
5. Телицкий, С. В. Комплексный подход к решению задачи покрытия области заготовками неопределенных размеров / С. В Телицкий, А. С. Филиппова // Науч.-техн. ведомости СПбГПУ. Информатика. Телекоммуникации. Управление. -2012. - Т. 2(145). - С. 61 - 67.
6. Курейчик, В. М. Генетические алгоритмы / В. М. Курейчик, Л. А. Гладков, В. В. Курейчик. - М. : ФИЗМАТЛИТ, 2006. - 320 с.
7. Фроловский, В. Д. Приближенные методы решения КР-трудных задач в системах автоматизации проектирования / В. Д. Фроловский. - Новосибирск : Изд-во Новосиб. гос. техн. ун-та, 2006. - 100 с.
Development and Investigation of Genetic Algorithm for Project Procedures Automation of Geometrical Coverage Optimization
S. L. Zabelin1, V. D. Frolovskiy2, K V. Zhegolko1
Siberian State University of Telecommunications and Information Sciences, Novosibirsk (1); [email protected];
Novosibirsk State Technical University (2)
Keywords: genetic algorithm; metaheuristic algorithms; NP-completeness problems; optimization problem of geometric coverage.
Abstract: The problem of geometric coverage is a special case of the problem of optimal design and belongs to the 'cutting and packaging' class. The complexity of the problems of optimal design due to their belonging to the class of NP-hard problems, that prevents their solution by precise methods and requires constructing approximate optimization methods and algorithms. Adding elements of randomness to the deterministic algorithms increases their effectiveness. The developed genetic algorithm improves the efficiency of coating, reduces the amount of coating objects and allows sufficient amount of time to solve the problem.
References
1. Stoyan Yu.G., Yakovlev S.V. Matematicheskie modeli i optimizatsionnye metody geometricheskogo proektirovaniya (Mathematical models and optimization techniques of geometric design), Kiev: Naukova dumka, 1986, 268 p.
2. Kantorovich L.V., Zallgaller V.A. Ratsional'nyi raskroi promyshlennykh materialov (A rational cutting of industrial materials), St. Petersburg: Nevskii dialect, 2012, 304 p.
3. Romanovskii I.V. Algoritmy resheniya ekstremal'nykh zadach (Algorithms for solving extreme problems), Moscow: Nauka. 1977, 420 p.
4. Mukhacheva E.A., Verkhoturov M.A., Martynov V.V. Modeli i metody rascheta raskroya-upakovki geometricheskikh ob"ektov (Models and methods for calculating the cutting-packing geometry), Ufa: UGATU, 1998, 216 p.
5. Telitskii S.V., Filippova A.S. St. Petersburg State Polytechnical University Journal. Computer Science. Telecommunication and Control Systems, 2012, vol. 2(145), pp. 61-67.
6. Kureichik V.M., Gladkov L.A., Kureichik V.V. Geneticheskie algoritmy (Genetic algorithms), Moscow: FIZMATLIT, 2006, 320 p.
7. Frolovskii V.D. Priblizhennye metody resheniya NP-trudnykh zadach v sistemakh avtomatizatsii proektirovaniya (Approximate methods for solving NP-hard problems in systems design automation), Novosibirsk, Izdatel'stvo Novosibirskogo gosudarstvennogo tekhnicheskogo universiteta, 2006, 100 p.
Entwicklung und Forschung des genetischen Algorithmus für die Automatisierung der Projektprozeduren der Optimierung der geometrischen Deckung
Zusammenfassung: Die Aufgabe der geometrischen Deckung ist ein Sonderfall der Aufgabe der optimalen Projektierung und gehört zur Klasse der Aufgaben „des Zuschneidens und der Verpackung". Die Komplexität der betrachteten Aufgaben der optimalen Projektierung ist durch ihre Zugehörigkeit zur Klasse der NP-harten Aufgaben bedingt, was ihre Lösungen von den genauen Methoden nicht ermöglicht und fordert die Konstruktion der genäherten Optimisationsmethoden und der Algorithmen. Die Eintragung in die festgesetzten Algorithmen der Elemente der Zufälligkeit erhöht ihre Produktivität. Der entwickelte genetische Algorithmus lässt zu, die Effektivität der Deckung zu erhöhen, die Zahl der abdeckenden Objekte zu verringern, dabei bleibt die Zeit der Lösung der Aufgabe der Deckung annehmbar.
Élaboration et étude de l'algorithme génétique pour l'automatisation des procédures de le conception de l'optimisation du recouvrement géométrique
Résumé : Le problème du recouvrement géométrique est un cas particulier de la conception optimale et appartient à la classe des problèmes de «coupe et emballage». La difficulté des problèmes examinés de la conception optimimale est argumentée par leur appartenance à la classe NP- problèmes difficiles ce qui ne donne pas de possibilité de leur solution par les méthodes exactes et demande de la construction des méthodes et des algorithmes d'approximation. L'addition des éléments d'éventualité dans les algorithmes déterminés permet d'augmenter leur productivité. L'algorithme génétique élaboré permet d'augmenter l'efficacité du recouvrement des objets recouvrants, de diminuer la quantité des objets recouvrants, et le temps de la solution du problème reste admissible.
Авторы: Забелин Сергей Леонидович - ассистент кафедры «Системы автоматизированного проектирования», ФГОБУ ВПО «Сибирский государственный университет телекоммуникаций и информатики», г. Новосибирск; Фроловский Владимир Дмитриевич - доктор технических наук, профессор кафедры «Автоматизированные системы управления», ФГБОУ ВПО «Новосибирский государственный технический университет», г. Новосибирск; Жеголко Ксения Викторовна -аспирант кафедры «Системы автоматизированного проектирования», ФГОБУ ВПО «Сибирский государственный университет телекоммуникаций и информатики», г. Новосибирск;
Рецензент: Сединин Валерий Иванович - доктор технических наук, профессор кафедры «Системы автоматизированного проектирования», ФГОБУ ВПО «Сибирский государственный университет телекоммуникаций и информатики», г. Новосибирск.