Повна версія

Головна arrow Інформатика arrow ІМІТАЦІЙНЕ МОДЕЛЮВАННЯ СИСТЕМ В СЕРЕДОВИЩІ EXTENDSIM

  • Увеличить шрифт
  • Уменьшить шрифт


<<   ЗМІСТ   >>

ІНСТРУМЕНТИ ДЛЯ ОБ'ЄДНАННЯ І РОЗДІЛЕННЯ ПОТОКІВ ЗАЯВОК (ЕЛЕМЕНТІВ)

Об'єднання і поділ елементів

При моделюванні дискретно-подієвих систем часто виникає завдання об'єднання і / або поділу використовуваних елементів (заявок) і ресурсів. Прикладом може служити складання вироби з вузлів на виробництві, об'єднання

корабля з буксирами на час швартування з подальшим поділом в порту судна і буксирів, упаковка партії товару в тару для транспортування і т.п.

Для побудови моделей з об'єднанням і / або поділом елементів використовуються два блоку, включені в бібліотеку Item.Іх:

Batch (об'єднання або угруповання) дозволяє об'єднувати декілька елементів в єдиний для подальшого використання, тобто надходять на вхід елементи замінюються одним на виході. Надалі, якщо потрібно, об'єднаний елемент може бути роз'єднаний.

Unhatch (поділ або разгруппировка) дозволяє роз'єднати один вхідний елемент на кілька. Залежно від налаштувань, блок може розділяти елементи, об'єднані раніше, або дублювати входить елемент в кілька виходять.

Об'єднання дозволяє згрупувати кілька елементів з різних джерел в один. При цьому вихідні елементи видаляються, а їх параметри можуть бути як видалені, так і перенесені на створюваний елемент в залежності від налаштувань.

Число елементів, необхідних для об'єднання, називається розміром 1руппи (hatch size). Він може бути фіксованим або динамічно змінюватися в залежності від зовнішніх факторів (наприклад, часу, відведеному на угруповання). Також може змінюватися і призначення об'єднання елементів: постійне, коли об'єднаний елемент є готовим виробом або продуктом, і тимчасове, коли кілька елементів об'єднані тільки для здійснення будь -небудь груповий операції. Наприклад, завод виготовляє виріб і упаковує в коробку із супровідною документацією. Потім партія коробок поміщається в більш велику тару. У першому випадку буде постійне об'єднання, так як в такому вигляді товар надійде в продаж, в другому - тару транспортують до магазину і розформують.

У діалоговому вікні блоку Batch три основні вкладки для налаштування параметрів роботи блоку:

  • • вкладка Batch, в якій задається поведінка блоку ( Select block behavior):
  • • опція Batch items into a single item. При установці цієї опції створюється група з елементів, що надходять на вхід блоку. Кількість необхідних для формування групи елементів задається на цій же вкладці в таблиці Specify the quantity needed for each batch:
  • • опція Match items into a single item. При установці цієї опції входять елементи групуються в один виходить з єдиними значеннями параметрів. Опція може застосовуватися, наприклад, при об'єднанні елементів за серійним номером або номером замовлення. При цьому не має значення на який вхід надійшов елемент.

У вкладці Batch також доступна таблиця Specify the quantity needed for each batch , в якій задається: кількість елементів Quantity needed, необхідне по кожній гілці для формування групи; поточну кількість елементів по кожній гілці Quantity in Block: Delay Kit - опція обмежує надходження зазначених елементів на вхідний коннектор блоку, поки на всіх коннекторах не буде достатньої кількості елементів для об'єднання.

• вкладка Options, в якій задаються параметри блоку:

^ Опція Preserve uniqueness використовується для збереження значень властивостей елементів для подальшого поділу;

S опція Use quantity input connectors служить для завдання розміру групи на входах блоку. При включенні опції поруч з кожним вхідним коннектором з'являється додатковий вхідний коннектор (маленький квадратик), в якому відображається поточна кількість елементів, які надійшли на коннектор. Якщо додатковий вхідний коннектор підключений до будь-якого блоку, наприклад. Lookup Table, то значення для об'єднання будуть зчитуватися з нього. В іншому випадку будуть використовуватися значення з таблиці вкладки Batch. Після включення даної опції, стають доступні настройки поведінки блоку при зміні кількості елементів для об'єднання:

^ Dynamically as batch is created - якщо зміна кількості буде виконано до того, як відбулося безпосереднє об'єднання, то кількість необхідних елементів буде змінено одразу;

S By first item at each connector - значення кількості елементів для об'єднання не буде змінюватися після того, як перший елемент надійшов в блок, нові налаштування застосуються для наступної групи.

  • • опція Show Demand connector дозволяє створити групу на вимогу або розкладом.
  • • вкладка Properties, в якій задаються властивості об'єднаного елемента.

Поділ може застосовуватися для елементів, об'єднаних раніше, або для копіювання елементів, що не були згруповані. Може бути використано в наступних ситуаціях:

  • - повернення ресурсного елемента в блок Resource Item ; поділ елементів, які були тимчасово згруповані для того, щоб вони могли бути оброблені одночасно;
  • - створення елементів на основі одного еталонного елемента;
  • - створення логічного дублюючого елемента для виклику якоїсь дії в моделі, в той час як основний фізичний елемент буде продовжувати оброблятися.

Якщо до цього елементи були об'єднані з опцією Preserve uniqueness , доступною в діалоговому вікні блоку Batch , то їх початкові значення параметрів буду відновлені (також для цього треба вибрати однойменну опцію в блоці Unbatch). Однак слід бути обережними при застосуванні блоків, що змінюють значення параметрів елементів, на шляху з блоку Batch в блок Unbatch.

У вкладці Unbatch діалогового вікна блоку можна задати поведінку блоку Select block behavior.

  • - опція Create multiple items задана по умовчання. У разі використання параметра вартості в моделі, вартість розподіляється але вихідним елементам, як зазначено в таблиці Select how to define property values of outgoing items на вкладці Properties ',
  • - опція Release cost resources. Якщо елемент був об'єднаний з ресурсом, що має задану вартість, то інформація про вартість зберігається. При роз'єднанні ресурс буде видаватися на вихідний коннектор, відповідний вхідного конектора блоку Batch при його об'єднанні.

У вкладці Unbatch також доступна таблиця Specify the quantity to unbatch , в якій задається кількість елементів, що передаються через кожен вихідний коннектор блоку при роз'єднанні.

Приклад 15. Моделюється процес складання виробу з кількох комплектуючих. Запит на складання вироби надходить але нормальним законом розподілу з параметрами: середній інтервал між запитами 1 годину, СКО - 0,5 години. Виріб може бути равновероятно одного з трьох типів. Залежно від типу виробу визначається необхідну кількість комплектуючих типу А і типу В, а також час складання (див. Табл. 3). Комплектуючі типу А і В надходять кожні 10 годині за 20 одиниць. Одночасно може збиратися по 5 виробів.

Таблиця 3. Вихідні дані

Тип

вироби

Кількість комплектуючих типу А

Кількість комплектуючих типу В

час збірки

1

0

2

4

2

3

1

5

3

1

3

6

Змоделювати процес складання протягом 1000 годин. Визначити характеристики черги запитів на збірку і черг комплектуючих типу А і В і оцінити ефективність системи.

Кінцевий вигляд моделі наведено на рис. 54.

Модель процесу складання (приклад 15)

Мал. 54. Модель процесу складання (приклад 15)

Пояснимо основні моменти, пов'язані з розробкою моделі.

  • 1. Вхідний потік запитів описується блоком Create. У вкладці Create діалогового вікна блоку задається опція Create items randomly, закон розподілу Normal з параметрами Mean = 1 і Std.Dev = 0,5.
  • 2. Вхідні потоки комплекгующіх Л і В описуються блоками Create. У вкладці Create діалогового вікна блоку задається опція Create items by Schedule, вказується в таблиці необхідну кількість елементів Item Quantity = 20 і включається опція Repeat the schedule every К) hours.
  • 3. У блоці Random Number у вкладці діалогового вікна Distributions задається тип заявки: заявка одного з трьох типів (1,2,3), тип заявки визначається за рівномірним законом Uniform, Integer з параметрами Minimum = 1, Maximum = 3.
  • 4. У блоці Set у вкладці Set Properties діалогового вікна задається ім'я атрибута Request Туре, що визначає тип заявки. Відповідно в блоці Get у вкладці Get Properties діалогового вікна вибирається заданий в блоці Set ім'я атрибута.
  • 5. У блоках Lookup Table задається кількість комплектуючих Л і В для складання виробу певного типу і час складання. Тип виробу зчитується з інформаційного вихідного коннектора блоку Get. У діалоговому вікні блоку Lookup Table у вкладці Table задається таблиця, в якій кожному типу вироби відповідає кількість комплектуючих або час збирання згідно з даними табл. 3.
  • 6. У блоці Batch у вкладці Batch діалогового вікна в таблиці задається необхідну кількість Quantity Needed = 1 елементів для складання але верхній гілці, відповідає запиту на складання. Кількість комплектуючих А і В для збірки прочитується з додаткових вхідних конекторів блоку (маленькі квадратики), з'єднаних з виходами відповідних блоків Lookup Table.
  • 7. У блоці Activity у вкладці Process діалогового вікна здасться опція from the «D» connector, в результаті чого час складання виробу зчитується з інформаційного коннектора D блоку, пов'язаного з виходом блоку Lookup Table. Також задається максимальна кількість одночасно збираються виробів: Maximum items in activity = 5.

На рис. 55 наведено графік залежності довжини черги запитів на збірку від часу.

Графік зміни довжини черги запитів в часі (приклад 15)

Мал. 55. Графік зміни довжини черги запитів в часі (приклад 15)

Очевидно, що черга запитів протягом моделювання не росте і коливається біля середнього значення рівного 3,6 одиниці, що можна вважати прийнятним результатом. Однак, кількість комплектуючих великій кількості. Середня довжина черги комплектуючих типу А становить 354,7 одиниці, В - 16,3 одиниці в кінці моделювання. Тому, необхідно скоротити надходження в систему комплектуючих, особливо типу А. Оптимальні параметри роботи системи можуть бути підібрані шляхом проведення імітаційного експерименту з моделлю системи.

 
<<   ЗМІСТ   >>