Моделирование работы порта

Автор работы: Пользователь скрыл имя, 01 Февраля 2011 в 22:35, курсовая работа

Краткое описание

Целью данной курсовой работы является закрепление теоретических основ и практических аспектов имитационного моделирования систем.

В курсовой работе необходимо выполнить следующие задания:

- анализ предметной области;

- анализ программных средств, которые используются для моделирования систем;

- разработать программу;

- провести тестирование;

- оформить объяснительную записку.

Содержание работы

ВВЕДЕНИЕ……………………………………………………………………
РАЗДЕЛ 1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ……………………………

1.1. Основные понятия теории очередей……………………………………

1.2. Моделирование работы порта……………………………………………

1.3. Модельное время…………………………………………………………

1.4. Выводы……………………………………………………………………

РАЗДЕЛ 2 ОБОСНОВАНИЕ ВЫБОРА ПРОГРАММНЫХ СРЕДСТВ……

2.1. Стандартная библиотека STL……………………………………………

2.2. Выводы……………………………………………………………………

РАЗДЕЛ 3 ОПИСАНИЕ РАЗРАБОТАННОГО

ПРОГРАММНОГО ПРОДУКТА……………………………………………

3.1. Классы и объекты…………………………………………………………

3.2. События и методы…………………………………………………………

3.3. Реализация интерфейса……………………………………………………

3.4. Выводы……………………………………………………………………

РАЗДЕЛ 4 РУКОВОДСТВО ПРОГРАММИСТА……………………………

4.1. Назначение и условия применения программы…………………………

4.2. Состав программного продукта…………………………………………

4.3. Входные и исходные данные……………………………………………

РАЗДЕЛ 5 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ……………………………

5.1. Назначение программы…………………………………………………

5.2. Условия выполнения программы…………………………………………

5.3. Сообщение пользователю…………………………………………………

ВЫВОДЫ………………………………………………………………………

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ…………………………

Приложение А Текст программы……………………………………………
6

Содержимое работы - 1 файл

kursovoy.doc

— 324.50 Кб (Скачать файл)
 
 
 
 
 
 
 
 
 
 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по дисциплине

«Имитационное моделирование»

на тему «Моделирование работы порта» 
 
 
 
 

Выполнил: 

Проверил: 
 
 

 

      РЕФЕРАТ 

     Курсовая  работа содержит 47 страницы, 1 рисунок, 3 таблицы, 3 источника литературы.

     Тема курсовой работы — моделирование работы порта.

     Целью данной курсовой работы является закрепление теоретических основ и практических аспектов имитационного моделирования систем.

     В ходе выполнения работы проведен анализ предметной области, программных  средств, которые используются для моделирования систем, разработан программный продукт, моделирующий работу участка дороги с односторонним движением. Программа функционирует под управлением OC Windows 9х/NT.

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

     КЛАСС, ОЧЕРЕДЬ, STL, МОДЕЛИРОВАНИЕ, КЛАСС 

 

      Перечень условных обозначений 

     ОС  — операционная система

     СМО — система массового  обслуживания

     STL — Standard Template Library

     ГСЧ – генератор случайного числа 

 

      СОДЕРЖАНИЕ 

ВВЕДЕНИЕ……………………………………………………………………

РАЗДЕЛ  1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ……………………………

1.1. Основные понятия теории очередей……………………………………

1.2. Моделирование работы порта……………………………………………

1.3. Модельное время…………………………………………………………

1.4. Выводы……………………………………………………………………

РАЗДЕЛ  2 ОБОСНОВАНИЕ ВЫБОРА ПРОГРАММНЫХ СРЕДСТВ……

2.1. Стандартная библиотека STL……………………………………………

2.2. Выводы……………………………………………………………………

РАЗДЕЛ  3 ОПИСАНИЕ РАЗРАБОТАННОГО

ПРОГРАММНОГО  ПРОДУКТА……………………………………………

3.1. Классы и объекты…………………………………………………………

3.2. События и методы…………………………………………………………

3.3. Реализация интерфейса……………………………………………………

3.4. Выводы……………………………………………………………………

РАЗДЕЛ  4 РУКОВОДСТВО ПРОГРАММИСТА……………………………

4.1. Назначение и условия применения программы…………………………

4.2. Состав программного продукта…………………………………………

4.3. Входные и исходные данные……………………………………………

РАЗДЕЛ 5 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ……………………………

5.1. Назначение программы…………………………………………………

5.2. Условия выполнения программы…………………………………………

5.3. Сообщение пользователю………………………………………………

ВЫВОДЫ………………………………………………………………………

СПИСОК  ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ…………………………

Приложение  А Текст программы……………………………………………

6

7

7

8

9

9

10

10

12 

13

13

16

20

22

23

23

23

24

25

25

25

26

27

28

29

 

      ВВЕДЕНИЕ 
 

     Имитационное  моделирование позволяет  проанализировать любую  реальную систему  произвольной сложности. Основная ценность имитационного моделирования заключается в том, что здесь можно отбросить практически все ограничения и моделировать систему в условиях, предельно близких к реальности. Поэтому только разумное сочетание аналитического и имитационного подходов к моделированию позволяет полностью выявить характерные особенности сложной системы, ее «узкие места», и выработать обоснованные рекомендации по ее синтезу.

     Главная цель имитационного  моделирования —  выяснить, как повлияют на производительность отдельные изменения  конфигурации системы  или увеличение нагрузки на нее.

     Целью данной курсовой работы является закрепление теоретических основ и практических аспектов имитационного моделирования систем.

     В курсовой работе необходимо выполнить следующие  задания:

     - анализ предметной области;

     - анализ программных средств, которые используются для моделирования систем;

     - разработать программу;

     - провести тестирование;

     - оформить объяснительную записку.

     Программный продукт должен работать под OC Windows 9х/NT.

 

      РАЗДЕЛ 1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 
 

     1.1. Основные понятия теории очередей 
 

     Типичная  система массового  обслуживания (СМО) состоит  из буфера для ожидания в очереди конечного или бесконечного размера и одного или нескольких одинаковых обслуживающих устройств, которые будем для краткости называть серверами. Сервер в определенный момент времени может обслуживать только одну заявку и, следовательно, быть в занятом или свободном состоянии. Если в момент поступления новой заявки все серверы заняты, заявка ставится в очередь, если в буфере есть свободные места, и ждет своего выполнения. Когда обслуживание заявки на сервере завершается, одна из заявок, находящихся в очереди, выбирается для обслуживания. Выбор производится в соответствии с некоторой дисциплиной, или расписанием. Элементарная теория очередей рассматривает входные потоки, описываемые последовательностью случайных величин  интервалов времени между прибытиями {А0, А1...}. Эти величины предполагаются независимыми и одинаково распределенными и образуют в пределе случайный процесс, известный как процесс восстановления. Предметом изучения таких процессов является количество переходов из одного состояния в другое, произошедших в течение заданного времени.

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

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

     1.2. Моделирование работы порта 
 

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

     Таблица 1.1

     Характеристики  типов танкеров

Тип погрузки Относительная частота Время погрузки, ч
1 0,25 18±2
2 0,55 24±3
3 0,20 36±4
 

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

     Судовладелец  предлагает дирекции порта заключить  контракт на перевозку нефти в Великобританию и обеспечить выполнение условий контракта с помощью 5 танкеров особого, четвертого типа, для погрузки которых требуется 21 ± 3 ч. После погрузки танкер отчаливает и следует в Великобританию, там разгружается и затем снова возвращается в африканский порт для погрузки. Время цикла обращения танкера, включая время разгрузки, составляет 240 ± 24 ч.

     Фактором, осложняющим перевозку нефти, являются штормы, которым подвергается порт. Интервал времени между штормами распределен экспоненциально с математическим ожиданием 48 ч, причем шторм продолжается 4 ± 2 ч. Во время шторма буксир не работает.

     Перед заключением контракта руководство  порта решило определить влияние, которое  окажут пять дополнительных танкеров на функционирование порта. Выводы предлагается сделать по результатам имитации работы порта в течение одного года (8760 ч) при условии заключения предлагаемого контракта. Оцениваемые величины — время пребывания в порту танкеров. 
 

     1.3. Модельное время 
 

     За  единицу модельного времени примем 1 мин, чтобы не связывать себя маловероятным предположением, что все события занимают промежутки времени, кратные одному часу. Интервал времени между штормами будем генерировать так: (int)(get_exp(mu)*60), где mu = 1/48 = 0,021. Генерацию равномерного распределения будем использовать для интервалов между прибытиями танкеров, времени погрузки и цикла обращения. 
 

     1.4. Выводы и постановка задачи 
 

     В курсовой работе необходимо разработать программный продукт моделирующий работу порта по загрузке танкеров нефтью.

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

     Цель  моделирования — сбор статистических данных по длине очередей на причаливание, отчаливание, погрузку и времени  пребывания на погрузке танкеров различного типа.

     Имитационное  моделирование позволит определить оптимальное количество танкеров четвертого типа.

 

      РАЗДЕЛ 2 обоснование выбора программных средств 
 

     Для реализации программы моделирования  расписаний был выбран язык программирования С++.

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

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

     C++ и его стандартные библиотеки  спроектированы так, чтобы обеспечивать  переносимость. Из C++ программ можно  использовать C библиотеки, и с C++ можно использовать большую часть  инструментальных средств, поддерживающих  программирование на C. 
 

     2.1. Стандартная библиотека STL 
 

     Библиотека STL является набором шаблонных классов и функций общего назначения.

     STL является основным компонентом стандартной библиотеки ANSI/ISO для языка программирования С++. Этот компонент был разработан в лаборатории Hewlett-Packard Александром Степановым та Менгом Ли.

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

     Итераторы обеспечивают доступ к элементам  данных контейнеров. Контейнеры представляют собой структуры или наборы данных, такие, как списки, векторы, очереди, реализованные как шаблоны классов. Алгоритмы, представляющие собой шаблоны функций, оперирующих на данных контейнеров. Например, алгоритм может сортировать объекты, являющиеся элементами вектора или списка. Функции эти не обладают специфическими “знаниями” о типах и структурах, на которых они действуют.

     Вместе  с STL в C++Builder предусмотрены различные дополнительные средства, например, класс комплексных чисел и средства обработки ошибок.

     На  уровне исходного кода программы C++ получаются более мобильными, не привязанными к конкретной системе.

     Таблица 2.1 перечисляет стандартные заголовки STL с краткими описаниями контейнерных классов, которые они содержат.

     Таблица 2.1

     Контейнерные  классы STL

Директива #include Класс контейнера
1 2
<bitset> множества как  битовые наборы
<deque> двусвязные  очереди
<list> списки
<map> карты; это структуры, подобные массиву, но в которых роль "индекса" могут играть не только целые числа, но любые упорядоченные типы

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