Автор работы: Пользователь скрыл имя, 26 Октября 2011 в 14:19, курсовая работа
За последнее время в самых разных областях жизнедеятельности человека возникла необходимость в решении различных вероятностных задач, связанных с работой так называемых систем массового обслуживания (СМО). Под системой массового обслуживания (СМО) понимают динамическую систему, предназначенную для эффективного обслуживания потока заявок (требований на обслуживание) при ограничениях на ресурсы системы.
Реальные системы, с которыми приходится иметь дело на практике, как правило, очень сложны и включают в себя ряд этапов (стадий) обслуживания. Причем на каждом этапе может существовать вероятность отказа в выполнении или существует ситуация приоритетного обслуживания по отношению к другим требованиям. При этом отдельные звенья обслуживания могут прекратить свою работу (для ремонта, подналадки и т.д.) или могут быть подключены дополнительные средства. Могут быть такие обстоятельства, когда требования, получившие отказ, вновь возвращаются в систему (подобное может происходить в информационных системах).
Все СМО имеют вполне определенную структуру, изображенную на рис. 1
Рис. 1. Структура СМО
СМО делятся на системы с отказами и системы без отказов.
В системе с отказами (с потерями, с конечной длиной очереди) заявка, пришедшая в момент, когда все каналы обслуживания заняты или заняты все места в очереди, получает отказ и покидает систему.
В системе без отказов (без потерь, с бесконечной длиной очереди) такая заявка не покидает систему, а становится в очередь и ждет, пока не освободится какой-нибудь канал. Время ожидания в общем случае неограниченно. Неограниченным может быть и количество требований, поступающих в систему.
СМО делятся на замкнутые и разомкнутые.
В замкнутых СМО в системе циркулирует определенное конечное число заявок (конечное число требований). В разомкнутых СМО количество, поступающих заявок бесконечно.
СМО делятся на многоканальные и одноканальные системы в зависимости от количества обслуживающих каналов.
В n-канальной CМО одновременно может обслуживаться n заявок. Каналы обслуживания иногда называют обслуживающими аппаратами (ОА).
В простейшем случае каждый ОА характеризуется своей производительностью (интенсивностью обслуживания заявок). Если в СМО поступают заявки нескольких типов, то для каждого типа заявок может быть задана соответствующая интенсивность обслуживания.
Длительность
СМО также делятся по приоритету заявок:
- СМО с заявками, имеющими разный приоритет (абсолютный, относительный);
- СМО с заявками, имеющими одинаковый приоритет.
Перечень характеристик систем массового обслуживания можно представить следующим образом:
Интенсивность поступления заявок входного потока - l. Интенсивность обслуживания заявок системой - μ. Поток поступления заявок характеризуется распределением Эрланга с k=2, поток обслуживания заявок характеризуются показательным законом распределения. Тогда интервал времени поступления заявок 1-го потока представляет собой случайную величину с одним и тем же распределением вероятностей F (t).
, (1) где l>0 – постоянная.
Плотность распределения показательного закона задается формулой:
где l>0, - интенсивность поступления заявок.
Аналогично, интервал времени обслуживания заявок представляет собой случайную величину с одним и тем же распределением вероятностей F(t).
, (1) где μ >0 – постоянная.
Плотность распределения показательного закона задается формулой:
где μ >0, - интенсивность обработки заявок системой.
Выводы
Следовательно, объектно-ориентированный подход является сейчас одним из самых распространенных и эффективных в программировании различных информационных процессов.
С помощью среды объектно-ориентированного программирования Borland С++ Builder и языка C++ возможно реализовать информационную систему практически любой сложности. Поэтому эта среда подходит для описания параметров систем массового обслуживания и проверки их эффективности.
Рассмотрим алгоритм решения поставленной задачи:
заданным показательным законом распределения;
Зная параметры входных потоков заявок промоделировать поведение системы и вычислить её основные характеристики эффективности.
Характеристики эффективности функционирования СМО выделим следующие:
Таким образом, общий алгоритм выглядит так:
С++ - это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьёзного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования С. Помимо возможностей, которые дает С, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определённых пользователем. Такие объекты просты и надёжны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод даёт более короткие, проще понимаемые и легче контролируемые программы.
С++ обеспечивает полный набор операторов структурного программирования. Он также предлагает необычно большой набор операций. Многие операции С ++ соответствуют машинным командам, и поэтому допускают прямую трансляцию в машинный код. Разнообразие операций позволяет выбирать их различные наборы для минимизации результирующего поля.
С++ поддерживает указатели не переменные и функции. Указатель на объект программы соответствует машинному адресу этого объекта. Посредством разумного использования указателей можно создавать эффективно-выполняемые программы, так как указатели позволяют ссылаться на объекты тем же самым путём, как это делает машина. С++ поддерживает арифметику указателей, и тем самым позволяет осуществлять непосредственный доступ и манипуляции с адресами памяти.
В С++ содержится препроцессор, который обрабатывает текстовые файлы перед компиляцией. Среди его наиболее полезных приложений при написании программ на С ++ являются: определение программных констант, замена вызова функций аналогичными, но более быстрыми макросами, условная компиляция. Препроцессор не ограничен процессированием только исходных текстовых файлов С ++, он может быть использован для любого текстового файла.
Для реализации курсового проекта выбрана интегрированная среда программирования Borland C++ Builder 6.0, как наиболее мощная реализация языка программирования Object C++ с возможностью написания программ как под DOS так и под операционные системы Windows 95/98/2000 и NT. Расширенный «менеджер» проектов с множественными типами исполняемого кода, компилятор с оптимизацией кода, инкрементальный линкер, мощные средства интегрированной отладки, стройная архитектура распределенных приложений клиент/сервер, новые технологии разработки приложений для сети Интернет – наиболее известные достоинства Borland C++ Builder 6.0.
Интегрированная среда
системы (Integrated Development Environment, IDE) обеспечивает
ускорение визуального
Открытость среды
IDE позволяет настраивать ее с
учетом наиболее модных тенденций в
области графических
Borland C++ Builder 6.0 позволяет повысить быстродействие и надежность разрабатываемой подсистемы, придать пользовательскому интерфейсу качество профессионального уровня.
Исходя из вышеизложенного для написания программы, был выбран среда программирования Borland С ++ Builder версии 6.0.
Программа была разработана в среде программирования Borland C++ Builder 6.