20
«Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма» Виктор Балабанов аспирант кафедры «Автоматизированные системы управления» Донецкий национальный технический университет I всеукраинская научно-техническая конференция студентов, аспирантов и молодых учёных «Информационные управляющие системы и компьютерный мониторинг» ДонНТУ, Донецк, 1921 мая 2010 г.

Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Embed Size (px)

DESCRIPTION

Презентация, подготовленная для выступления на I всеукраинской научно-технической конференции студентов, аспирантов и молодых учёных «Информационные управляющие системы и компьютерный мониторинг», ДонНТУ, Донецк, 19—21 мая 2010 г.

Citation preview

Page 1: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

«Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма»

Виктор Балабанов аспирант кафедры «Автоматизированные системы управления»

Донецкий национальный технический университет

I всеукраинская научно-техническая конференция студентов, аспирантов и молодых учёных«Информационные управляющие системы и компьютерный мониторинг»

ДонНТУ, Донецк, 19—21 мая 2010 г.

Page 2: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Продольный раскрой рулонов

• Используются специализированные линии продольной резки, также называемые слиттерами:

• Все резы выполняются от края до края, параллельно боковой кромке исходной полосы.

Page 3: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Оптимизация продольного раскроя

X 7

Заказы:

Материал:

W = 11

w2 = 3

X 5w1 = 4

X 11w3 = 2

Тривиальноерешение:

7 рулонов

14% потерь

Простая задача

Page 4: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Структура допустимого решения задачи

X 2 X 0 X 0

X 2 X 0 X 0

X 1 X 2 X 0

X 0 X 3 X 0

X 0 X 2 X 2

X 0 X 0 X 5

X 0 X 0 X 4

(2; 0; 0)

(2; 0; 0)

(1; 2; 0)

(0; 3; 0)

(0; 2; 2)

(0; 0; 5)

(0; 0; 4)

Перечень израскройныхкарт (1—7) —план раскроя

1

2

3

4

5

6

7

Page 5: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Задача рационального раскроя

• Относится к NP-полным задачам дискретной оптимизации комбинаторного типа;

• Впервые формализована в терминах целочисленного линейного программирования Л. В. Канторовичем в 1939 г.

∑=k

kxZ min

∑ ≥k

ikik dxa

+Ζ∈kx

{ }mi ,,1∈ { }Pk ,,1∈

Page 6: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Методы решения

• Точные (на основе общей схемы метода ветвей и границ, метод отсечений, динамическое программирование);

• Приближенные эвристические (отложенная генерация столбцов, последовательные эвристические процедуры, конструктивные эвристики);

• Приближенные метаэвристические (имитация отжига, поиск с запретами, GRASP, эволюционные, муравьиные и роевые алгоритмы).

Page 7: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Особенности рассматриваемой задачи

• Необходимо учитывать конструкцию дисковых ножниц:

Page 8: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Повышение технологичности планов раскроя

План раскроя I План раскроя II

1

1

2

3

I II

рулоны 6 6

потери 4,5% 4,5%

переналадки 3 1

Сравнение планов

Page 9: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Многокритериальная задача

• Первый критерий Z1: минимизировать потери материала в отход;

• Второй критерий Z2: за счет многократного использования раскройных карт сократить общее число уникальных карт в плане раскроя;

• Может быть сформулирована как задача целочисленного нелинейного программирования;

• Для упрощения решения возможно сведение к однокритериальной задаче посредством скаляризации:

2211* ZCZCZ +=

Page 10: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Математическая формулировка

;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 11: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Эволюционные алгоритмы

• Предложены в середине 1960-х годов и реализуют некоторые базовые идеи эволюционной теории Дарвина, заимствуется соответствующая терминология;

• Решения оптимизационной задаче представляются в виде последовательностей фиксированной или переменной длины, часто используются иерархические структуры;

• На каждой итерации алгоритм работает с одним или несколькими решениями;

• Целевая функция определяет «приспособленность» решений;

• Существуют различные модификации: ЭП, ЭС, ГА, ГП.

Page 12: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Генетический алгоритм

инициализировать начальную популяцию

начало

отсортировать хромосомы по приспособленности

селекция останов

конец

скрещивание

мутация

сформировать новую популяцию

А

А

выдать решения

Б

Б

да

нет

Page 13: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Выбор способа представления решений

картараскроя

ген план раскроя

хромосома

...

X 1 X 1 X 2 X 1 X 1 X 2

ген 2ген 1

карта 2карта 1 карта 6X 0 X 2 X 1

(1; 1; 2)ген 3

Аналогия:

План раскроя

Хромосома

(1; 1; 2) (1; 1; 2)ген 6

(0; 2; 1)...

Page 14: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Инициализация начальной популяции

• Для генерации раскройной карты необходимо решить задачу рюкзачного типа:

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

• План раскроя преобразуется в хромосому, которая затем добавляется в начальную популяцию.

∑=j

jj xwZ max'

∑ ≤j

ijj Wxw

Page 15: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Скрещивание

• Имитируется половое размножение особей-эукариот;• Реализовано в виде модифицированного одноточечного

кроссовера:

Хромосомы-родители:

Хромосомы-потомки:

(1; 1; 2) (1; 1; 2) (1; 1; 2) (0; 2; 1)(1; 1; 2) (1; 1; 2)

(2; 1; 0) (2; 1; 0) (1; 2; 0) (0; 0; 5)(0; 3; 1) (0; 0; 5)

(1; 1; 2) (1; 1; 2) (1; 1; 2) (0; 0; 5)(1; 1; 2) (0; 0; 5)

(2; 1; 0) (2; 1; 0) (1; 2; 0) (0; 2; 1)(0; 3; 1) (1; 1; 2)

Page 16: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Мутация

• Случайным образом изменяется структура хромосомы;• Реализована как удаление случайно выбранного гена с

последующим восстановлением целостности хромосомы:

До мутации:

После мутации:

Восстанавливаем целостность:

(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) (0; 3; 1)(1; 1; 2) (1; 1; 2)

(1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) (1; 1; 2) ...

Page 17: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

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

• Java, Swing, JFreeChart, XML

Page 18: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Тестирование

• Тестовые задачи формировались с учетом промышленных объемов выпуска электросварных труб;

• Реализованный подход позволяет находить планы раскроя, удовлетворяющие требованиям реального производства;

• Время, затраченное на поиск решения, обычно находится в пределах одной-двух минут для Intel(R) Core(TM)2 Duo T5800 @ 2.00 GHZ и 2 GB RAM;

• Эффективность гибридного генетического алгоритма в значительной степени зависит от качества раскройных карт, генерируемых при помощи вспомогательной процедуры.

Page 19: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Направления дальнейших исследований

• Реализация генетического алгоритма для поиска Парето-оптимальных решений многокритериальной задачи;

• Разработка полноценного пользовательского интерфейса;• Внедрение системы планирования на ДМЗ;• Релиз свободно распространяемой программной

библиотеки с открытым исходным кодом, снабженной документацией и примерами;

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

Page 20: Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма

Спасибо за внимание!

e-mail → [email protected]блог → http://chasingthedegree.blogspot.com/

Связь: