50441

Определить средние значения очередей пассажиров и машин и средние значения времени пребывания на стоянке пассажиров и машин

Лабораторная работа

Информатика, кибернетика и программирование

Система массового обслуживания представляет собой стоянку такси, на которую поступает поток пассажиров с интенсивностью и поток машин с интенсивностью заявок в час (все потоки простейшие). Пассажиры образуют очередь, которая уменьшается на 1, когда к стоянке подходит машина. В случае, когда на стоянке нет пассажиров, в очередь становятся машины. Число мест для машин на стоянке ограничено (n=10). Очередь пассажиров не ограничена, посадка производится мгновенно.

Русский

2014-02-03

106.5 KB

20 чел.

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра ПОИТ

ОТЧЕТ

по лабораторной работе

по курсу «САиММ»

Выполнили:

Проверил:

Студенты гр. 251005

Русин В.Г.

Барабаш Е.

Бритвич Т.

Калюта А.

Минск 2005

I. Постановка задачи.

Система массового обслуживания представляет собой стоянку такси, на которую поступает   поток пассажиров с интенсивностью =12.0 и поток машин с интенсивностью =15.0 заявок в час (все потоки простейшие). Пассажиры образуют очередь, которая уменьшается на 1, когда к стоянке подходит машина. В случае, когда на стоянке нет пассажиров, в очередь становятся машины. Число мест для машин на стоянке ограничено (n=10). Очередь пассажиров не ограничена, посадка производится мгновенно.

Определить средние значения очередей пассажиров и машин и средние значения времени пребывания на стоянке пассажиров и машин.

II. Диаграмма интенсивности переходов.

                                              

…           …                            …          …

                                              

Состояния СМО пронумерованы соответственно числу пассажиров и машин на стоянке двумя индексами:

- первый – число пассажиров;

- второй – число машин.

S0,0 – состояние, когда на стоянке нет ни пассажиров, ни машин;

S0,i – состояние, когда на стоянке нет пассажиров, i – машин;

...

Sj,0 – состояние, когда на стоянке нет машин и j – пассажиров;


III
. Расчет аналитической модели.

По условию:

   =12.0.

   =15.0.

   Очередь машин ограничена – n=10.

   Очередь пассажиров не ограничена.

   Все потоки простейшие.

Поток пассажиров - одноканальный, с неограниченной очередью.

Приход пассажиров – поступление заявки, а приезд такси – её обработка.

 

Таким образом:

  •  среднее значение очереди пассажиров = 3.2
  •  среднее время пребывания пассажиров на стоянке = 0.35

Для потока машин приезд такси – поступление заявки, а приход пассажира её обработка, поэтому:

Таким образом:

  •  среднее значение очереди машин = 6.16
  •  среднее время пребывания пассажиров на стоянке = 0.477.


IV
. Результаты работы имитационной модели.

1. Для 1000 единиц времени.

2. Для 10000 единиц времени.

V. Вывод.

Небольшие отклонения в результатах работы имитационной модели с аналитической моделью зависят от встроенного генератора случайных чисел, от выбора количества единиц времени работы системы, от выбора интервала .


VI.
Листинг программы.

void __fastcall TForm1::Button1Click(TObject *Sender)

{

       switch(Flag)

       {

       case 0:

               {

               Queue *headM=NULL,*backM=NULL,*headL=NULL,*backL=NULL,*New;

               l=StrToFloat(Edit1->Text);

               m=StrToFloat(Edit2->Text);

               Noch=StrToInt(Edit3->Text);

               Tmax=StrToFloat(Edit9->Text);

               double dt=(double)1/(10*m);

               Edit10->Text=dt;

               int OchL=0,OchM=0,LochL=0,LochM=0,Sch=0,SchM=0,SchL=0;

               double To=0;

               randomize();

               double Tn=(double)(-1/l)*log((rand()+1)/(double)(RAND_MAX+1));

               double Ts=0;

               int Sk=0;

               double TimeInL=0,TimeInM=0;

               int AOchM[100],AOchL[100];

               for(int i=0;i<100;i++)

               {

                       AOchM[i]=0;AOchL[i]=0;

               }

               while(Ts<Tmax)

               {

                       Ts += dt;

                       Sch++;

                       if (OchM) LochM += OchM;

                       if (OchL) LochL += OchL;

                       AOchL[OchL]++;

                       AOchM[OchM]++;

                       if (Ts>To)

                       {

                               if(OchL!=0)

                               {

                                       OchL--;

                                       headL->TimeIn=To-headL->TimeIn;

                                       TimeInL += headL->TimeIn;

                                       Queue *temp;

                                       temp=headL;

                                       headL=headL->next;

                                       delete temp;

                                       

                               }

                               else

                               {

                                   if(OchM!=Noch)

                                   {

                                       New=new Queue;

                                       New->TimeIn=To;

                                       New->next=NULL;

                                       if (headM==NULL)

                                               headM=backM=New;

                                       else

                                       {

                                               backM->next=New;

                                               backM=New;

                                       }

                                       OchM++;

                                   }

                               }

                               SchM++;

                               To=Ts + (double)(-1/m)*log((rand()+1)/(double)(RAND_MAX+1));

                       }

                       if (Ts>Tn)

                       {

                               if(OchM!=0)

                               {

                                       OchM--;

                                       headM->TimeIn=Tn-headM->TimeIn;

                                       TimeInM += headM->TimeIn;

                                       Queue *temp;

                                       temp=headM;

                                       headM=headM->next;

                                       delete temp;

                               }

                               else

                               {

                                       OchL++;

                                       New=new Queue;

                                       New->TimeIn=Tn;

                                       New->next=NULL;

                                       if (headL==NULL)

                                               headL=backL=New;

                                       else

                                       {

                                               backL->next=New;

                                               backL=New;

                                       }

                               }

                               SchL++;

                               Tn=Ts + (double)(-1/l)*log((rand()+1)/(double)(RAND_MAX+1));

                       }

               }

               double Ll,Lm;

               for (int i=0;i<100;i++)

                       Ll += (double)i*AOchL[i]/Sch;

               for (int i=0;i<=Noch;i++)

                       Lm += (double)i*AOchM[i]/Sch;

               Edit4->Text=(double)Ll;

               Edit5->Text=(double)Lm;

               Edit6->Text=(double)TimeInL/SchL;

               Edit7->Text=(double)TimeInM/SchM;

               }

               break;

            }

}


S 0.0

S 0.1

S 0.i

S 0.n

S 1.0

S j.0


 

А также другие работы, которые могут Вас заинтересовать

14653. Анализ переходных процессов в САР, типовых динамических звеньях и их соединениях 138 KB
  ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №1 Анализ переходных процессов в САР типовых динамических звеньях и их соединениях. Цель : анализ переходных процессов типовых динамических звеньев САР и их соединений. Параметры динамических звеньев: k=35 T1=210 T2=250 b=0...
14654. ИССЛЕДОВАНИЕ ТОЧНОСТИ ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА ИЗГОТОВЛЕНИЯ ДЕТАЛИ 355.5 KB
  Лабораторная работа №1 по курсу Надёжность технических и программных средств ИССЛЕДОВАНИЕ ТОЧНОСТИ ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА ИЗГОТОВЛЕНИЯ ДЕТАЛИ 1. Цель работы. Целью этой работы является ознакомление с практическим использованием положений теории ...
14655. ОПРЕДЕЛЕНИЕ ЭДС КОМПЕНСАЦИОННЫМ СПОСОБОМ 47 KB
  Определение эдс компенсационным способом I. Определение эдс неизвестного элемента Ех. Собрать цепь по схеме соблюдая полярность подключения источников ключи разомкнуты: Рис.1 Определите участок на котором происходит компенсация. После проверки...
14656. Определение утечек холодильного агента 39.5 KB
  Лабораторная работа: Определение утечек холодильного агента Цель работы Углубление знаний по курсу путем изучения способов обнаруженияутечек холодильных агентов и получения навыков их определения. Правила техники безопасности Запрещается: в...
14657. ОПРЕДЕЛЕНИЕ ПАРАМЕТРОВ ВЛАЖНОГО ВОЗДУХА 282.5 KB
  Лабораторная работа №1 на тему: ОПРЕДЕЛЕНИЕ ПАРАМЕТРОВ ВЛАЖНОГО ВОЗДУХА 1. ЦЕЛЬ РАБОТЫ Научиться определять параметры влажного воздуха: с помощью психрометров Августа и Ассмана; с помощью i d диаграммы влажного воздуха; расчётными методами. 2....
14658. Определение износа основных деталей компрессоров 95.5 KB
  Лабораторная работа: Определение износа основных деталей компрессоров I Общие положения Цель занятий Получить и закрепить навыки по определению износа основныхдеталей компрессоров и сравнить его с допустимыми нормами износа этихчастей определить
14659. Практические навыки работы с микропроцессором Intel 80х86 68 KB
  Вариант №2 Лабораторная работа №1. Цель работы: приобрести практические навыки работы с микропроцессором Intel 80х86 изучить возможности устройства Intel 80х86 практически освоить режимы его работы. № п/п 1ое слагаемое ...
14660. Изучение арифметических команд и команд пересылки данных 68 KB
  Рузанов И.В. 3922 Вариант №1 Лабораторная работа №1. Цель работы: приобрести практические навыки работы с микропроцессором Intel 80х86 изучить возможности устройства Intel 80х86 практически освоить режимы его работы. № п/п 1ое слаг
14661. Организация условных переходов 50 KB
  Вариант №5 Часть вторая. Лабораторная работа 1 Организация условных переходов Из имеющегося массива чисел осуществить выборку тех которые имеют четное число единиц. № вар. Исходный массив 5 ...