Применение методов эволюционной оптимизации в задачах управления запасами

УДК 519.7

А.Н. ГВОЗДИНСКИЙ, В.А.МАЛЫШКИН, И.В.ТИЩЕНКО

ПРИМЕНЕНИЕ МЕТОДОВ ЭВОЛЮЦИОННОЙ ОПТИМИЗАЦИИ В ЗАДАЧАХ УПРАВЛЕНИЯ ЗАПАСАМИ

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

Введение

В данной работе приводится формальная постановка задачи, на решение которой изначально был направлен первый генетический алгоритм, и общая схема работы самого алгоритма. Описываются составляющие генетического алгоритма и их назначение. Для решения конкретной задачи разработчик, исследователь может сконструировать свою конкретную схему работы генетического алгоритма из его составляющих. При этом разработчик руководствуется особенностями предметной области, формализации задачи, структурой используемых данных, возможно, даже результатами тестирования других схем генетического алгоритма. Разумеется, в строении всех таких алгоритмов есть общие элементы и последовательность действий, которые являются основой генетических алгоритмов и отличают их от многих других. Данная статья посвящена опыту конструирования конкретных вариантов генетического алгоритма.

Состояние проблемы. Управление запасами - это балансирование между двумя целями, взаимоисключающими друг друга в своих полярных точках: сокращение совокупных затрат, направленных на содержание запасов, и обеспечение максимальной надежности производственного процесса. Для предприятий, имеющих в своем составе цеха штамповки, специфичной является задача раскроя, неразрывно связанная с задачей управления запасами.

Управление запасами и решение задачи раскроя на таких производствах осложняется следующими обстоятельствами:

- большое количество заготовок и, следовательно, большая размерность задачи управления запасами (десятки и сотни типоразмеров заготовок);

- случайный график поставок, обусловленный случайностью вырубки заготовок из полосы, что приводит к сложности расчета издержек производства и хранения.

Задачу управления запасами предлагается решить с помощью генетического метода и показать его преимущество.

Генетический алгоритм — это математическая модель эволюции популяции искусственных особей. В популяции каждая особь характеризуется своей хромосомой 8к. Формально хромосома есть цепочка символов 8к=8п,...,8ш , где N — длина цепочки. Хромосома определяет приспособленность (пригодность^ особи 8 = 1, 2, ...п , где п — численность популяции. Цель состоит в максимизации функции приспособленности А(8к), т. е. в нахождении особи с максимальной приспособленностью. Важно отметить, что

генетический алгоритм ищет решение, как можно более близкое к оптимуму, но не гарантирует нахождение точного максимума функции приспособленности.

Эволюция популяции моделируется последовательностью поколений 8 = 0, 1, 2, ... N. В каждый следующий момент времени его состав меняется в целях увеличения пригодности особей. Это и есть процесс эволюции популяции.

Для каждого следующего поколения отбираются особи с относительно большими значениями приспособленностей. Хромосомы приспособленных особей «скрещиваются» и подвергаются малым «мутациям». Отбор, скрещивание, мутация — все это является генетическими операторами, процедурами, применение которых позволяет получить новое поколение популяции.

Формально генетический алгоритм — это любой алгоритм поиска приближенного решения поставленной задачи, построенный по схеме генетического алгоритма, где 8-е поколение популяции обозначается как [0, 3]:

Шаг 0. Создать случайную начальную популяцию 8^(0).

Шаг 1. Вычислить приспособленность А

Шаг 2. Производя отбор особей из 8^(1) в соответствии с их приспособленностями и применяя генетические операторы (скрещивания и мутации) к отобранным особям для получения потомства, сформировать популяцию следующего поколения 8^0+1).

Шаг 3. Повторять шаги 1, 2 для 1 = 0, 1, 2, до тех пор, пока не выполнится некоторое условие окончания эволюционного поиска (прекращается рост максимальной приспособленности в популяции, число поколений 1 достигает заданного предела.).

Возможны различные варианты генетического алгоритма, которые отличаются по схемам отбора особей из текущего поколения в новое, операторам скрещивания и мутации хромосом особей, по форме представления хромосом. Традиционный вид генетического алгоритма базируется на следующей частной схеме: цепочки символов в хромосомах бинарные (символы принимают значения 0 либо 1), длина цепочек постоянна (Ы = со«5г)метод отбора - пропорционально-вероятностный; скрещивания производятся по одноточечной схеме.

1. Постановка задачи

На заготовочный участок радиоцеха поступили листы фольгированного гетинакса размером 11*12 мм. Его необходимо разрезать на заготовки для печатных плат: П1 размером 13*14 мм, П2 - 15*16 мм, П3 - 17*18 мм, П4 - 19*110 мм, необходимость в которых П1, П2, П3, П4 единиц соответственно.

Построить модель и на ее основании составить экстремальную задачу, решение которой дает минимальное количество разрезанных выходных листов. Найти решение задачи в условиях минимизации отходов раскроя. Предусмотреть возможность максимизации количества комплектов печатных плат при условии выполнения комплектности П1 :П2:П3 :П4=к1 :к2:к3 :к4.

Исходные данные: 1Х*12, Пь П2, П3, П4, кьк2,к3,к4.

Используемые переменные: П; = а; - необходимое количество заготовок 1-го типа; С) -отход при раскрое единиц исходного материала _)-м способом; ) = 1,т - количество вариантов раскроя; ау - количество заготовок 1-го типа (1 = 1,4), полученных при раскрое единицы исходного материала по )-му варианту; 1 - вид заготовки; д - количество изделий (Пь П2, П3, П4); а - количество разрезанных листов; К - количество типов листов, поступающих на раскрой (К=1); 1; - комплектность- количество заготовок 1-го вида в одном комплекте; Х1 - количество единиц исходного материала, который раскраивается _)-м вариантом.

2. Формализация исследуемой задачи

Сформируем ограничения для данной задачи:

Х) > 0 = 1,т ,

т

Условие задачи

Функция цели имеет вид:

Параметры Значение

11 136

Ь 158

13 92

14 36

15 51

16 88

17 46

18 40

19 50

110 50

П1 270

П2 200

Пз 310

П4 90

Комплектность 3:2:1:5

F(x) = S Xj ^ min

j=i

1

где

x =

П^ j=i

а ограничения примут следующий вид:

S ajixj = П1к1х,

j=1 p

S aj2xj = П2k2X, j=1 P

S aj3xj = П 3k3X.

j=1

2.1. Алгоритмы решения исследуемых задач

Для начала рассмотрим решение данной задачи на основе методов линейного программирования.

Алгоритм симплекс-метода применяется лишь для канонической формы задач, поэтому задачу в других формах нужно изображать также в канонической форме.

Общая постановка задачи линейного программирования

- определить величины х > 0, ] = 1, п, которые максимизируют линейную форму:

Z = S cjxj ^ max

j=1

при условиях существования ограничений вида

AX < B,

A = a-

,X = x1,x2,...,xn,B =

1,b2,...,bm

Симплекс-метод применяется лишь для канонической формы задачи линейного программирования, поэтому чтобы начать решение с помощью симплекс-метода, необходимо превратить систему неравенств в эквивалентную систему уравнений путем введения новых неотъемлемых переменных хп+1,хп+ь...,хп+т. Вследствие этого система приобретает вид:

а11Х1 + а12Х2 + ••• + а1пХп + Хп+1 = Ь1,

a21x1 + a 22 x 2 + ••• + a2nxn + xn+1 = Ь2,

ат1Х1 + ат2Х2 + ... + атпХп + Хп+1 = ^

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

Требуется подобрать алгоритм, с помощью которого можно эффективно решить задачу. Был выбран генетический алгоритм по следующим причинам: во-первых, задача раскроя любого вида является ОТ-полной; во-вторых, время получения решения для заказчиков предполагается порядка десятка секунд для размерности 100, это достаточно высокие требования ко времени.

Для реализации генетического алгоритма особью предлагается считать любое размещение заданных предметов на полосе, удовлетворяющее условию задачи. Пусть все предметы некоторым образом пронумерованы. Тогда пусть хромосома - это перечисление

mn

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

В качестве критерия оптимизации, критерия оценки пригодности особи в поставленных задачах рассматривается длина полосы, занятая размещением предметов.

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

(1, 2, где)= 1, 2, ...К

А именно: (1; 2)хь(3; 4; -9; 2)х2, (3; 5; 6)х3, (7; -10; 5; 6)х4, (7; 8; 6)х5, (-11)х6. Одна из

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

Для лучшего описания понятия края упаковки можно провести физическую аналогию. Пусть торец полосы W — дно двумерного стакана, нальем в него воду. Все хотя бы частично намокшие предметы — это край полосы.

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

Для решения задачи предлагается модификация генетического алгоритма, использующая процедуру декодирования как параметр. Сам генетический алгоритм (т.е. схема его работы, смены поколений), структура хромосомы, операторы мутации, скрещивания, селекции не чувствительны к геометрии размещаемых предметов. Например, оператор мутации случайным образом переставляет два номера предметов в хромосоме. Оператор скрещивания двух хромосом порождает двух потомков. Начальный участок дочерней хромосомы совпадает со случайным участком хромосомы одного родителя, а конец состоит из оставшихся предметов, перечисленных в том порядке, в котором они следуют в хромосоме другого из родителей.

Например, оператор скрещивания (для случайных параметров р = 3, д = 4) для родителей 8р1 = (1, 2, 3, 4, 5, 6, 7, 8, 9) и 8р1 = (4, 7, 9, 1, 2, 5, 3, 8, 6) порождает потомка 801 = (3, 4, 5, 6, 7, 9, 2, 8) и для тех же родителей (для удобства понимания по-другому записанных) 8р2 = (4, 7, 9, 1, 5, 3, 8, 6) и БР1 = (1, 2, 3, 4, 5, 6, 7, 8, 9) потомка 8с2 = (9, 1, 2, 5, 3, 4, 6, 7, 8). Оператор мутации (для случайных параметров а = 2, Ь = 7) исходную особь 8 = (9, 8, 7, 6, 5, 4, 3, 2, 1) преобразует в особь вида 8т = (9, 3, 7, 6, 5, 4, 8, 2, 1).

Генетический алгоритм показал, что оценочная полиномиальная сложность алгоритма и относительно невысокие времена работы программы не зависят от типа задачи, в то время

Формальная запись края размещения

как оценочная сложность блочного декодера пропорциональна квадрату размерности задачи (числу предметов), а краевого — линейно зависит от размерности.

Разработанный алгоритм ориентирован на расширение и модификацию. Смена декодера позволяет решать задачу раскроя полубесконечной полосы как на прямоугольные, так и на круглые предметы. Предположительно, если воспользоваться таким эвристическим приемом, как годограф Хэкманна в качестве декодера, то тот же алгоритм возможно использовать для раскроя полубесконечной полосы на предметы нерегулярной формы.

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

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

При модификации алгоритма остались неизменными все генетические операторы и сама схема работы генетического алгоритма.

Выводы

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

Научная новизна: результатом приведенных исследований является решение оптимизационной задачи управления запасами с помощью методов эволюционной оптимизации с использованием генетических алгоритмов.

Практическая значимость: результатом практического использования полученных в работе итогов является нахождение оптимального расписания поставок товаров в складские помещения в условиях ограниченных объемов.

Список литературы: 1. Гвоздинский А.Н, Клименко Е.Г. Методы аналитической обработки информации // Радиоэлектроника и информатика 2000. №4. С. 111-112. 2. НоренковИ.П., Разгуляев С.Ю. Расчет динамических расписаний // Вестник МГТУ им. Н.Э.Баумана. 2001. №2(43) С. 14-185. 3. Норенков И.П. Генетические алгоритмы решения проектных и логистических задач // Информационные технологии. 2000. №9 С. 140-212. 4. Норенков И.П. Генетические методы структурного синтеза проектных решений // Информационные технологии. 1998. № 1. С. 40-257.

Поступила в редколлегию 14.11.2011 Гвоздинский Анатолий Николаевич, канд. тех. наук, профессор кафедры искусственного интеллекта ХНУРЭ. Научные интересы: оптимизация процедур принятия решений в сложных системах управления. Адрес: Украина , 61166, Харьков, ул. Академика Ляпунова, 7,кв.9. тел. 702-38-23.

Малышкин Владимир Александрович, магистрант специальности интеллектуальные системы принятия решений, факультет КН ХНУРЭ. Адрес: Украина , 61166, Харьков, ул. Академика Ляпунова, 7, кв. 164, тел. 0956605746 e-mail: royallifeua@gmail.com

Тищенко Иван Вячеславович, студент-бакалавр специальности интеллектуальные системы принятия решений, факультет КН ХНУРЭ. Адрес: Украина , 61166, Харьков, ул. Авиационная, 1,кв.1, тел. 0504065212 e-mail: shamanitos@rambler.ru