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

УДК 519.712.2

Л. А. Гладков

ГИБРИДНЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ РЕШЕНИЯ ЗАДАЧ

ОПЕРАТИВНОГО ПРОИЗВОДСТВЕННОГО ПЛАНИРОВАНИЯ*

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

Временной график производственного процесса; оперативное планирование; эволюционные вычисления; нечеткие генетические алгоритмы; нечеткий логический контроллер.

L.A. Gladkov

HYBRID GENETIC ALGORITHM OF THE DECISION OF PROBLEMS OF OPERATIVE INDUSTRIAL PLANNING

In work the actual problem of operational planning of production is considered. The basic criteria and the heuristic rules applied at operational planning are listed. In article the new hybrid method of the decision of a problem of the planning, based on use of genetic algorithms and model of the fuzzy logic controller is offered. The description of rules used by the logic controller, structures of the offered algorithm is resulted. The short description of the spent computing experiments confirming efficiency of the offered method is presented.

Time schedule of production; operational planning; evolutionary calculations; indistinct genetic algorithms; the indistinct logic controller.

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

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

Входной информацией для решения задачи планирования производства является [2]:

♦ набор машин (станков), на которых будут выполняться операции;

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

♦ для каждой операции - время, за которое она может быть выполнена на каждой машине;

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

*

Работа выполнена при частичной поддержке РФФИ (проект № 11-01-00122).

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

Выходными данными являются времена выполнения каждой операции и номер машины, на которой операция выполняется.

В качестве критериев оптимизации могут быть использованы:

♦ общее время выполнения производственной программы;

♦ равномерность загрузки;

♦ минимизация затрат по межоперационному хранению и т.д.

Проблема оперативного планирования является ОТ-полной. Поэтому, несмотря на обилие разработок, проблема построения эффективного расписания остается актуальной.

Существует несколько взглядов на иерархию задач планирования. На рис. 1 приведено представление задач производственного планирования. Эти задачи изображаются обычно в виде иерархической последовательности.

Дирекция, Директор по экономике, Планово-Экономический отдел, Планово-Производственный отдел

Объемное планирование реализации производственной программы

Директор по производству, Планово-Производственный отдел, Начальники цехов и планово_____________диспетчерские бюро

Оперативное производственное планирование

ово-Производственный отдел, Планово-диспетчерский отдел, Начальник цеха, Планово-диспетчерское бюро цеха

Планово-диспетчерское бюро цеха Мастер, Диспетчер Распределитель участка

Производство

Рис. 1. Иерархия задач производственного планирования

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

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

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

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

Основные эвристические правила, применяемые при оперативном планировании и диспетчировании, таковы [3]:

♦ FCFS - первый пришел, первый обслужен;

♦ LCFS - последний пришел, первый обслужен;

♦ SPT - кратчайшее время процесса;

♦ DDATE - ближайшая дата выполнения;

♦ SLACK - минимальная задержка;

♦ RWK - сохранение времени работ на всех операциях.

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

♦ FCFS -при работе на низких уровнях загрузки мощностей;

♦ SPT - при сильной перегрузке цехов;

♦ DDATE - при допустимости только минимальных опозданий;

♦ SLACK - при нормальной загрузке.

Согласно определению международного консорциума по производственным системам Manufacturing Enterprise Solutions Association International (MESA) оперативное / детальное планирование понимается как процесс составления и расчета производственных расписаний, основанный на приоритетах, атрибутах, характеристиках и способах, связанных со спецификой изделий и технологией производства.

Таким образом, оперативное планирование сводится к задачам теории расписаний [4], в рамках которых необходимо:

♦ назначить исполнителя для каждого задания;

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

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

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

2. Однозначно определены устройства, выделяемые для выполнения заданных работ.

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

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

1) математическое программирование;

2) комбинаторный подход;

3) эвристический подход.

Эвристические методы, эвристическое программирование являются одним из традиционных направлений исследований по искусственному интеллекту [5-7]. Их ключевая особенность заключается в том, что практически нет ограничений на постановку решаемой задачи. Если для классических подходов теории расписаний добавление того или иного условия может повлечь за собой неприменимость сразу целого ряда методов или даже вообще невозможность решить задачу точными методами, то при использовании методов искусственного интеллекта такой проблемы не стоит - понадобится лишь изменить формализацию задачи в рамках применяемого метода. Основа этих алгоритмов не отличается от комбинаторных подходов и представляет собой направленный поиск в пространстве состояний. Их особенность состоит в том, что все они в той или иной мере используют направленно-случайный поиск. Генетический алгоритм (ГА) - это применение природных механизмов эволюции к технической системе. В ходе эволюции организмы адаптируются к условиям существования во внешней среде. Среда обитания претерпевает постоянные изменения. Для того, чтобы выжить в изменившихся условиях, организмы вынуждены перестраивать свою структуру - адаптироваться. Необходимо отметить, что происходит комплексная адаптация многочисленной группы организмов (популяции) к изменяющимся внешним условиям.

Модификация алгоритма заключается в привлечении аппарата нечеткой логики для изменения параметров генетического алгоритма и типа применяемых генетических операторов в ходе его работы [8, 9].

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

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

Чтобы построить нечеткий логический контроллер, необходимо выработать правила, по которым он будет менять параметры [10, 11].

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

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

1) разнообразие фенотипа УБ [0,1]. Фенотип особи - это значение ее функции пригодности. Разнообразие фенотипа определяется по следующей формуле:

УБ _ abs(fbest — fave) ! fbest,

где ^1, ^ - лучшее и среднее значение функции пригодности;

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

БЛ (fave favep) / fave,

где ^ж, - среднее значение функции пригодности на текущей и предыдущей

популяции.

Для перечисленных характеристик популяции выведены следующие нечеткие правила:

ЕСЛИ (УБ = мало И БЛ = мало), ТО Увеличить(Рт), Уменьшить(Рс), Мутация Обмена,

ЕСЛИ (УБ = мало И БЛ = много), ТО Увеличить(Рт), Мутация Перемешивания в диапазоне,

ЕСЛИ (УБ = много И БЛ = мало), ТО Увеличить(Рт), Увеличить(Рс), Мутация Перемешивания в диапазоне,

ЕСЛИ (УБ = много И БЛ = много), ТО Уменьшить (Рт), Увеличить(Рс), Мутация Перемешивания в диапазоне.

Таким образом, структуру модифицированного генетического алгоритма с использованием НЛК можно описать следующим образом:

1. Инициализация.

2. Считывание исходных данных.

3. Инициализация параметров алгоритма - Рт, Рс, Т, М.

4. Генерация популяции.

5. Подсчет ЦФ всех особей.

6. Цикл по поколениям 1=1, Шах.

7. Цикл по всем особям к=1,т.

8. Цикл по всем особям Б=1,т.

9. С вероятностью Рс выполнить кроссинговер особей кБ.

10. Конец цикла по особям.

11. С вероятностью Рт выполнить мутацию особи к.

12. Конец цикла по всем особям.

13. Расчет Цф всей популяции.

14. Отбор.

15. Редукция.

16. Подсчет средней и максимальной ЦФ.

17. Подсчет параметров НЛК.

18. Изменение Рт и Рс и типа мутации по нечетким правилам.

19. Конец цикла по поколениям.

20. Вывод лучшего решения.

На основе предложенного алгоритма был разработан и реализован комплекс программ. Для реализации разработанного алгоритма была использована среда разработки СоёеОеаг С++ВшИег 2009.

Вычислительные эксперименты проводились при следующих параметрах:

♦ количество поколений Т= 100;

♦ число заданий К=25;

♦ количество линий О = 4;

♦ размер популяции М = 50;

♦ вероятность мутации РМ = 0.5.

Как видно из графика (рис. 2), время работы алгоритма растет линейно относительно вероятности кроссинговера.

10

3.5

3

3.5 8

7.5 7

Є.5

Б

5.5 5

4.5

4

3.5 3

2.5 2

1.5 1

0.5

^1

/

3 Б Э 12 15 18 21 24 27 30 33 36 ЗЭ 42 45 43 51 54 57 Є0

Рис. 2. Зависимость времени работы генетического алгоритма от вероятности

кроссинговера

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

Начальные данные: 20 заданий, 4 машины. Проведем ряд экспериментов, изменяя начальные вероятности операторов мутации и кроссинговера. (Фиксированные параметры: размер популяции 100, итераций 200).

Таблица 1

Исследования с использованием НЛК

Мутация ^ 30 50 80

Кроссинговер i

30 2950 1518 1469

50 1219 1565 1465

80 1594 1406 1385

Без использования НЛК с вероятностями мутации и кроссинговера 50 и 30 соответственно: целевая функция достигла значения 1790. При помощи алгоритма групповых перестановок был получен результат 1820.

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

Таблица 2

Исследования влияния количества итераций

Количество итераций Значение ЦФ

200 1230

500 1273

800 1273

1000 1280

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Лазарев А.А. Теория расписаний: задачи и алгоритмы. - М.: Изд-во МГУ, 2011.

2. Высочин С.В. Принципы построения систем для расчета производственных расписаний. // САПР и графика. - 2008. - № 9. - C. 57-59.

3. Leung J.Y.T. Handbook of Scheduling. // Boca Raton, Florida: Chapman & Hall/CRC, 2004.

4. ТанаевВ.С. Введение в теорию расписаний. - М.: Наука, 1975.

5. Cohoon J.P., Karro J., Lienig J. Evolutionary Algorithms for the Physical Design of VLSI Circuits. Advances in Evolutionary Computing: Theory and Applications, Ghosh, A., Tsutsui,

S. (eds.) Springer Verlag, London, 2003. - P. 683-712.

6. Курейчик В.М., Курейчик В.В., Родзин С.И. Концепция эволюционных вычислений, инспирированных природными системами // Известия ЮФУ. Технические науки. - 2009.

- № 4 (93). - C. 16-25.

7. Кныш Д.С., Курейчик В.М. Параллельные генетические алгоритмы: Проблемы, обзор и состояние // Известия РАН. Теория и системы управления. 2010. - № 4. - С. 72-82.

8. Курейчик В.М. Модифицированные генетические операторы // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - C. 7-15.

9. Гладков Л.А. Интегрированный алгоритм решения задач размещения и трассировки на основе нечетких генетических методов // Известия ЮФУ. Технические науки. - 2011.

- № 7 (120). - С. 22-30.

10. Гладков Л.А., Гладкова Н.В. Новые подходы к построению систем анализа и извлечения знаний на основе гибридных методов // Известия ЮФУ. Технические науки. - 2010.

- № 7 (108). - С. 146-153.

11. Гладков Л.А., Гладкова Н.В. Особенности использования нечетких генетических алгоритмов для решения задач оптимизации и управления // Известия ЮФУ. Технические науки. - 2009. № 4 (93). - C. 130-136.

Статью рекомендовал к опубликованию д.т.н., профессор Н.А. Витиска.

Гладков Леонид Анатольевич - Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге; e-mail: leo@tsure.ru; тел.: 88634371625; кафедра систем автоматизированного проектирования; доцент.

Gladkov Leonid Anatol’evich - Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; GSP 17A, 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +78634371625; the department of computer aided design associate professor.

УДК 681.325

В.Б. Лебедев

МОДЕЛИ АДАПТИВНОГО ПОВЕДЕНИЯ КОЛОНИИ ПЧЕЛ ДЛЯ РЕШЕНИЯ ЗАДАЧ НА ГРАФАХ*

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

Роевой интеллект; пчелиная колония; адаптивное поведение; самоорганизация; граф; оптимизация.

V.B. Lebedev

MODELS OF A BEE COLONY ADAPTIVE BEHAVIOUR FOR THE DECISION OF PROBLEMS ON GRAPHS

In work the modified paradigm of a beer colony for the decision of combinatory problems on graphs is considered. On the basis of the analysis of behavioural model of self-organizing of a colony of bees, methods and mechanisms of formation of corresponding representations of decisions of considered combinatory problems on graphs are developed. Methods of formation of space of search are considered. The position in search space is represented in the form of the ordered list. The list actually is a decision code. Key operation of beer algorithm is research of perspective positions and their vicinities in search space. In work the method of formation of vicinities of decisions with adjustable degree of similarity and affinity between them is offered. Three approaches to definition of foraging bees number, directed to vicinities of each base position are offered. In comparison with existing algorithms improvement of results is reached.

Swarm intelligence; ant colony; adaptive behaviour; self-organizing, graph; optimization.

* Работа выполнена при частичной поддержке РФФИ (проект № 11-01-00975). 42