Научная статья на тему 'Оптимальное планирование машиностроительного производства на основе динамического программирования'

Оптимальное планирование машиностроительного производства на основе динамического программирования Текст научной статьи по специальности «Механика и машиностроение»

CC BY
587
105
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / ОПТИМИЗАЦИЯ ПЛАНИРОВАНИЯ ПРОИЗВОДСТВА / DYNAMIC PROGRAMMING / OPTIMAL PRODUCTION PLANNING

Аннотация научной статьи по механике и машиностроению, автор научной работы — Евгенев Георгий Борисович

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

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

Optimal production planning on the basis of dynamic programming

Increasing the efficiency and competitiveness of production is an acute problem. To solve this problem, product parameters must be optimized at all stages of the life cycle of a product. There are many heuristic algorithms to improve production planning, but they do not guarantee optimal plans. The optimal plans can be obtained using dynamic programming. However, this method has not been applied yet to solve production engineering problems. This paper is the first to describe the methodology of dynamic programming as applied to the optimization of production planning.

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

Экономика, организация и менеджмент на предприятии

УДК 004.624

Оптимальное планирование машиностроительного производства на основе динамического программирования

Г.Б. Евгенев

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

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

Optimal production planning

on the basis of dynamic programming

G.B. Evgenev

Increasing the efficiency and competitiveness of production is an acute problem. To solve this problem, product parameters must be optimized at all stages of the life cycle of a product. There are many heuristic algorithms to improve production planning, but they do not guarantee optimal plans. The

ЕВГЕНЕВ Георгий Борисович (МГТУ им. Н.Э. Баумана)

EVGENEV Georgiy Borisovich

(Moscow, Russian Federation, Bauman Moscow State Technical University)

optimal plans can be obtained using dynamic programming. However, this method has not been applied yet to solve production engineering problems. This paper is the first to describe the methodology of dynamic programming as applied to the optimization of production planning.

Keywords: dynamic programming, optimal production planning.

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

Одним из наиболее мощных и широко известных математических методов современной теории управления дискретными процессами является метод динамического программирования, который был предложен в конце 50-х годов XX века американским математиком Р. Беллманом [1—6].

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

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

Производственная система S представляет собой множество рабочих центров WCn. Рабочие центры WCn объединяются в группы эквивалентности WCnm, в которых они взаимозаменяемы:

M ,N

S = UWCnm.

m =1 ,n =1

(1)

Здесь т — номер группы; п — порядковый номер рабочего центра в группе.

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

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

ТР ={ТОк, ..., ТО,, ..., ТОт}.

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

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

ЖР = {ЖСк*, ..., ЖСу, ..., ЖС/}.

Процесс изменения состояния системы S должен производиться в каком-то смысле наилучшим образом. Степень качества процесса выражается численно с помощью критерия

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

Если обозначить общее управление системой Б буквой и, то зависимость критерия О от управления можно записать в следующем виде [3]:

О = О(и).

В данном случае и эквивалентно ЖР.

С помощью динамического программирования требуется найти такое управление и* (оптимальное управление или оптимальный план), при котором критерий ( достигает максимума

О * = шах{(2(и)}

или минимума

О * = ш1и{О(и)}.

Эта формула означает, что О* есть максимальное или минимальное из значений, которые принимает критерий О при всех возможных управлениях и.

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

С учетом начальных и конечных условий задача оптимального управления формулируется следующим образом: из множества возможных управлений и найти такое управление и*, которое переводит физическую систему Б из начального состояния в конечное Бкон так, чтобы некоторый критерий обращался в максимум О(и) [3].

Состояние системы Б описывается с помощью фазовых переменных.

Фазовые переменные. Метод динамического программирования (планирования) использу-

ется тогда, когда процесс может быть разделен на ряд последовательных шагов. При этом каждый раз оптимизируется управление только на одном шаге. Для таких многошаговых процессов справедлив принцип оптимальности Р. Беллмана [2, 3, 5]: оптимальное управление обладает тем свойством, что каково бы ни было начальное состояние и начальное управление последующее управление должно быть оптимальным по отношению к состоянию, получающемуся в результате начального управления.

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

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

Для обозначения фазовых переменных, связанных с изготовлением изделия / на шаге (операции) t, будем использовать индексы / и t. Номер группы рабочего центра, используемого на операции номера t, будем обозначать символом Рх, а порядковый номер центра в группе — символом рй2. Эти две компоненты формируют вектор Рн = (р 1 рй2). Последний обычно называют вектором фазовых переменных.

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

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

1ЧоС\УС 1Мо\¥С 1Ч1оОер МоисИ РгРг КУТМУ

1 1 1 1 5 1,2

1 2 1 1 7 1

2 1 1 2 10 1

2 2 1 2 5 1,3

3 1 1 3 12 I

3 2 1 3 10 1

3 3 1 3 6 1,1

4 1 2 1 8 1,1

4 2 2 1 5 1,4

4 3 2 1 9 1,2

Рис. 1. База данных рабочих центров:

N00^0 — номер группы рабочих центров; N0^0 — номер рабочего центра; ^Бер — номер цеха; ^ИсЬ — номер участка; РгРг — процент простоя в ремонте; KVNV — коэффициент выполнения норм времени

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

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

ТРк = {ТО/, ..., ТОык, ..., ТОтк }; / * *

ЖС/, ..., ЖСр\ ..., ЖС,/.

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

ЖР} = {ЖС/ , ..., ЖС' , ..., ЖС/'}.

Количество рабочих планов соответствует количеству изделий, находящихся в производстве. Каждый рабочий план представляет собой управляющую переменную ЖР}, где индекс t определяет шаг производственного процесса, т. е. порядковый номер технологической операции, а г — порядковый номер изделия.

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

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

1Ч1оБе1 1ЧоТр 1МоОр 1ЧоСг\¥С Тщ ТЫЛ

3 1 1 1 0,07 0,5

3 1 2 2 0,05 0,4

3 1 3 3 0,125 1,5

7 1 1 1 0,024 0,2

7 1 2 2 0,02 0,1

7 1 3 3 0,033 0,3

9 1 1 1 0,021 0,1

9 1 2 2 0,027 0,2

9 1 3 3 0,023 0,2

Рис. 2. База данных технологических операций:

^Бе1 — номер детали; ^Тр — номер технологического процесса; №Ор — номер операции; N00^0 — номер группы рабочих центров; Тр/ — норма подготовительно-заключительного времени, ч;

ТзМ — норма штучного времени, ч

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

Р+ = Ft (Ри; Щт),

которое означает, что ри+1 можно определить, если заданы ри и ыи+1.

Применительно к оперативно-календарному планированию производства pit представляет собой рабочий центр, изготавливающий изделие г на шаге t. Соответственно р+ — рабочий центр, изготавливающий изделие г на шаге t+1. Управление и+ определяет технологическую операцию, которая должна выполняться на шаге /^+1 в соответствии с технологическим процессом.

Уравнение процесса содержится в дискретной форме в базе данных технологических операций (см. рис. 2).

МАШИНОСТРОЕНИ

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

$т(Рп, •, Рм, ип> •, иш) ^ 0, т = 1, ..., I.

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

и* < < и*.

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

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

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

О(р¡М, и1, •", и 1М)-

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

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

О = 2М1 Р, Р; ии+х).

Допустимая стратегия {и(7|, которая минимизирует целевую функцию О, называется оптимальной стратегией.

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

Трё = № + Т8М*КоЮе1)* *(1 + РгРг/100)*КУ№ + Тто.

Здесь Трё — норма времени на изготовление партии деталей; Тр2 — норма подготовительно-заключительного времени на партию деталей; ТзМ — норма штучного времени на деталь, КоГОе! — количество деталей в партии; РгРг — процент простоя рабочего центра в ремонте; КУКУ — коэффициент выполнения норм времени на данном рабочем центре; Тто — время межоперационное.

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

Фрагмент таблицы базы данных, содержащей информацию о загрузке рабочих центров, представлен на рис. 3. Кроме описанных выше атрибутов номера группы рабочих центров и номера экземпляров центров из группы, а также номеров деталей, ожидающих в очереди, в этой таблице хранятся данные о приоритетах деталей (РгБе!) и нормы времени на изготовление партии деталей ^огТРБе!). Если данный рабочий центр свободен (№0е1=0), то обработка партии деталей начинается без промедления (например, рабочий центр NoGWC=1 и Ко^С^). В противном случае поступившая на рабочий центр партия деталей ставится в очередь. Время ожидания в этой очереди зависит от приоритета детали. Например, обработку на рабочем центре NoGWC=1 и NoWC=2 ожидает партия деталей с приоритетом РгБе1=2. Если на этот центр поступает партия деталей с приоритетом РгБе1=1, то обработка ее начинается без промедления (см. рис. 3). В случае поступления партии деталей с приоритетом РгБе1=2, она будет ожидать завершения обработки деталей равного приоритета. Аналогичным образом будут ожидать начала обработки детали с приоритетом РгБе1=3 (см. рис. 3).

Рис. 3. Ожидание в очереди

Формирование оптимального плана с использованием метода динамического программирования.

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

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

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

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

^Оптимальное значение целевой функции^ Оптимальный план "^Решение задачи безусловной оптимизации

Фазовое пространство с условными оптимальными выигрышами

Решение задачи условной оптимизации

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

Ввод и занесение общих данных

Рис. 4. Диаграмма компонентов подсистемы динамического планирования

план и значение соответствующей целевой функции.

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

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

МАШИНОСТРОЕНИ

Рис. 5. Первый шаг решения задачи условной оптимизации

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

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

Рис. 6. Второй шаг решения задачи условной оптимизации

Для каждого из этих двух рабочих центров необходимо найти условно-оптимальное решение в комбинации с лучшим из двух предыдущих рабочих центров. Результат представлен на рис. 7. Лучшее условно-оптимальное решение (9, 48) имеет рабочий центр 1. На этом завершается решение задачи условной оптимизации.

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

Рис. 7. Третий шаг решения задачи условной оптимизации

Рис. 8. Решение задачи безусловной оптимизации

Вызов оптимального плана

Обозн Наимен Колич ОбознТП Цех Уч РМ Опер НаимОп Длитч Трудч

ВИТЯ.757365.001 Сердечник 3 ААА ТР 1 1 1 1 Токарная 2,98 1

ВИТЯ.757265.001 Сердечник 3 ААА ТР 1 2 1 2 Расточная 3,28 2

ВИТЯ.757265.001 Сердечник 3 ААА_ТР 1 3 2 3 Фрезерная 7,08 3

Рис. 9. Оптимальный план

пе условной оптимизации. Как видно на рисунке значение оптимальной длительности обработки детали равно 13,34 ч.

Оптимальный план обработки детали 3, которая имеет обозначение ВИТЯ.757265.001, наименование «Сердечник» и изготовляется в количестве 3 штук по технологическому процессу ААА_ТП, представлен на рис. 9. Длительность включает общее время производственного цикла обработки детали с учетом ожиданий, а трудоемкость — чистое время наладки операции и обработки партии деталей.

Выводы

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

Литература

[1] Арис Р. Дискретное динамическое программирование. Москва, Мир, 1969, 172 с.

[2] Беллман Р. Динамическое программирование. Москва, ИЛ, 1960, 373 с.

[3] Вентцель Е.С. Элементы динамического программирования. Москва, Наука, 1964, 176 с.

[4] Таха Х. А. Введение в исследование операций. Москва, Издательский дом «Вильямс», 2001, 912 p.

[5] Bellman R. Dynamic Programming. Princeton, Princeton University Press, 1957, 342 p.

[6] Sniedovich M. Dynamic Programming. Foundations and Principles, Taylor&Francis Ltd., 2010, 624 p.

References

[1] Aris R. Discrete Dynamics Programming. An Introduction to the Optimization of Staged Processes. New York, 1964. (Russ.ed.: Aris R. Diskretnoe dinamicheskoe programmirovanie. Vvedenie v optimizatsiiu mnogoshagovykh protsessov. Moscow, Mir publ., 1969. 172 p.).

[2] Bellman R. Dinamicheskoe programmirovanie [Dynamic Programming]. Moscow, ILpubl., 1960. 373 p.

[3] Venttsel' E.S. Elementy dinamicheskogo programmirovaniia [Elements of dynamic programming]. Moscow, Naukapubl., 1964. 176 p.

[4] Takha Kh. А. Vvdenie v issledovanie operatsii [Introduction to Operations Research]. Moscow, «Vil'iams»publ., 2001. 912 p.

[5] Bellman R. Dynamic Programming. Princeton, Princeton University Press, 1957. 342 p.

[6] Sniedovich M. Dynamic Programming: Foundations and Principles, Taylor&Francis Ltd., 2011, 624 p.

Статья поступила в редакцию 09.04.2013

Информация об авторе

ЕВГЕНЕВ Георгий Борисович (Москва) — доктор технических наук, профессор кафедры «Компьютерные системы автоматизации производства». МГТУ им. Н.Э. Баумана (105005, Москва, Российская Федерация, 2-я Бауманская ул., д. 5, стр. 1, e-mail: [email protected]).

Information about the author

EVGENEV Georgiy Borisovich (Moscow) — Dr. Sc. (Eng.), Professor of «Automated Production Computer Systems» Department. Bauman Moscow State Technical University (BMSTU, building 1, 2-nd Baumanskaya str., 5, 105005, Moscow, Russian Federation, e-mail: [email protected]).

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