Многоканальная модель с отказами, пуассоновским входным потоком и экспоненциальным распределением длительности обслуживания

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

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 13.06.2019
Размер файла 507,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ЭНЕРЕГТИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра ИК

Дисциплина:

«Теория массового обслуживания»

Лабораторная работа «Многоканальная модель с отказами, пуассоновским входным потоком и экспоненциальным распределением длительности обслуживания»

Выполнила: студентка гр. ПМ-1-16

Розенфельд В.Н.

Казань, 2019

Пусть СМО с отказами имеет n каналов обслуживания, функционирующих независимо друг от друга. Входной поток заявок и поток обслуживания заявок являются пуассоновскими. Интенсивность поступления заявок равна l, интенсивность обслуживания m. Обозначим состояния СМО так:

- все каналы свободны;

- занят один канал, остальные свободны;

- заняты ровно k каналов, остальные свободны;

- все n каналов заняты, поступившая в СМО заявка получает отказ в обслуживании. Уравнения Колмогорова для вероятностей состояний системы , будут иметь следующий вид:

, 1<=k<=n-1,

Начальные условия решения СМО таковы: P0(0)=1, P1(0)=0, …,Pn(0)=0.

Стационарное решение СМО имеет вид (формулы Эрланга):

, k=1, 2,..., n,

,

Вероятностные характеристики многоканальной СМО с отказами в стационарном режиме таковы:

1) вероятность отказа: Pотк = Pn

2) вероятность того, что заявка будет принята к обслуживанию (относительная пропускная способность): q=1- Pотк

3) абсолютная пропускная способность: A=

4) среднее число каналов, занятых обслуживанием: ksr= Pотк)

Задача. Пусть n- канальная СМО представляет собой вычислительный центр (ВЦ) с тремя взаимозаменяемыми ПЭВМ для решения поступающих задач. Поток задач, поступающих на ВЦ, имеет интенсивность l = 1 задачу в час. Средняя продолжительность обслуживания 1/m = 1.8. Поток заявок на решение задач и поток обслуживания этих заявок являются простейшими. Вычислите финальные значения:

1. Вероятности состояний ВЦ

Для удобства составления программы упростим формулы:

; ; ;

вычислительный центр пропускной заявка

2. Вероятности отказа в обслуживании заявки Ротк 3

3. Относительной пропускной способности ВЦ q=1- Pотк.

4. Абсолютной пропускной способности ВЦ A=

5. Среднего числа занятых ПЭВМ на ВЦ ksr= Pотк)

Блок-схема программы для C#:

Испытаем работу СМО в течение 500 минут (значит proc(500)).

Листинг программы на языке С#:

using System;

namespace ConsoleApplication1

{ class Program

{ static void Main(string[] args)

{

double t = 1.8;

double lambda = 1;

double mu = 1 / t;

double q = mu / (mu + lambda);

double A = lambda * q;

double P = 1 - q;

Console.WriteLine("Средняя продолжительность обслуживания: " + t);

Console.WriteLine("Интенсивность потока задач: " +lambda);

Console.WriteLine("Интенсивность потока: " + mu);

int k;

proc(500);

Console.ReadKey();

P0=1/((Math.Summ(p^k)/Math.Factorial(k)));

P1=P*P0;

P2=P*P*P0/2;

P3=P*P*P*P0/6;

G=1-P3;

A=lambda*G;

K=P*P3; }

static void proc(int k)

{

int t_okon = 0;

int post = 0;

int obsl = 0;

int otk = 0;

Random random = new Random();

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

{

int rn_post = random.Next(0, 60);

if (rn_post == 1 && t_okon == 0)

{

post++;

t_okon = poisson(108);

obsl++;

}

if (rn_post == 1 && t_okon > 0)

{

post++;

t_okon--;

otk++;

}

if (rn_post > 1 && t_okon > 0)

{

t_okon--;

}

}

Console.WriteLine();

Console.WriteLine("Поступило задач: " + post);

Console.WriteLine("Из них решено: " + obsl);

Console.WriteLine("Отказов решить: " + otk);

Console.WriteLine("Затрачено минут на решение задач: " + Summ);

Console.WriteLine();

Console.WriteLine("Р0 =" + P0);

Console.WriteLine("вероятность состояний ВЦ: " + " Р1 =" + P1 + " Р2 ="+ P2 + " Р3 ="+ P3 );

Console.WriteLine("вероятность отказа в обслуживании заявки: " + Р3);

Console.WriteLine("относительная пропускная способность ВЦ: " + G);

Console.WriteLine("абсолютная пропускная способность ВЦ: " + 0.730);

Console.WriteLine("среднее число занятых ПЭВМ на ВЦ: " + 1.12);

}

static int poisson(int mean)

{

var L = Math.Exp(-mean);

double p = 1.0;

var k = 0;

do

{

for per>1

t_okon1=random(108);

sm_t_obs=sm_t_obs+t_okon1;

obsl++1;

k++;

p *= new Random().NextDouble();

} while (p > L);

return k - 1;

}

}

}

Результат работы программы:

Таким образом, при установившемся режиме работы СМО в среднем будет занято 1,5 компьютера из трех -- остальные полтора будут простаивать. Работу рассмотренного ВЦ вряд ли можно считать удовлетворительной, так как центр не обслуживает заявки в среднем в 18% случаев (Р3 = 0,180)

6. Определите, сколько дополнительно надо приобрести ПЭВМ, чтобы увеличить пропускную способность ВЦ в 2 раза.

Иначе говоря, сколько нужно использовать ПЭВМ, чтобы сократить число не обслуженных заявок, поступающих на ВЦ, в 2 раза, т.е. чтобы вероятность отказа в решении задач не превосходила 0,09. Для этого используем формулу . Увеличим число ПЭВМ на 1, а значит добавим формулу .

Получим следующий результат:

Вероятность отказа меньше 0,09, значит задача выполнена. Итак, нужно увеличить количество ПЭВМ до 4.

Оценим качество функционирования ВЦ методом статистических испытаний. Для этого нам потребуется процедура статистического моделирования работы ВЦ:

1) Задайте длительность испытания в 6000 минут и найдите оценки следующих характеристик СМО:

· Вероятности состояний ВЦ;

· Вероятности отказа в обслуживании заявки;

· Относительной пропускной способности ВЦ;

· Абсолютной пропускной способности ВЦ;

· Среднего числа занятых ПЭВМ на ВЦ.

Меняем в программе proc(500) на proc(6000).

Получаем:

Следовательно, при увеличении длительности испытания увеличивается количество задач (поступление, решенных и нерешенных), вероятность отказа увеличивается, а значит и абсолютная пропускная способность меньше. Вероятности состояний не меняются, среднее число занятых ПЭВМ тоже.

2) В процедуре моделирования работы СМО замените генератор псевдослучайных чисел следующим генератором, где p - случайная величина, равномерно распределенная на интервале от 0 до 1, - интенсивность поступления задач. Повторите опыт с модифицированной процедурой и сравните полученные результаты с результатами предыдущего опыта. Дайте обоснование применения формулы для генерирования нужных псевдослучайных чисел.

Используем для сравнения количество ПЭВМ =3:

Заменяем строку кода: t_okon = poisson(108);

На: t_okon = (-1)*Math.Log(poisson(108))/lambda;

Получаем (погон 2 раза):

Среднее число занятых ПЭВМ в целом не меняется, но вероятность отказа в обслуживании стала меньше. То есть применение формулы оправдано, ведь пропускная способность немного увеличивается.

3) Разработайте процедуру моделирования работы ВЦ для случая, когда интенсивности каналов обслуживания различные.

В случае разных интенсивностей каналов происходит «утроение» всех расчетов и переменных. Разные интенсивности каналов обслуживания = разное время обслуживания (т.к. интенсивность зависит от времени). Зададим для 3 ПЭВМ разные интенсивности (1.8, 1.9, 2.1). Соответственно вероятности отказа, пропускные способности и все расчеты для каждого ПЭВМ разные, но формулы те же.

Блок-схема программы C#:

Листинг программы на языке C#:

using System;

namespace ConsoleApplication1

{ class Program

{ static void Main(string[] args)

{ double t1 = 1.8;//средняя продолжительность обслуживания

double t2 = 1.9;

double t3 = 2.1;

double lambda = 1;

double mu1 = 1 / t1;

double mu2 = 1 / t2;

double mu3 = 1 / t3;

double q1 = mu1 / (mu1 + lambda);

double q2 = mu2 / (mu2 + lambda);

double q3 = mu3 / (mu3 + lambda);

double P1 = 1 - q1;

double P2 = 1 - q2;

double P3 = 1 - q3;

Console.WriteLine("Средняя продолжительность обслуживания на 1 ПЭВМ 1: " + t1);

Console.WriteLine("Средняя продолжительность обслуживания на 2 ПЭВМ: " + t2);

Console.WriteLine("Средняя продолжительность обслуживания на 3 ПЭВМ: " + t3);

Console.WriteLine("Интенсивность потока 1: " + mu1);

Console.WriteLine("Интенсивность потока 2: " + mu2);

Console.WriteLine("Интенсивность потока 3: " + mu3);

proc(800);//продолжительность работы СМО в минутах

Console.ReadKey();}

static void proc(int k)

{ int t_okon1 = 0; int t_okon2 = 0; int t_okon3 = 0;

int post1 = 0; int post2 = 0; int post3 = 0;

int obsl1 = 0; int obsl2 = 0; int obsl3 = 0;

int otk1 = 0; int otk2 = 0; int otk3 = 0;

Random random = new Random();

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

{ int rn_post1 = random.Next(0, 60);

if (rn_post1 == 1 && t_okon1 == 0)

{ post1++;

t_okon1 = poisson(108);

obsl1++;}

if (rn_post1 == 1 && t_okon1 > 0)

{ post1++;

t_okon1--;

otk1++; }

if (rn_post1 > 1 && t_okon1 > 0)

{ t_okon1--; }}

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

{ int rn_post2 = random.Next(0, 60);

if (rn_post2 == 1 && t_okon2 == 0)

{ post2++;

t_okon2 = poisson(108);

obsl2++; }

if (rn_post2 == 1 && t_okon2 > 0)

{ post2++;

t_okon2--;

otk2++; }

if (rn_post2 > 1 && t_okon2 > 0)

{ t_okon2--; } }

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

{ int rn_post3 = random.Next(0, 60);

if (rn_post3 == 1 && t_okon3 == 0)

{ post3++;

t_okon3 = poisson(108);

obsl3++; }

if (rn_post3 == 1 && t_okon3 > 0)

{ post3++;

t_okon3--;

otk3++; }

if (rn_post3 > 1 && t_okon3 > 0)

{ t_okon3--; }}

double P01= lambda/mu1;

double P02=(lambda/mu2)*(lambda/mu2);

double P03=(lambda/mu3)*(lambda/mu3)*(lambda/mu3);

double P1=q1*P01;

double P2=(q2*q2*P02)/2;

double P3=(q3*q3*q3*P03)/6;

Console.WriteLine("Поступило задач на 1 ПЭВМ: " + post1);

Console.WriteLine("Из них решено: " + obsl1);

Console.WriteLine("Отказов решить: " + otk1);

Console.WriteLine("Затрачено минут на решение задач: " + obsl1*241);

Console.WriteLine("Р01 =" + P01);

Console.WriteLine("Вероятность отказа в обслуживании:" +P1);

Console.WriteLine("Абсолютная пропускная способность ВЦ:" +1-P1);

Console.WriteLine();

Console.WriteLine("Поступило задач на 2 ПЭВМ: " + post2);

Console.WriteLine("Из них решено: " + obsl2);

Console.WriteLine("Отказов решить на 2: " + otk2);

Console.WriteLine("Затрачено минут на решение задач: " + obsl2*241);

Console.WriteLine("Р03 = " +P03);

Console.WriteLine("Вероятность отказа в обслуживании:" + P2 );

Console.WriteLine("Абсолютная пропускная способность ВЦ:" + 1-P2);

Console.WriteLine();

Console.WriteLine("Поступило задач на 3 ПЭВМ: " + post3);

Console.WriteLine("Из них решено: " + obsl3);

Console.WriteLine("Отказов решить: " + otk3);

Console.WriteLine("Затрачено минут на решение задач: " + obsl3*241);

Console.WriteLine("Р02 =" + P02);

Console.WriteLine("Вероятность отказа в обслуживании: " +P3);

Console.WriteLine("Абсолютная пропускная способность ВЦ: "+ 1-P3 );}

static int poisson(int mean)

{ var L = Math.Exp(-mean);

double p = 1;

var k = 0;

do

{ k++;

p *= new Random().NextDouble();

} while (p > L);

return k - 1; }}}

Результат работы программы:

Вывод: чем больше средняя продолжительность обслуживания, тем выше вероятность отказа и тем меньше абсолютная пропускная способность. Эффективнее использовать ПЭВМ с большей интенсивностью первоочередно, если время обслуживания разное.

Размещено на Allbest.ru

...

Подобные документы

  • Структурная схема процесса функционирования вычислительного центра. Моделирование процесса обслуживания ста пользователей. Оценка числа пользователей в очереди, коэффициента загрузки ЭВМ, вероятности отказа по причине отсутствия свободных мест в очереди.

    курсовая работа [54,9 K], добавлен 25.06.2011

  • Написание программы, моделирующей работу вычислительного центра и возможные пути ее улучшения. Разработка моделирующего алгоритма и машинная реализация. Возможные улучшения в работе системы. Математическое описание системы, листинг и отчет программы.

    курсовая работа [99,0 K], добавлен 03.07.2011

  • Понятие, назначение и классы систем массового обслуживания. Создание имитационной модели вычислительного центра коллективного пользования в среде Matlab Simulink. Построение многоканальных СМО с отказами каналами; расчет показателей их эффективности.

    курсовая работа [864,6 K], добавлен 26.06.2014

  • Построение модели вычислительного центра: постановка задачи, составление моделирующей программы на языке GPSS, обоснование выбора моделирования. Анализ полученных данных и формирование выводов. Улучшение системы и моделирование процесса работы центра.

    курсовая работа [671,6 K], добавлен 03.07.2011

  • Сравнительный анализ характеристик эффективности функционирования многолинейных систем массового обслуживания с отказами по пропускной способности, среднему числу заявок и времени их пребывания в системе. Оценка ожидаемого дохода и дисперсии дохода СМО.

    курсовая работа [721,8 K], добавлен 16.05.2015

  • Разработка вычислительного ядра для программного комплекса ModelBuilder. Общая архитектура взаимодействия с моделью. Подход для работы с двухмерной графикой. Визуализация модели в 3D. Алгоритм вставки цилиндра в модель. Матрица физических параметров.

    курсовая работа [2,2 M], добавлен 14.03.2012

  • Моделирование работы системы массового обслуживания: рассмотрение структурной схемы и временной диаграммы функционирования вычислительного центра, разработка алгоритмического и программного способов решения поставленной задачи, анализ результатов.

    курсовая работа [886,5 K], добавлен 24.06.2011

  • Методика разработки модели процесса функционирования студенческого вычислительного центра на языке имитационного моделирования GPSS/PC. Исследование различных вариантов по оптимизации модели и критерии выбора наиболее экономически выгодного из них.

    курсовая работа [58,9 K], добавлен 21.06.2011

  • Нахождение рационального порядка следования запросов для обеспечения максимального критерия эффективности использования компонентов вычислительного процесса в системе. Метод ветвей и границ для максимально быстрого выполнения вычислительного процесса.

    курсовая работа [196,3 K], добавлен 23.08.2009

  • Тип вычислительного комплекса и данные его централизованного управляющего. Структурная схема централизованного управляющего вычислительного комплекса и топология "Звезда с хабом". Расчёт количества устройств согласования с объектом, заказная спецификация.

    контрольная работа [58,9 K], добавлен 04.05.2012

  • Построение модели вычислительного центра: постановка задачи, выбор метода моделирования и составление моделирующей программы на языке GPSS. Исследование трехфазной одноканальной системы и определение значений параметров и размеров буферных устройств.

    курсовая работа [276,8 K], добавлен 25.06.2011

  • Торговый центр как однофазная многоканальная система с одной очередью конечной длины Структура и элементы моделей системы массового обслуживания. Очередь и дисциплины ее обслуживания. Принципы и этапы моделирования средств массового обслуживания на ЭВМ.

    лабораторная работа [93,2 K], добавлен 04.06.2009

  • Изучение понятия многофазовых систем. Рассмотрение примеров разомкнутых и замкнутых систем массового обслуживания с ожиданием и с неограниченным потоком заявок. Определение значений среднего времени ожидания заявки при неэкспоненциальном распределении.

    контрольная работа [151,5 K], добавлен 16.09.2010

  • Определение характеристик системы массового обслуживания – вероятность обслуживания заявки, занятости любого канала системы, среднее число занятых каналов. Описание блок-схемы алгоритма. Разработка имитационной и аналитической моделей и их сравнение.

    курсовая работа [860,4 K], добавлен 24.12.2013

  • Способы организации вычислительного процесса в системах с несколькими процессорами. Разработка программы на основе алгоритмов мультипроцессорных систем при пакетной обработке задач. Вычисление основных показателей эффективности для каждого алгоритма.

    курсовая работа [102,3 K], добавлен 21.06.2013

  • Цели деятельности центра телекоммуникации, использование программных продуктов для автоматизации отдельных этапов работы учета обслуживания клиентов. Формирование сопроводительной документации по обслуживанию клиентов. Логическая модель системы.

    дипломная работа [4,5 M], добавлен 27.12.2011

  • Технологический процесс обработки информации в отделах алгоритмизации, программирования и эксплуатации ЭВМ ВЦ ОАО "БШФ". Основные задачи специалистов ОАСУП: разработка и установка программного обеспечения, прокладка и наладка локальной сети предприятия.

    отчет по практике [630,6 K], добавлен 19.03.2014

  • Построение модели одноканальной системы массового обслуживания с отказами с использованием блоков библиотеки SimEvents. Проведение экспериментов, определение статистических и вероятностных характеристик системы в стационарном режиме; листинг моделей.

    лабораторная работа [384,4 K], добавлен 20.05.2013

  • Структура предприятия ОАО "Златмаш" и основные задачи Информационно-вычислительного центра. Разработка локального сервера, использующего движок Mediawiki на операционной системе Linux Ubuntu. Выбор языка и среды программирования, создание интерфейса.

    отчет по практике [1,2 M], добавлен 16.09.2012

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

    отчет по практике [1,6 M], добавлен 24.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.