Набор из 5 лабораторных работ по дисциплине имитационного моделирования, выполненных в среде AnyLogic 8.9.9. Проект демонстрирует переход от простой дискретно-событийной (DES) модели сборочного цеха к её анимации, сбору статистики, декомпозиции на подмодели и к агентной внутризаводской логистике.
Сквозная задача всех работ — построить и постепенно усложнять модель завода: от технологической сборки изделия до полного цикла «склады заготовок → цех → склад готовой продукции» с внутризаводской логистикой.
| ЛР | Тема | Суть задания |
|---|---|---|
| 1 | Модель технологической сборки | DES-модель сборки изделия из двух деталей: разные маршруты операций, ресурсы (роботы, рабочие по расписанию 8–17 с обедом), сборка и упаковка по 5 шт., поставка деталей со складов. |
| 2 | Внутризаводская логистика | Агентная модель: парк грузовиков возит детали в цех при запасе < 10 шт. и вывозит готовую продукцию раз в час. |
| 3 | Анимация в DES | Конкретизация модели ЛР1 (сборка настенных зеркал) с 2D-анимацией агентов через библиотеки Презентация и Картинки. |
| 4 | Сбор статистики | Наборы данных и utilization() для отслеживания занятости рабочих и роботов на операциях. |
| 5 | Соединение нескольких моделей | Разбиение задачи на подмодели (склад деталей, сборка, склад готовой продукции) с собственными агентами и их объединение в одном проекте. |
Методички с постановками задач (ЛР1–ЛР5) в репозиторий не входят — это исходный учебный материал.
- AnyLogic 8.9.9 (Personal Learning Edition) — среда имитационного моделирования
- Process Modeling Library — дискретно-событийные блоки:
Source,Service,Seize/Release+ResourcePool,Conveyor,Delay,Batch,Assembler,MoveTo,Store,Sink - Agent-Based Modeling — агенты
Detal,Izdelie,Box,Plant,Storage,Truck,Lorry - Java — встроенный код блоков (условия, расписания, параметры, статистика)
- 2D/3D-анимация — библиотека Презентация, 3D-модели в формате COLLADA (
.dae) - Формат проекта —
.alp(XML-описание модели AnyLogic) - Единица модельного времени — минута
Labs_AnyLogic/
├── README.md
└── work/
├── Sborka/ # ЛР1, 3, 4 — сборочный цех (DES)
│ ├── Sborka.alp # модель: Source → Conveyor → Service → Assembler → Sink
│ └── рисЦеха.jpg # схема цеха для анимации
│
├── ModernSborka1/ # ЛР5 — сборка, разбитая на подмодели + объединение
│ ├── ModernSborka1.alp # агенты Plant/Storage, MoveTo, Store, 3D-анимация
│ └── 3d/ # 3D-объекты сцены (warehouse, factory, box, …)
│
└── Logistic/ # ЛР2 — внутризаводская логистика (Agent-Based)
├── Logistic1.alp # агенты Plant/Storage/Truck/Lorry, доставка грузовиками
└── 3d/ # 3D-объекты (factory, warehouse, truck, lorry)
| Подпроект | Подход | Ключевые элементы |
|---|---|---|
| Sborka | Дискретно-событийный | конвейеры, сервисы с ресурсами, Batch + Assembler, расписание рабочего, сбор статистики занятости |
| ModernSborka1 | DES внутри агентов | агенты-сущности с собственными анимациями, MoveTo/Store, 3D-сцена, объединение подмоделей |
| Logistic | Агентный | грузовики (Truck/Lorry) между заводом и складами, доставка по порогу запаса |
- ЛР1 (Sborka). Детали и изделие представлены заявками-агентами. Каждая
технологическая операция — блок
Serviceс захватом ресурса изResourcePool(робот/рабочий). Маршруты деталей собраны на конвейерах, финальная сборка —Batch+Assembler, упаковка по 5 шт., завершение —Sink. Поставка деталей задана интенсивностью источников по складам. - ЛР3–ЛР4 (поверх Sborka). Та же модель дополнена 2D-анимацией агентов
(зеркала: рама и стекло) и наборами данных, которые по ходу прогона копят
занятость ресурсов через
utilization(). - ЛР2 (Logistic). Чисто агентная логистика: грузовики опрашивают запас цеха и инициируют доставку заготовок при падении ниже порога, а готовую продукцию вывозят по таймеру. Добавлена 3D-визуализация перемещений.
- ЛР5 (ModernSborka1). Задача декомпозирована на самостоятельные агенты (склад деталей, сборка, склад готовой продукции) с внутренними DES-потоками и общими анимациями, после чего части соединены в единую сцену.
- Один и тот же производственный сценарий удобно описывать двумя подходами — дискретно-событийным и агентным; выбор зависит от того, что важнее: поток заявок через операции или поведение самостоятельных объектов.
- Декомпозиция на подмодели/агенты (ЛР5) делает большую модель читаемой и переиспользуемой и готовит почву для сшивания агентного и DES-слоёв.
- Анимация и сбор статистики — не косметика: 2D/3D-визуализация помогает
верифицировать логику модели, а
utilization()и наборы данных дают количественную оценку загрузки ресурсов и выявляют узкие места. - Итог — связный набор из 5 моделей завода: от технологической сборки изделия до внутризаводской логистики.
- Установить AnyLogic 8.9.x (Personal Learning Edition достаточно).
- Открыть нужный
.alpиз соответствующей папкиwork/…. - Запустить эксперимент
Simulation(кнопка ▶) и наблюдать анимацию/статистику.