Модель MS EXCEL выполнения заказа на производственной линии с произвольной схемой (задача 1.1)

history

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

Примечание: более простая модель, состоящая из 5 единиц, объединенных последовательно, описана в этой статье.

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

Краткое описание модели

Модель состоит из 4-х основных частей:

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

Как работать с программой

Сначала строится блок-схема производственной цепочки.

Каждый прямоугольник - это единица оборудования. Продукция после обработки (на следующем временном шаге) передается по направлению стрелки на следующую единицу, до тех пор пока не будет "обработана" на конечном оборудовании. Далее продукция попадает на "склад". На рисунке выше исходное сырье потребляется оборудованием №09, 08 и 10, после чего передается по цепочке следующим за ним единицам. Оборудование №03 и 04 - имеют тип Сборка и используют полуфабрикаты (п/ф), поступающие от №02 и 04, и соответственно, от 07 и 10. Сборка в 03 производится из одного п/ф от 02 и одного п/ф от 04. Но программу, конечно, можно настроить так, чтобы сборка велась из любого количества п/ф.

Примечание: О том как работать с построителем схем подробно написано в статье Построение произвольных блок-схем и автоматический анализ связей в MS EXCEL.

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

Если значение в поле "Проверка финальная" равно ИСТИНА, то возможна дальнейшая работа с программной, если нет, то нужно исправить схему (на листе будут даны подсказки).

Автоматически заполняется таблица, отражающая взаимосвязи оборудования.

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

Осталось ввести количество единиц продукции в заказе (желтая ячейка К6 на листе Схема), производительность оборудования (лист Оборудование) и нажать кнопку Изготовить заказ.

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

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

Как видно из таблицы выше, оборудование №1 (оно же №01) первые 2 часа не работало, т.к. сырье в виде полуфабриката шло 2 часа до этой единицы (первый час обрабатывалось на 09, затем еще час на 06).

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

Поскольку в настройках оборудования мы задали ненулевую вероятность брака,

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

Хотя у нас была задана небольшая вероятность простоя оборудования (1%), но для некоторых единиц оборудования он все же случился.

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

Примечание: Если вероятность брака и простоя положить равными 0, то все результаты расчетов статнут одинаковыми.

Набор статистики

Набор статистики - это все лишь многократное (300 раз) исполнение одного и того же заказа при неизменных параметрах оборудования (производительность, % брака и % простоя).

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

Примечание: Листы Изготовлено, Буфер, Брак и прочие при наборе статистики не заполняются.

В нашем случае средним временем исполнения заказа стала величина 48,85333 (ячейка К22). Гистограмма показывает частоты сроков исполнения заказа. Не смотря на то, что в 63 случаях их 300 мы получили время исполнения заказа около 45 часов (мода распределения), среднее значение все же смещено в сторону больших времен. 

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

На листе статистика также оцениваются стандартные отклонения распределения случайных величин.

Стандартное отклонение позволяет оценить вероятность, с которой заказ может быть выполнен в заданный срок. Например, из таблицы выше видно, что за 59 часов заказ будет выполнен с вероятностью 99,8%. Наше среднее значение 48 часов - это "всего лишь" 50% вероятности. Чем больше % брака и % поломки, тем с меньшей точностью мы сможем предсказать время выполнения заказа (расширяется диапазон допустимых значений).

Оптимизация цикла изготовления

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

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

При расчете со снятой галочкой "Контроль переполнения буфера" возрастет потребность в сырье. Это избыточное сырье по итогам выполнения программы будет находиться в буферах оборудования в виде незавершенного производства.

Поиск узкого места

Для поиска узкого места предложен следующий алгоритм. Производится несколько расчетов выполнения заказа. При первом расчете производительность 1-й единицы оборудования увеличивается на 50%, остальные остаются без изменений. После расчета фиксируется производительность всей системы в целом. Затем производительность 1-й единицы оборудования возвращается к номиналу, а у 2-й единицы производительность увеличивается на те же 50%. Запускается расчет и т.д. Всего проводится столько расчетов, сколько единиц оборудования в схеме. Результаты выводятся на лист Оборудование. То оборудование, у которого зафиксировано максимальное увеличение производительности системы - является узким местом.

Как видно на картинке выше, узким местом является оборудование №01. Это предсказуемо, т.к. у него наименьшая номинальная производительность. При сложных схемах и различных мощностях оборудования результат далеко не так предсказуем.

Примечание: Вместо % увеличения производительности можно увеличивать производительность каждого оборудования на одно и то же число (например, на 25единиц изделий в час).

Механизм поиска Узкого места можно использовать при оценке программы модернизации производства. Можно быстро ответить на вопрос: действительно ли увеличение мощности именно этого типа оборудования даст нужный прирост производительности системы в целом. Обратите внимание, что 50% прирост мощности (от 40 до 60 единиц в час = 20 доп.изделий в час) дал прирост производительности всей системы лишь на 4 изделия в час. 

Анализ загрузки оборудования

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

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

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

Вывод

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

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

 


© Copyright 2013 - 2022 Excel2.ru. All Rights Reserved