Применение генетических алгоритмов в решении задач планирования производства и реализации продукции

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2012 Управление, вычислительная техника и информатика № 2

УДК 004.94:519.85

Н.С. Гарколь, М.В. Гунер

ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ В РЕШЕНИИ ЗАДАЧ ПЛАНИРОВАНИЯ ПРОИЗВОДСТВА И РЕАЛИЗАЦИИ ПРОДУКЦИИ

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

Ключевые слова: генетические алгоритмы, поиск экстремума, планирование производства.

В настоящее время развитие различных научных и производственных отраслей невозможно без применения средств вычислительной техники и современных интеллектуальных информационных технологий. Это обусловлено тем, что многие современные задачи просто не могут быть решены классическими методами из-за очень большой сложности математических моделей, их описывающих [1, 2].

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

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

Система управления производственным предприятием должна отвечать следующим требованиям и обеспечивать следующую функциональную полноту [3]:

- обеспечение планирования продаж, которое оценивает (обычно в единицах готового изделия), какими должны быть объем и динамика продаж, чтобы был выполнен установленный бизнес-план;

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

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

- обеспечение планирования потребности в материалах на основе производственной программы для каждого вида готового изделия;

- определение требуемого расписания закупки и/или внутреннего производства всех материалов и комплектующих этого изделия и соответственно их сборку;

Система

планирования

ресурсами

предприятия

Планирование

производства

Рассогласование

Укрупненное расписание для всего предприятия

Расписание для всего предприятия

Оптимизация выпуска продукции

Персонал

Общий портфель заказов

Производственные

мощности

Стоимисть Показатели качества

Сроки выполнения

Текущий план выпуска

Запасы

Частные производственные условия цехов

Расписание для цеха

Детализированное расписание для укрупненных цехов

Матриць Поточные линии Продукция

в ‘ «да »•-

• ‘ «ад ш Ї0 — 4 №.. <£. ->

т -Дли «4%

О

С * £& *:

Рис. 1. Схема «Основные этапы планирования на промышленном предприятии»

- обеспечение планирования производственных мощностей, которое преобразует план производства в конечные единицы загрузки рабочих мощностей (станков, рабочих, лабораторий и т.д.);

- обеспечение планирования потребности в финансах.

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

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

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

Требуется составить план производства и план сбыта продукции на календарный месяц с учетом всех ограничений в условиях динамически изменяющегося списка заказов. Целевая функция T - время, необходимое для производства всех изделий в требуемом объеме, будет выглядеть следующим образом:

Т = max

где Tj - суммарное время работы j-й производственной линии за выбранный период (месяц); L - количество производственных линий.

D

Tj = iTk ,

k=1

где Tjk - суммарное время работы j-й производственной линии за k-е сутки,

< R ; D - количество рабочих дней в текущем месяце; R - рабочее время про-

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

N x

Tjk = I j +hM,

i=1 Pj

где Xjk - переменная, объем производства изделий г-й номенклатуры на j-й линии за k-е сутки, xijk > b ; b - минимальный размер партии производства, обусловленный технологическими ограничениями и требованиями к качеству продукции, Р..

- объем производства изделий г-й номенклатуры на j-й линии за единицу времени (производительность линии); в случае, когда Р. равняется нулю, производство

изделий г-й номенклатуры на j-й линии невозможно; N - количество номенклатурных позиций; h - дополнительные временные издержки, возникающие на линии при смене производственной номенклатуры и типа сырья; M - количество таких мероприятий в сутках по подготовке линии к производству изделий другой номенклатуры.

Размер складских запасов на конец k-х суток

Vk = ZV'k ,

i =1

где Vik - остатки продукции г-й номенклатуры на складе на конец k-х суток,

Vk < W; W - максимально допустимый размер складских запасов, Vi0 - остатки

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

L

Vik = Vi

j=1

D N D N

ZZ у* = ZZcik+Ci,

k=1 i=1 k= 1 i=1

где yik - переменная, объем отгруженной продукции г-й номенклатуры за k-е

N

сутки, yik > cik, ^ yik < Z; Z - максимально возможная суточная отгрузка со

/=1

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

На рассматриваемом предприятии работают одновременно 5 производственных линий (L = 5), рабочих дней в месяце 30 (D = 30), на профилактические и ремонтные работы отводится 4 ч в сутки, т.е. рабочее время линий 20 ч (R = 20). Производительность линий задана в табл. 1. Минимальный размер партии производства 8 т (b = 8). На подготовку линии к производству изделий другой номенклатуры и замену сырья уходит примерно 15 мин или четверть часа (h = 0,25). Максимально допустимый размер складских запасов 800 т (W = 800), максимальный объем продукции, который могут отгрузить работники со склада, 100 т (Z = 100). В среднем в месяц предприятие отгружает 2,3 - 2,5 т готовой продукции. Требуется найти оптимальные значения объемов производства Xjk (i = 1, N ;

j = 1, L ; k = 1, D ) и сбыта продукции yik (i = 1, N ; k = 1, D).

Таблица 1

Матрица производительности линий

Наименование Производительность

Линия 1 Линия 2 Линия 3 Линия 4 Линия 5

Изделие 1 650 1150 1150 1200

Изделие 2 650 1160 1160 600

Изделие 3 1160 1160 600

Изделие 4 590 600

Изделие 5 700

Изделие 6 600 600

Изделие 7 520 600

Изделие 8 630 1100 1100 1150

Изделие 9 650 1100 1100 1150

Изделие 10 600 1150 1150 600

Изделие 11 1050 1050 1250

Изделие 12 645 600

Изделие 13 1100 1100 1100

Изделие 14 600 1000 1000

Изделие 15 600 1150 1150 600

Изделие 16 1000 1000

Изделие 17 1150 1150

Изделие 18 600

Изделие 19 1100

Изделие 20 1100

В качестве дополнительных параметров необходимо учесть остатки на складе на начало месяца по каждой номенклатурной позиции V*, перечень имеющихся заказов е*, в том числе предварительных С;.

2. Генетический алгоритм и его программная реализация

Для решения такого класса задач достаточно результативным инструментом являются генетические алгоритмы (ГА). Это семейство алгоритмов, которые позволяют найти приемлемое решение в аналитически сложно решаемых задачах через последовательный подбор и комбинирование исходных параметров с использованием механизмов, напоминающих биологическую эволюцию [4].

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

Существует три основных принципа формирования начальной популяции:

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

- из множества допустимых решений случайным образом выбирается подмножество;

- комбинация этих двух способов.

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

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

Среди операторов размножения традиционно выделяют следующие:

- кроссовер, при котором производится скрещивание генетического материала двух различных решений-«родителей» для получения решений-«потомков»;

- различные виды оператора мутации, который преобразует исходную хромосому в набор новых решений, как правило, случайным образом.

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

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

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

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

В качестве организма рассматривался набор хромосом, каждая из которых отвечала за хранение исходной информации в следующем виде:

/-линия (1,...,£) Ь=5 -кол-во линий 1 ... к ... 30 Д=30 - количество рабочих дней в текущем месяце

1 2 2 0 1 2 2 0 1 2 2 0 N = 20 - количество видов изделий

1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 указывает на выпуск продукции в к-е сутки

хщ - объем выпускаемой продукции г-го вида на /-й производственной линией за к-е сутки

у ¡к - объем отгруженной продукции г-го вида за к-е сутки Продукция со всех производственных линий

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

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

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

Такой «хромосомный» вид представления позволяет легко не только пробовать различные методы генерации начальной популяции, но и сопоставлять их с задачами линейного программирования.

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

Интерфейс программного модуля составлен так, что позволяет указывать все допустимые пороговые значения параметров перед запуском алгоритма.

Рис. 2. Пространство «хромосом»-решений для задачи планирования производства и сбыта готовой продукции

Генетические операторы реализованы в виде отдельных БЬЬ-модулей, что позволяет без изменения основного программного кода модифицировать новые реализации операторов мутации и кроссовера. Так, оператор мутации имеется в двух реализациях:

- в виде одноточечного оператора, который изменяет случайно выбранный ген в допустимых пределах для этого гена;

- в виде двухточечного оператора, меняющего местами два случайно выбранных гена.

Оператор кроссовера выполняет операцию обмена участка хромосом крест-накрест в случайно выбранной точке. Выбор хромосом для участия в турнире организован по принципу «рулетки» на основе датчика случайных чисел с равномерным распределением. Оператор селекции выполняет функции отбора наилучших полученных решений на данном этапе эволюции.

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

3. Тестирование алгоритма

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

Наиболее приемлемыми получились параметры алгоритма с численностью популяции 10 организмов, для изделий оптимальный размер партий производства составил порядка 16 т.

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

Число поколений 8 8 10 15 16 18 22 25

Перебрано решений 240 312 321 415 564 356 660 405

Средний объем перебора составил - 409, эффективность работы алгоритма -3,98.

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

Заключение

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

ЛИТЕРАТУРА

1. Пятковский О.И. Интеллектуальные компоненты автоматизированных информационных систем управления предприятием. Барнаул: Изд-во АлтГТУ, 1999. 351с.

2. Пятковский О.И., Гунер М.В. Комплекс построения гибридных интеллектуальных систем «Бизнес-аналитик» // Ползуновский альманах № 2. (Выпуск посвящен Четвертой международной научно-практической конференции ВИС-2009, 20 ноября 2009 г., АлтГТУ им. И.И. Ползунова). Барнаул, 2009. С. 199-200.

3. Кузин Б.И., Юрьев В.Н., Шахдинаров Г.М. Методы и модели управления фирмой: учеб. пособие. СПб.: Питер, 2001. 432 с.

4. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. М.: Физматлит, 2003. С. 432.

Гарколь Наталья Станиславовна Гунер Михаил Викторович

Алтайский государственный технический университет им. И.И. Ползунова

E-mail: n_garkol@mail.ru horyzont1@mail.ru Поступила в редакцию 10 октября 2011 г.

Garkol Natalia S., Guner Michael V. (The Altay State Technical University of 1.1. Polzunov). Application of genetic algorithms to the production and selling problems.

Keywords: genetic algorithms, extremum search, manufacture planning.

There are considered modeling of separate production processes, as well as a manufacture process as a whole. General approach to decision of multicriterion problems such as planning of manufacture and finished goods sale, is proposed. Generalized algorithm of the decision is based on genetic algorithms.