Научная статья на тему 'Распределение ресурсов производственной системы с использованием сетей Петри и генетического алгоритма'

Распределение ресурсов производственной системы с использованием сетей Петри и генетического алгоритма Текст научной статьи по специальности «Математика»

CC BY
525
105
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЬ ПЕТРИ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / РАСПРЕДЕЛЕНИЕ РЕСУРСОВ / PETRI NET / GENETIC ALGORITHM / RESOURCE ALLOCATION

Аннотация научной статьи по математике, автор научной работы — Сочнев Алексей Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Сочнев Алексей Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Resource allocation in production system using petri nets and genetic algorithm

The method is described for determining the optimal volume of resources using a simulation model based on Petri nets, whose parameters are determined by the genetic algorithm. The example is provided of using the proposed method for pre-production planning. Recommendations are given on the use of genetic algorithms for the problems of resource allocation.

Текст научной работы на тему «Распределение ресурсов производственной системы с использованием сетей Петри и генетического алгоритма»

УДК 517.977.58 ББК 73.6

РАСПРЕДЕЛЕНИЕ РЕСУРСОВ ПРОИЗВОДСТВЕННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ СЕТЕЙ ПЕТРИ И ГЕНЕТИЧЕСКОГО АЛГОРИТМА

Сочнев А. Н.1

(ФГАОУ ВПО «Сибирский федеральный университет»,

Красноярск)

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

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

1. Описание объекта исследования

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

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

Структура инструментального цеха представлена на рис. 1.

1 Алексей Николаевич Сочнев, кандидат технических наук, доцент (lesek@mail. тч).

Участок тяжелого оборудования Экспериментальный участок

Участок гальваники Заготовительный участок

Заточной участок Участок профильной шлифовки

Слесарный участок штампов Участок координатно-расточных станков и станков с ЧПУ

Слесарный участок прессформ Участок шлифовальных станков

Участок фрезерных станков

Рис. 1. Структура инструментального производства

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

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

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

Номенклатура изделий, производимых инструментальным цехом в течение планового периода (одной смены),представлена в таблице 1. Требуемое количество изделий каждого типа -20 единиц.

Таблица 1.Номенклатура инструментального цеха

Технологические операции

№ Наименование изделия заготовительная, мин слесарная 1, мин разметочная, мин фрезерная 1, мин слесарная 2, мин шлифовальная, мин слесарная 3, мин фрезерная 2, мин

1 Плита нижняя і 1,3 5 1 14 - 15 1 4

2 Стенка матрицы і - 1,2 8 5 16 2 -

3 Плита верхняя 1,7 - 1,2 5 4 2 - - -

4 Гайка 1 - 1,5 3 5 7 - -

5 Пресс-форма 1 2 2,4 3 12 - 15 - 2

6 Пресс-форма 2 1 - 1 10 - 12 3 -

7 Плита 1,2 2 2 - 7 - 1 -

8 Шайба 1 1 1 3 2 - - -

9 Пресс-форма 3 2 2,2 2,7 11 - 8 5 -

10 Корпус 1,5 - 2 3 2 3 - -

2. Имитационная модель производственной системы

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

вами анализа, а также моделирования в реальном масштабе времени.

Процесс моделирования можно условно разделить на две стадии.

1. Формирование структуры и параметров модели на основе свойств исходной системы (объекта управления).

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

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

[4, 7].

Позиции P\, P2, ..., PlO моделируют заготовки десяти типов изделий; позиции p55,p56, ...,p64 - готовые изделия; переходы t1, ^, ..., - заготовительные операции; t11, t12, ..., ^4- операции

«слесарная 1», t16, t17, ..., ^5 - «разметочная» и т.д. Маркеры, моделирующие изделия различных типов, перемещаются в модели от входных позиций к выходным в соответствии с описанием технологических процессов, приведенным в таблице 1.

Моделирование выполняется с использованием такта, равного 0,1 минуты.

Обозначения позиций сети буквами p и m с порядковым номером - это особенность используемой программы VisObjNet. Все дуги представленный сети имеют единичный вес. Нули рядом с переходами представляют начальные значения временных задержек, далее они заменяются значениями из таблицы 1.

р

Рис. 2. Сетевая модель производственного процесса

3. Постановка задачи распределения ресурсов

Сформулируем типичную задачу планирования производственного процесса, состоящую в определении необходимого количества исполнителей на каждом участке [9]. Для ее решения требуется в модель ввести элементы, представляющие ресурсы системы (позиции сети р65, р66, ..., р70), см. рис.2.

Из условий задачи, приведенных выше, определяем длительность производственного процесса для одной смены: Ттах = 8 х 60 х 10 = 4800 тактов.

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

В модельном представлении это означает найти начальную маркировку позиций ^0(р65), ц0{р66), ..., ц0{р70). Формально требуется одновременно минимизировать две целевые функции

Й(А) = (А(Рв5) + ^0(Р6б) +... + ^0(Р70)) ^ тт ,

■«0 еМ0

(1) = Ттах " Т(^0) ^ И1Ш ,

ЛеМ 0

М0 = {М) : Т < Ттах; Я0 ^ Ъ М) < ^0тах ; ^0 1 N}.

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

Определение маркировки указанных позиций - процесс итерационный, многократно повторяемый и сопровождаемый имитационными экспериментами. На каждом шаге решения выполняется проверка условия Т < Ттах.

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

Таблица 2. Диапазон изменения маркировок

Позиция Минимальное Максимальное Максимальное

количество мар- количество мар- количество

керов керов (двоичный код)

Р65 1 10 1010

Р66 1 12 1100

Р67 1 4 0100

Р68 1 10 1010

Р69 1 11 1011

Р70 1 7 0111

4. Метод полного перебора маркировок

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

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

Для рассматриваемого примера использование метода полного перебора потребует проверить 369600 вариантов начальных маркировок сети (10 х 12 х 4 х 10 х 11 х 7). Если учесть, что один имитационный эксперимент с сетью Петри занимает по времени примерно одну минуту, то общее время решения 369600 минут или 256 суток является совершенно недопустимой величиной.

В действительности это время можно уменьшить, исключая из рассмотрения заведомо неудачные варианты решения.

Дальнейшее уменьшение начальной маркировки приводит к нарушению условия Т < Ттах. Очевидный недостаток рассмотренного метода - большое количество шагов решения. В таблице 3

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

Таблица З.Результаты поиска начальной маркировки методом полного перебора

Вектор маркировки Д = (№(№) М)(Рбб) • • • /^(Рт)) Продолжительность производственного процессаТ

д = (10 12 4 10 11 7) 3372

д = (5 6 1 5 5 5) 3760

до = (5 6 1 5 4 5) 4552

д = (2 4 1 2 4 5) 4552

д = (1 4 1 2 4 5) 4752

д = (1 2 1 2 4 5) 4792

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

Вопросы совместного использования генетического алгоритма и сетей Петри рассмотрены в работах [2, 6]. Они посвящены методам решения задачи структурного синтеза модели объекта с заданными свойствами. Наличие подобных публикаций подтверждает актуальность исследования вопросов совместного применения сетей Петри и генетических алгоритмов.

Основные преимущества генетических алгоритмов [1].

1. Они не требуют никакой информации о поверхности ответа.

2. Разрывы, существующие на поверхности ответа, имеют незначительный эффект на полную эффективность оптимизации.

3. Они стойки к попаданию в локальные оптимумы.

4. Они хорошо работают при решении крупномасштабных проблем оптимизации.

5. Могут быть использованы для широкого класса задач.

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

Необходимость поиска всех решений не является помехой. Существует по крайней мере три класса задач, которые могут быть решены генетическим алгоритмом [8]:

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

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

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

Полученная задача оптимизации формулируется следующим образом. Целевая функция (функция приспособленности)

(2) ^М0) = к1 ■ &(М0) + к2 • ^О0)^

0

гдеМю = {д : Т < Ттах; Н > 1; Н < Нотах'; Н е Ж}.

Экспертные оценки коэффициентов целевой функции приняты одинаковыми: к1 = 1и к2 = 1.

Поскольку предполагаемые значения функций Q1(н0) и Q2(нс) различаются в сотни раз, то для правильной оценки значения функции G(н0) их необходимо привести в нормированный или процентный вид.

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

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

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

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

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

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

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

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

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

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

Далее представлен процесс решения задачи в программе Mi-crosoftExcel в виде последовательности шагов.

1. Формируются шесть векторов начальной маркировки позиций р65, Рбб, • ••, р70, см. таблицу 4. Минимальное возможное количество особей в популяции определено эмпирически. При большем количестве особей генетический алгоритм проигрывает в скорости поиска оптимума методу половинного деления или золотого сечения. При меньшем количестве процесс может сойтись к ложному оптимуму.

Таблица 4. Первая популяция

Начальная маркировка (сЫ - хромосома п)

^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ б

^о(Рб5) 4 8 3 3 3 8

Ио(Рвв) 7 11 2 5 3 5

ИоІРбі) 4 3 3 2 2 2

^о(Рбв) 4 3 7 9 4 5

ИоАрбэ) б б 3 5 7 б

Ио(Ріо) 5 3 4 7 4 4

2. Сформированные векторы представляются в двоичной форме, см. таблицу 5.

3. Проводятся шесть имитационных экспериментов на модели и определяются значения целевых функций ^1(^0), Q2(M)) и G(^o). Полученные значения Q1(;u0) и Q2(^0) нормируются, и G(^0) определяется от нормированных значений, см. таблицу б.

Таблица 5. Двоичное представление маркировки

0110 1101 0101 0101 0100 1100

1001 1111 0010 0110 0100 0110

1111 1011 1011 1000 0110 0111

0110 0100 1011 1110 0110 1000

1000 1001 0101 0111 1010 1001

1011 0110 1000 1111 1010 1000

Таблица 6. Результаты экспериментов (* - нормированное значение функции)

61Ы 1385 675 964 1040 24 25

б1*(Я0) 0,34 0,16 0,23 0,25 0,01 0,01

&(М0) 28 33 21 30 24 28

Q2*(^o) 0,17 0,20 0,13 0,18 0,13 0,17

G*Cuo) 0,51 0,37 0,36 0,44 0,14 0,18

4. На основе полученных значений функции приспособленности G(^o) выбираются особи для скрещивания по принципу рулетки и формируется новая популяция, см. таблицы 7, 8.

Таблица 7. Скрещиваемые особи

Таблица 8. Второе поколение и мутировавшие особи

Начальная марки ювка (ch п - хромосома п)

сЫ Л2 Л3 Л4 Л5 Л6

М)(Р6з) 0110 0100 1101 0100 1100 0101

М)(Рбб) 0101 1000 0110 0010 0110 0111

М)(Р6?) 0111 1110 0111 1011 1011 0111

И0ІР68) 0110 0110 1011 1000 0100 1000

И0ІР69) 1000 1010 1001 0101 1001 1001

И0(Р70) 1011 1010 1000 1000 1100 1010

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

мер, до мутации у пятой особи второй ген образовывала комбинация 11102 или 14ю (11]0 с учетом ограничений количества маркеров) и имелись две важные причины уменьшить значение этого гена. Во-первых, эксперимент с предыдущими особями, в которых этот ген гораздо меньше, а значение функции приспособленности получилось вполне удовлетворительным. Во-вторых, вторая ячейка производственной системы по условиям задачи является недогруженной, поэтому использование большого количества станков представляется неправильным.

Процесс решения задачи состоит в повторении пунктов 1-4 до достижения желаемых значений целевых функций Ql(^o), Q2(^o) и

ад.

В рассматриваемом примере приемлемое решение задачи появляется уже в третьем поколении, см. таблицы 9, 10.

Таблица 9. Третье поколение популяции

Начальная маркировка (ch п - хромосома п)

^ 1 ch 2 ch 3 ch 4 ch 5 ch 6

М)(Р65) 3 3 3 3 3 3

Ио(Рвв) 2 3 5 1 5 5

М)(Рб?) 4 2 4 3 2 2

М)(Рбв) 3 6 3 5 7 5

М)(Р69) 6 7 6 4 6 6

Ио(Ріо) 4 5 4 4 4 4

Таблица 10. Функции приспособленности третьего поколения (* - нормированное значение функции)

24 1245 24 1500 24 24

0,01 0,32 0,01 0,39 0,01 0,01

22 25 23 19 26 26

0,14 0,16 0,15 0,12 0,17 0,17

0,15 0,48 0,15 0,51 0,17 0,17

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

половинного деления, покоординатного спуска или подобных [5]. В описываемом примере оптимальное значение уточняется половинным делением и координатным спуском, см. таблицу 11. Поскольку длительность производственного процесса по условию задачи не должна превышать 4800 тактов, то первый шаг делается для того, чтобы вернуть ее в область допустимых значений (4824 ^ 3761).

Таблица 11. Поиск оптимального решения

М)(Р65) 3 3 2 2 1 1 1

И0ІР66) 2 2 1 2 2 2 2

М)(Р67) 4 4 3 3 3 1 1

М)(Р68) 3 3 2 2 2 2 2

М)(Р69) 6 6 5 5 5 5 4

И0ІР70) 4 5 5 5 5 5 5

Т 4824 3761 6300 3952 4384 4384 4792

Ql(M)) 24 1039 1500 848 416 416 8

&(м0 22 23 18 19 18 16 15

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

6. Заключение

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

1. Сформулирована многокритериальная задача оптимального распределения ресурсов, имеющая практическое применение в системах управления производством.

2. Сформулированная задача формализована с использованием терминов теории сетей Петри.

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

4. Определены основные особенности генетического алгоритма в применении его к задаче поиска оптимального количества ресурсов на рассмотренном инструментальном производстве.

Рис. 3. Обобщенный алгоритм решения задачи Литература

1. ГЛАДКОВ Л.А., КУРЕЙЧИК ВВ., КУРЕЙЧИК В.М. Генетические алгоритмы: Учебное пособие - 2-е изд. М: Физматлит, 2006. - С. 320.

2. ЕЛЬЧАНИНОВ Д.Б., САМИМЕХАНА, ПЕТРОСОВ ДА. Применение генетических алгоритмов при проектировании компьютерной техники / Вестник Херсонского государственного университета. - Херсон: Изд-во ХГУ, 2003. - № 2(18). - С. 146-148.

3. ЕМЕЛЬЯНОВ ВВ., ГОРНЕВВ.Ф., ЕМЕЛЬЯНОВВ.В., ОВСЯННИКОВ М.В. Оперативное управление в ГПС. - М.: Машиностроение, 1990. - 256 с.

4. КОТОВ В.Е. Сети Петри. - М.: Наука, 1984. - 160 с.

5. КУРЕЙЧИК В.М., ЛЕБЕДЕВБ.К., ЛЕБЕДЕВ ОК. Поисковая адаптация: теория и практика. - М: Физматлит, 2006. - 272 с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6. ПЕТРОСОВ Д А., ЛОБОДАВ.Г., ЕЛЬЧАНИНОВ Д Б. Представление генетических алгоритмов Сетями Петри в задачах проектирования компьютерной техники / Материалы научнопрактической конференции «Информационные технологии в науку и образование». - Х. : ХНУРЭ, 2005. - С. 48-51.

7. ПИТЕРСОН ДЖ. Теория сетей Петри и моделирование систем. - М.: Мир, 1984. - 264 с.

8. РУТКОВСКАЯ Д., ПИЛИНЬСКИЙ М., РУТКОВСКИЙ Л. Нейронные сети, генетические алгоритмы и нечеткие системы

- 2-е изд. - М: Горячая линия-Телеком, 2008. - 452 с.

9. ЮДИЦКИЙ С.А., МАГЕРГУТ В.З. Логическое управление дискретными процессами. Модели, анализ, синтез. - М.: Машиностроение, 1987. - 176 с.

RESOURCE ALLOCATION IN PRODUCTION SYSTEM USING PETRI NETS AND GENETIC ALGORITHM

Alexey Sochnev, Siberian Federal University, senior lecturer at department «Robotics and Technical Cybernetics» (lesek@mail.ru)

Abstract: The method is described for determining the optimal volume of resources using a simulation model based on Petri nets, whose parameters are determined by the genetic algorithm. The example is provided of using the proposed method for pre-production planning. Recommendations are given on the use of genetic algorithms for the problems of resource allocation.

Keywords: Petri net, genetic algorithm, resource allocation.

Статья представлена к публикации членом редакционной коллегии А. К. Погодаевым

i Надоели баннеры? Вы всегда можете отключить рекламу.