Моделирование телефонной станции

Автор: Пользователь скрыл имя, 11 Декабря 2011 в 19:44, курсовая работа

Описание работы

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

Содержание

ВВЕДЕНИЕ………………………...………………………………….….……....3
ГЛАВА 1. СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ. ХАРАКТЕРИСТИКА. КЛАССИФИКАЦИЯ. МОДЕЛИРОВАНИЕ……..5
1.1. Основные понятия систем массового обслуживания………………5
1.2. СМО. Классификация………………………………………………13
1.3. Имитационное моделирование СМО.……………………………...19
ГЛАВА 2. ГЕНЕРАТОРЫ СЛУЧАЙНЫХ ЧИСЕЛ. РАСПРЕДЕЛЕНИЯ…………………………………………………………….23
2.1. Виды генераторов случайных чисел……………………...……23
2.2. Виды распределений…………………………………………….26
ГЛАВА 3. ПРАКТИЧЕСКАЯ ЧАСТЬ. ПОСТАНОВКА ЗАДАЧИ…...….31
3.1. Постановка задачи: «Моделирование телефонной станции»…...31
3.2. Описание метода решения…………………………………………32
3.2.1. Описание метода решения задачи вручную……….……….32
3.2.2. Описание метода решения программным путем. Блок - схема…………………………………………………………...37
3.3. Перевод модели на язык программирования………………….39
3.3.1. Выбор языка программирования…………………………39
3.3.2. Программа…………………………………………………….41
ЗАКЛЮЧЕНИЕ………………………………………………………………...43
СПИСОК ЛИТЕРАТУРЫ………………………………….............................44

Работа содержит 1 файл

Махсумова Д.К. ИМЭП курсовая.doc

— 1.12 Мб (Скачать)
 

     Так, подставляя полученные случайные числа в формулу (1) определили времена поступления звонков. Они приведены во 2-ом и 3-ем столбцах соответственно. В 4-ом столбце показана время (длительность) разговора каждого абонента. Эти показатели были определены по формуле:

     

     На  основе данных таблицы 2 строим график (приложение 1). Из данного приложения видно, что моделирование неэффективно при малом количестве линий связи, что приводит к высокому числу отказов. Так на графике видно, что с увеличением числа каналов уменьшается число отказов и наоборот. Официальные данные нашего исследования представлены ниже (таблица 4):

                                                                                            Таблица 4

     Количество  каналов -10      25 % отказов
     Всего звонков - 60
     Всего отказано - 42
     Принято звонков - 18
     Количество  каналов -20      15 % отказов
     Всего звонков - 60
     Всего отказано - 25
     Принято звонков - 35
     Количество  каналов -30      5 % отказов
     Всего звонков - 60
     Всего отказано - 8
     Принято звонков - 52
 
 

     Исходя  из данных таблицы 3, мы видим, что существует зависимость между  числом каналов и  вероятностью отказов, о чем достаточно наглядно говорят  следующие цифры. Так, при наличии 10 линий связи, количество отказов достигает до 42 (25 %), затем мы увеличиваем число каналов до 20 и видим, что вероятность отказов уменьшилась до 15 %, а когда количество линий связи достигло 30, то получилось, что блокируются не более 5 % звонков, что нам и было необходимо по условию задачи.

     Покажем данные зависимости  на графике: 

     

     Рис. 12. Зависимость вероятностей отказов от количества каналов 

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

       

     
x y
30 5
20 15
10 25

       

                                                        

     Далее, используя метод Крамера вычисляем  значения а, b и c, подставляя которые можно аналитически найти количество каналов, при которых не блокировалось бы более 5% звонков. 

= (980000*1400*3+36000*60*1400+1400*36000*60) –

1400*1400*1400 – 60*60*980000 – 3*36000*36000 = 4 000 000 

(13000*1400*3 + 36000*60*45 + 1400*700*60) -  45*1400*1400 – 60*60*13000 – 3*700*36000 = 0 

(980000*700*3 + 13000*60*1400 + 1400*36000*45) – 1400*700*1400 – 60*45*980000 – 3*36000*13000 = - 4 000 000 

(980000*1400*45 + 36000*700*1400 + 13000*36000*60) – 1400*1400*13000 – 700*60*980000 – 45*36000*36000 = 140 000 000 

       b  
 
 

Проверка: 

  1. 980000*0+36000*(-1) + 1400*35 = 0 – 36000 + 49000 = 13000;
  2. 36000*0 + 1400*(-1) +60*35 = 0 – 14000 + 2100 = 700;
  3. 1400*0 + 60*(-1) + 3*35 = 0 – 60 + 105 = 45.
 

Получаем  уравнение:

Так,   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     3.3. Перевод модели на язык программирования

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

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

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

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

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

     Си ++ - объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980г.

     Программа на языке Си имеет следующую структуру:

     #директивы  препроцессора

     . . . . . . . . .

     #директивы  препроцессора

     функция а ( )

           операторы

     функция в ( )

           операторы

     void main ( )      //функция, с  которой начинается выполнение  программы

           операторы

                 описания

                 присваивания

                 функция

                 пустой оператор

                       составной

                       выбора

                       циклов

                       перехода 

           Директивы препроцессора - управляют преобразованием текста программы до ее компиляции. Исходная программа, подготовленная на СИ в виде текстового файла, проходит 3 этапа обработки:

  1. препроцессорное преобразование текста ;
  2. компиляция;
  3. компоновка (редактирование связей или сборка).

     Подробный процесс преобразования показан на схеме 5:

       
 
 
 
 
 

       
 

Схема 1. Стадии обработки текстового файла программы в СИ 

     После этих трех этапов формируется исполняемый  код программы. Задача препроцессора - преобразование текста программы до ее компиляции. Правила препроцессорной обработки определяет программист с помощью директив препроцессора. Директива начинается с знака #. 

     ЗАКЛЮЧЕНИЕ 

     Имитационное  моделирование телефонной станции  – вот основа и красная нить нашей курсовой работы. Здесь рассматривается автоматизированная телефонная станция, работу которой мы исследуем, имитируем и вычисляем в различных коэффициентах. Имитируемая нами телефонная станция также является своего рода системой массового обслуживания с отказами и n – обрабатывающими каналами связи. При этом необходимо было определить оптимальное количество каналов, при котором не блокировалось бы более 5 % поступающих звонков для 12 часов.

     Поставленная  задача решена как графически, так  и аналитически, т. е. оптимальное число линий связи, для того, чтобы не блокировалось более 5 % звонков = 30. При этом существует линейная зависимость между числом каналов и вероятностью отказов, наличие которой также показано методом наименьших квадратов. При этом, чем больше количество линий связи, тем меньше вероятность отказа. Следовательно, для эффективной работы телефонной станции с исследуемой интенсивностью поступления звонков (10 и 12 с.) важно иметь большое количество каналов, так как здесь очередь не накапливается, кроме того быстрота обслуживания - один из аспектов качественного подхода к клиентам.

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

       
 
 
 
 

СПИСОК  ЛИТЕРАТУРЫ 

  1. Емельянов А. А., «Имитационное моделирование экономических процессов», 2002 г.
  2. Советов В. Я., Яковлев С. А., «Моделирование системы» , 2001 г.
  3. Соболь И. М., «Метод Монте-Карло», 1968 г.
  4. Шеннон Р., «Имитационное моделирование систем – искусства и науки», 1978 г.
  5. «Машинные имитационные эксперименты с моделями экономических систем» под редакцией Нейлера.
  6. Бусленко М. П., «Моделирование сложных систем».
  7. Кеольтон В., Лод А. «Имитационное моделирование. Классика CS», изд. 3-е, 2004 г.
  8. Ю. Н. Павловский, Н. В. Белотелов, Ю. И. Бродский, «Имитационное моделирование», изд-во «Академия», 2008 г.
 

 

 
 

           

Информация о работе Моделирование телефонной станции