сотрудник с 01.01.1981 по 01.01.2025
Могилев, Беларусь
Могилев, Беларусь
Могилев, Беларусь
УДК 519.8 Исследование операций
Цель исследования: обоснование структуры и параметров математической модели, предназначенной для решения задачи оптимизации загрузки оборудования промышленного предприятия с многономенклатурным серийным производством. Задача: разработка математической модели и реализующей ее программной системы для проведения исследований ее эффективности при решении задачи повышения эффективности промышленного производства. Методы исследования: математическое моделирование на основе методов линейного программирования. Новизна работы: рассмотрены вопросы обоснования параметров математической модели для оптимизации загрузки оборудования при высокой размерности задачи. Результаты исследования: разработаны математическая модель и программное обеспечение, позволяющее повысить эффективность функционирования промышленного предприятия. Выводы: результаты проведенных исследований будут полезными разработчикам программных систем, используемых для управления производством на промышленных предприятиях.
производственный процесс, производственная мощность, методы линейного моделирования, многономенклатурное производство, управление производственными ресурсами, оптимизация загрузки оборудования
Введение
Повышение эффективности производственных процессов является ключом к успеху для любой компании и является важным фактором для развития экономики и повышения уровня жизни. Одним из важнейших инструментов, позволяющих это обеспечить, являются информационные технологии, основанные на математическом моделировании производственных процессов. Аналитические инструменты позволяют создавать и использовать системы планирования и управления ресурсами, которые могут оптимизировать процессы и значительно повысить эффективность производства.
Первым шагом на пути повышения производительности производственных процессов является оптимизация загрузки оборудования, что позволяет в полной мере использовать его производственные мощности. С точки зрения математики такая задача может быть поставлена как достаточно простая задача линейного программирования, которая описана достаточно подробно в различных источниках [1, 2].
Однако примеры, рассмотренные в литературе, имеют небольшую размерность и простую структуру, а размерность реальных производственных систем, как правило, достигает нескольких сотен технологических операций и сотен единиц оборудования. При математической постановке задачи в этих условиях, будут определены сотни управляемых параметров и сотни ограничений. Ввиду большой размерности промышленных производств и специфики использования оборудования такая задача имеет множество особенностей, которые нуждаются в подробном рассмотрении.
Материалы, модели, эксперименты и методы
Конструкция сложных технических изделий имеет иерархическую структуру с множеством подсистем, каждая из которых состоит из узлов или сборочных единиц, собираемых из отдельных деталей. В этом случае изделие состоит из нескольких сотен деталей. В свою очередь для изготовления каждой детали существует свой технологический процесс, состоящий из нескольких технологических операций, выполняемых последовательно на соответствующем оборудовании. Сборка деталей в узлы также осуществляется по некоторой технологии на специальных рабочих местах с соответствующим оборудованием.
С целью упрощения описания упомянутой выше математической модели производственного процесса рассмотрим постановку задачи на достаточно простом изделии, структура которого представлена на рис. 1. Приведенное изделие состоит только из двух сборочных единиц, каждая из которых имеет по две детали. Несмотря на такой простой пример с его помощью можно рассмотреть множество нюансов постановки и решения задачи оптимизации производственного процесса любого технического изделия.
Рис. 1. Структура изделия
Fig. 1. Product structure
На рис. 2 приведен пример схемы технологического процесса производства этого изделия. На схеме видно, что каждая из деталей имеет свой технологический процесс, состоящий из одной или двух технологических операций. Каждая операция выполняется на соответствующем оборудовании и имеет свою длительность.
Рис. 2. Схема производственного процесса изготовления изделия
Fig. 2. The scheme of the manufacturing process of the product
При массовом производстве станочный парк предприятия формируют под изготавливаемые изделия таким образом, что за каждой единицей оборудования закрепляется только одна операция, а количество оборудования подбирается с целью максимальной его загрузки. Эффективность производства в этом случае обеспечивается при его проектировании и поддерживается организационными мероприятиями, проводимыми на предприятии.
В случае серийного или крупносерийного многопродуктового производства в разные временные периоды изменяется номенклатура его продукции и объемы ее выпуска. В этом случае загрузка оборудования все время меняется, а следовательно, остро встает вопрос об ее оптимизации для наиболее эффективного использования имеющихся производственных мощностей [3].
В связи с этим рассмотрим решение задачи закрепления за имеющемся оборудованием выполнения необходимых технологических операций на примере изделия, представленного в вышеприведенном примере. Предположим, что предприятие располагает необходимым оборудованием для выполнения только требуемых технологических операций и задача оптимизации ставится в рамках имеющегося станочного парка.
В случае реального производства станочный парк будет иметь значительно большую номенклатуру. Задача оптимизации загрузки большого парка оборудования будет иметь многократно большую размерность, но в плане ее постановки различий не будет.
Далее будем считать, что однотипные операции могут выполняться на любом из станков данного типа и даже выполняться на нескольких из них одновременно. Например, некоторая токарная операция при наличии нескольких токарных станков может выполняться на любом из них или частично на одном и частично на другом. Поэтому при описании технологических цепочек изготовления различных деталей будем расписывать альтернативные варианты закрепления операций за оборудованием.
Возможный вариант описания указанных технологических операций, представленных на рис. 2 приведен в табл. 1. В каждой строке таблицы указан номер операции, название операции, конкретный станок, на котором она может быть выполнена и время ее выполнения. Номер операций показывает их последовательность в процессе производства и как принято в технологических документах возрастает с шагом 5. Это сделано для того чтобы при внесении изменений в технологические процессы при добавлении операций не изменять полностью всю документацию, а только ее дополнять. Например, при необходимости добавить операцию в самое начало процесса ее номер может быть 003, а если надо добавить после первой операции, то номер будет 007.
Таблица 1
Table 1
Описание параметров производственных операций
Description of production operation parameters
|
Номер операции |
Операция |
Оборудование |
Количество оборудования |
Время операции, мин |
|
Деталь 1 |
||||
|
005 |
Токарная |
Токарный станок 1 |
1 |
5 |
|
005 |
Токарная |
Токарный станок 2 |
1 |
5 |
|
010 |
Сверлильная |
Сверлильный станок 1 |
1 |
3 |
|
010 |
Сверлильная |
Сверлильный станок 2 |
1 |
3 |
|
Деталь 2 |
||||
|
005 |
Фрезерная |
Фрезерный станок 1 |
1 |
6 |
|
005 |
Фрезерная |
Фрезерный станок 2 |
1 |
6 |
|
010 |
Сверлильная |
Сверлильный станок 1 |
1 |
2 |
|
010 |
Сверлильная |
Сверлильный станок 2 |
1 |
2 |
|
Деталь 3 |
||||
|
005 |
Токарная |
Токарный станок 1 |
1 |
5 |
|
005 |
Токарная |
Токарный станок 2 |
1 |
5 |
|
Деталь 4 |
||||
|
005 |
Фрезерная |
Фрезерный станок 1 |
1 |
7 |
|
005 |
Фрезерная |
Фрезерный станок 1 |
1 |
7 |
|
010 |
Сверлильная |
Сверлильный станок 1 |
1 |
4 |
|
010 |
Сверлильная |
Сверлильный станок 1 |
1 |
4 |
|
Деталь 5 |
||||
|
005 |
Токарная |
Токарный станок 1 |
1 |
4 |
|
005 |
Токарная |
Токарный станок 2 |
1 |
4 |
|
010 |
Фрезерная |
Фрезерный станок 1 |
1 |
6 |
|
010 |
Фрезерная |
Фрезерный станок 2 |
1 |
6 |
|
Сборочная единица 1 |
||||
|
005 |
Сборка-сварка |
Сварочный полуавтомат |
1 |
7 |
|
Сборочная единица 2 |
||||
|
005 |
Слесарная сборка |
Слесарное место |
1 |
10 |
|
Изделие: сборочная единица 3 |
||||
|
005 |
Сборка-сварка |
Кантователь |
1 |
15 |
|
|
|
Сварочный полуавтомат |
1 |
|
Повторяющийся в таблице номер технологической операции показывает возможные альтернативы закрепления операций за различными единицами оборудования. Длительность выполнения одной и той же операции на различных станках, в связи с различием их параметров, может отличаться, но для рассматриваемых в данной работе вопросов это не имеет существенного значения.
При решении задачи оптимизации загрузки оборудования могут рассматриваться следующие подходы. В первом подходе может рассматриваться задача максимизации загрузки оборудования при необходимости произвести заданный объем продукции за определенный период времени. При этом мы можем столкнуться с проблемой нехватки фонда рабочего времени оборудования для производства.
Во втором подходе может ставиться задача определения максимально возможного объема производства продукции в заданный период. Объем продукции может определяться либо в натуральных единицах, либо в стоимостном выражении.
В третьем подходе при невозможности произвести требуемый объем продукции в заданный период собственными силами необходимо определить минимальный объем производства деталей для передачи другим производителям, например, в рамках кооперации.
Рассмотрим, как ставится задача оптимизации и все ее особенности в рамках первого подхода на производстве изделий, конструкция и технология которого описаны ранее. Зададимся объемом производства в 30 шт., периодом в одну смену, продолжительностью в 480 мин. и штучным временем выполнения соответствующих операций, приведенным в табл. 1.
Первым шагом к решению задачи необходимо оценить возможность получения положительного результата. Для этого представим исходные данные в таблице как это показано на рис. 3.
Рис. 3. Матрица исходных данных
Fig. 3. The matrix of the initial data
На рисунке прямоугольная область, выделенная жирной линией, представляет собой матрицу tшт – длительность операций, выполняемых на соответствующем оборудовании. Каждая строка матрицы соответствует некоторой технологической операции, а столбец используемому оборудованию. Слева от матрицы представлены данные по структуре изделия и количеству выполнения соответствующих операций. Используя данную таблицу, путем простейших математических операций, можно легко вычислить величину необходимого фонда времени соответствующего оборудования, необходимого для изготовления изделия в заданном объеме. Вычисленная величина необходимого фонда времени представлена под матрицей в соответствующих столбцах по видам оборудования.
Так как рассматривается одна смена в 480 мин., а фрезерных и сверлильных станков по два, то их фондов времени вполне достаточно для производства. А вот для токарной операции фонда времени не хватает, поэтому получить решение поставленной задачи линейного программирования с такими исходными данными невозможно. Для обеспечения возможности решения задачи представим, что один из токарных станков работает сверхурочно половину второй смены.
В данной постановке задачи управляемыми параметрами являются количества выполняемых операций, закрепленных за соответствующим оборудованием. В качестве ограничений приняты фонды времени по оборудованию и количество операций, которые должны быть выполнены в соответствии с планом производства (рис. 4). Кроме этого, на управляемые параметры должны быть наложены условия целочисленности.
В качестве целевой функции можно взять разницу между суммарным значением существующего фонда времени по оборудованию и суммарным значением времени занятости оборудования в производственном процессе. Данную величину необходимо максимизировать. Таким образом мы получаем аддитивную целевую функцию.
Рис. 4. Трудоемкость операций по оборудованию с учетом их количества
Fig. 4. The complexity of equipment operations, taking into account their number
Математически такая постановка задачи может быть записана следующим образом.

при 
; (1)

при 
; (2)

; (3)

, (4)
или

, (5)
где n – количество технологических операций; m – количество единиц оборудования;
tij – длительность i-ой
операции, выполняемой на j-м оборудовании; Фj – фонд времени
j-го оборудования; Nизд – количество произведенных изделий; xij – количество выполняемых
i-х операций, закрепленных за j-м оборудованием; F(xij) – аддитивная целевая функция.
Главным недостатком применения аддитивной целевой функции является бесконтрольное влияние каждого из слагаемых на целевую функцию, т.е. улучшение значения целевой функции может происходить при ухудшении одного или нескольких ее слагаемых [4]. В связи с этим при возможности или необходимости закрепить одну операцию за несколькими станками мы никак не можем в ходе поиска оптимального решения управлять соотношением этой загрузки. Может получиться так, что один из альтернативных станков выберет свой фонд времени полностью, тогда как второй будет загружен только частично.
Результаты
В качества решения мы получим матрицу значений управляемых параметров, представленных на рис. 5. Полученная матрица решений является весьма разреженной и чем больше размерность производственного процесса, тем больше ее разреженность. Такой вид матрицы решений затрудняет построение вычислительно процесса, поэтому все управляемые параметры можно свести в отдельный вектор, каждый элемент которого будет соответствовать некоторому элементу матрицы.
Из полученного решения видно, что все операции в полном объеме закреплены за единственным оборудованием, и только токарная операция при изготовлении детали 1 выполняется частично на первом токарном станке и частично на втором.
Рис. 5. Решение задачи оптимизации
Fig. 5. Solving the optimization problem
Соответствующая этому решению загрузка оборудования видна на рис. 4 в табличном виде и на рис. 6 в графическом виде с размерностью, измеряемой временем. Если поделить эти значения на длительность периода, т.е. смены, то получим величину загрузки оборудования в относительном значении или в процентах. Такие значения при анализе воспринимаются значительно понятней. Так средняя загрузка оборудование по всему производству равна 78 %, что является довольно высокой загрузкой.
Рис. 6. Графическая иллюстрация загрузки оборудования
Fig. 6. Graphical illustration of equipment loading
Если будет использована целевая функция (5), в которой минимизируется суммарное время на производство заданного объема изделий, то существующие фонды времени можно не учитывать в модели. Однако в этом случае можно ожидать, что полученный «минимальный» период будет определен исходя из полной загрузки одного из альтернативных станков. Такой выбор результата скорее будет соответствовать максимальному периоду, в который можно уместить производственный процесс.
На рис. 7 представлены результаты решения задачи без учета ограничений по фондам времени. Из них видно, что все фрезерные операции закреплены за одним фрезерным станком несмотря на наличие второго станка. Тоже самое произошло и со сверлильными и токарными станками. В результате «минимальный» период стал больше, чем в примере на рис. 4.
Рис. 7. Трудоемкость операций по оборудованию с учетом их
количества без учета ограничений по фонду времени
Fig. 7. The complexity of equipment operations, taking into account their
number, without taking into account time constraints
Для того чтобы действительно получить значение минимального периода целесообразно использовать такую целевую функцию, которая позволила бы равномерно распределить загрузку оборудования. Для этого можно свести разность между максимальным и минимальным временем загрузки оборудования к минимуму. В этом случае целевая функция может быть записана в виде:

, (6)
и задача становится нелинейной.
Результаты решения задачи с такой целевой функцией представлены на рис. 8. Стоит отметить, что на решение даже такой маломерной задачи (в ней всего только два десятка управляемых параметров и примерно столько же ограничений) потребовалось несколько секунд, что значительно больше чем время решения линейной задачи.
Из рис. 8 видно, что все станки загружены примерно одинаково. Это позволяет максимально уменьшить затраты времени на узком месте. Узким местом по-прежнему являются токарные станки, но значение времени операций на одно изделие равно 425 вместо 850 как это было показано на рис. 7. Однако при этом на токарном станке Ток1 три переналадки, а на станке Ток2 – две. На выполнение этих переналадок будет затрачено дополнительное время, которое в данном расчете никак не учитывается. Существуют переналадки и на другом оборудовании, что может оказать значительно меньшее влияние на длительность всего производственного процесса.
Выводы по исследованию
Из результатов проведенных исследований можно сделать следующие выводы.
1. Получить удовлетворительное решение, обеспечивающее получение максимальной загрузки оборудования и, следовательно, минимального периода производства при заданном его объеме, с помощью методов линейного программирования – невозможно.
2. Применение нелинейных методов дает положительный результат, однако менее предпочтительно, т.к. для данной задачи в полной размерности требует существенных затрат времени.
Рис. 8. Использование квадратичной целевой функции
Fig. 8. Using a quadratic objective function
3. Минимальное значение длительности производственного процесса однозначно определяется степенью равномерности загрузки той части оборудования, которое является узким местом для производства.
4. Для надежного и быстрого решения задачи следует разбить ее на ряд подзадач, каждая из которых будет описывать однотипное оборудование, на котором возможно альтернативное выполнение операций.
5. Подзадачу с тем оборудованием, которое будет максимально загружено, а значит являться узким местом производства целесообразно решать на основе квадратичной целевой функции.
6. Остальные подзадачи должны обеспечить минимум переналадок соответствующего оборудования и поэтому их можно решать, как задачи линейного программирования с ограничениями по фонду времени, равными длительности операций в так называемом узком месте. Такой подход позволит сократить время на максимально загруженных операциях и минимизировать количество переналадок на другом оборудовании.
7. В ситуации возможного решения постановка такой задачи имеет смысл только в том случае, если альтернативное оборудование имеет различную производительность. В такой ситуации, если ищется минимум коэффициента загрузки (т.е. состояние, когда оборудование будет менее загружено), то в первую очередь будет загружаться более производительное оборудование, а затем менее производительное. Последнее может оказаться менее загруженным. При поиске максимума коэффициента загрузки наоборот: в первую очередь будет загружаться менее производительное оборудование. Таким образом, в первом случае будет максимально загружено более производительное оборудование, а во втором – менее производительное. В ситуации, если альтернативное оборудование имеет равную производительность, то решения задачи на максимум и на минимум дадут абсолютно одинаковый результат коэффициента загрузки.
8. Как при разной производительности альтернативного оборудования, так и при равной будет находиться множество одинаковых результатов, т.е. задача в данной постановке является много экстремальной, причем экстремумы равны между собой. Различие между полученными решениями будут только в разном сочетании закрепленных операций за оборудованием. При этом при наличии разнопроизводительного оборудования таких одинаковых решений будет меньше, а при равнопроизводительном оборудовании их будет значительно больше.
9. Поиск всех возможных равноценных решений задачи очень затратен и может потребовать часы работы программы. В связи с этим такой поиск нецелесообразен. Предпочтительным закреплением операций может быть такое сочетание, при котором будет требоваться меньше переналадок оборудования. Такое требование можно включить в ограничения задачи оптимизации. Все остальные альтернативные решения могут быть абсолютно равноценными и, в связи с этим можно ограничиться поиском только одного из них.
Заключение
Проведенные исследования позволили глубоко изучить возможности постановки и решения задачи повышения эффективности производства на основе использования методов оптимизации загрузки оборудования. Полученные результаты позволили выполнить разработку программной системы, в которой реализованы описанные выше положения. Программная система имеет клиент-серверную архитектуру и выполнена на алгоритмическом языке С#. Оптимизационные процедуры построены на основе общедоступной библиотеки Google OR Tools, которое является программным обеспечением с открытым исходным кодом и предназначенно для решения различных задач линейного программирования с ограничениями, в том числе и с условиями целочисленности.
Созданная программная система в настоящий момент успешно проходит этап испытаний, после которого будет передана для использования на промышленное предприятие с много номенклатурным серийным производством
1. Новиков А.И. Исследование операций в экономике: Учебник для бакалавров. – 2-е изд. – М.: Издательско-торговая корпорация «Дашков и Ко», 2020. – 352 с.
2. Исследование операций и методы оптимизации. Часть 1. Лекционный курс. Составитель А.А. Мицель. ТОМСК: Изд. ТУСУР, 2019 – 167 с.
3. Касперович, С.А., Коновальчик Г.О. Организация производства и управление предприятием: учеб. пособие для студентов технических специальностей. − Минск: БГТУ, 2012. − 344 с.
4. Тарасик В.П. Математическое моделирование технических систем: Учебник для вузов. – Мн.: Дизайн ПРО, 2004. – 640 с.



