Многоканальная модель с отказами, пуассоновским входным потоком и экспоненциальным распределением длительности обслуживания
Вычисление финальных значение вероятности состояний вычислительного центра, вероятности отказа в обслуживании заявки, относительной и абсолютной пропускной способности вычислительного центра, среднего числа занятых компьютеров на вычислительном центре.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 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