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

Программный комплекс для оптимального планирования производства многоассортиментных полимерных пленок Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
611
102
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНЫЙ КОМПЛЕКС / ПОЛИМЕРНАЯ ПЛЕНКА / ПЛАНИРОВАНИЕ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / МЕТОД РОЯЩИХСЯ ЧАСТИЦ / THE PROGRAM COMPLEX / POLYMERIC FILM / PLANNING / GENETIC ALGORITHM / PARTICLE SWARM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Комягина О. Ю., Чистякова Т. Б.

The program complex is designed to produce an optimal schedule of orders execution on the equipment in corporations which are producing a polymeric film. All technological and economic parameters are calculating at all stages of orders production, cutting and transportation

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Комягина О. Ю., Чистякова Т. Б.

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

THE PROGRAM COMPLEX FOR ECONOMICALLY OPTIMUM PLANNING PRODUCTION OF MULTIASSORTMENT POLYMERIC FILMS

The program complex is designed to produce an optimal schedule of orders execution on the equipment in corporations which are producing a polymeric film. All technological and economic parameters are calculating at all stages of orders production, cutting and transportation

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

УДК 621.519.85

О.Ю. Комягина, Т.Б. Чистякова

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

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

программный комплекс, полимерная пленка, планирование,

генетический алгоритм, метод роящихся частиц

O.Y. Komyagina, T.B. Chistyakova

THE PROGRAM COMPLEX FOR ECONOMICALLY OPTIMUM PLANNING PRODUCTION OF MULTIASSORTMENT POLYMERIC FILMS

The program complex is designed to produce an optimal schedule of orders execution on the equipment in corporations which are producing a polymeric film.

All technological and economic parameters are calculating at all stages of orders production, cutting and transportation

The program complex, polymeric film, planning, genetic algorithm, particle swarm

Введение

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

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

например, необходимо распределять от 100 до 1200 заказов по производственным мощностям, количество которых больше 40, при этом возможно составление экономически неоптимального производственного плана.

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

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

X = (Е,~,О,Рй), и = (А), X = /(X,и), X = (2) , где Е = [Е],_/ = 1,М} - множество экструзионных линий; ЕI - вектор, описывающий параметры экструзионной линии; М - количество экструзионных линий; 5 = {5у, у = 1, У} - множество резательных машин; 5у - вектор, описывающий параметры резательной машины; У - количество резательных машин; О = {Ог,г = 1, N - множество заказов на выполнение; О{ - вектор, описывающий параметры заказа; N - количество заказов на выполнение; Рй = (ТО,Тк,Уг,Ург,УГ) - вектор, описывающий параметры планирования; тО - дата начала периода планирования; Тк - дата окончания периода планирования; Угг - параметр, определяющий учитывать ли транспортировку заказа при планировании (0 или 1); Ург - параметр, определяющий учитывать ли приоритет заказа при планировании (0 или 1); Уг - параметр, определяющий учитывать ли резку при планировании (0 или 1); А = {АЕ5,Аса,АР5О} - множество методов оптимального планирования; 2 = (2е, 2?) - вектор, описывающий распределение заказов на заданном оборудовании; 2е = {2еI, ] е {1,2,..., Щ} - множество, описывающее распределение заказов по экструзионным линиям; йеI = (Ог1) - вектор, описывающий размещение заказов на |-й экструзионной линии; 2? = {2?у,уе {1,2,...,N}} - множество, описывающее распределение заказов по резательным машинам; 2?у = (Ргху) - вектор, описывающий размещение и производственные

программы резки для заказов на у-ой резательной машине; Р1х у = {Р,х,у, г = 1,..,Ях} - план

раскроя г-ого заказа на у-ой машине.

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

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

заказа Т (2, О{) была не больше срока требуемой поставки Т г и в пределах заданного периода

планирования [то , Тк ], а значение целевой функции Е (2) было минимальным:

Е (2) ^ ш1и; Т (2, Ог) <тг; Т0 < Т(2, Ог) <Тк,

где Тг - дата доставки г-ого заказа; Т(2,Ог) = Е]г (2|г-1,2]г) + Ре^,г,х (2, Ог) + Тг(2, Ог) - функция расчета времени выполнения заказа, ч; Т(2,Ог)- дата окончания выполнения заказа;

Р(2) = КМ (2) + КР (2) + Кь (2) + КТ (2) + (2) + 5М (2) - стоимость выполнения производ-

ственного плана; КМ (2) - стоимость полимерных материалов, потраченных при выполне-

нии плана, $; KP (Q) - стоимость работы оборудования, $; KL (Q) - стоимость хранения, $; KT (Q) - стоимость транспортировки от завода до заказчика, $; SV (Q) - штраф за просрочку

выполнения заказа, $; SM (Q) - штраф за нарушение периода планирования, $.

Функциональная структура разработанного программного комплекса, представлена на риа 1. Структура программного комплекса разделена на три уровня. На первом уровне - информационное обеспечение, повышающее гибкость комплекса и включающее в себя базы данных (БД) заказов, БД оборудования (экструзионных линий и резательных машин), БД типов пленки, БД цветов пленки, БД заказчиков, БД времени транспортировки. Базы данных разработаны в MS SQL Server 2005/2008. Модель описания данных - реляционная. Также на этом уровне разработан модуль взаимодействия с БД при помощи технологии SubSonic 2.5, которая обеспечивает объектно-ориентированное описание всех сущностей информационного обеспечения на языке программирования C# 3.0.

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

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

Рис. 1. Функциональная структура программного комплекса для формирования оптимального плана в производстве полимерных пленок

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

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

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

1. Ген описывается вектором = (I, рг), где г - индекс заказа, соответствующий его

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

2. Хромосома состоит из генов, их количество определяется количеством заказов, которые необходимо разместить Су = (Оу>0,...,Оуг,...,Gy,N), где у - индекс варианта размещения (хромосомы) в родительской популяции Р = {Су, у = 1, А}, где А - количество хромосом в популяции.

3. Оператор одноточечной мутации: Для у-ого варианта размещения заказов Су случайным образом определяется индекс гена для мутации пт: Упт е {1,..., ^. Для выбранного гена Опт = (]пт, рпт) элемент мутации определяется в зависимости от количества исходных производственных линий: если для одной, то мутация применяется к позиции р пт , если для множества - применяется к индексу производственной линии Опт = (]пт,рпт). В результате получается новая хромосома Спек1 = (Су>0,..., ОП™т ,•••, Су ^), для которой применяется фитнесс функция, после чего она добавляется в популяцию потомков.

4. Оператор одноточечного кроссовера: для у-ого варианта размещения заказов Су случайным образом из исходного множества определяется индекс второго варианта размещения £: V е {1, А} л £ Ф у Эти два варианта (Су и С() будут скрещиваться, в результате чего

получатся новые хромосомы. Случайным образом определяется точка кроссовера Уг е {1, N л г > 1 л г < N Новые варианты размещения определяются как конкатенация частей первого и второго исходных вариантов: Спек1 = (Оу0, ОуЛ,..., Оуг, г+1,..., ^) и

Спе„2 = (^(0,0{1,...,01г,Gyr+1,...,GyN). Для новых хромосом применяется фитнесс функция и они добавляются в популяцию потомков.

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

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

Как и в генетическом алгоритме, в реализации алгоритма роящихся частиц многомерное пространство поиска населяется множеством элементарных решений (роем частиц). Координаты частицы в пространстве однозначно определяют решение задачи оптимизации. Помимо координат каждая из частиц описывается динамической скоростью перемещения. На каждой итерации для каждой частицы определяется новый вектор скорости на основании её текущей скорости, её лучшей позиции и лучшей позиции роя, затем частица перемещается вдоль вектора скорости. Таким образом, в процессе перемещения частицы осуществляют «прочёсывание» пространства решений и тем самым находят текущий оптимум, к которому на следующем шаге устремляются остальные частицы [3].

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

1. Позиция частицы представляется в виде «ломаной» матрицы, состоящей из М строк (количество линий). Каждой строке этой матрицы соответствует своя линия. В ячейки матрицы помещаются заказы, последовательность заказов в строке, определяет последователь-

Позиция частицы изменяется на

ность выполнения этих заказов на машине

каждой итерации согласно своей скорости: Р/+1 = Р/ + Vkt+1.

2. Скорость частицы - это совокупность перестановок, которые применяются к позиции частицы V = {[(£;,Oj),(Е,От)]......[(E,-+1,Oj^^E^°m+1)]}, где [(Ei,Oj),(Е,От)]- одно-

значно определяют заказы, которые нужно поменять местами в производственном расписании. Две скорости являются эквивалентными, если при применении перестановок этих скоростей к одной и той же позиции получаются одинаковые позиции: V1 = V2. Введены понятия: модуль скорости и обратная скорость. Модуль скорости IV I - это количество перестановок. Обратная скорость V - все перестановки применяются в обратном порядке, т.е. сначала последняя, потом предпоследняя и так далее. Если I V 1= 0 , то V = {}. Скорость частицы изменяется на каждой итерации, при этом частица обладает инерцией, т.е. сохраняет направление движения, а также стремится к собственному лучшему решения и всего роя.

3. Рой представляет собой совокупность частиц, которые перемещаются по поверхности возможных решений Swarm = {Particlep : Particle = {P,V, IP}}, p = 1,2,..., Ct, где Р - позиция частицы на поверхности возможных решений; V - скорость частицы; lP - лучшая позиция этой частицы; Ct - размер роя.

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

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

O2

O6

Таблица

Условия проверки адекватности Критерии оптимизации Исходный план Метод полного перебора Генетический алгоритм Алгоритм роящихся частиц

5 заказов и 1 экструзионная линия стоимость 50% - 60% 100% 100% 100%

время выполнения, мин 2 0,1 0,3

101 заказ и 13 экструзионных линий стоимость 50% - 60% 100% 99% 98%

время выполнения, мин 21 0,4 0,7

Программный комплекс является web-приложением, что обеспечивает дистанционный доступ, централизованное управление установкой и обновлением системы. В качестве средств разработки использованы современные технологии: Microsoft Visual Studio 2008, MvC 2.0, C# 3.0, JQuery, MS SQL Server 2005/2008, SubSonic 2.5. Пользовательские интерфейсы реализованы в виде aspx-страниц, с использованием технологий MVC 2.0 и JQuery.

Тестирование программного комплекса и оптимизационных методов осуществлялось на производственных данных, предоставленных многоассортиментным заводом по производству полимерной пленки корпорации «Klocner Pentaplast». В таблице показаны результаты работы оптимизационных методов для решения задачи оптимального планирования. Оптимизация по стоимости определена в процентном соотношении к наилучшему глобальному оптимуму при решении задачи планирования (100% - найден глобальный оптимум). Приведено сравнение с построенным планом вручную, при этом изначально план оптимизирован на 50-60%, а в результате работы методов программного комплекса план оптимизируется до 98-100%.

Выводы

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

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

ЛИТЕРАТУРА

1. Комягина О.Ю., Чистякова Т.Б., Четверикова И.Д. Алгоритмы формирования планов рулонного и листового производства полимерных пленок // Математические методы в технике и технологиях ММТТ-21: сб. тр. междунар. науч. конф. Саратов: СГТУ, 2008. Т.6. С. 120-121.

2. Mitchell M. An introduction to genetic algorithms. Cambridge: The MIT Press, 1996. 385 p.

3. Sha D.Y., Hsu C.-Y. A hybrid particle swarm optimization for job shop scheduling problem // Computers & Industrial Engineering. 2006. № 4. P.791-808.

Комягина Ольга Юрьевна -

аспирант кафедры «Системы автоматизированного проектирования и управления» Санкт-Петербургского государственного технологического института (технического университета),

Чистякова Тамара Балабековна -

доктор технических наук, проректор по учебной работе, профессор кафедры «Системы автоматизированного проектирования и управления» Санкт-Петербургского государственного технологического института (технического университета)

Статья поступила в редакцию 7.03.12, принята к опубликованию 12.03.12

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