- •Сучасна теорія управління методичні вказівки
- •Київ нухт 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
- •Завдання
3.2. Розв’язання задач керування запасами
Цей напрямок вимагає обліку різних змінних, зокрема попиту на конкретні товари, а також норм випуску й часу поставки. Сполучення цих змінних в одній моделі дозволяє керівникові розглянути кілька варіантів зберігання запасів. Так, за допомогою методів моделювання можна оцінити й порівняти необхідний рівень запасів, необхідну точку замовлення, терміни й періодичність поставок, а також виробничі графіки.
Приклад 2.
Розглянемо модель управління запасами з миттєвим поповненням запасу при відсутності дефіциту.
С1, якщо у < q,
Нехай ціна одиниці товару =
C2, якщо y q,
де С1 > C2; q – розмір замовлення, при якому надається знижка.
Тоді сумарні витрати за цикл, крім витрат оформлення замовлень і зберігання запасу, мають включати витрати придбання:
TCU1(y) = C1 + k/y + hy/2, якщо y < q,
TCU2(y) = C2 + k/y + hy/2, якщо y q.
Витрати
1 2 3 ут q1 TCU1 TCU2
у
Рис.13.
Не зважаючи на вплив зниження цін, позначимо ут – розмір замовлення, при якому досягається мінімум величин TCU1 і TCU2. тоді
_____
ут = 2k/h.
З вигляду функцій TCU1 і TCU2 (рис.5) видно, що оптимальний розмір замовлення у* залежить від того, де по відношенню до наведених зон (1, 2 і 3) знаходиться точка розриву ціни q. Ці зони знаходяться в результаті визначення q1 ( > ym) з рівняння
TCU1(ут) = TCU2(q1).
_____
Оскільки значення ут відоме (ут = 2k/h), можна визначити q1 з попереднього рівняння.
Зона І: 0 q < ym;
Зона ІІ: ут q < q1;
Зона ІІІ: q q1.
На рис.7 показано графічне рішення рівняння в залежності від того, в якій зоні розташовано q.
Алгоритм визначення у*
1. Визначити ут = 2k/h. Якщо q < ym (зона 1), то у* = ут і алгоритм закінчується.
2. Визначити q1 з рівняння TCU1(ym) = TCU2(q1); встановити, у якій зоні знаходиться величина q.
а) якщо ут q q1 (зона 2), то у* = q;
б) якщо q q1 (зона 3), то у* = ут.
Розглянемо модель управління запасами при таких вихідних даних: k = 10 у.о., h = 1 у.о., = 10 од., С1 = 2 у.о., С2 = 1 у.о. і q = 15 од.
Витрати TCU1 TCU1
min TCU2 TCU2
q q1 ym
у у q q1 ym
q – у 1-й зоні, у* = ут q – у 2-й зоні, у* = q
Витрати TCU1
у q q1 ym TCU2
q – у 3-й зоні, у* = ут
Рис.14.
Побудуємо модель в середовищі AnyLogic
Використовуючи палітру Диаграмма действий побудуємо діаграму нашої задачі:
-
Помістимо в робочу область проекту блок Диаграмма действий (actionChart) і у властивостях «Аргументы» задамо всі змінні і їх типи, які будуть використовуватись в діаграмі. Слід зазначити, оскільки наша діаграма дій має повертати значення сумарних витрати на одиницю часу, тому у властивостях «Тип возвращаемого значения» слід вибрати double (Рис.15).
-
Для присвоєння значення заданих даних і обчислення ym, розмістимо на діаграму блок Код і у властивість «Код» впишемо наступним код: «k=10;h=1;b=10;c1=2;c2=1; q=15;ym=sqrt(2*k*b/h)» (Рис.16)
Рис.15. Оголошення змінних моделі
Рис.16. Внесення коду моделі.
-
Для забезпечення виконання фрагментів коду у відповідності до умови помістимо в нашу модель блок Решение (If.. Else) і у властивостях «Условие» задаємо: q<=ym (Рис.17)
Рис.17 Задання умови виконання фрагменту коду
-
Використовуючи вище описані блоки побудуємо діаграму дій розв’язку задачі(Рис.18):
-
В блоці Вернуть значение (Return) у властивості «Возвращаемое значение» слід вказати змінну TCU - значення сумарних витрати на одиницю часу.
Рис.18 Діаграма дій розв’язку задачі