Об одном подходе к реализации генетического алгоритма...
DESCRIPTION
Презентация, подготовленная для выступления на IV международной научно-практической конференции молодых учёных «Современная информационная Украина: информатика, экономика, философия», ГУИиИИ, Донецк, 13—14 мая 2010 г.TRANSCRIPT
«Об одном подходе к реализации генетического алгоритма для решения сложных задач рационального раскроя»
Виктор Балабанов аспирант кафедры «Автоматизированные системы управления»
Донецкий национальный технический университет
IV международная научно-практическая конференция молодых учёных«Современная информационная Украина: информатика, экономика, философия»
ГУИиИИ, Донецк, 13—14 мая 2010 г.
Электросварные прямошовные трубы
• отличаются размерами, толщиной стенки, профилем
квадратная овальная плоскоовальная(один из видов)
Технология производства сварных труб
• в качестве исходного материала используется стальная холоднокатаная и горячекатаная полоса в рулонах шириной от 500 до 2350 мм и весом до 20 т
• рулоны раскраиваются на узкую ленту заданной ширины• плоская лента сворачивается в цилиндрическую трубную
заготовку (формовка)• кромки сформованной трубной заготовки сближаются
между собой и свариваются в сварочном узле• труба калибруется по диаметру и режется на мерные
длины, также возможны различные варианты отделки (отжиг, правка, зачистка торцов и т.д.)
Технологическая схема производства
1 — размотка рулона; 2 — сварка концов двух рулонов; 3 — накопление петли; 4 — зачистка поверхности ленты; 5 — обрезка кромок; 6 — формовка; 7 — сварка сформованной трубы; 8 — резка на мерные длины; 9 — контроль качества шва; 10 — отжиг; 11 — правка; 12 — холодная прокатка; 13 — волочение; 14 — гидравлическое испытание; 15 — резка на мерные длины; 16 — зачистка торцов.
Упрощенная функциональная модель
Склад
пересчет от массы партии труб к длине ленты
раскрой рулонов
составление плана раскроя
производство и отделка трубы
Отдел продаж
заказпартии труб
задание на выпуск партии труб
перечень рулонов
рулоны
план раскроя
лента
готовая труба
отгрузка партии труб
Цех
Постановка задачи
Проблема: значительная материалоемкость производства
Способы решения:• совершенствование технологии в целом*
• улучшение работы отдельных агрегатов линии*
• рациональное использование исходного материала
* — требуются значительные капиталовложения, следует учитывать износ оборудования, уровень организации производства, текущую экономическую конъюнктуру и т.д.
Продольный раскрой рулонов
• Используются специализированные линии продольной резки, также называемые слиттерами
• Все резы выполняются от края до края, параллельно боковой кромке исходной полосы.
Оптимизация продольного раскроя
Тривиальное решение (используется в настоящий момент): последовательно заполняем площадь рулона лентой, не превышая его ширины.
Желтым цветом обозначена лента, которая затем будет использована для изготовления труб, красным — отход.
Структура допустимого решения задачи
Продолжаем формировать план, включая в раскрой новые рулоны, пока все заказы на ленту не будут выполнены:
Раскройная карта: задает способ раскроя рулона (ширину и количество полос каждого вида)
План раскроя: перечень всех используемых раскройных карт
Задача рационального раскроя
• относится к NP-полным задачам дискретной оптимизации комбинаторного типа
• впервые формализована в терминах целочисленного линейного программирования Л. В. Канторовичем в 1939 г.
∑=k
kxZ min
∑ ≥k
ikik dxa
+Ζ∈kx
{ }mi ,,1∈ { }Pk ,,1∈
Методы решения
• Точные (на основе общей схемы метода ветвей и границ, метод отсечений, динамическое программирование);
• Приближенные эвристические (отложенная генерация столбцов, последовательные эвристические процедуры, конструктивные эвристики);
• Приближенные метаэвристические (имитация отжига, поиск с запретами, GRASP, эволюционные, муравьиные и роевые алгоритмы).
Особенности рассматриваемой задачи
• необходимо учитывать конструкцию дисковых ножниц
Повышение технологичности планов раскроя
X 11
X 7
X 5
Заказы:
План раскроя I План раскроя II
1
1
2
3
Материал:
X 6
Многокритериальная задача
• Первый критерий Z1: минимизировать потери материала в отход;
• Второй критерий Z2: за счет многократного использования раскройных карт сократить общее число уникальных карт в плане раскроя;
• Может быть сформулирована как задача целочисленного нелинейного программирования;
• Для упрощения решения возможно сведение к однокритериальной задаче посредством скаляризации:
2211* ZCZCZ +=
Математическая формулировка
;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∈
Эволюционные алгоритмы
• Предложены в середине 1960-х годов и реализуют некоторые базовые идеи эволюционной теории Дарвина, заимствуется соответствующая терминология.
• Решения оптимизационной задаче представляются в виде последовательностей фиксированной или переменной длины, часто используются иерархические структуры.
• На каждой итерации алгоритм работает с одним или несколькими решениями.
• Целевая функция определяет «приспособленность» решений.
• Существуют различные модификации: ЭП, ЭС, ГА, ГП.
Генетический алгоритм
инициализировать начальную популяцию
начало
отсортировать хромосомы по приспособленности
селекция останов
конец
скрещивание
мутация
сформировать новую популяцию
А
А
выдать решения
Б
Б
да
нет
Выбор способа представления решений
план раскроя состоит из раскройных карт (р.к.)
хромосома состоит из генов
раскройная карта
ген план раскроя
хромосома
(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
Инициализация начальной популяции
• Для генерации раскройной карты необходимо решить задачу рюкзачного типа
• Из полученных в результате решения вспомогательной задачи раскройных карт последовательно составляется план раскроя
• План раскроя преобразуется в хромосому, которая затем добавляется в начальную популяцию
∑=j
jj xwZ max'
∑ ≤j
ijj Wxw
Скрещивание
• Имитируется половое размножение особей-эукариот• Реализовано в виде одноточечного кроссовера
(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)
Хромосомы-родители:
Хромосомы-потомки:
Мутация
• Случайным образом изменяется структура хромосомы• Реализована как удаление случайно выбранного гена с
последующим восстановлением целостности хромосомы
(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)
Восстанавливаем целостность:
Программная реализация
• Java, Swing, JFreeChart, XML
Тестирование
• Тестовые задачи формировались с учетом промышленных объемов выпуска электросварных труб
• Реализованный подход позволяет находить планы раскроя, удовлетворяющие требованиям реального производства
• Время, затраченное на поиск решения, обычно находится в пределах одной-двух минут для Intel(R) Core(TM)2 Duo T5800 @ 2.00 GHZ и 2 GB RAM
• Эффективность гибридного генетического алгоритма в значительной степени зависит от качества раскройных карт, генерируемых при помощи вспомогательной процедуры
Направления дальнейших исследований
• Реализация генетического алгоритма для поиска Парето-оптимальных решений многокритериальной задачи
• Разработка полноценного пользовательского интерфейса• Внедрение системы планирования на ДМЗ• Релиз свободно распространяемой программной
библиотеки с открытым исходным кодом, снабженной документацией и примерами
• Предложенный подход может быть использован для решения родственных задач рациональной упаковки и размещения, календарного планирования и т.д.