Автор работы: Пользователь скрыл имя, 05 Января 2014 в 16:29, реферат
При исследовании операций часто приходится сталкиваться с анализом эффективности работы систем массового обслуживания. Примеры СМО: телефонная станция, ремонтные мастерские, билетные кассы, АЗС, железнодорожная сортировочная станция.
В теории массового обслуживания понятие очереди является одним из основных.
Определение: Очередью называется линейная цепочка выстроившихся один за другим объектов, нуждающихся в обслуживании.
Введение…………………………………………………………………………………
3
Общие понятие теории массового обслуживания……………………………………
10
Анализ задания и принятия допущений………………………………………………
11
Построение концептуальной модели………………………………………………….
12
Алгоритм моделирования СМО……………………………………………………….
13
Программная реализация………………………………………………………………
15
Работа программы и получение данных для анализа работы СМО…………………
16
Заключение………………………………………………………………………………
17
Список литературы………………………………………………………
Анализ задания и принятия допущений
Код задания для варианта 4 имеет следующий вид:
«δХNIA2в»
Это значит, что необходимо
составить алгоритмы
Разработанная модель должна соответствовать следующими условиями:
Заданные параметры системы являются неполными. По умолчанию необходимо задать следующее:
Кроме того, для реальной СМО дополнительно принимают допущения и задаются следующие параметры:
Построение концептуальной модели
Для построения концептуальной модели необходимо разбить общий процесс рассмотрения заявок на подпроцессы, выделить логику поведения заявок. Для этого составим алгоритм на уровне функциональных блоков (рис 1.).
Рис 1. Укрупненная структура модели СМО
1) Рассматриваемая в задаче СМО представляет собой СМО с:
2) Определение времен поступления и обслуживания заявок:
3) Функционирование рассматриваемой СМО:
4) Дисциплина обслуживания:
Задача моделирования: зная параметры входных потоков заявок промоделировать поведение системы и вычислить её основные характеристики её эффективности. Меняя величину Т от меньших значений до больших (интервал времени, в течении которого происходит случайный процесс поступления заявок 1-го и 2-го потока в СМО на обслуживание), можно найти изменения критерия эффективности функционирования и выбрать оптимальный.
Принцип моделирования:
Программная реализация
Программа была разработана в среде программирования Turbo Pascal. Алгоритм функционирования программы заключается в следующем: после считывания введенных пользователем параметров, производится генерация моментов появления Заявок. Затем выполняется процедура, реализующая СМО, представляющая собой цикл с условием выхода по истечению времени функционирования СМО. Значения интенсивностей появления заявок в системе и обслуживания заявок заданы в программе в виде констант.
Отсчёт внутреннего времени СМО выполняется с помощью приращения переменной. В текущий момент времени производится проверка моментов появления заявки. Если заявка появилась, когда один из каналов был свободен, заявка поступает на обслуживание в свободный канал. В противном случае при появлении заявки II, она получает отказ (соответственно увеличивается число необслуженных заявок). При появлении Заявки I, она не обслуживается в случае занятости обоих каналов заявками I. При занятости хотя бы одного канала Заявкой II, Заявка I становится на место Заявки II, (Заявка II покидает систему необслуженной, увеличивается количество необслуженных заявок).
Описание интерфейса:
При каждом новом запуске программы сначала вводится число реализаций работы системы, затем при каждой новой реализации вводится время функционирования СМО –Т. При поступлении новой заявки программа выводит сообщение (Поступила заявка 1, Поступила Заявка 2).Программа выводит сообщения об обслуживании/необслуживании вновь поступившей заявки. Затем, по окончании времени функционирования системы выводится сколько заявок поступило и сколько из них было обслужено, а сколько получило отказ. Далее программой производится расчет и вывод основных выбранных характеристик СМО.
Листинг программы представлен в приложении 1.
Работа программы и получение данных для анализа работы СМО
Чтобы исследовать поведение смоделированной СМО при различных значениях времени функционирования, зададим число реализаций программы равным 18. Причем, при каждой новой реализации, будем задавать больший интервал времени функционирования системы.
Интересно также пронаблюдать поведение СМО при изменяющихся значениях интенсивностей появления заявок в системе. Поэтому изменим значения этих констант в программе и пронаблюдаем поведение СМО. Значения интенсивностей поступления заявок1 уменьшим на 1, а заявок 2- увеличим на 1.
Новые значения интенсивностей:: =2, =2, =2, =1.
Т.о. исследуем работу
системы при следующих
Вариант 1 |
2 |
2 |
2 |
1 |
Вариант 2 |
3 |
1 |
2 |
1 |
Результаты работы системы представлены в приложении 2.
Заключение
Целью данного курсового проекта было
построение модели двухканальной СМО
и без приоритетов. Модель СМО была и реализована
с помощью программы в среде TURBO PASKAL. В
процессе нескольких реализаций работы
СМО для двух вариантов значений интенсивностей
поступления заявок в были получены результаты
функционирования системы.
Проведенное
исследование приведенные в приложениях
1-2.
Список литературы
Приложение 1
Листинг программы.
^ PROGRAM
CAN_SMO;
TYPE
CHANNAL = (FREE, CLAIM1, CLAIM2);
TIME = word;
INTENSITY = word;
STATISTICS = word;
VAR
CHANNAL1, CHANNAL2 : CHANNAL;{Каналы }
_T_, t, tc1, tc2 : TIME; {Время}
l1, l2, n1, n2 : INTENSITY; {Интенсивности }
served1, not_served1,
served2, not_served2,
S : STATISTICS; {Статистика}
M,N:INTEGER;{число реализаций}
FUNCTION W(t : TIME; l : INTENSITY) : boolean;{Определяет
появилась ли заявка}
Begin {по интенсивности потока l}
if random < l/60 then W := TRUE else W := FALSE;
End;
FUNCTION F(t : TIME; n : INTENSITY) : TIME;{Определяет сколько
будет обрабатываться заявка}
Begin {по интенсивности обслуживания заявок
n}
F := t +round(60/(n));
End;
BEGIN
M:=0;
^ WRITELN('ВВЕДИТЕ
ЧИСЛО РЕАЛИЗАЦИЙ РАБОТЫ СМО');
READLN(N);
REPEAT
M:=M+1;
writeln(M, '-ая реализация');
randomize;
CHANNAL1 := FREE; CHANNAL2 := FREE;
l1 := 3; l2 := 1; n1 := 2; n2 := 1;
served1 := 0; not_served1 := 0;
served2 := 0; not_served2 := 0;
write('Введите время исследования СМО - Т:
'); readln(_T_);
repeat
if tc1 = t then
begin
if CHANNAL1 = CLAIM1 then inc(served1) else inc(served2);
^ CHANNAL1
:= FREE;
writeln('Канал1 выполнил заявку');
end;
if tc2 = t then
begin
if CHANNAL2 = CLAIM1 then inc(served1) else inc(served2);
CHANNAL2 := FREE;
writeln('Канал2 выполнил заявку');
end;
if W(t,l1) then
begin
writeln('Поступила заявка1');
if CHANNAL1 = FREE then
begin CHANNAL1 := CLAIM1; tc1 := F(t,n1); writeln('Канал1 принял
заявку1'); end
else if CHANNAL2 = FREE then
begin CHANNAL2 := CLAIM1; tc2 := F(t,n1); writeln('Канал2 принял
заявку1'); end
else if CHANNAL1 = CLAIM2 then
begin CHANNAL1 := CLAIM1; tc1 := F(t,n1); inc(not_served2); writeln('Канал1
принял заявку1 вместо заявки2'); end
else if CHANNAL2 = CLAIM2 then
begin CHANNAL2 := CLAIM1; tc2 := F(t,n1); inc(not_served2); writeln('Канал2
принял заявку1 вместо заявки2'); end
else begin inc(not_served1); writeln('заявка1 не обслужена');
end;
end;
if W(t,l2) then
begin
writeln('Поступила заявка2');
if CHANNAL1 = FREE then
begin CHANNAL1 := CLAIM2; tc1 := F(t,n2); writeln('Канал1 принял
заявку2');end
else if CHANNAL2 = FREE then
begin CHANNAL2 := CLAIM2; tc2 := F(t,n2); writeln('Канал2 принял
заявку2');end
else begin inc(not_served2); writeln('заявка2 не обслужена');
end;
end;
inc(t);
until _T_ = t;
S := served1 + not_served1 + served2 + not_served2;
writeln('время работы СМО ',_T_);
writeln('обслужено каналом1: ' ,served1);
writeln('обслужено каналом2: ',served2);
writeln('Поступило заявок : ',S);
writeln('Обслужено заявок : ',served1+served2);
writeln('Не обслужено заявок : ',not_served1+not_served2);
{writeln('Интенсивность поступления заявок
в систему : ',(served1+served2)/_T_:2:3);}
writeln('Абсолютная пропускная способность
системы : ',(served1+served2)/T:2:3);
writeln('Вероятность отказа : ',(not_served1+not_served2)/S*
writeln('Относительная пропускная способность
системы: ',(served1+served2)/S:2:3);
readln;
^ UNTIL
M>=N;
writeln('моделирование закончено');
END.
Приложение 2
Результаты работы СМО.
Информация о работе Общие понятие теории массового обслуживания