- •Сучасна теорія управління методичні вказівки
- •Київ нухт 2011
- •Узагальнена схема імітаційного моделювання
- •Постановка задачі
- •Реалізація імітаційної моделі засобами аnylogic
- •2.1. Загальна характеристика та принципи функціонування мови AnyLogic
- •2.2. Інтерфейс програми
- •2.3. Режим виконання моделі
- •2.4 Основи мови Java для побудови моделей в середовищі AnyLogic
- •2.5.Огляд компонент бібліотеки Enterprise Library
- •2.6. Огляд компонент бібліотеки Діаграма дій
- •Машинна імітація в технічних і економіко-організаційних системах
- •3.1. Розв’язання задач масового обслуговування
- •Тому середня довжина черги:
- •3.2. Розв’язання задач керування запасами
- •Алгоритм визначення у*
- •Завдання до лабораторних робіт
- •Лабораторна робота 1
- •Лабораторна робота №2
- •Завдання
Тому середня довжина черги:
Середня кількість замовлень, що знаходиться у системі обслуговування - Ls, складається з середньої кількості замовлень у черзі та середньої кількості замовлень на обслуговуванні (включаючи інтервали, коли черги не було).
Ls=0p0+1p1+2p2+…+ kpk
Ця величина приймає значення 0, коли канал вільний, ймовірність такого стану дорівнює p0 = 1 - .
Якщо канал зайнятий і одне замовлення обслуговується, то
Ls = 1, ймовірність такої події: p1=1 – p0 = .
Отже,
Середній час очікування у черзі дорівнює середньому числу замовлень у черзі, поділеному на інтенсивність потоку обслуговування.
або
Ймовірність утворення черги дорівнює ймовірності того, що у системі буде більше однієї вимоги, тобто:
Рk=1–p0–p1=1–(1-)-(1 - ) = 2
Середній час перебування замовлення у черзі
або
Побудуємо модель в середовищі AnyLogic.
1. Створюємо нову модель в середовищі AnyLogic в «Діаграмі класу активного об’єкта» розміщуємо об’єкт Sourse з бібліотеки Enterprise Library. У властивостях даного об’єкта в полі «Интенсивность прибытия» задаємо потік машин інтенсивністю = 3.5 (Рис.6).
Рис.6. Створення моделі із заданою інтенсивністю
2. Для виконання умови «якщо всі місця на площадці очікування зайняті, то чергова машина, що прибула на підприємство, не очікує і від’їзжає» розміщуємо об’єкт selectOutput1. У властивостях даного об’єкта в полі «Условие» задаємо наступну умову: queue.size()<8, де queue - назва об’єкта черги, size() - функція, що визначає скільки об’єктів на даний момент перебуває в черзі (Рис.7).
3.Помічаємо об’єкт, що відповідає за генерацію черги, і називається queue. У властивостях «Вместимость» ставимо число 9 (Рис.8).
Рис.7. Обмеження виконання замовлень за чергою
Рис.8. Генерація черги
4. Безпосередньо за процес обслуговування відповідає об’єкт delay. У властивостях даного об’єкта задаємо потік обслугування з інтенсивністю =1.6, який визначається тривалістю розвантаження. Для цього вибираємо «Задержка задается» «Явно», у властивості «Скорость» ставимо значення 1.6 (Рис.9).
Рис.9. Моделювання потоку обслуговування
-
Для отримання кількості машин, що були обслужені, і кількості машин, що отримали відмову розміщуємо об’єкти sink і sink1 відповідно (Рис.10).
-
Всі об’єкти мають бути пов’язані лініями.
-
Після побудови моделі запускаємо її на виконання і отримуємо результати (Рис.11).
-
Для забезпечення можливості в процесі виконання програми змінювати кількість місць у черзі від 1 до 8 машин, з палітри «Элементы управления» у робочий проект вставляємо об’єкт «Бегунок» і додаємо в проект нову змінну, якій передаватимуться значення «Бегунка» m типу даних int (Рис.12).
-
Для конкретного виконання експерименту слід внести зміни у властивостях об’єкта selectOutput1 в полі «Условие» змінюємо наступну умову queue.size()<8 на queue.size()<m.
Рис. 10. Моделювання кількості обслужених замовлень та відмов у обслуговуванні
Рис. 11 Запуск моделі на виконання та отримання результатів
Рис.12. Змінення кількості місць у черзі