СМО

Автор работы: Пользователь скрыл имя, 26 Октября 2011 в 14:19, курсовая работа

Описание

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

Работа состоит из  1 файл

курсовая.doc

— 281.50 Кб (Скачать документ)

        Реальные системы, с которыми приходится иметь дело на практике, как правило, очень сложны и включают в себя ряд этапов (стадий) обслуживания. Причем на каждом этапе может существовать вероятность отказа в выполнении или существует ситуация приоритетного обслуживания по отношению к другим требованиям. При этом отдельные звенья обслуживания могут прекратить свою работу (для ремонта, подналадки и т.д.) или могут быть подключены дополнительные средства. Могут быть такие обстоятельства, когда требования, получившие отказ, вновь возвращаются в систему (подобное может происходить в информационных системах).

1.3.2. Структура СМО

        Все СМО имеют  вполне определенную структуру, изображенную на рис. 1

 
 
 
 
 
 
 
 
 
 

Рис. 1. Структура СМО

  1. Потоком называют последовательность событий. Поток, состоящий из требований на обслуживание, назовем потоком требований.
  2. Поток требований, поступающих в обслуживающую систему, назовем входным потоком.
  3. Поток требований, которые обслужены, называется выходным потоком.
  4. Совокупность очередей и приборов (каналов) обслуживания называется системой обслуживания.
  5. Каждое требование поступает на свой канал, где подвергается операции обслуживания.
  6. Каждая СМО имеет правила формирования очереди и правила или дисциплину обслуживания.

1.3.3 Классификация СМО

        СМО делятся на системы  с отказами и системы без отказов.

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

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

        СМО делятся на замкнутые и разомкнутые.

        В замкнутых СМО в системе циркулирует определенное конечное число заявок (конечное число требований). В разомкнутых СМО количество, поступающих заявок бесконечно.

        СМО делятся на многоканальные и одноканальные системы в зависимости от количества обслуживающих каналов.

        В n-канальной CМО одновременно может обслуживаться n заявок. Каналы обслуживания иногда называют обслуживающими аппаратами (ОА).

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

        Длительность обслуживания заявки в ОА в общем виде - это  случайная величина с законом  распределения  и математическим ожиданием (средним значением) M.

        СМО также делятся  по приоритету заявок:

     - СМО с заявками, имеющими разный  приоритет (абсолютный, относительный);

     -   СМО с заявками, имеющими одинаковый приоритет.

1.3.4. Характеристики СМО

        Перечень характеристик систем массового обслуживания можно представить следующим образом:

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

1.3.4 Теоретическое представление задачи

        Интенсивность поступления  заявок входного потока - l. Интенсивность обслуживания заявок системой - μ. Поток поступления заявок характеризуется распределением Эрланга с k=2, поток обслуживания заявок характеризуются показательным законом распределения. Тогда интервал времени поступления заявок 1-го потока представляет собой случайную величину с одним и тем же распределением вероятностей F (t). 

            , (1)  где l>0 – постоянная.

        Плотность распределения  показательного закона задается формулой:

        

        где l>0, - интенсивность поступления заявок.

        Аналогично, интервал времени обслуживания заявок представляет собой случайную величину с одним и тем же распределением вероятностей F(t). 

          , (1)  где μ >0 – постоянная.

        Плотность распределения  показательного закона задается формулой:

        

        где μ >0, - интенсивность обработки заявок системой.

Выводы

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

        С помощью среды  объектно-ориентированного программирования Borland С++ Builder и языка C++ возможно реализовать информационную систему практически любой сложности. Поэтому эта среда подходит для описания параметров систем массового обслуживания и проверки их эффективности.

 

2. Решение задачи

2.1 Разработка алгоритма СМО:

        Рассмотрим алгоритм решения поставленной задачи:

  1. Рассматриваемая в задаче система представляет собой СМО с многоканальным обслуживанием;
  2. Определение времен поступления и обслуживания заявок:
  • Времена поступления и обслуживания заявок генерируются случайно с            

     заданным показательным законом распределения;

  • Интенсивности поступления и обслуживания заявок заданы;
  1. Функционирование рассматриваемой СМО:
  • Каждый канал обслуживает в каждый момент времени одну заявку;
  • Если в момент поступления новой заявки свободен хотя бы один канал, то пришедшая заявка поступает на обслуживание;
  • Если отсутствуют заявки, то система простаивает.
  1. Дисциплина обслуживания:
  • Если к моменту поступления заявки оба канала заняты, то поступившая заявка попадает в очередь.
  • Если к моменту поступления заявки все места в очереди заняты, то заявка получает отказ.

        Зная параметры входных потоков заявок промоделировать поведение системы и вычислить её основные характеристики эффективности.

        Характеристики эффективности функционирования СМО выделим следующие:

  • Вероятность отказа;
  • Абсолютная пропускная способность;
  • Вероятность простоя;
  • Доля обслуженных заявок;
  • Среднее количество занятых каналов.
 

        Таким образом, общий  алгоритм выглядит так:

  • Вводим начальные условия: общее время работы системы, значения интенсивностей потока заявок и потока обслуживания заявок; число реализаций работы системы;
  • Генерируем моменты времени, в которые прибывают заявки, время обслуживания каждой заявки;
  • Считаем сколько заявок было обслужено, а сколько получило отказ;
  • Рассчитываем характеристики эффективности СМО:

2.2 Выбор языка программирования

        С++ - это универсальный  язык программирования, задуманный так, чтобы сделать программирование более приятным для серьёзного программиста. За исключением второстепенных деталей  С++ является надмножеством языка  программирования С. Помимо возможностей, которые  дает С, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части.  Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определённых пользователем. Такие объекты просты и надёжны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод даёт более короткие, проще понимаемые и легче контролируемые программы.

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

        С++ поддерживает указатели не переменные и функции. Указатель на объект программы соответствует машинному адресу этого объекта. Посредством разумного использования указателей можно создавать эффективно-выполняемые программы, так как указатели позволяют ссылаться на объекты тем же самым путём, как  это делает машина. С++ поддерживает арифметику указателей, и тем самым позволяет осуществлять непосредственный  доступ и манипуляции с адресами памяти.

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

        Для реализации курсового проекта выбрана интегрированная среда программирования Borland C++ Builder 6.0, как наиболее мощная реализация языка программирования Object C++ с возможностью написания программ как под DOS так и под операционные системы Windows 95/98/2000 и NT. Расширенный «менеджер» проектов с множественными типами исполняемого кода, компилятор с оптимизацией кода, инкрементальный линкер, мощные средства интегрированной отладки, стройная архитектура распределенных приложений клиент/сервер, новые технологии разработки приложений для сети Интернет – наиболее известные достоинства Borland C++ Builder 6.0.

        Интегрированная среда  системы (Integrated Development Environment, IDE) обеспечивает ускорение визуального программирования, а также продуктивность повторно используемых компонентов в сочетании  с усовершенствованными инструментами IDE и разномасштабными средствами доступа к базам данных.

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

        Borland C++ Builder 6.0 позволяет повысить быстродействие и надежность разрабатываемой подсистемы, придать пользовательскому интерфейсу качество профессионального уровня.

        Исходя из вышеизложенного  для написания программы, был  выбран среда программирования Borland С ++ Builder версии 6.0.

2.3 Программная реализация

 

        Программа была разработана  в среде программирования Borland C++ Builder 6.

Информация о работе СМО