Любой человек с опытом программирования может строить модели, но не каждый программист может стать хорошим специалистом по имитационному моделированию.
В этой статье рассказываем, чем занимается разработчик имитационных моделей, что нужно знать и уметь, чтобы им стать, и где этому учиться.
Если вы уже работаете с имитационным моделированием, советуем почитать статьи с советами, как улучшить разработку моделей и стать профессионалом, а также как создавать надежные и структурированные модели.
Имитационное моделирование в России
В России это относительно новая технология, которую активно внедряют такие крупные компании, как «Газпром нефть», «Объединенная металлургическая компания», Ozon, «Деловые линии», «Росатом», РЖД, «КАМАЗ», «Норникель». Почему они выбирают имитационное моделирование?
С его помощью компании планируют изменения, оптимизируют процессы, тестируют гипотезы и, в целом, улучшают работу. Кроме того, современные бизнес-процессы и системы становятся всё сложнее, и традиционных методов статического моделирования в Excel уже недостаточно.
Имитационное моделирование – это воссоздание реальной системы с помощью компьютерной программы. При этом в модели отражается структура и поведение системы во времени. Иными словами, такая технология моделирования отличается от остальных учётом динамики системы.
Кто такой специалист по имитационному моделированию, и чем он занимается?
Моделирование для бизнеса немного отличается от моделирования для инженерных и научных проектов, например, в аэродинамике, химии, метеорологии, механике. В этой статье речь пойдет только о разработчиках имитационных моделей для решения прикладных бизнес-задач.
Если говорить просто, то специалист по имитационному моделированию строит модели реальных объектов и систем.
У него должно быть высшее техническое образование и навыки программирования. Он умеет конструировать структуры данных и писать алгоритмы для работы с ними, знает основы имитационного моделирования, статистику и теорию вероятностей. При этом он знаком с особенностями моделирования динамики непрерывных сред и графическим дизайном, и…
…и это в идеальном мире. В реальности требования к специалистам более гибкие.
Из нашего опыта, в эту профессию чаще всего приходят по одному из следующих путей:
- человек с техническим или экономическим образованием, который уже отдаленно знаком с технологией, решает углубиться в эту область;
- специалист в своей предметной области, например, в горнодобыче, производстве или логистике, дополнительно изучает имитационное моделирование, чтобы эффективнее решать задачи отрасли.
Что же нужно знать и уметь, чтобы стать специалистом по имитационному моделированию?
1. Желание учиться, гибкость и личная мотивация
Конечно же знание статистики, математики и алгоритмов необходимо, а техническое образование значительно поможет в работе с моделями. Если этих знаний у вас нет, но есть желание их получить, попробуйте пройти специализированные курсы.
Кроме того, вам нужно узнать, что такое имитационное моделирование, какие задачи с его помощью решают, какие есть альтернативы (линейное программирование, оптимизация) и для чего они используются, а также познакомиться с инструментами, которые есть на рынке.
Чем раньше вы начнете пробовать строить модели, тем быстрее вы научитесь. В работе с моделями вы неизбежно будете сталкиваться с трудностями, но, только преодолев их, вы станете профессионалом.
Начните с основ. Пройдите курс по моделированию или самостоятельно изучите тематические материалы (на англ.), скачайте бесплатную версию AnyLogic и попробуйте строить базовые модели по пошаговым инструкциям. Постепенно переходите к настоящим проектам и обязательно доводите их до желаемого результата.
Чтобы стать профессионалом, пробуйте новые подходы к решению одной и той же задачи, пробуйте разобраться в логике моделей других специалистов (если доступны исходные файлы) и тестируйте возможности, которые появляются у инструментов по моделированию.
2. «Это не то, что мы хотели», или Важность коммуникации
Если вы выбрали для себя путь разработчика имитационных моделей, будьте готовы к тому, что нужно будет разговаривать. Много. С разными людьми.
Как правило, в проекте есть заказчик, который хочет решить какую-то проблему своего бизнеса, а вы предлагаете ему решение с помощью имитационного моделирования. Важно помнить, что вы решаете не только техническую задачу (как смоделировать?), но и бизнес-задачу (поможет ли имитационное моделирование решить проблему?).
На практике очень часто оказывается, что написанное в техзадании, проговоренное на встречах участников команды и ожидаемый руководством заказчика результат — «три большие разницы».
До того, как начать работу над моделью, важно четко сформулировать цели и определить конечный результат проекта, чтобы ваши ожидания (а также вашей команды) и ожидания заказчика были максимально близки. Иными словами, вам нужно научиться управлять ожиданиями заинтересованных в проекте сторон и выстраивать коммуникацию на протяжении всей работы.
3. Искусство упрощать (да-да, именно искусство)
Выбор уровня абстракции и метода моделирования – центральный вопрос в построении модели. Какие допущения мы вправе сделать? Где границы моей модели, то есть что мы считаем заданным и внешним, а что – моделируем? Это область искусства, опыта и интуиции, а не науки и технологии.
Представьте, что у вас есть какая-то сложная система, например завод с цехами, людьми, оборудованием, процессами и т.д. «Наверное, чем детальнее я смоделирую эту систему, тем достовернее будет результат», – думает начинающий разработчик модели и допускает типичную ошибку.
Нужно уметь выбрать тот уровень абстракции модели, при котором она будет решать поставленную задачу. Следуйте принципу бритвы Оккама: если вы можете обойтись без какой-либо детали, не включайте ее в модель. От уровня абстракции зависят и методы моделирования, которые лучше всего подойдут в конкретной ситуации. Основные методы – дискретно-событийный, агентный и системно-динамический.
Кем можно работать?
Имитационное моделирование может быть вашей основной деятельностью или дополнительной областью знаний. Независимо от того, какую часть работы оно составляет, знание его принципов, а также умение создавать и применять модели – это требования к современным инженерам, менеджерам, бизнес-аналитикам и бизнес-консультантам.
Менеджеры, например, используют имитационное моделирование и системный подход для управления комплексными проектами с множеством взаимосвязей. При помощи этих инструментов они могут предотвратить срыв проекта или перерасход средств. Они также могут безопасно тестировать свои гипотезы и с помощью моделей подкреплять свои предложения.
Читать «Основы имитационного моделирования в управлении» →
Имитационное моделирование также используют логисты, чтобы проектировать новые и улучшать действующие цепи поставок. Моделирование помогает оценить эффективность логистических процессов и разрабатывать стратегии и решения по управлению цепями поставок.
Где учат имитационному моделированию?
Имитационное моделирование изучают на программах бакалавриата и магистратуры в ряде крупнейших вузов России, включая:
- Высшую школу экономики (экономика, менеджмент, прикладная математика и информатика);
- Санкт-Петербургский политехнический университет;
- Санкт-Петербургский государственный университет телекоммуникаций;
- Российскую академию народного хозяйства и государственной службы;
- Астраханский государственный университет.
Вы также можете найти краткосрочные курсы на английском языке.
Подведем итоги
Имитационное моделирование – это относительно молодая технология в отечественном бизнесе, но при этом уже востребованная среди крупных компаний. Ее используют топ-менеджеры, логисты, бизнес-консультанты и аналитики для решения задач в своих сферах деятельности.
Если у вас есть некоторые из перечисленных в этой статье знаний и умений, большое желание освоить имитационное моделирование и работать с такими проектами, мы советуем начать с теоретических и практических материалов у нас на сайте:
- книг на русском и английском;
- обзорных семинаров;
- подборки ресурсов по моделированию (для начинающих, на англ.);
- бесплатной версии AnyLogic.
На своем пути у вас будут возникать вопросы и трудности. Пусть это вас не пугает. Помните, что в мире много людей, которые так же, как и вы, учатся строить имитационные модели. Задавайте свои вопросы на StackOverflow, и вам обязательно помогут найти на них ответы.