Введение. Эффективная работа предприятия зависит, прежде всего, от качественного календарного планирования производства, распределения ресурсов, равномерной загрузки производственных мощностей при изготовлении деталей. Построение сетевых графиков движения деталей вручную при больших объемах практически невозможно, либо очень трудоемко, и результаты не гарантируют отсутствие ошибок. Однако для обеспечения ритмичности работы производства необходимо создавать такие графики движения деталей, загрузки производственных ресурсов, чтобы максимально снизить время прохождения цикла изготовления деталей путем распределения работ между исполнителями, подбора свободного оборудования и ресурсов для выполнения этих работ. Таким образом, при планировании неизбежны временные накладки, и чем больше деталей, тем больше этих накладок. А в реальном производстве номенклатурный план участка измеряется сотнями деталей, что, естественно, создает серьезные затруднения при планировании.
Для решения таких задач существует ряд программных средств – MES-системы [3, 4], которых на сегодняшний день существует большое количество. Однако, несмотря на их обилие, задачи управления ресурсами и координации изготовления продукции полностью не решены. Планирование производится быстро, все изменения проводятся тотчас, информация о загруженности, изготовлении продукции отображается наглядно в графиках. Однако при составлении расписания, распределении работ по персоналу, оборудованию не учитываются индивидуальные характеристики работников и оборудования, а этот фактор является крайне важным. Весь персонал одной профессии выглядит так, словно они взаимозаменяемые машины – роботы, где при замене одного на другого ничего не изменится. В реальности люди работают с разной скоростью, качеством и даже имеют свои предпочтения в работе, что обычно сильно влияет на расписание. Оборудование тоже может иметь ограничения по габаритам, массе деталей, качеству изготовления продукции и т.д.
Таким образом, календарное планирование невозможно без разработки математического и информационного обеспечений, способных охватить данные качества, свойства, предпочтения, вести их учет, периоды активности.
Описание задачи
Рассмотрим задачу календарного планирования производственного участка цеха [2].
Имеется номенклатурный план – N деталей с различными технологиями изготовления (несколько технологических операций). На участке имеются различные ресурсы (персонал, инструмент, оборудование), которые необходимы для выполнения технологических операций, подразделяющиеся по категориям (например: фрезеровщики, токари, фрезерные станки, токарные станки и др.), при этом один ресурс может относиться к нескольким категориям (например, токарь может владеть профессией фрезеровщика).
Рассмотрим формирование плана изготовления деталей на примере технологических процессов изготовления двух деталей, представленные в Таблице 1.
Таблица 1. Технологический процесс изготовления деталей 1 и 2
|
Операция |
Время выполнения |
Необходимые ресурсы |
|
Для детали 1 |
Для детали 2 |
|||
1. |
Токарная |
1,5 часа |
1,0 час |
Токарь, токарный станок |
2. |
Слесарная |
1,0 час |
1,0 час |
Слесарь |
3. |
Фрезерная |
3,5 часа |
2,5 часа |
Фрезеровщик, фрезерный станок |
4. |
… |
… |
… |
… |
Предположим, что в наличии имеются все ресурсы, перечисленные в Таблице 1 по одному для каждой категории. Пусть начало изготовления в 8:00. Результат показан на Рисунках 1 и 2.
Рисунок 1. Фрагмент плана изготовления деталей 1 и 2 – вариант 1
Из Таблицы 1 видно, что для выполнения первых двух операций детали 2 необходимо 2 часа, а в связи с занятостью ресурсов на это ушло 4 часа (рисунок 1). То есть деталь 2 пролежала без движения 2 часа.
Рисунок 2. Фрагмент плана изготовления деталей 1 и 2 – вариант 2
Из рисунка 2 видно, что для выполнения первых двух операций детали 1 необходимо 2,5 часа, а в связи с занятостью ресурсов, на это ушло 3,5 часа. То есть деталь 1 пролежала без движения 1 час. При этом, сравнивая рисунки 1 и 2, видно, что в первом случае фрезерная операция началась в 11:00, а во втором – в 11:30. Такой результат получился даже без межоперационных простоев.
Рассмотренный пример демонстрирует временные накладки при изготовлении всего лишь двух деталей.
Теперь рассмотрим токарную операцию – для ее выполнения необходимы токарь и токарный станок. Пусть имеются два ресурса категории «токарь», и оба они свободны на момент начала выполнения и всей длительности операции 1. В реальной жизни два токаря отличаются друг от друга, то есть один токарь опытнее другого токаря и, следовательно, выполнит работу быстрее. Пусть токарь 2 выполнит работу за нормативное время (коэффициент производительности = 1), а токарь 1 – в 1,2 раза быстрее (коэффициент производительности = 1,2). Тогда выполнение операции 1 лучше поручить токарю токарь 1 и выполнить ее не за 60, а за 50 минут. В полном цикле изготовления такой выбор исполнителя может дать немалую экономию времени. Рисунок 3 показывает, что при применении коэффициентов, увеличивающих производительность, можно сократить цикл изготовления деталей (в этом случае фрезерная операция в варианте 2 началась уже в 11:05).
Рисунок 3. Фрагмент плана изготовления деталей 1 и 2 – вариант 2 с применением коэффициентов производительности
Таким образом, ускорить изготовление деталей можно:
- за счет более точного планирования и, как следствие, сокращения времени ожидания необходимого ресурса;
- путем подбора таких исполнителей и ресурсов, которые снижали бы длительность выполнения операции.
Детали могут обладать различными свойствами, такими как: масса, длина, ширина, высота, материал, твердость и так далее. Эти свойства могут влиять на скорость выполнения операции и изготовления детали в целом.
Специфика предметной области накладывает ограничения на выполнение технологических операций. Пусть некая деталь имеет массу 300 килограмм, а ресурс токарный станок 1 имеет максимальную грузоподъемность равную 250 килограмм. Тогда для выполнения токарной операции для этой детали такой станок не подойдет и необходимо подобрать другой. Или, например, фрезеровщик 1 не умеет и, следовательно, не может работать с медью (человеческий фактор), а деталь необходимо изготовить из меди (свойство материал = медь). Поэтому на выполнение этой операции лучше назначить другого исполнителя с навыками по обработке меди.
Таким образом, разрабатываемая система календарного планирования должна охватывать всю специфику предметной области: вести учет данных качеств, свойств деталей, отношений ресурсов к ним, вести их периоды активности, так как график работы и другие свойства и качества со временем меняются.
Разработка информационного обеспечения
Для решения нашей задачи были выделены следующие основные сущности и присущие им свойства [5]:
○ деталь – это объект, который изготавливают – конечный продукт:
- имя – шифр детали, изделия;
- родитель – шифр изделия (если это не отдельное изделие, а его составная часть, которая изготавливается отдельно);
- список свойств – свойства детали (габариты, вес, материал и т.д.), которые могут повлиять на качество, либо скорость изготовления и их значения;
- приоритет;
- срок изготовления детали.
○ операция – это действия, которые необходимо выполнить, чтобы изготовить деталь или выполнить один шаг из цикла обработки;
- имя – название операции;
- список необходимых специализаций ресурсов (например: один фрезеровщик, токарь, токарный станок и т.д.), их количество и квалификации;
- порядок выполнения – определение последовательностей между операциями – какая операция за какой должна быть произведена;
- длительность – длительность выполнения операции;
○ ресурс – это исполнители, оборудование, инструмент – все то, что необходимо для выполнения технологической операции для изготовления детали.
- имя – Ф.И.О. (для работника), инвентарный номер (для оборудования), шифр (для инструмента, оснастки);
- текущий режим работы – текущий график сменности, т.к. люди могут работать разным графикам (5-сменная неделя, график «48» и т.д.);
- список специализаций (профессий) ресурса с указанием производительности и качества выполнения работ;
- список свойств – отношения к различным свойствам деталей с указанием степени влияния на качество или скорость изготовления.
На основе структуры данных была разработана информационная модель базы данных, представленная на рисунке 4 [5].
Рисунок 4. Информационная модель базы данных
Формализация задачи
Для составления оптимального расписания требуется минимизировать общую длительность изготовления всех деталей . С учетом следующих имеющихся ограничений [2, 6]:
- количество используемых ресурсов при выполнении какой-либо операции должно быть равным сумме количеств необходимых ей ресурсов всех необходимых категорий;
- квалификация ресурса не должна быть ниже сложности выполняемых им работ;
- выполнение операций происходит последовательно для каждой из деталей, поэтому появляются временные затраты, не связанные с выполнением операции;
- в процессе производства один ресурс не может быть задействован одновременно в более чем одной операции, то есть ресурс занят либо одной операцией, либо другой,
а также учитывая, что изготовление детали начинается с первой операции, формула общего времени выполнения всех операций будет иметь вид:
, (1)
где – момент начала выполнения множеством ресурсов m1 (набор ресурсов для операции №1) первой операции для изготовления детали i;
– количество операций, необходимых для изготовления детали i;
– длительность выполнения операции j для детали i;
– длительность простоя детали i до начала операции j, связанная с дооперационной наладкой, настройкой;
– длительность простоя детали i после окончания операции j, связанная с послеоперационной переналадкой;
– длительность простоя, не связанного с дооперационной и послеоперационной переналадкой, перенастройкой (длительность ожидания ресурса);
– функция, учитывающая производительность используемых ресурсов для выполнения операции j для изготовления детали i.
Таким образом, задача ускорения изготовления продукции заключается в снижении общего времени изготовления L.
Предлагаемый подход к решению задачи
Для решения поставленной задачи при разработке программного обеспечения предлагается использовать многоагентный подход [1].
В рассматриваемой задаче календарного планирования предлагается выделить следующие типы агентов: «деталь», «операция», «ресурс».
Рассмотрим возможные модели поведения этих агентов [5].
Агент «операция» – активный элемент системы. Для выполнения ему необходимы ресурсы. Агент «операция» получает команду на поиск необходимых ресурсов. Для этого он опрашивает все ресурсы категорий, которые ему необходимы на наличие свободного времени на период его выполнения. Агент «операция» находит себе необходимые ресурсы, при этом учитываются различные свойства детали. В зависимости от значения свойства «производительность» агент «операция» корректирует время окончания выполнения и дает команду следующему агенту «операция» на выполнение, передавая ему данные об окончании выполнения. Так продолжается до выполнения последнего агента «операция» в последовательности выполнения обработки. После выполнения последнего агента «операция» он сообщает агенту «деталь» о сроках обработки.
Агент «деталь» – это активный элемент системы, его изготовление задается последовательностью выполнения операций. В основном эта последовательность задана четко, но случается, что между некоторыми операциями порядок выполнения не важен. Далее агент «деталь» запускает на выполнение первого агента «операция». После сообщения последнего агента «операция» о своем выполнении агент «деталь» запоминает время окончания выполнения. В случае невыдержанных сроков выполнения агент «деталь» проводит анализ изготовления для определения момента критической задержки и ее причины. После выявления причины задержки (если она есть), агент «деталь» пытается исправить ситуацию путем «переговоров» с другими агентами «деталь».
Агент «ресурс» – пассивный элемент системы. Его задача – вести учет того, какая операция и в какое время использует его, и предоставлять необходимую информацию агентам «операция».
Заключение. Рассмотрена задача календарного планирования на примере формирования плана изготовления деталей производственного участка. На основе рассмотренного примера произведена подготовка теоретической основы для разработки программного обеспечения:
- разработана структура данных;
- разработана информационная модель базы данных для хранения информации;
- для решения поставленной задачи предложен многоагентный подход;
- выделены необходимые для решения поставленной задачи классы агентов, разработаны алгоритмы их поведения, учитывающие специфику предметной области.
Рецензенты:
Куликов Г.Г., д.т.н., профессор, зав. кафедрой автоматизированных систем управления, ФГБОУ ВПО Уфимского государственного авиационного технического университета, г.Уфа.
Сметанина О.Н., д.т.н., профессор кафедры вычислительной математики и кибернетики, ФГБОУ ВПО Уфимского государственного авиационного технического университета, г.Уфа.