Пять типичных ошибок в проектах симуляции и как их избежать
Disclosure: M365.FM host Mirko Peters works at iFAKT GmbH. This page describes the company factually; paid partnerships and links are labelled as advertising.
By Mirko Peters ·
Ошибки в проектах симуляции стоят времени и доверия. Разберите пять распространённых ошибок: от расплывчатых вопросов до пропущенной валидации, с разобранным примером и чек-листом.
Automatically translated with AI from the original post. Read the English original
Ошибок в проектах симуляции в основном можно избежать, и большинство из них допускается ещё до построения первой модели. Это руководство адресовано руководителям производств, которые курируют проект симуляции производства, и инженерам, которые строят модель, если они хотят, чтобы работа закончилась решением. Вы узнаете о пяти распространённых ошибках, основанных на двух статьях эксперта по симуляции Эйвераила Лоу и на практике, разберёте пример с цифрами, который показывает, почему одного прогона недостаточно, и получите чек-лист для вашего следующего проекта с симуляцией производства на фабрике.
Главное
- В проектах симуляции повторяются пять ошибок: нет чёткого вопроса, неверный уровень детализации, слабые данные, отсутствие валидации и доверие одному прогону.
- Модель без чёткого вопроса и без регулярного контакта с лицом, принимающим решения, решает не ту задачу, каким бы качественным ни был её код.
- Начинайте с простого и добавляйте детали только тогда, когда этого требует вопрос: лишние детали отнимают время и скрывают важные факторы.
- Валидируйте модель по существующей системе до того, как использовать её для прогнозов, и храните записанные допущения для проверки.
- Случайные события требуют множества повторных прогонов: один прогон может неверно ранжировать два варианта.
Ошибки в проектах симуляции: откуда они берутся
Проект симуляции — это не упражнение в программировании. Эйвераил Лоу в своей статье о том, как провести успешное исследование методом симуляции на конференции Winter Simulation Conference 2003 года перечисляет 17 ловушек в четырёх группах: моделирование и валидация, программное обеспечение, случайность и планирование экспериментов. В 2024 году он расширил список до 23 ловушек в статье для той же конференции. Он отмечает, что программирование составляет лишь 25–50 процентов работы в грамотно выполненном исследовании.
Лоу работает в собственной консалтинговой компании по симуляции, Averill M. Law & Associates, поэтому его списки отражают взгляд одного эксперта. Они согласуются с практической статьёй Дж. Майкла Нолла (J. Michael Knoll) и Джозефа Хейма (Joseph Heim) из Genie Industries о внедрении дискретно-событийной симуляции на производстве, которая основана на одном производителе среднего размера и не приводит количественных оценок экономии.
Из этих источников и из общепринятой практики мы выбираем пять ошибок, которые важнее всего для производства. Этот выбор сделан нами, а не является ранжированием из статей.
Ошибка 1: нет чёткого вопроса и нет контакта с лицом, принимающим решения
Первая ошибка — начинать с инструмента, а не с вопроса. Лоу относит к ловушкам неопределённые цели и редкий регулярный контакт с лицом, принимающим решения. Он приводит предупреждение, что самая совершенная модель для неверной задачи будет мало полезна для принимающего решения. В одном из его примеров аналитик months работал, не консультируясь с заказчиком-генералом, который ушёл с итогового брифинга через пять минут, сказав, что это не та проблема, которая его интересует.
Нолл и Хейм формулируют практическое правило: модель, результаты которой не будут использованы, не стоит строить.
Как этого избежать. Сформулируйте вопрос как решение. «Какая из двух компоновок обеспечивает 3 000 единиц за смену?» — это вопрос. «Давайте смоделируем завод» — нет. Проведите стартовое собрание со всеми, кого это затрагивает, назовите, кто принимает решение и к какому сроку, и согласуйте регулярные собрания для проверки хода проекта.
Ошибка 2: Неподходящий уровень детализации
Вторая ошибка — моделировать либо слишком много, либо слишком мало. Лоу называет неподходящий уровень детализации одной из самых распространённых ошибок, особенно у начинающих аналитиков. Его совет: включать ровно столько деталей, сколько нужно для ответа на интересующие вопросы, начинать с простого и добавлять детали по мере необходимости. Кнолл и Хайм согласны: держите границы модели узкими и не расширяйте её только потому, что это возможно.
Слишком много деталей задерживает проект и прячет важные факторы среди множества параметров. Слишком мало — выпадает эффект, который вы хотели проверить, например переналадка или буфер.
Как этого избежать. Для каждого элемента и каждого входного параметра модели спрашивайте себя, меняет ли он ответ на вопрос. Если нет, исключите его или используйте простое правило. Зафиксируйте допущения в краткой концептуальной модели, которую Лоу называет абсолютно критичным этапом, часто пропускаемым, и пройдите её с людьми, которые хорошо знают линию.
Ошибка 3: Слабый сбор данных для симуляции
Третья ошибка связана с данными. Лоу относит плохой сбор системных данных к типичным ловушкам и также предупреждает о двух распространённых ошибках при моделировании входных данных. Первая — заменить случайный входной параметр его средним значением. В его примере с очередью постоянное время, равное среднему, полностью убирает очередь, поэтому модель не показывает ожидания там, где реальная система его имеет. Вторая — по привычке выбрать распределение, например нормальное. В одном из его примеров нормальное распределение для времени обслуживания дало ошибку выходных данных 39 % по сравнению с распределением, которое лучше подходило к данным.
С данными о производстве нужна аккуратность. Совпадает ли причина остановки в системе управления производственными операциями с записью в журнале обслуживания? Если доступен цифровой двойник — поддерживаемое цифровое представление физического ресурса, которое обновляется на основе наблюдений, — он может предоставить актуальные данные. Если его нет, заложите время на измерения.
Как этого избежать. Составьте список данных, которые нужны для вопроса, найдите источник и владельца каждого элемента и собирайте вариативность, а не только среднее значение. Для важных частей процесса привлеките минимум двух экспертов, потому что часть того, что говорят люди, окажется неверной.
Ошибка 4: Пропуск валидации модели симуляции
Четвёртая ошибка — доверять модели, которую никогда не сравнивали с реальностью. Лоу называет сравнение результатов модели с существующей системой самым важным методом валидации и говорит, что оно также подтверждает достоверность модели. В своей работе 2024 года он приводит пример с производством целлюлозы, где производительность модели и системы отличалась всего на 0,4 и 1,1 %. Он также рекомендует структурированный просмотр допущений со всеми заинтересованными сторонами, потому что ошибки и упущения модели всё равно будут найдены.
Как этого избежать. Сначала постройте базовый сценарий и сверьте его с выходом, остановками и длительностью производственного цикла реальной линии. Пусть эксперты проверят результаты симуляции на разумность и выяснят, какой входной параметр сильнее всего влияет на результаты. Только после этого используйте модель для сравнения вариантов. Если линии ещё не существует, сравните модель с похожей линией или с расчётами и открыто скажите об этом.
Ошибка 5: Принимать один прогон за истину
Пятая ошибка — статистическая. Симуляция со случайными событиями даёт разный результат при каждом прогоне. Лоу предостерегает от того, чтобы считать результат одного прогона истинной производительностью модели. В его примере с офисом регистрации автомобилей средняя задержка варьировалась от 1,83 до 10,37 минуты между репликациями. Он также перечисляет пропуск периода разогрева, когда начальное состояние пустое и нетипичное, и сравнение вариантов без доверительных интервалов.
Как этого избежать. Выполните много независимых реплikаций, отбросьте период разогрева, спланируйте анализ до запуска прогонов и сравнивайте варианты по диапазонам или доверительным интервалам, а не по отдельным числам.
Пример: один прогон против пяти реплик
Это иллюстративный пример с условными цифрами, а не результат измерения реального случая. Завод сравнивает две конструкции буферов, A и B, в модели упаковочной линии. Выработка за смену для каждой конструкции в модели составляет:
- Конструкция A, пять повторных прогонов: 412, 389, 401, 395 и 393 единицы. Среднее значение — 1 990 ÷ 5 = 398 единиц.
- Конструкция B, пять повторных прогонов: 405, 399, 408, 402 и 406 единиц. Среднее значение — 2 020 ÷ 5 = 404 единицы.
Если бы команда провела только первый прогон каждой конструкции, A набрала бы 412, а B — 405, и A выглядела бы лучше на 7 единиц. При пяти прогонах B в среднем лучше на 6 единиц, а её разброс, от 399 до 408, уже, чем у A, которая колеблется от 389 до 412. Первый прогон ранжировал конструкции в обратном порядке.
Пять прогонов — это минимум для иллюстрации. Реальный проект должен включать больше прогонов и рассчитывать доверительные интервалы. Тот же принцип работает и на этапе валидации: если базовая модель даёт среднее значение 391 единица, а реальная линия в среднем выпускала 380 единиц за смену на протяжении 20 смен, модель завышает результат на 11 единиц, или около 3 %. Команда решает, достаточно ли этой точности для поставленного вопроса, и фиксирует своё решение.
Как избежать пяти ошибок: контрольный список
- Сформулируйте вопрос как решение, с указанием лица, принимающего решение, и срока.
- Проведите стартовую встречу со всеми заинтересованными сторонами и согласуйте собрания для проверки результатов. Рассматривайте работу как итерации с контрольными точками, а не как одностороннюю последовательность действий.
- Начинайте с простого. Напишите короткую концептуальную модель с допущениями и обсудите её с экспертами до программирования.
- Спланируйте данные. Укажите источник и владельца каждого набора данных и соберите информацию о вариативности.
- Проверьте базовую модель на соответствие реальной линии, прежде чем тестировать варианты.
- Повторяйте прогоны. Выполните достаточное количество повторных прогонов, исключите период разогрева и отчитывайтесь о диапазонах значений.
Распространённые ошибки
- Считать проект программированием. По словам Law, программирование — лишь часть работы.
- Позволить анимации решать. Короткий взгляд на анимацию — это не эксперимент.
- Выбирать инструменты моделирования только по цене. Подбирайте инструмент под задачу и навыки вашей команды и не используйте программное обеспечение для моделирования как «чёрный ящик».
- Отсутствие документации. Модель без письменно зафиксированных допущений нельзя проверить или повторно использовать.
- Нет владельца после завершения проекта. Модель, которую никто не обновляет, устаревает после первого же изменения.
Как может помочь программное обеспечение
iFAKT's Polaris Simulator — модуль iFAKT Polaris, который виртуально тестирует производственную систему, например сценарии мощности, укомплектованности персоналом и буферов, и выявляет узкие места до внесения изменений. Какой бы инструмент вы ни выбрали, прежде чем использовать моделирование для принятия решения, проверьте, как он работает с повторными прогонами и периодом разогрева, как импортируются реальные данные и как можно документировать и проверять допущения. Программное обеспечение не может заменить формулировку вопроса и валидацию.
Следующий шаг
Возьмите ваш следующий проект моделирования производства или уже выполняемый и проверьте его по контрольному списку выше. Там, где ответ отсутствует, вы нашли вероятную причину ошибок в проекте моделирования и можете исправить её до построения модели.