Автор работы: Пользователь скрыл имя, 09 Января 2012 в 01:09, курсовая работа
Теория массового обслуживания впервые применялась в телефонии, а затем и в других областях хозяйственной деятельности, где и сейчас занимает важное место. Примерами СМО могут служить телефонные станции, ремонтные мастерские (заводы, базы, бригады), погрузочно-разгрузочные комплексы (порты, товарные станции), транспортные системы, автозаправочные станции, больницы, торговые точки, предприятия бытового обслуживания и т. д..
Введение: СМО и их актуальность.
Обзор типов СМО.
СМО с ожиданием: математическая модель и алгоритм работы.
3. Постановка задачи, математическая модель задания, алгоритм выполнения задания.
4. Программная реализация.
Заключение.
Приложения
6. 1. Листинг программы
7. Список используемых источников.
(10)
Здесь использованы соотношения (7), (8) (производная геометрической прогрессии), а также из (4). Если сравнить это выражение с (8), можно заметить, что среднее время ожидания равно среднему числу заявок в очереди, поделенному на интенсивность потока заявок.
(11)
Среднее время пребывания заявки в системе. Обозначим — время пребывания заявки в СМО, которое складывается из среднего времени ожидания в очереди и среднего времени обслуживания . Если загрузка системы составляет 100 %, то очевидно, , в противном же случае
(12)
Отсюда
3. Постановка задачи, математическая модель задания, алгоритм выполнения задания.
Формулировка задачи:
Построить модель СМО с ожиданием «клиент – очередь - сервер», исследовать её характеристики и поведение.
Описание системы:
Имеется
одноканальная СМО с ожиданием,
содержащая один однородный поток заявок.
То есть поступившая на обслуживание заявка
становится в очередь: если очередь свободна,
то заявка отправляется на обработку,
если очередь уже занята другими заявками,
то она становится в очередь на соответствующее
место в данном потоке обслуживания.
Исходные данные:
1. Интенсивность поступления заявок (λ = 110);
2. Интенсивность обработки заявок (µ = 40);
3. Количество мест в очереди (m = 80);
Требуется найти:
1. Среднее количество заявок в очереди;
2. Вероятность отказа;
3. Среднее время ожидания обработки запроса;
4. Относительную и абсолютную пропускную способность;
5.
Среднее время ожидания и
Реализация математического аппарата.
Исходя из формулы (1):
где ;
Т. е.
Предельные
вероятности будут иметь
.
.
.
справедливо только если p < 1, а если эти значения равны между собой, то мы получим неопределенность: 0/0 . Поэтому, вспомнив, что сумма геометрической прогрессии со знаменателем = 1 равна m + 2, будем иметь формулу:
; т. е.
Вероятность отказа. Очевидно, что заявка получает отказ только в случае, когда канал занят и все m мест в очереди тоже:
, имеем:
Исходя из формулы (6), относительная пропускная способность:
Q = 1 - Pотк = 0.3636
Абсолютная пропускная способность:
A = λ*Q = 110 * 0.3636 = 39.996 = 40;
Далее
сопоставляя уже имеющиеся
Время ожидания заявки - 5,18897759396253E-36
Время обслуживания заявки - 0,00909090909090909
Время
нахождения заявки в
СМО - 0,00909090909090909
Ниже приведена блок-схема алгоритма работы СМО:
Нет
Да
Рис 2. Блок-схема
алгоритма программы
Модель СМО с ожиданием в данной курсовой работе описывается в программе, выполненной на языке программирования C#.
Составлена программа, в которой имеются три основных блока: блок ввода исходных данных(textbox 1, 2, 3), блок вывода вычисленных данных(richTextbox 1, 2), блок вывода графика параметров (Console ZedGraph1).
Программа высчитывает такие данные СМО, как число заявок, обработанных в единицу времени, вероятность отказа, относительная пропускная способность, абсолютная пропускная способность, средняя длина очереди, среднее число заявок, находящихся на обслуживании, число заявок, связанных с системой, время ожидания заявки, время обслуживания заявки, время нахождения заявки в СМО. Эти расчеты производятся относительно исходных данных: число поступивших заявок в единицу времени (интенсивность поступления заявок), число обработанных заявок в единицу времени (интенсивность обработки), длина очереди.
Листинг и программы представлен в приложении.
Алгоритм работы программы:
1.Ввод данных: число поступивших заявок в единицу времени, число обработанных заявок в единицу времени, длина очереди.
2. По исходным данным программа высчитывает: число заявок, обработанных в единицу времени, вероятность отказа, относительную пропускную способность, абсолютную пропускную способность, среднюю длину очереди, среднее число заявок, находящихся на обслуживании, число заявок, связанных с системой, время ожидания заявки, время обслуживания заявки, время нахождения заявки в СМО
4. Программа выводит результаты на экран.
5.
Программа строит графики, по данным,
полученным выше.
Рис. 3.
Графики программы.
Рис.
4. Работа программы СМО
5. Заключение
В ходе проделанной курсовой работы, был проведен анализ СМО с ожиданием. По исходным данным (число поступления заявок в единицу времени, число обработки заявок в единицу времени, длина очереди) произведены расчеты параметров СМО, таких как абсолютная и относительна пропускная способности СМО, вероятность отказа, среднее число заявок в очереди, среднее время обработки заявок, ожидания заявки, нахождения заявки в СМО.
По исходным и полученным данным построены графики показателей системы: зависимость вероятности отказа и относительной пропускной способности от числа заявок в очереди.
Наряду
с этим, рассматривается весь математический
аппарат одноканальной СМО, и подробно
описывается актуальность СМО, их применение
в хозяйственной деятельности человека.
6. Приложения.
Приложение 1. Листинг программы:
using System;//определение пространства имен
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ZedGraph;//подключение библиотеки zedgraph
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();//
}
public void button1_Click(object sender, EventArgs e)
{
double
la = Convert.ToDouble(textBox1.
double
mu = Convert.ToDouble(textBox2.
double
m = Convert.ToDouble(textBox3.
double p = la / mu;//число заявок, обработанных в единицу времени
double step = Math.Pow(p, m);
double step1 = Math.Pow(p, m + 1);
double step2 = Math.Pow(p, m + 2);
double p0 = (1 - p) / (1 - step2);//предельная вероятность p0
double Potk = (step1 * (1 - p)) / (1 - step2);//вероятность отказа
double q = 1 - Potk;//относительная пропускная способность
double A = q * la;//абсолютная пропускная способность
double r1 = p * p * (1 - (m + 1 - m * p));