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


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



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

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




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

Простая задача          Тривиальное
                        решение:
Материал:
                          7 рулонов
  W = 11
                          14% потерь
Заказы:
  w1 = 4         X5

  w2 = 3         X7

  w3 = 2         X 11
Структура допустимого решения задачи

               1           X2   X0   X0   (2; 0; 0)


               2           X2   X0   X0   (2; 0; 0)


Перечень из    3           X1   X2   X0   (1; 2; 0)
раскройных
               4           X0   X3   X0   (0; 3; 0)
карт (1—7) —
план раскроя
               5           X0   X2   X2   (0; 2; 2)


               6           X0   X0   X5   (0; 0; 5)


               7           X0   X0   X4   (0; 0; 4)
Задача рационального раскроя

• Относится к NP-полным задачам дискретной оптимизации
  комбинаторного типа;
• Впервые формализована в терминах целочисленного
  линейного программирования Л. В. Канторовичем в 1939 г.

                    Z = min ∑ xk
                                    k

                     ∑a
                      k
                           ik   xk ≥ d i

                          xk ∈ Ζ +
               i ∈ { ,  , m} k ∈ { ,  , P}
                    1              1
Методы решения

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

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

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

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

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



1                                          Сравнение планов
                                                         I       II
2
                                               рулоны        6        6
3                                               потери 4,5% 4,5%
                                           переналадки       3        1
                     1
Многокритериальная задача

• Первый критерий Z1: минимизировать потери материала в
  отход;
• Второй критерий Z2: за счет многократного использования
  раскройных карт сократить общее число уникальных карт
  в плане раскроя;
• Может быть сформулирована как задача целочисленного
  нелинейного программирования;
• Для упрощения решения возможно сведение к
  однокритериальной задаче посредством скаляризации:

                  Z * = C1Z1 + C2 Z 2
Математическая формулировка

                                                                        
Z = (Z1 , Z 2 ); Z1 = min ∑∑ Tik 
                                 Wi − ∑ a jk w j ; Z 2 = min ∑ δ  ∑ Tik 
                                                  
                          k i         j                      k    i     

                             ∑∑ T
                               k   i
                                       ik   a jk Li ≥ l j

                   1, если рулон i кроится по способу k
             Tik = 
                   0, в противном случае

                           1, если ∑i Tik > 0
                               
                 δ  ∑ Tik  = 
                    i      0, в противном случае
                               

                  i ∈ { ,  , m} j ∈ { ,  , n} k ∈ { ,  , K }
                       1              1              1
Эволюционные алгоритмы

• Предложены в середине 1960-х годов и реализуют
  некоторые базовые идеи эволюционной теории Дарвина,
  заимствуется соответствующая терминология;
• Решения оптимизационной задаче представляются в виде
  последовательностей фиксированной или переменной
  длины, часто используются иерархические структуры;
• На каждой итерации алгоритм работает с одним или
  несколькими решениями;
• Целевая функция определяет «приспособленность»
  решений;
• Существуют различные модификации: ЭП, ЭС, ГА, ГП.
Генетический алгоритм
            начало                    А


       инициализировать
                                   мутация
     начальную популяцию
Б
    отсортировать хромосомы   сформировать новую
      по приспособленности        популяцию

                                               нет
           селекция                останов           Б
                                          да
                                    выдать
         скрещивание
                                   решения


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

            карта                              план
Аналогия:                        ген                         хромосома
            раскроя                            раскроя

План раскроя

                                                   ...
      X1        X1   X2          X1        X1     X2       X0        X2   X1
       карта 1                    карта 2                    карта 6

Хромосома
       (1; 1; 2)     (1; 1; 2)        (1; 1; 2)    ...   (0; 2; 1)
        ген 1         ген 2            ген 3              ген 6
Инициализация начальной популяции

• Для генерации раскройной карты необходимо решить
  задачу рюкзачного типа:
                    Z ' = max ∑ w j x j
                                    j

                      ∑w x
                       j
                            j   j   ≤ Wi

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

• Имитируется половое размножение особей-эукариот;
• Реализовано в виде модифицированного одноточечного
  кроссовера:
Хромосомы-родители:
  (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;
• Эффективность гибридного генетического алгоритма в
  значительной степени зависит от качества раскройных
  карт, генерируемых при помощи вспомогательной
  процедуры.
Направления дальнейших исследований

• Реализация генетического алгоритма для поиска Парето-
  оптимальных решений многокритериальной задачи;
• Разработка полноценного пользовательского интерфейса;
• Внедрение системы планирования на ДМЗ;
• Релиз свободно распространяемой программной
  библиотеки с открытым исходным кодом, снабженной
  документацией и примерами;
• Предложенный подход может быть использован для
  решения родственных задач рациональной упаковки и
  размещения, календарного планирования и т.д.
Спасибо за внимание!




Связь: e-mail    →   vankina@ukr.net
        блог     →   http://chasingthedegree.blogspot.com/

More Related Content

What's hot

Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисления
Positive Hack Days
 
Лекция 07 Обработка видео
Лекция 07 Обработка видеоЛекция 07 Обработка видео
Лекция 07 Обработка видеоVictor Kulikov
 
L06 detection
L06 detectionL06 detection
L06 detection
Victor Kulikov
 
Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системах
romovpa
 
1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)
Smolensk Computer Science Club
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 СегментацияVictor Kulikov
 
Derivative
DerivativeDerivative
Derivativeyuri30
 
20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06Computer Science Club
 
Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems Design
Iosif Itkin
 
TMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevTMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevIosif Itkin
 
CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoAnton Konushin
 
CV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time visionCV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time visionAnton Konushin
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionAnton Konushin
 
555
555555
ПРЯМАЯ И ОБРАТНАЯ ЗАДАЧИ ПАТТЕРНИЗАЦИИ СИГНАЛОВ И ИЗОБРАЖЕНИЙ
ПРЯМАЯ И ОБРАТНАЯ ЗАДАЧИ ПАТТЕРНИЗАЦИИ СИГНАЛОВ И ИЗОБРАЖЕНИЙПРЯМАЯ И ОБРАТНАЯ ЗАДАЧИ ПАТТЕРНИЗАЦИИ СИГНАЛОВ И ИЗОБРАЖЕНИЙ
ПРЯМАЯ И ОБРАТНАЯ ЗАДАЧИ ПАТТЕРНИЗАЦИИ СИГНАЛОВ И ИЗОБРАЖЕНИЙ
ITMO University
 
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Nikolay Grebenshikov
 
презентация л2 3-091214_v1
презентация л2 3-091214_v1презентация л2 3-091214_v1
презентация л2 3-091214_v1Gulnaz Shakirova
 
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Theoretical mechanics department
 

What's hot (20)

Pril2
Pril2Pril2
Pril2
 
Советский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисленияСоветский суперкомпьютер К-340А и секретные вычисления
Советский суперкомпьютер К-340А и секретные вычисления
 
Лекция 07 Обработка видео
Лекция 07 Обработка видеоЛекция 07 Обработка видео
Лекция 07 Обработка видео
 
L06 detection
L06 detectionL06 detection
L06 detection
 
Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системах
 
1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 Сегментация
 
Derivative
DerivativeDerivative
Derivative
 
20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06
 
Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems Design
 
TMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevTMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry Zaitsev
 
CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic video
 
CV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time visionCV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time vision
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
 
555
555555
555
 
Lection02
Lection02Lection02
Lection02
 
ПРЯМАЯ И ОБРАТНАЯ ЗАДАЧИ ПАТТЕРНИЗАЦИИ СИГНАЛОВ И ИЗОБРАЖЕНИЙ
ПРЯМАЯ И ОБРАТНАЯ ЗАДАЧИ ПАТТЕРНИЗАЦИИ СИГНАЛОВ И ИЗОБРАЖЕНИЙПРЯМАЯ И ОБРАТНАЯ ЗАДАЧИ ПАТТЕРНИЗАЦИИ СИГНАЛОВ И ИЗОБРАЖЕНИЙ
ПРЯМАЯ И ОБРАТНАЯ ЗАДАЧИ ПАТТЕРНИЗАЦИИ СИГНАЛОВ И ИЗОБРАЖЕНИЙ
 
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
 
презентация л2 3-091214_v1
презентация л2 3-091214_v1презентация л2 3-091214_v1
презентация л2 3-091214_v1
 
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
 

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

Эволюционные методы оптимизации раскроя рулонных материалов (семинар в совете)
Эволюционные методы оптимизации раскроя рулонных материалов (семинар в совете)Эволюционные методы оптимизации раскроя рулонных материалов (семинар в совете)
Эволюционные методы оптимизации раскроя рулонных материалов (семинар в совете)
Victor Balabanov
 
Семинар
СеминарСеминар
Семинар
Victor Balabanov
 
Доклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУДоклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУ
Fedor Tsarev
 
К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"
Yandex
 
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.Anton Konushin
 
Глобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графовГлобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графовromovpa
 
Построение рациональных планов продольного раскроя рулонных материалов на осн...
Построение рациональных планов продольного раскроя рулонных материалов на осн...Построение рациональных планов продольного раскроя рулонных материалов на осн...
Построение рациональных планов продольного раскроя рулонных материалов на осн...
Victor Balabanov
 
817996.pptx
817996.pptx817996.pptx
817996.pptx
AleksandrGozhyj
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.Anton Konushin
 
Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)
Kirill Rybachuk
 
ОПК № 3 – Машинное представление целых чисел, символов, строк
ОПК № 3 – Машинное представление целых чисел, символов, строкОПК № 3 – Машинное представление целых чисел, символов, строк
ОПК № 3 – Машинное представление целых чисел, символов, строк
Vladimir Parfinenko
 
2020 03-31-lection
2020 03-31-lection2020 03-31-lection
2020 03-31-lection
Olga Leshchenko
 
20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikovComputer Science Club
 
20091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture0820091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture08Computer Science Club
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
Anton Konushin
 
1555 показательн. и логарифмич. функции в зад. и примерах власова а.п. и др-...
1555  показательн. и логарифмич. функции в зад. и примерах власова а.п. и др-...1555  показательн. и логарифмич. функции в зад. и примерах власова а.п. и др-...
1555 показательн. и логарифмич. функции в зад. и примерах власова а.п. и др-...
psvayy
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособиеivanov1566353422
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособиеefwd2ws2qws2qsdw
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduce
Pavel Mezentsev
 

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

Эволюционные методы оптимизации раскроя рулонных материалов (семинар в совете)
Эволюционные методы оптимизации раскроя рулонных материалов (семинар в совете)Эволюционные методы оптимизации раскроя рулонных материалов (семинар в совете)
Эволюционные методы оптимизации раскроя рулонных материалов (семинар в совете)
 
Семинар
СеминарСеминар
Семинар
 
Доклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУДоклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУ
 
К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"
 
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.
 
Глобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графовГлобальная дискретная оптимизация при помощи разрезов графов
Глобальная дискретная оптимизация при помощи разрезов графов
 
Построение рациональных планов продольного раскроя рулонных материалов на осн...
Построение рациональных планов продольного раскроя рулонных материалов на осн...Построение рациональных планов продольного раскроя рулонных материалов на осн...
Построение рациональных планов продольного раскроя рулонных материалов на осн...
 
817996.pptx
817996.pptx817996.pptx
817996.pptx
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.
 
Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)
 
л 2 3
л 2 3л 2 3
л 2 3
 
ОПК № 3 – Машинное представление целых чисел, символов, строк
ОПК № 3 – Машинное представление целых чисел, символов, строкОПК № 3 – Машинное представление целых чисел, символов, строк
ОПК № 3 – Машинное представление целых чисел, символов, строк
 
2020 03-31-lection
2020 03-31-lection2020 03-31-lection
2020 03-31-lection
 
20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov
 
20091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture0820091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture08
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
 
1555 показательн. и логарифмич. функции в зад. и примерах власова а.п. и др-...
1555  показательн. и логарифмич. функции в зад. и примерах власова а.п. и др-...1555  показательн. и логарифмич. функции в зад. и примерах власова а.п. и др-...
1555 показательн. и логарифмич. функции в зад. и примерах власова а.п. и др-...
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduce
 

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

  • 1. «Приближенный метод решения практических задач рационального раскроя на основе эволюционного алгоритма» Виктор Балабанов аспирант кафедры «Автоматизированные системы управления» Донецкий национальный технический университет I всеукраинская научно-техническая конференция студентов, аспирантов и молодых учёных «Информационные управляющие системы и компьютерный мониторинг» ДонНТУ, Донецк, 19—21 мая 2010 г.
  • 2. Продольный раскрой рулонов • Используются специализированные линии продольной резки, также называемые слиттерами: • Все резы выполняются от края до края, параллельно боковой кромке исходной полосы.
  • 3. Оптимизация продольного раскроя Простая задача Тривиальное решение: Материал: 7 рулонов W = 11 14% потерь Заказы: w1 = 4 X5 w2 = 3 X7 w3 = 2 X 11
  • 4. Структура допустимого решения задачи 1 X2 X0 X0 (2; 0; 0) 2 X2 X0 X0 (2; 0; 0) Перечень из 3 X1 X2 X0 (1; 2; 0) раскройных 4 X0 X3 X0 (0; 3; 0) карт (1—7) — план раскроя 5 X0 X2 X2 (0; 2; 2) 6 X0 X0 X5 (0; 0; 5) 7 X0 X0 X4 (0; 0; 4)
  • 5. Задача рационального раскроя • Относится к NP-полным задачам дискретной оптимизации комбинаторного типа; • Впервые формализована в терминах целочисленного линейного программирования Л. В. Канторовичем в 1939 г. Z = min ∑ xk k ∑a k ik xk ≥ d i xk ∈ Ζ + i ∈ { ,  , m} k ∈ { ,  , P} 1 1
  • 6. Методы решения • Точные (на основе общей схемы метода ветвей и границ, метод отсечений, динамическое программирование); • Приближенные эвристические (отложенная генерация столбцов, последовательные эвристические процедуры, конструктивные эвристики); • Приближенные метаэвристические (имитация отжига, поиск с запретами, GRASP, эволюционные, муравьиные и роевые алгоритмы).
  • 7. Особенности рассматриваемой задачи • Необходимо учитывать конструкцию дисковых ножниц:
  • 8. Повышение технологичности планов раскроя План раскроя I План раскроя II 1 Сравнение планов I II 2 рулоны 6 6 3 потери 4,5% 4,5% переналадки 3 1 1
  • 9. Многокритериальная задача • Первый критерий Z1: минимизировать потери материала в отход; • Второй критерий Z2: за счет многократного использования раскройных карт сократить общее число уникальных карт в плане раскроя; • Может быть сформулирована как задача целочисленного нелинейного программирования; • Для упрощения решения возможно сведение к однокритериальной задаче посредством скаляризации: Z * = C1Z1 + C2 Z 2
  • 10. Математическая формулировка     Z = (Z1 , Z 2 ); Z1 = min ∑∑ Tik  Wi − ∑ a jk w j ; Z 2 = min ∑ δ  ∑ Tik   k i  j  k  i  ∑∑ T k i ik a jk Li ≥ l j 1, если рулон i кроится по способу k Tik =  0, в противном случае   1, если ∑i Tik > 0  δ  ∑ Tik  =   i  0, в противном случае  i ∈ { ,  , m} j ∈ { ,  , n} k ∈ { ,  , K } 1 1 1
  • 11. Эволюционные алгоритмы • Предложены в середине 1960-х годов и реализуют некоторые базовые идеи эволюционной теории Дарвина, заимствуется соответствующая терминология; • Решения оптимизационной задаче представляются в виде последовательностей фиксированной или переменной длины, часто используются иерархические структуры; • На каждой итерации алгоритм работает с одним или несколькими решениями; • Целевая функция определяет «приспособленность» решений; • Существуют различные модификации: ЭП, ЭС, ГА, ГП.
  • 12. Генетический алгоритм начало А инициализировать мутация начальную популяцию Б отсортировать хромосомы сформировать новую по приспособленности популяцию нет селекция останов Б да выдать скрещивание решения А конец
  • 13. Выбор способа представления решений карта план Аналогия: ген хромосома раскроя раскроя План раскроя ... X1 X1 X2 X1 X1 X2 X0 X2 X1 карта 1 карта 2 карта 6 Хромосома (1; 1; 2) (1; 1; 2) (1; 1; 2) ... (0; 2; 1) ген 1 ген 2 ген 3 ген 6
  • 14. Инициализация начальной популяции • Для генерации раскройной карты необходимо решить задачу рюкзачного типа: Z ' = max ∑ w j x j j ∑w x j j j ≤ Wi • Из полученных в результате решения вспомогательной задачи раскройных карт последовательно составляется план раскроя; • План раскроя преобразуется в хромосому, которая затем добавляется в начальную популяцию.
  • 15. Скрещивание • Имитируется половое размножение особей-эукариот; • Реализовано в виде модифицированного одноточечного кроссовера: Хромосомы-родители: (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)
  • 16. Мутация • Случайным образом изменяется структура хромосомы; • Реализована как удаление случайно выбранного гена с последующим восстановлением целостности хромосомы: До мутации: (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)
  • 18. Тестирование • Тестовые задачи формировались с учетом промышленных объемов выпуска электросварных труб; • Реализованный подход позволяет находить планы раскроя, удовлетворяющие требованиям реального производства; • Время, затраченное на поиск решения, обычно находится в пределах одной-двух минут для Intel(R) Core(TM)2 Duo T5800 @ 2.00 GHZ и 2 GB RAM; • Эффективность гибридного генетического алгоритма в значительной степени зависит от качества раскройных карт, генерируемых при помощи вспомогательной процедуры.
  • 19. Направления дальнейших исследований • Реализация генетического алгоритма для поиска Парето- оптимальных решений многокритериальной задачи; • Разработка полноценного пользовательского интерфейса; • Внедрение системы планирования на ДМЗ; • Релиз свободно распространяемой программной библиотеки с открытым исходным кодом, снабженной документацией и примерами; • Предложенный подход может быть использован для решения родственных задач рациональной упаковки и размещения, календарного планирования и т.д.
  • 20. Спасибо за внимание! Связь: e-mail → vankina@ukr.net блог → http://chasingthedegree.blogspot.com/