Автор работы: Пользователь скрыл имя, 27 Декабря 2011 в 16:47, курсовая работа
Радиостанция «Жу-Жу» проводит ежедневное вечернее шоу, во время которого, радиоведущие беседуют с дозвонившимися на заданную тему, а также зачитывают сообшения, присланные слушателями на e-mail и по заявке на сайте радиостанции. Время передачи в эфире 2 часа - с 18.00 до 20.00 часов (время моделирование 7200 секунд).
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
ИРКУТСКИЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
Факультет кибернетики
Кафедра
автоматизированных систем
Руководитель ______ Лебедев К.С.
Моделирование системы «Радиостанция»
______________________________
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по дисциплине
Имитационное моделирование
название
дисциплины
_______________________ПЗ
обозначение
документа
Выполнили студенты группы ИП-07-1 __________ Куренкова Е.Г
Нормоконтролер
Курсовой проект защищен
с оценкой
____________
Иркутск
2011
ИРКУТСКИЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
ЗАДАНИЕ
НА КУРСОВУЮ
РАБОТУ
По
курсу: Имитационное моделирование
Студенту: Куренкова
Е.Г. группа ИП-07-1
Тема
проекта: Моделирование системы «Радиостанция»
Задание: закрепить
полученные навыки в области имитационного
моделирования экономических систем на
основе решения прикладной задачи моделирования
организации как системы массового обслуживания.
Для достижения поставленной цели решить
следующие задачи:
Дата выдачи задания “____”___________ 20__ года
Дата представления
проекта руководителю “____”___________ 20__
года
Руководитель курсового
проектирования_______________
Оглавление
Оглавление
Радиостанция «Жу-Жу» проводит ежедневное вечернее шоу, во время которого, радиоведущие беседуют с дозвонившимися на заданную тему, а также зачитывают сообшения, присланные слушателями на e-mail и по заявке на сайте радиостанции. Время передачи в эфире 2 часа - с 18.00 до 20.00 часов (время моделирование 7200 секунд).
Станция
оборудована тремя
В
обязанности ведущего входит вести
беседу с человеком по телефону,
а также обрабатывать сообщения,
присланные с сайта радио «Жу-Жу» и на
e-mail. Каждый звонок радиослушателя обслуживается
120 секунд. Обработка сообщений с сайта
и с электронной почты длится 30 секунд.
Таблица 1. Описание входных потоков
№ | Назв-е | Интенсивность входного потока |
1 | Zvonok | 1/20 |
2 | 1/600 | |
3 | Site | 1/300 |
Моделирование системы было произведено в среде программирования Borland Delphi.
Разработку схемы будем вести при следующих условиях.
Блок схема программы представлена на рисунке 1.
Вывод результатов:
Рис. 1 Блок-схема
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Buttons, Math, Grids;
type
TForm1 = class(TForm)
Label3: TLabel;
Edit1: TEdit;
Label4: TLabel;
Edit2: TEdit;
UpDown2: TUpDown;
Label5: TLabel;
Edit3: TEdit;
UpDown3: TUpDown;
Label6: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Label7: TLabel;
Label8: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Label9: TLabel;
Label10: TLabel;
Edit8: TEdit;
Memo1: TMemo;
Label11: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
T,MatOz1,MatOz2: real;
F: integer;
Nin, Nout: integer;
Nq,Nqmax: integer;
Tin,Tout: real;
Stb,Stw,Stu: real;
Mtq: array [1..1000] of real;
tm: real;
N0: integer;
p,w,l,u,m: real;
Ax,Bx: Byte;
implementation
{$R *.dfm}
function slChisl(fun: byte; matOz: real): real;
var
i: integer;
rez,lambd: real;
chisl: real;
x: array[1..3] of real;
begin
lambd:=1/matOz;
if fun=1 then
begin
randomize;
chisl:=random;
rez:=lambd*exp(-lambd*chisl);
end;
if fun=2 then
begin
randomize;
chisl:=random;
rez:=(lambd/2)*exp(-lambd*abs(
end;
slChisl:=rez;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i:integer;
sch: real;
Mtq1: array [1..1000] of real;
begin
Memo1.Lines.Clear;
//1 Ввод исходных данных
Ax:=1;
Bx:=2;
T:=StrToFloat(Edit1.Text);
MatOz1:=StrToFloat(Edit2.
MatOz2:=StrToFloat(Edit3.
//2 Инициализация переменных
F:=0; Nin:=0; Nout:=0; Nq:=0; Nqmax:=0;
Tin:=0; Tout:=0;
Stb:=0; Stw:=0; Stu:=0; tm:=0; N0:=0;
//3 Планирование прихода первой заявки
sch:=slChisl(Аx,MatOz1);
Tin:=tm+sch;
Tout:=T+20;
//4 Сдвиг модельного времени на момент ближайшего события
tm:=min(Tin,Tout);
tm:=min(tm,T);
While (tm=Tin) or (tm=Tout) do
begin
if tm=Tin then
begin
Nin:=Nin+1;
sch:=slChisl(Bx,MatOz1);
Tin:=tm+sch;
//Планирование прихода следующей заявки
if F=0 then
begin
F:=1; N0:=N0+1;
sch:=slChisl(Ax,MatOz2);
Tout:=tm+sch;
Stb:=Stb+sch;
Stu:=Stu+sch;
end else
begin
if Nq<5 then
Nq:=Nq+1 else Nq:=Nq;
Nqmax:=max(Nq,Nqmax);
Mtq[Nq]:=tm;
end;
end;
if tm=Tout then
begin
Nout:=Nout+1;
if Nq=0 then
begin
F:=0;
Tout:=T+20;
end else
begin
w:=tm-Mtq[1];
Stw:=Stw+w;
Nq:=Nq-1;
for i:=2 to 1000 do Mtq1[i-1]:=Mtq[i];
for i:=1 to 1000 do Mtq[i]:=Mtq1[i];
sch:=slChisl(Ax,MatOz2);
Tout:=tm+sch;
Stb:=Stb+sch;
Stu:=w+sch;
end;
end;
//Обработка результатов моделирования
p:=Stb/T;
w:=Stw/(Nout+F);
l:=Stw/t;
u:=w+MatOz2;
m:= T/Stu;
tm:=min(Tin,Tout);
tm:=min(tm,T);
end;
//Вывод результатов моделирования
Edit4.Text:=FloatToStr(p);
Edit5.Text:=FloatToStr(w);
Edit6.Text:=FloatToStr(l);
Edit7.Text:=FloatToStr(u);
Edit8.Text:=FloatToStr(m);
Memo1.Lines.Add('F='+intToStr(
Memo1.Lines.Add('NO='+
Memo1.Lines.Add('Nin='+
Memo1.Lines.Add('Nout='+
Memo1.Lines.Add('Nq='+
Memo1.Lines.Add('Nqmax='+
for i:=0 to 10 do Memo1.Lines.Add('Mtq['+
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Close;
end;
end.
Результат работы программы представлен на рисунке 2.
По результатам
моделирования в среде программирования
Borland Delphi получили:
ρ – загрузка системы = 0,996 — система загружена на 99%;
u
– среднее время пребывания = 6,33 — в среднем,
каждая заявка пребывает в системе 6 минут;
Рис. 2 – Результат работы программы.
Исследуем работу приемщика. Сведем данные в таблицу, которые даны по условию и которые необходимы для расчета критерия эффективности E.
Е = λ · (eотк · Pотк + eу · Pух) + eп · (m – k),
где
– интенсивность входного потока заявок;
eотк– штраф за отказ системы принять
заявку;
eу– штраф за уход заявки из СМО;
eп– штраф за незанятый канал (простой
канала);
Pотк– вероятность отказа в обслуживании
заявки;
Pу– вероятность ухода «нетерпеливых
заявок»;
μ – интенсивность потока обслуживания;
n – количество мест в очереди;
m – количество каналов обслуживания;
– время пребывания заявок в системе;
ρ= λ/ μ – эффективность
входного потока;
– среднее число занятых каналов.
eотк | 6000 |
eу | 500 |
eп | 5000 |
Возможные состояния системы :
Находим вероятности пребывания системы в i-ом состоянии по формулам:
До появления очереди:
, где i=1,2,..,m
После появления очереди:
, где l=1,2,..,n
Вероятность отказа P7 = 0,5464, что является реальным показателем для популярного вечернего шоу на радиостанции, но очень плохим показателем для слушателей.
Среднее число занятых каналов
k = | 0,997 |
Средняя длина очереди:
e = | 5,8008 |
Критерий эффективности СМО
E = 213,28
Таким образом, суммарные потери за один прямой эфир составляют 213, 28 рублей. Так как эфирное время очень «дорогое», штрафы за отказы назначаются большие. Ведущий работает с эффективностью 99%, тем самым снижая потери до минимума. Средняя длина очереди на протяжении всего прямого эфира составляет 5,8 из 6 возможных мест, что говорит о необходимости увеличения числа телефонных аппаратов для принятия звонков.
EXPON1 FUNCTION RN2,C24
0,0/.100,.104/.200,.222/.300,.
.750,1.380/.800,1.600/.840,1.
.950,2.990/.960,3.200/.970,3.
.999,7/1,8
zvonok storage 6
ogran storage 6
ved storage 200
generate 20,FN$EXPON1
gate NU ved,met
seize ved
ADVANCE 120,FN$EXPON1
release ved
TERMINATE
met gate SNF ogran,met2
queue ogran
enter zvonok
depart ogran
gate NU ved
seize ved
ADVANCE 30,FN$EXPON1
release ved
leave zvonok
met2 TERMINATE
generate 600,FN$EXPON1
queue mail
gate NU ved
seize ved
depart mail
ADVANCE 30,FN$EXPON1
release ved
TERMINATE
generate 300,FN$EXPON1
queue site
gate NU ved
seize ved
depart site
ADVANCE 30,FN$EXPON1
release ved
TERMINATE
generate 7200
terminate 1
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 7200.000
34 1
3
NAME VALUE
EXPON1 10000.000
MAIL 10005.000
MET
MET2 16.000
OGRAN 10002.000
SITE 10004.000
VED 10003.000
ZVONOK
10001.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 371 0 0
2 GATE 371 0 0
3 SEIZE 2 0 0
4 ADVANCE 2 0 0
5 RELEASE 2 0 0
6 TERMINATE 2 0 0
MET 7 GATE 369 0 0
8 QUEUE 369 146 0
9 ENTER 223 0 0
10 DEPART 223 5 0
11 GATE 218 0 0
12 SEIZE 218 0 0
13 ADVANCE 218 1 0
14 RELEASE 217 0 0
15 LEAVE 217 0 0
MET2 16 TERMINATE 217 0 0
17 GENERATE 13 0 0
18 QUEUE 13 1 0
19 GATE 12 0 0
20 SEIZE 12 0 0
21 DEPART 12 0 0
22 ADVANCE 12 0 0
23 RELEASE 12 0 0
24 TERMINATE 12 0 0
25 GENERATE 24 0 0
26 QUEUE 24 1 0
27 GATE 23 0 0
28 SEIZE 23 0 0
29 DEPART 23 0 0
30 ADVANCE 23 0 0
31 RELEASE 23 0 0
32 TERMINATE 23 0 0
33 GENERATE 1 0 0
34 TERMINATE
1
0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
VED
255 0.999 28.213
1 241 0
0 7 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
OGRAN 146 146 369 6 82.551 1610.758 1637.383 0
SITE 4 1 24 0 0.582 174.473 174.473 0
MAIL
1 1 13
0 0.297 164.675
164.675 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
ZVONOK 6 0 0 6 223 1 5.946 0.991 0 146
OGRAN 6 6 0 0 0 1 0.000 0.000 0 0
VED
200 200 0 0
0 1 0.000 0.000
0 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
412 0 7200.555 412 0 1
241 0 7203.753 241 13 14
409 0 7388.736 409 0 17
402 0 7908.815 402 0 25
413
0 14400.000 413
0 33
Проанализировав
данные отчета, можно сказать, что загруженность
ведущего является идеальной - 99%, а потери
которые получаются из за простоя и отказа
клиентов не значительные. Очередь
на звонок в среднем занята практически
полностью, на 5,9 мест из 6, что совпадает
с результатами аналитического моделирования
и подтверждает тот факт, что существует
необходимость в увеличении количества
теелефоных аппаратов.
В процессе выполнения данной работы были закреплены знания и навыки в области имитационного моделирования систем.
Проанализировав результаты аналитического и двух имитационных моделирований можно сделать вывод, что все они приблизительно сходятся, имеются лишь небольшие отклонения в результатах, так как при моделировании системы в среде программирования Borland Delphi учитывались лишь звонки в эфир, без заявок с сайта и заявок, пришедших по электронной почте.
Все результаты указывают на то, что работа радиостанции эффективна почти на 100%. Вероятность обслуживания звонка радиослушателя мала, так как количество заявок велико и идет с большой интенсивностью, очередь почти сразу же наполняется до предела.