n="justify"> програма перукарський моделювання симулятор
2. ВАРІАНТ ЗАВДАННЯ
Перукарня має трьох майстрів, кожен з яких на обслуговування одного клієнта витрачає в середньому 10 хвилин. Клієнти утворюють найпростіший потік із середнім числом надходжень 12 осіб на годину. Клієнти стають у чергу, якщо до моменту їх приходу в черзі менше трьох осіб, в іншому випадку вони покидають перукарню.
Промоделювати роботу перукарні протягом робочого дня. Визначити ймовірність відсутності клієнтів в перукарні, ймовірність того, що клієнт покине перукарню необслуженной, ймовірність того, що всі майстри будуть зайняті роботою, середнє число клієнтів в черзі, середнє число клієнтів в перукарні взагалі.
3. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Система масового обслуговування має один канал. Вхідний потік заявок на обслуговування потоку має інтенсивність?. Інтенсивність потоку обслуговування дорівнює? (Т. Е. В середньому безперервно зайнятий канал видаватиме? Обслужених заявок). Тривалість обслуговування - випадкова величина, підпорядкована показовому закону розподілу. Заявка, що надійшла в момент, коли канал зайнятий, стає в чергу і чекає обслуговування.
Розглянемо систему з обмеженою чергою. Припустимо, що незалежно від того, скільки вимог надходить на вхід обслуговуючої системи, дана система (черга + обслуговуються клієнти) не може вмістити більше N-вимог (заявок), з яких одна обслуговується, а (N - 1) очікують. Клієнти, що не потрапили в очікування, змушені обслуговуватися в іншому місці, і такі заявки втрачаються. Нарешті, джерело, що породжує заявки на обслуговування, має необмежену (нескінченно велику) ємність.
Позначимо T - кількість тактів, які пройдуть до приходу клієнта. Ця величина обчислюється за формулою:
Де R - випадкова величина, що лежить в кордоні [0.01 ... 0.99].
Розрахуємо статистику для одноканальної СМО з очікуванням і обмеженою довжиною черги, рівної (N - 1).
Тоді ймовірність того, що канал обслуговування вільний і в системі немає жодного клієнта, дорівнює:
p0=clientNo/taktAll, де
clientNo - число тактів, коли в перукарні немає жодного клієнта,
taktAll - число тактів за робочий день.
ймовірність відмови в обслуговуванні заявки:
Pотк=clientMiss/clientAll, де
clientMiss - число втрачених клієнтів,
clientAll - число всіх клієнтів.
Середня довжина черги:
Pоч=statOcher/taktAll, де
statOcher - сума всіх клієнтів в черзі.
Імовірність того, що всі майстри зайняті:
Pbusy=masterYes/taktAll, де
masterYes - кількість тактів, коли всі майстри зайняті роботою.
Середнє число клієнтів в перукарні:
Pin=statClin/taktAll, де
statClin - сума числа всіх клієнтів у перукарні.
4. ТЕХНІЧНИЙ ПРОЕКТ
4.1 Сценарій діалогу з користувачем
Роботу користувача з розробляється програмою представимо у вигляді сценарію, заданого орієнтованим графом переходів. Вершини графа поставимо у відповідність основним вікнам і діалогам програми, а дугами будемо відображати всі можливі переходи між ними. На кожній дузі запишемо пункт меню або ідентифікатор кнопки, при виборі яких відбувається відповідний перехід. Граф представлений на рис. 1. По графу легко простежити можливі переходи користувача по діалогах. Наприклад, при запуску програми відкривається головне меню. У ньому натиснувши клавішу «Згенерувати» запускається моделювання роботи перукарні з виведенням статистики.
рис.1
Визначимо зовнішній вигляд вікон, присутніх у графі на рис. 1. Форма головного вікна дан на мал. 2:
Рис. 2
Вікно включає такі основні елементи управління: перехід до генератора здійснюється за допомогою кнопки Button1. За вихід відповідає кнопка Button2. Також на формі розташовується елемент Label, який демонструє назва програми.
Сам генератор представлений на малюнку 3:
Рис. 3
За безпосередню генерацію відповідає кнопка Button3, а за вихід в меню кнопка Button4. Висновок статистичних показників виробляється в форму Edit (1-8).
Вікно генератора після виконання програми представлено на малюнку 4:
<...