Імітаційне моделювання систем масового обслуговування

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Систем управління
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КН-32

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” АВТОМАТИЗОВАНІ СИСТЕМИ УПРАВЛІННЯ Лабораторна робота №2 “Імітаційне моделювання систем масового обслуговування” Львів 2012 1. Мета Ознайомлення з методом імітаційного моделювання та його застосування для дослідження систем масового обслуговування (СМО). 2. Теоретичні положення 2.1. Основні поняття систем масового обслуговування Застосування цього підходу розгланемо на прикладі використання математичних схем систем масового обслуговування. Для всіх цих моделей характерним є випадковий процес їх функціонування. Розглянемо одноканальну систему масового обслуговування (рис.2.1).  Рис. 2.1. Одноканальна система масового обслуговування. де Yi-вихідний потік, ui-час обслуговування заявки, wi-час очікування обслуговування заявкою, (i- кількість заявок, які поступають за одиницю часу, ni- кількість заявок в системі, Ki-кількість каналів обслуговування, П-прилад. ni=li+(i, де (і- коефіцієнт завантаження, li- кількість заявок в черзі. Потік подій називається однорідним, якщо він характеризується тільки моментами наступлення цих подій, {tn} 0=t1<t2<...<tn і ніяк не характеризує самі події. Однорідний потік подій може також задаватися проміжками часу між послідовними подіями {(n}, (1=t1-t0, (2=t2-t1, ..., (n=tn-tn-1. Потік неоднорідних подій - це послідовність, яка характеризується двома параметрами {tn,fn}, tn- моменти часу наступлення події, fn- набір ознак цієї події. Потік подій називається потоком з обмеженою післядією, якщо сумісна функція густини інтервалів (i може бути представлена наступним чином: f(z1,z2,...,zn)=f(z1)f(z2)...f(zn). Потік подій називається ординарним, якщо lim[((t0,t)/t]=0 при t→0, де функція ((t0,t) - ймовірність появи двох і більше подій на проміжку часу t. Нехай заданий цілочисельний вектор k=(k1,k2,...,kn), і вектор t=(t1,t2,...,tn). Визначимо pk(t0,t) як ймовірність появи k1 подій на проміжку часу від t0 до t1 , k2 подій на проміжку часу від t1 до t2 і т.д. Якщо ця функція не залежить від t0, а визначається тільки векторами t і k, то потік називається стаціонарним. Для стаціонарного потоку справедливим є співвідношення f(z2)=f(z3)=...=f(zn), де n>1. , де m-середнє значення проміжку часу між моментами наступлення подій. f(z) - функція густини закону розподілу проміжків часу. m=1/(, де ( - інтенсивність вхідного потоку. Для стаціонарного потоку з обмеженою післядією має місце формула Пальма: - функція густини закону розподілу інтервалу τ1. Вона дозволяє знайти розподіл (1, якщо відомий розподіл для всіх інших інтервалів починаючи з другого. Для рівномірного закону розподілу (рис.2.2):  Рис. 2.2. Функція густини рівномірного закону розподілу. Математичне сподівання:  ,  Розподіл інтервалів часу (і:  M(τ1)=b/3 - математичне сподівання τ1. Якщо ймовірність pk(t0,t) поступлення k заявок в інтервалі часу (t0,t0+t) не залежить від чередування подій до моменту t0, тобто, якщо умовна ймовірність pk(t0,t) , яка обчислена при будь-якому припущенні послідовності подій до моменту t0 дорівнює безумовній ймовірності тої ж події, то потік називається потоком без післядії. Єдиним стаціонарним ординарним потоком без післядії є найпростіший потік або потік Пуасона, для якого функція розподілу кількості подій на проміжку часу t дорвнює: pk(t0,t)=(((t)k / k!)*e-( t, f(z)=(*e-( t, f(z1)=(*e-( t. 2.2. Приклад одноканальної СМО Розглянемо в якості прикладу чергу покупців до контрольного прилавку. Припустимо, що проміжки часу між послідовними появами покупців розподілені рівномірно в інтервалі від 1 до 10 хв. Припустимо також, що час, необхідний для обслуговування кожного покупця, розподіляється рівномірно в інтервалі від 1 до 6. Нас цікавить середній час, який покупець проводить в даній системі і відсоток часу, на протязі якого продавець, що стоїть на контролі не завантажений роботою. Для моделювання системи нам необхідно поставити штучний експеримент, який відображає основні ситуації системи, яка моделюється. Результати моделювання наведені в таблиці 1.     , якщо  3.Вихідні дані варіанту індивідуального завдання. 14 96837 [1,23] [1,18]  № варіанту Значення вхідних даних   Початкове значення генератора X0 Діапазон проміжків часу між поступленнями заявок хв. Діапазон часу обслуговування заявок хв.   4.Скріншот отриманих даних.  5.Код програми unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; LabeledEdit1: TLabeledEdit; Edit1: TEdit; Label1: TLabel; LabeledEdit2: TLabeledEdit; Edit2: TEdit; Label2: TLabel; LabeledEdit3: TLabeledEdit; Button1: TButton; LabeledEdit4: TLabeledEdit; Label3: TLabel; Label5: TLabel; Label7: TLabel; Label8: TLabel; Label12: TLabel; Label11: TLabel; Label13: TLabel; Label14: TLabel; Label147: TLabel; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var N, t1, t2, t6, t7, st6, st7, i, t3, t4, t5, tp3, tp5, so,st2: Integer; begin N:=StrToInt(LabeledEdit4.Text); RandSeed:=StrToInt(LabeledEdit3.Text); tp3:=0; tp5:=0; t7:=0; t1:=0; t3:=0; st6:=0; st7:=0; so:=0; st2 := 0; for i:=1 to N do begin if i=StringGrid1.RowCount then StringGrid1.RowCount:=StringGrid1.RowCount+1;; t2:=Random(StrToInt(Edit2.Text))+StrToInt(LabeledEdit2.Text); if i<>1 then begin t1:=Random(StrToInt(Edit1.Text))+StrToInt(LabeledEdit1.Text); t3:=tp3+t1; if tp5>t3 then t4:=tp5 else t4:=t3; t5:=t4+t2; t6:=t5-t3; if t3<tp5 then t7:=0 else t7:=t3-tp5; tp3:=t3; tp5:=t5; end else begin t5:=t2; t6:=t2; tp5:=t5; end; st6:=st6+t6; st7:=st7+t7; so:=so+(t4-t3); st2 := st2 + t2; StringGrid1.Cells[0, i]:=IntToStr(i); StringGrid1.Cells[1, i]:=IntToStr(t1); StringGrid1.Cells[2, i]:=IntToStr(t2); StringGrid1.Cells[3, i]:=IntToStr(t3 div 60)+'ãîä '+IntToStr(t3 mod 60)+'õâ'; StringGrid1.Cells[4, i]:=IntToStr(t4 div 60)+'ãîä '+IntToStr(t4 mod 60)+'õâ'; StringGrid1.Cells[5, i]:=IntToStr(t5 div 60)+'ãîä ' +IntToStr(t5 mod 60)+'õâ'; StringGrid1.Cells[6, i]:=IntToStr(t6); StringGrid1.Cells[7, i]:=IntToStr(t7); end; Label7.Caption:=FloatToStr(so/N)+' õâ'; Label8.Caption:=FloatToStr(Round((st6/N)*100)/100)+' õâ'; Label12.Caption:=floattostr(round((N/t5)*1000)/1000);//êîåô³ö³åíò çàâàíòàæåííÿ Label14.Caption:=floattostr(round((st2/t5)*1000)/1000); //³íòåíñèâí³ñòü âõ³äíîãî ïîòîêó çàÿâîê Label147.Caption := Label147.Caption + floattostr(Round(((st7 / (st6 + st7)) * 100))); end; procedure TForm1.FormCreate(Sender: TObject); begin StringGrid1.Cells[0, 0]:='¹'; StringGrid1.Cells[1, 0]:='t1'; StringGrid1.Cells[2, 0]:='t2'; StringGrid1.Cells[3, 0]:='t3'; StringGrid1.Cells[4, 0]:='t4'; StringGrid1.Cells[5, 0]:='t5'; StringGrid1.Cells[6, 0]:='t6'; StringGrid1.Cells[7, 0]:='t7'; end; end. Висновок:На цій лабораторній роботі я ознайомився з методом імітаційного моделювання та його застосування для дослідження систем масового обслуговування (СМО).
Антиботан аватар за замовчуванням

19.02.2013 22:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!