19.08.2016, 15:37:31
Войти Зарегистрироваться
Авторизация на сайте

Ваш логин:

Ваш пароль:

Забыли пароль?

Навигация
Новости
Архив новостей
Реклама
Календарь событий
Right Left

НОУ ІНТУЇТ | лекція | Модель процесу виготовлення в цеху деталей

  1. Проведення досліджень Вважаємо, що ви ввели програму моделі, виправили помилки і виконали вказану...
  2. Особливості побудови програми моделі
  3. Проведення досліджень
  4. проведення експериментів
  5. SAVEVALUE AC3, (AC1-X $ AC2) SAVEVALUE AC2, AC1
  6. SAVEVALUE X $ Prog, 0
  7. Модель в AnyLogic
  8. Початкові дані. Використання масивів
Проведення досліджень

Вважаємо, що ви ввели програму моделі, виправили помилки і виконали вказану кількість прогонів моделі. Фрагмент звіту наведено нижче.

SAVEVALUE RETRY VALUE PROG 0 16641.000 NDET 0 9.000 BRAK 0 3.000 DOLJABRAK 0 0.279 DOLJADET 0 0.721 SDET 0 48.559

В результаті розв'язання прямої задачі отримаємо, що за 8 годин цехом буде виготовлено деталей, відносна частка готових деталей складе DoljaDet = 0,721, а середній час виготовлення однієї деталі SDet = 48,559 хв. При цьому буде забраковано Brak = 3 деталі, відносна частка яких складе DoljaBrak = 0,2279.

Фрагмент звіту, якщо не використовувати процедуру INT, тобто НЕ округляти до цілого кількість виготовлених і кількість забракованих деталей:

SAVEVALUE RETRY VALUE PROG 0 16641.000 NDET 0 9.885 BRAK 0 3.821 DOLJABRAK 0 0.279 DOLJADET 0 0.721 SDET 0 48.559

За 8 годин цехом буде виготовлено Ndet = 9,885 деталей, відносна частка готових деталей DoljaDet = 0,721 і середній час виготовлення однієї деталі SDet = 48,559 хв залишаться такими ж. При цьому буде забраковано Brak = 3,821 деталей, відносна частка яких від загальної кількості готових і забракованих DoljaBrak = 0,279 також не зміниться.

Зауваження. Якщо ви замість 1000 вкажіть 100 попередніх прогонів і запустіть модель, то отримаєте той же результат.

Рішення оберненої задачі

Метою оберненої задачі є визначення середнього часу на виготовлення якоїсь кількості деталей. Для перевірки працездатності моделі візьмемо кількість деталей, отриманих в результаті розв'язання прямої задачі, тобто Det = 9.

Особливості побудови програми моделі

Модель для розв'язання оберненої задачі приведена нижче.

; Модель процесу виготовлення деталей. Зворотній завдання ...; Імітація виконання 3-й операції ASSIGN 2,3; Код 3 в Р2-ознака 3-й операції Oper3 QUEUE P2; Встати в чергу SEIZE Konveer3; Почати третю операцію DEPART P2; Покинути чергу ADVANCE (Exponential (23,0, T3)); 3-тя операція RELEASE Konveer3; Закінчити 3-ю операцію ADVANCE (Exponential (23,0, Tk3)); Контроль 3-й операції TRANSFER q3 _ ,, Sboi; Шлюб на пункт контролю TRANSFER, Met2; Готові деталі; Сегмент імітації роботи пункту контролю Sboi QUEUE Kont; У чергу на пункт контролю SEIZE Kontr; Зайняти пункт контролю DEPART Kont; Покинути чергу на пункт контролю ADVANCE (Exponential (23,0, Tk)); Остаточний контроль RELEASE Kontr; Звільнити пункт контролю TRANSFER q4 _ ,, EndOper; В остаточний шлюб TEST E P1,1, EndOper; Якщо вдруге, то в остаточний шлюб ASSIGN 1,2; Код 2 в Р1-деталь піде вдруге Met1 TRANSFER, (Met1 + P2) TRANSFER, Oper1; Повторно на 1-ю операцію TRANSFER, Oper2; Повторно на 2-ю операцію TRANSFER, Oper3; Повторно на 3-ю операцію EndOper TERMINATE; Рахунок шлюбу; Сегмент завершення моделювання і розрахунку результатів Met2 TEST LX $ Prog, TG1, Met3; Якщо умова виконується, то SAVEVALUE Prog, TG1; X $ Prog = TG1 лічильнику завершень Met3 SAVEVALUE NDet +, 1; Рахунок кількості готових деталей TEST EX $ NDet, Det, Ter1; Якщо готове Det деталей, зафіксувати один прогін TEST E TG1,1, Met4; Якщо в лічильнику завершень 1, то розрахунок результатів моделювання SAVEVALUE Brak, (N $ EndOper / X $ Prog); Кількість забракованих деталей, шт. SAVEVALUE DoljaBrak, (X $ Brak / (X $ Brak + Det); Загальна частка шлюбу SAVEVALUE DoljaDet, (Det / (X $ Brak + Det)); Частка готових деталей SAVEVALUE Brak, (INT (X $ Brak)); Кількість забракованих деталей (ціле), шт. SAVEVALUE TDet, (((AC1-X $ AC2) / X $ Prog) / 60); Середній час виготовлення Det деталей, годину SAVEVALUE SDet, ((X $ TDet / Det) # 60) ; Середній час виготовлення однієї деталі, хв SAVEVALUE AC2, AC1; час попередніх прогонів SAVEVALUE X $ Prog, 0; Обнулення осередку X $ Prog Met4 SAVEVALUE NDet, 0; Обнулення X $ NDet TERMINATE 1; З лічильника завершень мінус 1 Ter1 TERMINATE; Висновок допоміжних транзактов START тисячу, NP; Число попередніх прогонів моделі RESET; Скидання статистики START 16641; Число ос овних прогонів моделі

У наведеній програмі моделі для розв'язання оберненої задачі з метою скорочення виключений текст до частини, що імітує виконання 3-й операції, так як він такий же, як і в програмі моделі для розв'язання прямої задачі. Єдина відмінність полягає в тому, що у вихідні дані слід додати команду для завдання кількості деталей, які потрібно виготовити:

Det EQU 9; Кількість деталей, які потрібно виготовити

Округлення до цілого кількості забракованих деталей проводиться після розрахунку частки готових і забракованих деталей. Якщо інакше, то розрахунок часток буде некоректним.

У програмі моделі прямої задачі придатні деталі після виконання 3-й операції підраховувалися. Імітують їх транзакти знищувалися:

EndOper1 TERMINATE; Рахунок готових деталей

У програмі моделі оберненої задачі придатні деталі потрібно відправити в сегмент організації завершення моделювання. Для цього наведений щойно блок рахунку готових деталей замінений наступним (у тексті програми вище він виділений жирним):

TRANSFER, Met2; готові деталі

Сегмент імітації роботи пункту контролю залишається незмінним. Зупинимося на сегменті завершення моделювання і розрахунку результатів.

Збережена осередок NDet служить для рахунку поточного кількості виготовлених деталей. Як тільки виконується умова X $ NDet = Det, фіксується один прогін моделі. Det - змінна користувача, якій задається кількість деталей, час підготовки яких потрібно визначити.

Вам вже відомо, що модельне час попередніх прогонів не повинно враховуватися при розрахунку середнього часу виготовлення 9 деталей. Тому воно запам'ятовується в зберігається осередку X $ AC2, а при расчте віднімається з AC1:

SAVEVALUE TDet, (((AC1-X $ AC2) / X $ Prog) / 60); Середній час виготовлення Det деталей, годину

Проведення досліджень

Фрагмент звіту наведено нижче:

SAVEVALUE RETRY VALUE PROG 0 16641.000 BRAK 0 3.000 DOLJABRAK 0 0.279 DOLJADET 0 0.721 TDET 0 7.266 SDET 0 48.443

В результаті розв'язання оберненої задачі отримаємо, що деталей будуть виготовлені цехом за TDet = 7,266 години, відносна частка яких складе DoljaDet = 0,721, а середній час виготовлення однієї деталі SDet = 48,443 хв. При цьому буде забраковано Brak = 3 деталі, відносна частка яких складе DoljaBrak = 0,279.

Зауваження. Якщо ви заміните 1000 попередніх прогонів на 100 і запустіть модель, то отримаєте:

SAVEVALUE RETRY VALUE PROG 0 16641.000 BRAK 0 3.000 DOLJABRAK 0 0.278 DOLJADET 0 0.722 TDET 0 7.256 SDET 0 48.374

Видно, що результати моделювання змінилися незначно. Але якщо ці зміни для вас несуттєві, можна залишити вказане число попередніх прогонів моделі в подальших дослідженнях.

проведення експериментів

В "Модель обробки запитів сервером" був проведений дисперсійний аналіз з імітаційної моделлю, призначеної для розв'язання прямої задачі. Тут же ми проведемо дисперсійний аналіз з моделлю, вирішальною зворотну задачу.

Дослідити вплив якості Дослідити вплив якості   виконання операцій на час виготовлення D деталей виконання операцій на час виготовлення D деталей. Значення рівнів факторів приведені в Табл. 2.2 .

Результати моделювання необхідно отримати з точністю Результати моделювання необхідно отримати з точністю   хв і довірчою ймовірністю хв і довірчою ймовірністю . Але оскільки залишається умова визначення відносного числа підготовлених деталей, то кількість прогонів залишається рівним 16641, що і в моделі для розв'язання прямої задачі.

Деякі особливості побудови для такого випадку моделі були викладені в п. 2.1.2.1. Однак показники, які там визначалися в дисперсійному аналізі, що не були тимчасовими. А це є істотним в побудові сегменту організації завершення моделювання.

Оскільки результатом моделювання є оцінка математичного очікування часу TDet виготовлення Det деталей, то в її обчисленні використовується абсолютне модельне час АС1 (системний числовий атрибут). При проведенні дисперсійного аналізу вбудований генератор експерименту має дві команди START, а між ними - команда RESET. Команда RESET не впливає на абсолютне модельне час. Тому АС1 буде сумою абсолютного модельного часу попередніх прогонів до усталеного режиму, позначимо його АС2, і абсолютного модельного часу, нехай АС3, основних прогонів, в ході яких збирається інформація, що цікавить нас статистика. Нам для розрахунків потрібно АС3. Для його отримання в програму введені рядки:

SAVEVALUE AC3, (AC1-X $ AC2) SAVEVALUE AC2, AC1

Після попередніх прогонів в осередку X $ Prog збережеться вказане в першій команді START кількість прогонів. Цей осередок використовується в першому рядку даного сегменту і її вміст має бути рівним нулю. В іншому випадку модель буде працювати невірно. Для запобігання помилки введена рядок:

SAVEVALUE X $ Prog, 0

Зауваження. Якщо попереднє число прогонів моделі менше числа основних прогонів, то можна обійтися і без цієї команди.

Проведіть експеримент. Як проводиться дисперсійний аналіз, ви вже знаєте. Тим не менше, встановіть необхідні дані експерименту згідно Мал. 2.2 . Вкажіть число попередніх прогонів 1000 замість 100, встановлених за замовчуванням.

Результати експерименту показані на Мал. 2.3 . Видно, що всі чотири фактори істотні. Найбільший вплив на функцію відгуку надає фактор В, що цілком логічно, так як з перших трьох він має найбільший верхній рівень, т. Е. Найбільшу частку шлюбу. Найменшу значущість має фактор С, що також пояснюється більш низьким значенням частки шлюбу.

Змініть безпосередньо в процедурі запуску згенерованого Plus-експерименту кількість попередніх прогонів від 1000 на 100 і запустіть модель. Ви отримаєте практично ті ж самі результати, наприклад, Grand Mean = 9,006 замість 9,017.


Мал.2.2.

Діалогове вікно (заповнений) Screening Experiment Generator (Генератор відсіває експерименту)

Модель в AnyLogic

AnyLogic-модель процесу виготовлення в цеху деталей буде включати згідно з поданням як система масового обслуговування ( Мал. 2.1 ) Такі сегменти:

  • початкові дані;
  • підготовка заготовки;
  • операція 1;
  • операція 2;
  • операція 3;
  • пункт контролю готової продукції;
  • склад готових деталей;
  • склад бракованих деталей.
  • результати моделювання.

Початкові дані. Використання масивів

Для введення вихідних даних використовуємо елементи Параметр.

  1. Виконайте команду Файл / Створити / Модель на панелі інструментів.
  2. В поле Ім'я моделі діалогового вікна Нова модель введіть Ізготовленіе_в_цехе_деталей. Виберіть каталог, в якому будуть збережені файли вашої моделі.
  3. Клацніть кнопку Готово.
  4. Створіть область перегляду для розміщення елементів сегмента Цех.
  5. З палітри Презентація перетягніть елемент Область перегляду.
  6. На панелі Параметри в поле Ім'я: введіть цех.
  7. Задайте Вирівнювати по: Верхн. лівому кутку.
  8. Виберіть режим масштабування зі списку Масштабування: Підігнати під вікно.
  9. На сторінці Місцезнаходження та розмір введіть в поля X: 0, Y: 0, Ширина: 780, Висота: 530.
  10. Перетягніть елемент округленими прямокутник. На сторінці Місцезнаходження та розмір встановіть: X: 280, Y: 300, Ширина: 250, в поле Висота: 220.
  11. Перетягніть елемент text і на сторінці Основні панелі Властивості в поле Текст: введіть Вихідні дані.
  12. У палітрі виділіть Основна. Перетягніть елементи Параметр на елемент з ім'ям Вихідні дані. Додайте їх так, як показано на Мал. 2.4 . Значення властивостей встановіть згідно Табл. 2.3 . на Мал. 2.4 , Як ви, напевно, вже помітили, два елементи Параметр відрізняються від інших. Вони використовуються для введення даних Табл. 2.1 як одновимірних масивів.

Таблиця 2.3. Елементи і їх властивості Параметр Параметр Ім'я Тип Значення за замовчуванням Ім'я Тип Значення за замовчуванням Tn double 35 Tk1 double 4 T1 double 30 Tk2 double 5 T2 double 25 Tk3 double 15 T3 double 35 Tk double 8 q1 double 0,12 врМод double 480 q2 double 0,15 колПрог double 16641 q3 double 0,1 q4 double 0,8

Створіть розмірності масивів. В даному випадку вони однакові. Елементів в одному рядку Табл. 2.1 шість. Припустимо, що число видів заготовок може збільшитися до 10. Значить розмірність одного масиву 10 елементів.

  1. Клацніть правою кнопкою мишки в панелі Проекти та в контекстному меню виберіть Створити / Розмірність.
  2. У вікні Розмірність в поле Ім'я введіть КолВарЗаг.
  3. Встановіть Тип розмірності: Діапазон.
  4. В відкрилося поле Діапазон: введіть 1-10.
  5. Клацніть Готово.

Тепер створіть безпосередньо масиви. Почніть з масиву верВарЗаг для ймовірностей появи видів заготовок.

  1. З Палітри Основні перетягніть елемент Параметр.
  2. На сторінці Основні панелі Властивості в поле Ім'я: введіть верВарЗаг. Тип: double.
  3. Встановіть прапорець Масив. Відкриється вікно Розмірності ( Мал. 2.5 ). Клацніть по розташованої праворуч від вікна і підсвічується зеленим кнопці.
  4. Відкриється вікно Edit dimensions ( Мал. 2.6 ). У віконці Можливі розмірності: виділіть КолВарЗаг.
  5. Клацніть по кнопці . Розмірність КолВарЗаг з'явиться у віконці Вибрані розмірності.
  6. Закрийте вікно. Ви повернетеся на панель Властивості. У віконці Розмірності ви побачите розмірність КолВарЗаг.
  7. Клацніть Редагувати значення масиву. Відкриється однойменне діалогове вікно (2.7).
    Мал. 2.6. Вікно Вибір розмірності
  8. У лівій частині вікна стрілками показано розміщення елементів масиву. Залишимо горизонтальне. Елементи масиву мають різні значення. Тому не використовуємо [ВСЕ].
  9. У правій частині вікна введіть значення елементів масиву: 0.05,0.18,0.34,0.56,0.85,1,0,0,0,0

    Зверніть увагу, що дані з першого рядка Табл. 2.1 введені в порядку зростання, причому, другий елемент = перший елемент Табл. 2.1 + другий Табл. 2.1 , Третій = другий + третій Табл. 2.1 і т.д. Ця особливість буде врахована в наступному програмному коді. Хоча можна було б ввести і так, як в Табл. 2.1 .

  10. Клацніть ОК. Ви повернетеся на панель Властивості. У полі Значення за замовчуванням: з'являться введені вами значення шести елементів масиву. Решта чотири елементи дорівнюють нулю. Зверніть також увагу на те, що елементи масиву укладені в {...}.
  11. Аналогічним чином створіть другий масив з ім'ям срВрПодгЗаг для середнього часу підготовки заготовки.
  12. У полі Значення за замовчуванням: має бути: {10,14,21,22,28,25,0,0,0,0}