![]()
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||||
Алгоритм імітаційного моделювання СМОНа основі приведених вище теоретичних положень магістром Національного транспортного університету М.А.Маляренко під науковим керівництвом д.т.н., проф. Б.М. Четверухіна була розроблена програма IMMODEL1NG для визначення ймовірностей можливих станів СМО та показників ефективності роботи СМО в умовах впливу на неї вхідного потоку заявок, що мають довільний характер розподілу ймовірностей їх надходження в СМО, а також при довільному законі розподілу вихідного потоку обслуговувань в СМО із застосуванням внутрішньої мови системи Microsoft Office 97 VBA на базі програми Excel 97. Програма Excel 97 як основа моделювання була обрана з тієї причини, що за допомогою її робочих сторінок легко організувати накопичення та обробку однорідної статистичної інформації, якою являються дані про потік вимог, і також в цій системі добре розвинута графічна система: легко будувати різноманітні графіки. Програма побудована так, що на відповідних робочих аркушах Excel зберігаються вхідні данні, результати обчислень, графіки і форми для введення умов розрахунку і вхідних даних. Програма дозволяє моделювати процес формування інтервалів вхідного потоку випадкових подій, на основі псевдо випадкових величин, які формуються функцією РВП BASIC, роботу СМО по відпрацюванню зовнішніх впливів у вигляді вимог і в результаті отримувати вихідний потік інтервалів між сусідніми обслуженими вимогами. При цьому була передбачена можливість розглядати вимоги як рівноправні, так і пріоритетні. Нижче наведений алгоритм програми IMMODELING. Основна програма: 1. Початок програми. 2. Об'ява та ініціалізація змінних: m - кількість місць в черзі tm - час моделювання j - поточна позиція на аркуші kl - кількість зайнятих каналів к2 - кількість зайнятих місць в черзі z - кількість відкинутих заявок ul - інтервал вхідного потоку и2 - інтервал вихідного потоку иЗ - інтервал пріоритетного потоку npriority - відношення між пріоритетними заявками і загальною кількістю заявок, % ti - поточний час t3 - час пріоритетної заявки ty - сумарний час обслуговування ку - кількість прийнятих заявок chanals(10,2) - масив для обчислення роботи каналів turn(100,3) - масив для обчислення роботи черги vTime - масив для реєстрування зайнятості каналів vTimel - масив індикатор останнього зайнятого каналу vTt - масив для реєстрування зайнятості черги vTtl - масив індикатор останнього зайнятого місця в черзі змінні для формування потоків Гауса: fGaussl,fGauss2 vGaussin 1, vGaussin2 - вхідний потік vGaussoutl, vGaussout2 - вихідний потік 3. Підготовка робочого аркуша. 3.1 Очищення робочого аркуша 3.2 Заповнення текстової інформації^ шапка таблиці результатів). 3.3 Зчитування вихідних даних з аркуша "Вихідні данні"
4. Ініціалізація масивів для організації роботи каналів 5. Ініціалізація масивів для організації роботи черги 6. Отримання першої заявки 7. Занесення часу виконання заявки в перший канал 8. Реєстрація зайнятого каналу 9. Виклик процедури сортування каналу по часу виконання
10. Занесення в поточний лічильник часу надходження заявки 11. Цикл по часу моделювання. Якщо цикл закінчився то п.25. 12. Отримання наступної заявки. (виклик підпрограми 12.1 Реєстрація на робочому аркуші в колонці 1 і 2. 13. Перевірка: заявка пріоритетна чи ні. 14. якщо заявка пріоритетна то п.15, якщо ні п.19. 15. Перевірка стану системи 16. Канал вільний
16.1Заявка надходить в канал (виклик підпрофами "Моделювання 16.2Реєстрація зайнятості каналу 16.3 Сортування каналу по часу виконання 17. Канали зайняті. Вільна черга. 17.1Поставити в чергу з зсувом на перше місце Зареєструвати час зайнятості черги П.ЗПерехід нап.Н 18. Черга зайнята 18.1 Звільнити перше місце в черзі 18.2Перехід нап.11 19. Перевірка зайнятості каналів (якщо час обслуговування 20. Якщо в черзі є заявка, то вона переноситься в канал (Виклик 21. Перевірка стану системи 22. Є вільні канали 22.1 Наступна заявка з вхідного потоку надходить в канал 22.2Реєстрація зайнятості каналу. 22.3Сортування каналів (виклик підпрограми "Сортування 22.4Перехід нап.11 23. Є місце в черзі 23.1 Поставити заявку в чергу з поточним часом 23.2Сортування черги (виклик підпрограми "Сортування черги ") 23.3 Реєстрація зайнятості черги 23.4Перехід на п.11 24. В черзі немає місця. Відкинути заявку. Перехід на п.11 25. Розрахунок параметрів вхідного потоку (обробка 1 і 2 колонок
25.1Розрахунок середнього інтервалу (математичне очікування) 25.2Розрахунок середньоквадратичного відхилення
26. Розрахунок теоретичних значень параметрів вхідного потоку в 27. Розрахунок середнього часу перебування в черзі 28. Розрахунок середньоквадратичного відхилення часу 29. Розрахунок середньої довжини черги. 30. Вивід результатів моделювання на аркуш "Результати": - Час моделювання Прийняті до обслуговування заявки - Середній час знаходження заявки в системі - Дисперсія часу знаходження заявки в системі - Середній час очікування на обслуговування - Дисперсія часу очікування на обслуговування - Середня довжина черги Імовірність відмови - Середня кількість зайнятих каналів - Час зайнятості 0 каналів (всі канали вільні) - Час зайнятості 1 каналу - Час зайнятості 2-х каналів - Час зайнятості п каналів - Імовірність зайнятості 0 каналів - Імовірність зайнятості 1 каналу - Імовірність зайнятості 2-х каналів - Імовірність зайнятості п каналів - Час зайнятості 0 місць в черзі (черга вільна) - Час зайнятості 1 місця в черзі - Час зайнятості 2-х місць в черзі - Час зайнятості m місць в черзі - Імовірність зайнятості 0 місць в черзі (черга вільна) - Імовірність зайнятості 1 місця в черзі - Імовірність зайнятості 2-х місць в черзі - Імовірність зайнятості m місць в черзі Таблиця даних по вхідному потоку: - інтервали часу появи заявок - частота потраплянь інтервалів часу появи заявок в ці інтервали часу Таблиця даних по вихідному потоку: - інтервали часу появи заявок - частота попадань інтервалів часу появи заявок в ці інтервали часу
31.1Пошук максимуму та мінімуму серед інтервалів 31.2Розбиття інтервалів між максимумом та мінімумом на 10 ЗІ.ЗЦикл по вхідному потоку доки не закінчаться заявки. Якщо кінець то п. 31.7 31.4Перевірка інтервалів заявки на номер інтервалу 31.5Додавання одиниці до відповідного стовпчика діаграми
31.7Занесення на аркуш "Результати" таблиці з розмірами 31.8Побудова діаграми (виклик підпрограми "Побудова діаграми 32. Розрахунок діаграм вихідного потоку (діаграма №2)
32.1Пошук максимуму та мінімуму серед інтервалів 32.2Розбиття інтервалів між максимумом та мінімумом частин 32.3 Цикл по вхідному потоку доки не закінчаться заявки. Якщо кінець то п. 32.7 З2.4Перевірка інтервалів заявки на номер інтервалу 32.5 Додавання одиниці до відповідного стовпчика діаграми 32.6Перехід на п. 32.3 32.7 Занесення на аркуш "Результати" таблиці з розмірами інтервалу і кількістю потраплянь в ці інтервали. З2.8Побудова гістограми (виклик підпрограми "Побудова діаграми №2") 33. Кінець
Підпрограма "Моделювання вхідного потоку" Початок Вибір типу вхідного потоку: Гаус Експоненціальний (Пуассон) Ерланг Рівномірний Якщо (1), то формуємо вхідний потік: 3.1 формуємо оператором RND 2 випадкові величини (ksil, ksi2). 3.2 отримуємо 2 випадкові величини(\^аіі55Іп1, Vgaussin2) за Vgaussinl=1.5^(2*0.434294*Log(l/ksil))*cos(ksi2*6.292184) Vgaussinl=1.5V(2*0.434294*Log(l/ksil))*sin(ksi2*6.292184) 3.3 Перевірка: яке звернення до функції (п.3.2). Якщо непарне, то 4. Якщо (2), то формуємо вхідний потік випадкових чисел за Vexp=-(Matnbda)*Log(l- RND()) 5. Якщо (3), то формуємо вхідний потік випадкових чисел за {Програма дозволяє обирати варіант формули — за проф. Соболем А. М. або за проф. Четверухіним Б.М.) Формування потоку за методикою проф.Соболя A.M.: 5.1 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець 5.2 Формування випадкових величин (vrand) за допомогою 5.3 Розрахунок добутку випадкових величин, які були сформовані в 5.4 Повернення до п.5.1 5.5 Формування інтервалів випадкових подій за формулою: Формування потоку за методикою проф. Четверухіна Б.М.: 5.6 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець 5.7 Формування випадкових величин (vrand) за допомогою vrand=Log(l-RND()) 5.8 Повернення до п.5.6 5.9 Формування інтервалів випадкових подій за формулою: 6. Якщо (4), то формуємо вхідний потік випадкових чисел за uniform=RND()*(B-A)+A 7. Кінець Підпрограма "Моделювання вихідного потоку" 1. Початок 2. Вибір типу вихідного потоку: (1)Гаус (2) Експоненціальний (Пуассон) (З)Ерланг (4) Рівномірний 3. Якщо(1), то формуємо вихідний потік: 3.1 формуємо оператором RND 2 випадкові величини (ksil, ksi2). 3.2 отримуємо 2 випадкові величини(\^ашзіп1, Vgaussin2) за Vgaussinl=1.5V(2*0.434294*Log(l/ksil))*cos(ksi2*6.292184) Vgaussinl=1.5V(2*0.434294*Log(l/ksil))*sin(ksi2*6.292184) 3.3 Перевірка: яке звернення до функції (п.3.2). Якщо непарне, то 4. Якщо (2), то формуємо вихідний потік випадкових чисел за Vexp=-(Mambda)*Log(l- RND()) 5. Якщо (3), то формуємо вихідний потік випадкових чисел за (Програма дозволяє обирати варіант формули — за проф. Соболем А. М. та за проф. Четверухіним Б.М.) за проф. Соболем A.M.: 5.1 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець 5.2 Формування випадкових величин (vrand) за допомогою 5.3 Розрахунок добутку випадкових величин які були сформовані в 5.4 Повернення до п.5.1 5.5 Формування інтервалів випадкових подій за формулою: за проф. Четверухіним Б.М. 5.6 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець 5.7 Формування випадкових величин (vrand) за допомогою vrand=Log(l-RND()) 5.8 Повернення до п.5.6 5.9 Формування інтервалів випадкових подій за формулою: 6. Якщо (4), то формуємо вихідний потік випадкових чисел за uniform=RND()*(B-A)+A 7. Кінець Підпрограма "Сортування каналів" 1. Початок 2. Цикл з кінця масиву мінус Ці - змінна циклу). Якщо кінець 3. цикл від 1 до і. Якщо кінець циклу перехід на п.6 4. якщо поточний час більше наступного часу то міняємо місцями 5. перехід на п.З 6. перехід на п.2 кінець. Підпрограма " Сортування черги" 1. Початок 2. цикл з кінця масиву мінус 1. (іі - змінна масиву). Якщо кінець, 3. цикл від 1 до іі. Якщо кінець, то перехід на п.6 4. Якщо поточний час більше наступного часу то змінюємо 5. перехід на п.З 6. перехід на п.2 7. Кінець. Підпрограма "Перевірка зайнятості каналів" 1. Початок 2. Цикл від 1 до п (п - кількість каналів). Якщо кінець, то перехід 3. якщо канал зайнятий і час звільнення каналу дорівнює 4. зареєструвати час звільнення каналу. 5. перехід на п.2 кінець Підпрограма "Перенесення заявкиз черги в канал" 1. Початок 2. цикл по черзі від 1 до m (m - кількість місць в черзі). Якщо 3. якщо час постановки в чергу не дорівнює 0 то п.4, якщо 4. визначити скільки часу буде обслужуватись заявка і 5. перехід на п.2 6. кінець. Підпрограма " Побудова діаграми №1 розподілу часових інтервалів вхідного потоку" v 1. початок 2. перевірка наявності аркуша "Діаграма №1". Якщо є, то Створюємо діаграму №1. Розміщення на новому аркуші. 4. Задаємо властивості діаграми: 4.1 Без легенди 4.2 Має заголовок, який має назву "Вхідний потік" 4.3 Розмір шрифту 12 4.4 Шрифт "Sans serif 4.5 Діаграма має вісь значень(Ох) і вісь результатів(Оу) 4.6 Має допоміжні лінії сітки 4.7 Вісь Ох має назву "Інтервали часу" 4.8 Розмір шрифту 12 4.9 Шрифт "Sans serif' 4.10Вісь Оу має назву "Частота потраплянь" 4.11Розмір шрифту 12 4.12Шрифт "Sans serif 5. Кінець. Підпрограма " Побудова діаграми №2
|
||||||||||
|