Об одном подходе к реализации генетического алгоритма...
DESCRIPTION
Презентация, подготовленная для выступления на IV международной научно-практической конференции молодых учёных «Современная информационная Украина: информатика, экономика, философия», ГУИиИИ, Донецк, 13—14 мая 2010 г.TRANSCRIPT
![Page 1: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/1.jpg)
«Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя»
Виктор Балабанов аспирант кафедры «Автоматизированные системы управления»
Донецкий национальный технический университет
IV международная научно-практическая конференция молодых учёных«Современная информационная Украина: информатика, экономика, философия»
ГУИиИИ, Донецк, 13—14 мая 2010 г.
![Page 2: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/2.jpg)
Электросварные прямошовные трубы
• отличаются размерами, толщиной стенки, профилем
квадратная овальная плоскоовальная(один из видов)
![Page 3: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/3.jpg)
Технология производства сварных труб
• в качестве исходного материала используется стальная холоднокатаная и горячекатаная полоса в рулонах шириной от 500 до 2350 мм и весом до 20 т
• рулоны раскраиваются на узкую ленту заданной ширины• плоская лента сворачивается в цилиндрическую трубную
заготовку (формовка)• кромки сформованной трубной заготовки сближаются
между собой и свариваются в сварочном узле• труба калибруется по диаметру и режется на мерные
длины, также возможны различные варианты отделки (отжиг, правка, зачистка торцов и т.д.)
![Page 4: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/4.jpg)
Технологическая схема производства
1 — размотка рулона; 2 — сварка концов двух рулонов; 3 — накопление петли; 4 — зачистка поверхности ленты; 5 — обрезка кромок; 6 — формовка; 7 — сварка сформованной трубы; 8 — резка на мерные длины; 9 — контроль качества шва; 10 — отжиг; 11 — правка; 12 — холодная прокатка; 13 — волочение; 14 — гидравлическое испытание; 15 — резка на мерные длины; 16 — зачистка торцов.
![Page 5: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/5.jpg)
Упрощенная функциональная модель
Склад
пересчет от массы партии труб к длине ленты
раскрой рулонов
составление плана раскроя
производство и отделка трубы
Отдел продаж
заказпартии труб
задание на выпуск партии труб
перечень рулонов
рулоны
план раскроя
лента
готовая труба
отгрузка партии труб
Цех
![Page 6: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/6.jpg)
Постановка задачи
Проблема: значительная материалоемкость производства
Способы решения:• совершенствование технологии в целом*
• улучшение работы отдельных агрегатов линии*
• рациональное использование исходного материала
* — требуются значительные капиталовложения, следует учитывать износ оборудования, уровень организации производства, текущую экономическую конъюнктуру и т.д.
![Page 7: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/7.jpg)
Продольный раскрой рулонов
• Используются специализированные линии продольной резки, также называемые слиттерами
• Все резы выполняются от края до края, параллельно боковой кромке исходной полосы.
![Page 8: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/8.jpg)
Оптимизация продольного раскроя
Тривиальное решение (используется в настоящий момент): последовательно заполняем площадь рулона лентой, не превышая его ширины.
Желтым цветом обозначена лента, которая затем будет использована для изготовления труб, красным — отход.
![Page 9: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/9.jpg)
Структура допустимого решения задачи
Продолжаем формировать план, включая в раскрой новые рулоны, пока все заказы на ленту не будут выполнены:
Раскройная карта: задает способ раскроя рулона (ширину и количество полос каждого вида)
План раскроя: перечень всех используемых раскройных карт
![Page 10: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/10.jpg)
Задача рационального раскроя
• относится к NP-полным задачам дискретной оптимизации комбинаторного типа
• впервые формализована в терминах целочисленного линейного программирования Л. В. Канторовичем в 1939 г.
∑=k
kxZ min
∑ ≥k
ikik dxa
+Ζ∈kx
{ }mi ,,1∈ { }Pk ,,1∈
![Page 11: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/11.jpg)
Методы решения
• Точные (на основе общей схемы метода ветвей и границ, метод отсечений, динамическое программирование);
• Приближенные эвристические (отложенная генерация столбцов, последовательные эвристические процедуры, конструктивные эвристики);
• Приближенные метаэвристические (имитация отжига, поиск с запретами, GRASP, эволюционные, муравьиные и роевые алгоритмы).
![Page 12: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/12.jpg)
Особенности рассматриваемой задачи
• необходимо учитывать конструкцию дисковых ножниц
![Page 13: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/13.jpg)
Повышение технологичности планов раскроя
X 11
X 7
X 5
Заказы:
План раскроя I План раскроя II
1
1
2
3
Материал:
X 6
![Page 14: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/14.jpg)
Многокритериальная задача
• Первый критерий Z1: минимизировать потери материала в отход;
• Второй критерий Z2: за счет многократного использования раскройных карт сократить общее число уникальных карт в плане раскроя;
• Может быть сформулирована как задача целочисленного нелинейного программирования;
• Для упрощения решения возможно сведение к однокритериальной задаче посредством скаляризации:
2211* ZCZCZ +=
![Page 15: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/15.jpg)
Математическая формулировка
;min1 ∑∑ ∑
−=
k i jjjkiik waWTZ ∑ ∑
=
k iikTZ δmin2
=случае противном в,0
способу по кроится рулон если,1 kiTik
>
=
∑∑случае противном в,0
0 если,1i ik
iik
TTδ
jk i
ijkik lLaT ≥∑∑
( );, 21 ZZZ =
{ }mi ,,1∈ { }nj ,,1∈ { }Kk ,,1∈
![Page 16: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/16.jpg)
Эволюционные алгоритмы
• Предложены в середине 1960-х годов и реализуют некоторые базовые идеи эволюционной теории Дарвина, заимствуется соответствующая терминология.
• Решения оптимизационной задаче представляются в виде последовательностей фиксированной или переменной длины, часто используются иерархические структуры.
• На каждой итерации алгоритм работает с одним или несколькими решениями.
• Целевая функция определяет «приспособленность» решений.
• Существуют различные модификации: ЭП, ЭС, ГА, ГП.
![Page 17: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/17.jpg)
Генетический алгоритм
инициализировать начальную популяцию
начало
отсортировать хромосомы по приспособленности
селекция останов
конец
скрещивание
мутация
сформировать новую популяцию
А
А
выдать решения
Б
Б
да
нет
![Page 18: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/18.jpg)
Выбор способа представления решений
план раскроя состоит из раскройных карт (р.к.)
хромосома состоит из генов
раскройная карта
ген план раскроя
хромосома
(1; 1; 2) (1; 1; 2) (0; 2; 1)
...
X 1 X 1 X 2 X 1 X 1 X 2 X 2 X 1
ген 2ген 1 ген 6
...
р.к. 2р.к. 1 р.к. 6
![Page 19: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/19.jpg)
Инициализация начальной популяции
• Для генерации раскройной карты необходимо решить задачу рюкзачного типа
• Из полученных в результате решения вспомогательной задачи раскройных карт последовательно составляется план раскроя
• План раскроя преобразуется в хромосому, которая затем добавляется в начальную популяцию
∑=j
jj xwZ max'
∑ ≤j
ijj Wxw
![Page 20: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/20.jpg)
Скрещивание
• Имитируется половое размножение особей-эукариот• Реализовано в виде одноточечного кроссовера
(2; 1; 0) (2; 1; 0) (1; 2; 0) (0; 3; 1) (0; 0; 5) (0; 0; 5)
(1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) (0; 2; 1)
(2; 1; 0) (2; 1; 0) (1; 2; 0) (0; 3; 1) (1; 1; 2) (0; 2; 1)
(1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) (0; 0; 5) (0; 0; 5)
Хромосомы-родители:
Хромосомы-потомки:
![Page 21: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/21.jpg)
Мутация
• Случайным образом изменяется структура хромосомы• Реализована как удаление случайно выбранного гена с
последующим восстановлением целостности хромосомы
(1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) (0; 2; 1)
(1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2)
До мутации:
После мутации:
(1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) (0; 3; 1)
Восстанавливаем целостность:
![Page 22: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/22.jpg)
Программная реализация
• Java, Swing, JFreeChart, XML
![Page 23: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/23.jpg)
Тестирование
• Тестовые задачи формировались с учетом промышленных объемов выпуска электросварных труб
• Реализованный подход позволяет находить планы раскроя, удовлетворяющие требованиям реального производства
• Время, затраченное на поиск решения, обычно находится в пределах одной-двух минут для Intel(R) Core(TM)2 Duo T5800 @ 2.00 GHZ и 2 GB RAM
• Эффективность гибридного генетического алгоритма в значительной степени зависит от качества раскройных карт, генерируемых при помощи вспомогательной процедуры
![Page 24: Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя](https://reader036.vdocuments.site/reader036/viewer/2022062406/558a47f1d8b42a93368b464f/html5/thumbnails/24.jpg)
Направления дальнейших исследований
• Реализация генетического алгоритма для поиска Парето-оптимальных решений многокритериальной задачи
• Разработка полноценного пользовательского интерфейса• Внедрение системы планирования на ДМЗ• Релиз свободно распространяемой программной
библиотеки с открытым исходным кодом, снабженной документацией и примерами
• Предложенный подход может быть использован для решения родственных задач рациональной упаковки и размещения, календарного планирования и т.д.