Диплом на тему Построение концептуальной модели
Работа добавлена на сайт bukvasha.net: 2014-10-31Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Содержание
Введение
1 Постановка задачи
2 Построение концептуальной модели
2.1 Описание концептуальной модели СМО
2.2 Описание процесса функционирования СМО
2.3 Построение логической схемы
2.4 Анализ задачи моделирования
2.4.1 Критерии оценки эффективности процесса функционирования СМО
2.4.2 Проверка достоверности модели системы
2.4.3 Параметры и переменные модели СМО
2.5 Выдвижение гипотез и принятие предложений
2.6 Определение процедур аппроксимации
3 Алгоритмизация и машинная реализация модели системы
3.1 Выбор вычислительных средств моделирования СМО
3.2 Программирование модели
4 Получение и интерпретация результатов моделирования
4.1 Планирование машинного эксперимента
4.2 Анализ результатов моделирования
4.3 Форма представления результатов моделирования
Заключение
Список использованных источников
Приложение А – Листинг программы
Приложение Б – Статистические данные
Одной из таких обязательных сторон научного исследования является метод моделирования, без которого не обходится ни одна конструкторская и ни одна исследовательская работа.
Всякое вновь изучаемое явление или процесс бесконечно сложно и многообразно и потому до конца принципиально не познаваемо и не изучаемо. Поэтому, приступая к изучению явления или процесса, исследователь заменяет его схематической моделью, которая выбирается тем более сложной, чем подробнее и точнее нужно изучить упомянутое явления. В модели сохраняется только самые существенные стороны изучаемого явления, а все мало существенные свойства и закономерности отбрасываются.
Какие стороны изучаемого явления необходимо сохранить в модели и какие отбросить, зависит от постановки задачи исследований. Цель и задачи исследований формулируются перед началом разработки теории еще неизученного явления или уточнения уже существующей теории с целью более адекватного описания изучаемого процесса или явления.
При решении любой задачи основную роль играют эксперимент и модель, а также анализ полученных результатов. Модель дает правильно поставленный эксперимент, а эксперимент уточняет модель. Эксперимент имеет два направления: обработка результатов и планирование эксперимента.
Достоверность модели достигается посредством наблюдения и логически правильной обработки данных.
Моделирование широко применяется в технике. Это и исследование гидроэнергетических объектов и космических ракет, специальные модели для наладки приборов управления и тренировки персонала, управляющего различными сложными объектами. Многообразно применение моделирования в военной технике. В последнее время особое значение пробрело моделирование биологических и физиологических процессов.
Общеизвестна роль моделирования общественно-исторических процессов. Применение моделей позволяет проводить контролируемые эксперименты в ситуациях, где экспериментирование на реальных объектах является практически невозможным или по каким-то причинам (экономическим, нравственным и т. д.) нецелесообразным.
Большое значение на современном этапе развития науки и техники приобретают задачи предсказания, управления, распознавания. Метод эволюционного моделирования возник при попытке воспроизведения на ЭВМ поведения человека. Эволюционное моделирование было предложено как альтернатива эвристическому и бионическому подходу, моделировавшему мозг человека в нейронных структурах и сетях. При этом основная идея звучала так: заменить процесс моделирования интеллекта моделированием процесса его эволюции.
Таким образом, моделирование превращается в один из универсальных методов познания в сочетании с ЭВМ.
Смоделировать прохождение 400 запросов. Определить необходимую емкость накопителей перед ЭВМ, обеспечивающую безотказную работу системы, и функцию распределения времени обслуживания заявки.
В данной курсовой работе предполагается смоделировать работу поступления и обработку запросов на 2 – х ЭВМ от распределённого банка, определить характеристики процесса функционирования СМО: рассчитать коэффициенты загрузки каналов, нужную ёмкость накопителей перед ЭВМ, обеспечивая безотказную работу системы.
Всю работу можно условно разделить на три этапа:
· На первом этапе предполагается разработать концептуальную модель СМО, вывести математическую модель процесса функционирования СМО, провести глубокий анализ задачи моделирования и на его основе при необходимости выдвинуть гипотезы и принять соответствующие предположения.
· На втором этапе предполагается провести выбор вычислительных средств для моделирования СМО, выполнить непосредственно машинную реализацию модели системы, протестировать программу.
· На третьем, заключительном, этапе предполагается зафиксировать результаты моделирования СМО при нескольких прогонах программы, проанализировать их, представить в удобной для чтения форме, интерпретировать их и сделать соответствующие выводы.
SHAPE \* MERGEFORMAT
Рисунок 2.1 – Концептуальная схема модели системы
Таким образом, в работе СМО возможны следующие ситуации:
— режим нормального обслуживания, когда запрос обрабатывается на первой ЭВМ с вероятностью 50 %, иначе – на второй, либо, при наличии свободных мест в двух очередях, ожидает своего времени;
— режим отказа в обслуживании, когда запрос покидает систему вследствие занятости ЭВМ и переполнении очереди другими запросами.
SHAPE \* MERGEFORMAT
Рисунок 2.2 – Структурная схема
Структурная схема модели является выражением концептуальной, переведенной на язык мат. схем. Учитывая, что процессы, происходящие в СМО, являются процессами обслуживания заявок, используем для их формализации аппарат Q-схем. В соответствии с концептуальной моделью, используя символику Q-схем, структурная схема модели может быть представлена в виде, показанном на рисунке 2.2, где Н – накопители, К – каналы, И - источник.
Накопители Н1 и Н2 имитируют процесс ожидания пользователей в очереди, который происходит при занятости ЭВМ обработкой запросов. Пунктирные линии означают обработку запросов ЭВМ № 2 при условии, что на ЭВМ № 1 ответ на запрос отсутствует.
Каналы К1 и К2 имитируют непосредственно обработку запросов на ЭВМ.
Существует 2 вида схем для рассмотрения логической структуры модели процесса функционирования систем: обобщенные схемы и детальные схемы моделирующих алгоритмов.
Укрупненная (обобщенная) схема модели задает общий порядок действий без каких-либо уточняющих деталей. Детальная схема модели содержит уточнения, отсутствующие в обобщенной схеме, и показывает, что следует выполнить на каждом шаге и как это выполнить. При ее построении учитывается, что моделирующий механизм имеет блочную структуру. Фактически обобщенная схема — это обобщенный вид блок-схемы, показывающий основные этапы.
SHAPE \* MERGEFORMAT
Рисунок -2.3.1. Логическая обобщенная схема
— вероятность отказа вследствие переполнения очереди;
— коэффициенты загрузки ЭВМ.
Эти вероятностно-временные характеристики взаимосвязаны между собой: чем больше коэффициенты загрузки каналов, тем большее количество человек будет обслужено (малая вероятность отказа). Но, в то же время, при больших коэффициентах загрузки возможны сбои в системе, из-за ограничения количества человек в очереди.
Таким образом, об эффективности процесса функционирования СМО мы будем судить по количеству сбойных сигналов: чем меньше их, тем эффективнее система.
Так как построенная модель основана на доводах, признанными верными, она отвечает требованию соответствия. В самом деле, легко проследить и переходы заявок, и управляющие воздействия, и структурированность модели.
Подготовленную в таком виде, ее будет легче программировать, а найденные математические выражения явятся основой получения результатов. Так как формулы не вызывают сомнений, составленные схемы не противоречат концептуальной, то принимаем модель достоверной и приступаем к машинной реализации.
Для моделируемой СМО в качестве параметра может быть выбрана ёмкость накопителей Н1 и Н2, которые представляют собой очереди заявок. Ёмкость буферных накопителей Н1 и Н2 будем измерять в количестве запросов, которые могут в них (очередях) находиться. В модели эти параметры подбираются для эффективности работы ЭВМ.
В качестве эндогенных (зависимых) переменных модели СМО зададим: число запросов, покинувших систему не обслуженными из-за заполненности накопителей. В модели переменная представляет собой выходную характеристику и вычисляется постоянным суммированием покидающих систему не обслуженных заявок.
В качестве экзогенных (независимых) переменных модели СМО выберем время посылки сигналов в источнике, представляющее собой случайную величину, генерируемую датчиком случайных чисел с требуемым законом распределения.
Анализируя условие задачи, приходим к выводу, что поток поступающих запросов СМО представляет собой поочерёдное поступление запросов с равномерным законом распределения между моментами их появления и, следовательно, с одинаковой интенсивностью.
Анализируя имеющуюся исходную информацию о СМО, можно сделать вывод, что загруженность каналов, так же как и очереди, будет не полной, а число необслуженных запросов будет сведена к нулю, т.е. СМО обеспечит обслуживание всех поступивших заявок.
Введение
1 Постановка задачи
2 Построение концептуальной модели
2.1 Описание концептуальной модели СМО
2.2 Описание процесса функционирования СМО
2.3 Построение логической схемы
2.4 Анализ задачи моделирования
2.4.1 Критерии оценки эффективности процесса функционирования СМО
2.4.2 Проверка достоверности модели системы
2.4.3 Параметры и переменные модели СМО
2.5 Выдвижение гипотез и принятие предложений
2.6 Определение процедур аппроксимации
3 Алгоритмизация и машинная реализация модели системы
3.1 Выбор вычислительных средств моделирования СМО
3.2 Программирование модели
4 Получение и интерпретация результатов моделирования
4.1 Планирование машинного эксперимента
4.2 Анализ результатов моделирования
4.3 Форма представления результатов моделирования
Заключение
Список использованных источников
Приложение А – Листинг программы
Приложение Б – Статистические данные
Введение
Бурный рост промышленности и науки во всех сферах человеческой деятельности привёл в настоящее время к такому положению вещей, что создание и разработка каких-либо новых технологий, технических средств (машин, приборов, оборудования и т. п.), а также методик их применения для нужд человека становится затруднительным, а в некоторых случаях невозможным, без интенсивного применения научных методов познания и поиска.Одной из таких обязательных сторон научного исследования является метод моделирования, без которого не обходится ни одна конструкторская и ни одна исследовательская работа.
Всякое вновь изучаемое явление или процесс бесконечно сложно и многообразно и потому до конца принципиально не познаваемо и не изучаемо. Поэтому, приступая к изучению явления или процесса, исследователь заменяет его схематической моделью, которая выбирается тем более сложной, чем подробнее и точнее нужно изучить упомянутое явления. В модели сохраняется только самые существенные стороны изучаемого явления, а все мало существенные свойства и закономерности отбрасываются.
Какие стороны изучаемого явления необходимо сохранить в модели и какие отбросить, зависит от постановки задачи исследований. Цель и задачи исследований формулируются перед началом разработки теории еще неизученного явления или уточнения уже существующей теории с целью более адекватного описания изучаемого процесса или явления.
При решении любой задачи основную роль играют эксперимент и модель, а также анализ полученных результатов. Модель дает правильно поставленный эксперимент, а эксперимент уточняет модель. Эксперимент имеет два направления: обработка результатов и планирование эксперимента.
Достоверность модели достигается посредством наблюдения и логически правильной обработки данных.
Моделирование широко применяется в технике. Это и исследование гидроэнергетических объектов и космических ракет, специальные модели для наладки приборов управления и тренировки персонала, управляющего различными сложными объектами. Многообразно применение моделирования в военной технике. В последнее время особое значение пробрело моделирование биологических и физиологических процессов.
Общеизвестна роль моделирования общественно-исторических процессов. Применение моделей позволяет проводить контролируемые эксперименты в ситуациях, где экспериментирование на реальных объектах является практически невозможным или по каким-то причинам (экономическим, нравственным и т. д.) нецелесообразным.
Большое значение на современном этапе развития науки и техники приобретают задачи предсказания, управления, распознавания. Метод эволюционного моделирования возник при попытке воспроизведения на ЭВМ поведения человека. Эволюционное моделирование было предложено как альтернатива эвристическому и бионическому подходу, моделировавшему мозг человека в нейронных структурах и сетях. При этом основная идея звучала так: заменить процесс моделирования интеллекта моделированием процесса его эволюции.
Таким образом, моделирование превращается в один из универсальных методов познания в сочетании с ЭВМ.
1 Постановка задачи
Распределенный банк данных системы сбора информации организован на базе ЭВМ, соединенных дуплексным каналом связи. Поступающий запрос обрабатывается на первой ЭВМ и с вероятностью 50% необходимая информация обнаруживается на месте. В противном случае необходима посылка запроса во вторую ЭВМ. Запросы поступают через 10±3 с, первичная обработка запроса занимает 2с, выдача ответа требует 18±2 с, передача по каналу связи занимает 3с. Временные характеристики второй ЭВМ аналогичны первой.Смоделировать прохождение 400 запросов. Определить необходимую емкость накопителей перед ЭВМ, обеспечивающую безотказную работу системы, и функцию распределения времени обслуживания заявки.
В данной курсовой работе предполагается смоделировать работу поступления и обработку запросов на 2 – х ЭВМ от распределённого банка, определить характеристики процесса функционирования СМО: рассчитать коэффициенты загрузки каналов, нужную ёмкость накопителей перед ЭВМ, обеспечивая безотказную работу системы.
Всю работу можно условно разделить на три этапа:
· На первом этапе предполагается разработать концептуальную модель СМО, вывести математическую модель процесса функционирования СМО, провести глубокий анализ задачи моделирования и на его основе при необходимости выдвинуть гипотезы и принять соответствующие предположения.
· На втором этапе предполагается провести выбор вычислительных средств для моделирования СМО, выполнить непосредственно машинную реализацию модели системы, протестировать программу.
· На третьем, заключительном, этапе предполагается зафиксировать результаты моделирования СМО при нескольких прогонах программы, проанализировать их, представить в удобной для чтения форме, интерпретировать их и сделать соответствующие выводы.
2 Построение концептуальной модели и её формализация
2.1 Описание концептуальной модели СМО
На основании условия задачи построим концептуальную схему процесса функционирования данной системы, приведённую на рисунке 2.1.SHAPE \* MERGEFORMAT
Нак-ль №1, Очередь N запросов |
ЭВМ №1 |
ЭВМ №2 |
Входящий поток запросов |
1 запрос через 10±3 сек |
необслуженные запросы |
ответ 18±2 сек доставка 3сек |
Перв. Обработка 2 сек |
Нак-ль №2, Очередь m запросов |
50 % |
Рисунок 2.1 – Концептуальная схема модели системы
Таким образом, в работе СМО возможны следующие ситуации:
— режим нормального обслуживания, когда запрос обрабатывается на первой ЭВМ с вероятностью 50 %, иначе – на второй, либо, при наличии свободных мест в двух очередях, ожидает своего времени;
— режим отказа в обслуживании, когда запрос покидает систему вследствие занятости ЭВМ и переполнении очереди другими запросами.
SHAPE \* MERGEFORMAT
К2 |
И |
К1 |
Н1 |
Н2 |
50% |
Рисунок 2.2 – Структурная схема
Структурная схема модели является выражением концептуальной, переведенной на язык мат. схем. Учитывая, что процессы, происходящие в СМО, являются процессами обслуживания заявок, используем для их формализации аппарат Q-схем. В соответствии с концептуальной моделью, используя символику Q-схем, структурная схема модели может быть представлена в виде, показанном на рисунке 2.2, где Н – накопители, К – каналы, И - источник.
Накопители Н1 и Н2 имитируют процесс ожидания пользователей в очереди, который происходит при занятости ЭВМ обработкой запросов. Пунктирные линии означают обработку запросов ЭВМ № 2 при условии, что на ЭВМ № 1 ответ на запрос отсутствует.
Каналы К1 и К2 имитируют непосредственно обработку запросов на ЭВМ.
2.2 Описание процесса функционирования СМО
С использованием введённых обозначений опишем процесс функционирования СМО. Источник генерирует сигналы случайным образом через определенные промежутки времени (10±3 сек). Поступающие заявки попадают в очередь в накопитель № 1 и ожидают в ней, если первая машина занята. Как только первая машина освобождается и в накопителе имеются заявки происходит первичная обработка запроса в течении 2 сек, после которой если нужная информация находится на первой ЭВМ то она продолжает обрабатываться в течении 18±2 сек, иначе заявка поступает в очередь в накопитель № 2. Процесс функционирования и временные характеристики ЭВМ №2 идентичны. Заявка полностью обрабатывает на ЭВМ №1 с вероятностью 50%, это обеспечивается путём подсчёта количества запросов обработанных на первой ЭВМ и числа запросов прошедших через накопитель № 1. Если первое число меньше либо равно 50% второго числа, то запрос обрабатывается на первой ЭВМ.2.3 Построение логической схемы
Для более полного понимания алгоритма модели необходимо построить логическую схему модели. Построение логической схемы модели системы из таких блоков дает ряд преимуществ на стадии ее машинной разработки, а также упрощает понимание структуры модели. При построении блочной модели проводится разбиение общего процесса функционирования системы на отдельные более мелкие по масштабу процессы.Существует 2 вида схем для рассмотрения логической структуры модели процесса функционирования систем: обобщенные схемы и детальные схемы моделирующих алгоритмов.
Укрупненная (обобщенная) схема модели задает общий порядок действий без каких-либо уточняющих деталей. Детальная схема модели содержит уточнения, отсутствующие в обобщенной схеме, и показывает, что следует выполнить на каждом шаге и как это выполнить. При ее построении учитывается, что моделирующий механизм имеет блочную структуру. Фактически обобщенная схема — это обобщенный вид блок-схемы, показывающий основные этапы.
SHAPE \* MERGEFORMAT
Поступление заявки через 10±3 сек |
выход из системы |
Накопитель 1 |
канал 1 занят |
да |
нет |
Перв. обр-ка |
Пол-ие заявки |
да |
Накопитель 2 |
нет |
канал 2 занят |
Пол-ие заявки |
нет |
да |
Рисунок -2.3.1. Логическая обобщенная схема
2.4 Анализ задачи моделирования
2.4.1 Критерии оценки эффективности процесса функционирования СМО
В рассматриваемой задаче в качестве критериев оценки эффективности процесса функционирования СМО выступают следующие вероятностно-временные характеристики:— вероятность отказа вследствие переполнения очереди;
— коэффициенты загрузки ЭВМ.
Эти вероятностно-временные характеристики взаимосвязаны между собой: чем больше коэффициенты загрузки каналов, тем большее количество человек будет обслужено (малая вероятность отказа). Но, в то же время, при больших коэффициентах загрузки возможны сбои в системе, из-за ограничения количества человек в очереди.
Таким образом, об эффективности процесса функционирования СМО мы будем судить по количеству сбойных сигналов: чем меньше их, тем эффективнее система.
2.4.2 Проверка достоверности модели системы
Проверка достоверности модели системы является немаловажной на этапе реализации модели. Так как модель представляет собой приближенное описание процесса функционирования реальной системы, то до тех пор, пока не доказана достоверность модели, нельзя утверждать, что с ее помощью мы получили результаты, адекватные тем, которые могли бы быть получены при проведении реального эксперимента с системой. При этом проверяются возможность решения постановленной задачи, точность отражения замысла в логической схеме, полнота логической схемы модели, правильность используемых математических соотношений. Только после этого можно считать, что имеется логическая схема модели, пригодная для дальнейшей работы по реализации модели на ЭВМ.Так как построенная модель основана на доводах, признанными верными, она отвечает требованию соответствия. В самом деле, легко проследить и переходы заявок, и управляющие воздействия, и структурированность модели.
Подготовленную в таком виде, ее будет легче программировать, а найденные математические выражения явятся основой получения результатов. Так как формулы не вызывают сомнений, составленные схемы не противоречат концептуальной, то принимаем модель достоверной и приступаем к машинной реализации.
2.4.3 Параметры и переменные модели СМО
Прежде, чем перейти к описанию математической модели, необходимо определить параметры системы, входные и выходные переменные, воздействия внешней среды.Для моделируемой СМО в качестве параметра может быть выбрана ёмкость накопителей Н1 и Н2, которые представляют собой очереди заявок. Ёмкость буферных накопителей Н1 и Н2 будем измерять в количестве запросов, которые могут в них (очередях) находиться. В модели эти параметры подбираются для эффективности работы ЭВМ.
В качестве эндогенных (зависимых) переменных модели СМО зададим: число запросов, покинувших систему не обслуженными из-за заполненности накопителей. В модели переменная представляет собой выходную характеристику и вычисляется постоянным суммированием покидающих систему не обслуженных заявок.
В качестве экзогенных (независимых) переменных модели СМО выберем время посылки сигналов в источнике, представляющее собой случайную величину, генерируемую датчиком случайных чисел с требуемым законом распределения.
2.5 Выдвижение гипотез и принятие предположений
Исходя из сведений, можно сделать вывод о возможности построения модели на основании имеющегося объёма исходной информации, и её последующей машинной реализации при условии принятия ряда гипотез и предположений относительно функций распределения параметров процессов, происходящих в СМО, и воздействий внешней среды.Анализируя условие задачи, приходим к выводу, что поток поступающих запросов СМО представляет собой поочерёдное поступление запросов с равномерным законом распределения между моментами их появления и, следовательно, с одинаковой интенсивностью.
Анализируя имеющуюся исходную информацию о СМО, можно сделать вывод, что загруженность каналов, так же как и очереди, будет не полной, а число необслуженных запросов будет сведена к нулю, т.е. СМО обеспечит обслуживание всех поступивших заявок.
2.6 Определение процедур аппроксимации
Для возможности аппроксимации числовых значений интересующих характеристик системы S необходимо в процессе моделирования провести аппроксимации, для чего обычно используются процедуры: детерминированная, вероятностная и (или) процедура определения средних значений.- детерминированные процедуры, при которых результаты моделирования однозначно определяются по данной совокупности входных воздействий переменных и параметров системы (в этом случае случайные элементы отсутствуют). Этот тип нам не подходит, так как у нас наличествует элемент случайности при поступлении заявок в систему;
- вероятностные (рандомизированные) применяются, когда случайные элементы, включая воздействие внешней среды, влияют на функционирование системы и необходимо получить закон распределения выходных переменных системы;
- определение средних значений, когда результатом моделирования являются средние значения выходной переменной при наличии случайных переменных или случайных воздействий;
Для рассматриваемой задачи моделирования СМО будем использовать как вероятностную процедуру, так и процедуру определения средних значений. Использование вероятностной процедуры объясняется тем, что в функционировании СМО присутствуют случайные элементы, влияющие на результаты моделирования. Процедура определения средних значений при моделировании процесса функционирования СМО используются по причине того, что интерес представляют средние значения выходных переменных при наличии случайных факторов: среднее число заявок в очереди и средняя загрузка ЭВМ.
3 Алгоритмизация и машинная реализация модели системы
3.1 Выбор вычислительных средств моделирования СМО
На втором этапе моделирования математическая модель, сформированная на первом этапе, воплощается в конкретную машинную модель. Этот этап представляет собой этап практической деятельности, направленной на реализацию идей и математических схем в виде машинной модели процесса функционирования системы, ориентированной на использование конкретных программно - технических средствПроцессы, происходящие в СМО (поступление запросов в систему через разные промежутки времени, освобождение и занятие ЭВМ в различные моменты времени), имеют дискретный и равномерный характер. С учётом этого, а также исходя из стремления сокращения затрат времени на разработку модели СМО, для машинной реализации модели процесса функционирования СМО был выбран язык объектно-ориентированного программирования Delphi 6.
Мы выбрали именно эту среду потому, что она является наиболее оптимальной для решения всех поставленных задач в ходе курсового проекта. Программная среда Delphi 6.0 содержит в себе визуальные компоненты, такие как TButton, TLabel, TChart, TEdit, TPanel и многие другие, которые упрощают и оптимизируют работу разработчика. Важно отметить, что в среде Delphi очень просто отобразить выходные величины, с помощью компонентов TChart и TStringrig.
Исходя из этих соображений можем сказать, что для работы данной модели достаточно любого современного IBM PC совместимого компьютера, работающего под управлением ОС Windows 98 и выше.
3.2 Программирование модели
Программирование в среде Delphi, можно разделить на два этапа: создание интерфейса и написание программного кода.Основная работа программы осуществляется следующим образом:
Источник генерирует заявки через дискретные промежутки времени, в которые производится смена состояний элементов системы. Исходя из постановки задачи неизменные данные являются продолжительность моделирования (400 сек), время поступления запросов (10±3сек), первичная обработка запроса (2 сек), выдача ответа (18±2 сек), и изменяемые – ёмкость накопителя № 1 и № 2, манипулируя которыми достигается оптимальность системы. После ввода ёмкости накопителя № 1 и № 2 следует нажать на кнопку «Выполнить» для начала работы программы. После чего в нижнем окне будут выведены все найденные параметры системы и столбцовая диаграмма, отражающая количество сигналов в накопителе №1 в единицу времени, в которую в каждую единицу времени добавляется объём накопителя № 1 (рис 3.2.1).
Рисунок 3.2.1- Внешний вид программы.
Листинг программы представлен в приложении А.
4 Получение и интерпретация результатов моделирования
4.1 Планирование машинного эксперимента
Перед проведением рабочих расчетов на ЭВМ должен быть составлен план проведения эксперимента. Проведение планирования машинных экспериментов призвано дать возможность получить максимальный объем необходимой информации об объекте моделирования при минимальных затратах ресурсов ЭВМ. Решаются частные задачи планирования конкретного машинного эксперимента при уже заданных условиях его проведения и выбранных инструментальной ЭВМ и ее математического обеспечения.Так как модель стохастична, в ней присутствует случайный элемент (время поступления заявок), то и результаты не будут одинаковы для двух запусков программы. Но тем не менее, можно определить некое число, к которому будет стремиться конкретный параметр (ранее мы выбрали из трех методов аппроксимации метод определения средних значений). Для этого необходимо увеличить количество прогонов программы, или, говоря языком теории вероятностей, число опытов. Это число должно быть конечным, и точность результатов при нем достаточно высока.
Определим количество прогонов необходимых для получения достоверной информации по формуле (1):
где: p - частота = n1/n;
n1 - число исходов в n – экспериментах;
Q - доверительная вероятность;
Ф-1 -обратная функция Лапласа.
Таблица 4.1.1- Обратная функция Лапласа.
Q | 0.9 | 0.95 | 0.98 | 0.99 |
(Ф-1 *Q/2)2 | 2.7 | 3.84 | 5.7 | 6.61 |
Проведем 10 экспериментов на модели (n=10) и проследим за значением расчетной величины – вероятностью отказа. Т.к. по при длине очереди накопителя № 1 равной 5, сбойных сигналов нет, то, следовательно, вероятность отказа будет равна 0, что делает невозможным расчет количества прогонов. Поэтому будем вести расчет при длине очереди накопителя № 1 и № 2 равной 1, только при этом значении наблюдается появление сбойных сигналов.
Таблица 4.1.2 – Экспериментальные данные.
№ эксп | Кол.-во сбоев | № эксп | Кол-во сбоев |
1 | 8 | 6 | 10 |
2 | 10 | 7 | 8 |
3 | 10 | 8 | 7 |
4 | 6 | 9 | 10 |
5 | 9 | 10 | 9 |
p1=8/87=0,091954; p6=10/87=0,114943;
р2=10/87=0,114943; р7=8/87=0,091954;
р3=10/87=0,114943; р8=7/87=0,08046;
р4=6/87=0,068966; р9=10/87=0,114943;
р5=9/87=0,103448; р10=9/87=0,103448;
Выбираем самую худшую (большую) вероятность - 0,114943 и подставляем её в формулу (1):
Следовательно, чтобы точность экспериментов составляла 0.95 необходимо произвести 156 эксперимента. Статистические данные и результаты всех прогонов представлены в приложении Б.
4.2 Анализ результатов моделирования
По полученным результатам моделирования рассчитаем математическое ожидание величины — вероятность отказа— по формуле (2):
M[X] = X1*P1+X2*P2………..Xn*Pn , (2)
где P = Ni/N;
N — количество опытов (прогонов);
Ni — количество появлений Xi в опытах.
По приложению Б определяем x, n, p (таблица 4.2)
Таблица 4.2 – Результаты моделирования
Xi | 0 | 0,00421941 | 0,0126582 | 0,00843882 | 0,0168776 |
Ni | 36 | 38 | 33 | 48 | 1 |
Pi | 0,230769231 | 0,24358974 | 0,2115385 | 0,30769231 | 0,0064103 |
Дисперсию рассчитаем по формуле (3):
D[X]=∑(Xi-M)2 *Pi (3)
D[X]= 0,0000095+ 0,0000012+ 0,0000083+ 0,0000013+ 0,0000007= 0,00002
4.3 Форма представления результатов моделирования
В каждом конкретном случае целесообразно выбирать наиболее подходящую форму представления результатов моделирования (таблицы, графики, диаграммы, гистограммы, схемы и т.п.) т.к. это существенно влияет на эффективность дальнейшего использования результатов моделирования (например, заказчиком). В большинстве случаев удобнее результаты моделирования сводить в таблицы.В рассматриваемой задаче моделирования СМО на экран монитора окончательный результат выводится в отдельном окне, в виде таблицы.
Заключение
В данной курсовой работе успешно были разработаны концептуальная, математическая и машинная модели процесса функционирования СМО.
Полученные на ЭВМ результаты моделирования процесса функционирования СМО отражают основные особенности функционирования реального объекта и позволяют качественно и количественно оценить его поведение. На основе полученных оценок характеристик можно сделать следующие выводы и дать соответствующие рекомендации.
Полученные результаты моделирования системы показывают достаточно эффективную работу системы при средней загрузке ЭВМ №1 98% и ЭВМ №2 80%, при этом в системе происходит минимальное количество сбоев и идет 100% обслуживание заявок. Для улучшения параметров системы можно увеличить ёмкость накопителя № 1 до 7 заявок, но при этом его загруженность снизится в среднем до 40 %.
В целом создание программы, моделирующей систему массового обслуживания, можно считать удачным. Алгоритм разрабатывался максимально простой и эффективный. Результаты моделирования показали не только эффективность работы данной системы, но и возможные пути повышения её производительности.
Список использованных источников
1. Бусленко Н.П. Моделирование сложных систем // – М.: Наука, 1978. - 51с.2. Лифшиц А.Л. Статистическое моделирование СМО, М., 1978. -216 с.
3. Мухин О. И. Моделирование систем. Конспект лекций - 1985. - 95с.
4. Советов Б.Я., Яковлев С.А. Моделирование систем // Учебник для ВУЗов -М.: Высшая школа, 1985. - 224 с.
5. Советов Б.Я., Яковлев С.А. Моделирование систем // Курсовое проектирование -М.: Высшая школа, 1988. - 232 с.
6. Архангельский А. Я. Программирование в Delphi 5.–М.:ЗАО «Издательство БИНОМ», 2000.–1070 с.
7. Бобровский С. И. Delphi 5: Учебный курс. – СПб.: Питер, 2002. – 640 с.
8. Вендров А. М. Проектирование программного обеспечения ЭИС. М.: «Финансы и статистика», 2000. – 452 с.
Приложение А
(обязательное)Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, ExtCtrls, TeEngine, Series, TeeProcs, Chart;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Image1: TImage;
Label1: TLabel;
Label3: TLabel;
GroupBox4: TGroupBox;
Label6: TLabel;
seNak: TSpinEdit;
Label7: TLabel;
seNak2: TSpinEdit;
Label2: TLabel;
Label4: TLabel;
Chart1: TChart;
Series1: TBarSeries;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure Kanal;
procedure Istok;
procedure Kanal_2;
end;
var
Form1: TForm1;
ZKan,zkan_2:boolean;
t1,t2,n,t,tIstok,InSig,VNak,Sboy,OutSig,tkan,SZKan,SZNak,sekanal_2,sboy_2,outsig_2,SZNak_2,szkan_2,tkan_2,vnak_2:integer;
in_k1:byte;
{ var nak_2:byte;{накопитель для канала № 2}
{colnak1-кол-во сигналов, пройденных через накопитель 1}
{in_k1-true-сигнал обслуж-ся каналом № 1, false-сигнал обслуж-ся каналом № 2}
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var j:integer;
begin
VNak:=0; {Накопитель}
Sboy:=0;
sboy_2:=0;
InSig:=0;{подсчет посланных сигналов}
OutSig:=0;{подсчет количества сигналов, покинувших систему обслуженными}
vnak_2:=0;
outsig_2:=0;
SZNak:=0;{подсчет средней занятости накопителя в сигналах}
SZNak_2:=0;{подсчет средней занятости накопителя в сигналах}
SZKan:=0;{подсчет количества единиц времени, которое канал находится в состоянии занятости}
szkan_2:=0;
ZKan:=False; {состояние канала}
ZKan_2:=false;
in_k1:=0;
ListBox1.Items.Clear;
T:=0;
tIstok:=T+7+random(7);
Series1.Clear;
Repeat
Istok;
Kanal;
kanal_2;
SZNak:=SZNak+VNak;
SZNak_2:=SZNak_2+VNak_2;
inc(t);
Series1.Add(vnak); {добавление данных в диаграмму о накопителе №1}
Until T>400;
with ListBox1.Items do
begin { zkan_2:boolean;sekanal_2,sboy_2,outsig_2,szkan_2,tkan_2:integer;}
{ Add('Должно поступить сигналов: '+IntToStr(400 div 10));}
Add('Поступло сигналов: '+IntToStr(InSig));
Add('Обработано сигналов каналом № 1: '+IntToStr(OutSig));
Add('Обработано сигналов каналом № 2: '+IntToStr(OutSig_2));
Add('Сбойных сигналов: '+IntToStr(Sboy+sboy_2));
if ZKan then Inc(VNak);
Add('Учтенных сигналов: '+IntToStr(VNak+vnak_2+Sboy+sboy_2+OutSig+OutSig_2));
if ZKan_2 then Inc(VNak);
if t-t1<3 then Inc(VNak);
if t-t2<3 then Inc(VNak);
Add('Осталось в системе сигналов: '+IntToStr(VNak));
Add('Средняя занятость накопителя № 1 (в сиг.): ' + FloatToStrF(SZNak/400,ffNumber,8,2));
Add('Средняя занятость накопителя № 1 (в %): ' + IntToStr(Round(SZNak/400/seNak.Value*100)));
Add('Средняя занятость накопителя № 2 (в сиг.): ' + FloatToStrF(SZNak_2/400,ffNumber,8,2));
Add('Средняя занятость накопителя № 2 (в %): ' + IntToStr(Round(SZNak_2/400/seNak2.Value*100)));
Add('Средняя занятость канала № 1 (в %): '+ IntToStr(Round(SZKan/400*100)));
Add('Средняя занятость канала № 2 (в %): '+ IntToStr(Round(SZKan_2/400*100)));
end;
end;
procedure TForm1.Kanal;
begin
if ZKan
then
begin
Dec(tKan);
Inc(SZKan);{подсчет количества единиц времени, которое канал находится в состоянии занятости}
if tKan=0 {время, оставшееся до конца обработки сигнала}
then
begin
ZKan:=False;
if in_k1=1 then begin
Inc(OutSig){подсчет количества сигналов, покинувших канал № 1 обслуженными};
t1:=t;
end
else begin
if vnak_2<seNak2.Value then inc(vnak_2)
else inc(sboy_2);
end;
end;
end;
if not ZKan and (VNak>0)
then
begin
Dec(VNak);
if in_k1=1 then in_k1:=0
else in_k1:=1;
ZKan:=True;
if in_k1=1 then tKan:=2+16+random(5){18+/-2:количество единиц времени, отводимое на обработку одного сигнала}
else tKan:=2;
end;
end;
procedure TForm1.Istok;
begin
{ if T mod N=0
then
tIstok:=T+7+random(7); {источник}
if T=tIstok
then
begin
tIstok:=T+7+random(7); {источник}
Inc(InSig); {подсчет посланных сигналов}
if VNak<seNak.Value{ёмкость накопителя}
then begin
Inc(VNak);
end
else Inc(Sboy);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
end;
procedure TForm1.Kanal_2;
begin
if ZKan_2
then
begin
Dec(tKan_2);
Inc(SZKan_2);{подсчет количества единиц времени, которое канал находится в состоянии занятости}
if tKan_2=0 {время, оставшееся до конца обработки сигнала}
then
begin
ZKan_2:=False;
Inc(OutSig_2);{подсчет количества сигналов, покинувших систему обслуженными}
t2:=t;
end;
end;
if not ZKan_2 and (VNak_2>0)
then
begin
Dec(VNak_2);
ZKan_2:=True;
tKan_2:=16+random(5);{количество единиц времени, отводимое на обработку одного сигнала}
end;
end;
end.
Приложение Б
(обязательное)
Статистические данные
then begin
Inc(VNak);
end
else Inc(Sboy);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
end;
procedure TForm1.Kanal_2;
begin
if ZKan_2
then
begin
Dec(tKan_2);
Inc(SZKan_2);{подсчет количества единиц времени, которое канал находится в состоянии занятости}
if tKan_2=0 {время, оставшееся до конца обработки сигнала}
then
begin
ZKan_2:=False;
Inc(OutSig_2);{подсчет количества сигналов, покинувших систему обслуженными}
t2:=t;
end;
end;
if not ZKan_2 and (VNak_2>0)
then
begin
Dec(VNak_2);
ZKan_2:=True;
tKan_2:=16+random(5);{количество единиц времени, отводимое на обработку одного сигнала}
end;
end;
end.
Приложение Б
(обязательное)
Статистические данные
№ эксп. | Поступило заявок, шт | Необслужено заявок, шт | Вероятность отказа, % | Загрузка накопителя №1, % |
1 | 38 | 0 | 0 | 46 |
2 | 39 | 1 | 0,004219 | 57 |
3 | 41 | 3 | 0,012658 | 57 |
4 | 40 | 2 | 0,008439 | 59 |
5 | 40 | 3 | 0,012658 | 50 |
6 | 39 | 2 | 0,008439 | 60 |
7 | 40 | 3 | 0,012658 | 58 |
8 | 38 | 1 | 0,004219 | 40 |
9 | 41 | 3 | 0,012658 | 66 |
10 | 42 | 4 | 0,016878 | 62 |
11 | 40 | 2 | 0,008439 | 52 |
12 | 40 | 3 | 0,012658 | 60 |
13 | 38 | 0 | 0 | 39 |
14 | 41 | 3 | 0,012658 | 58 |
15 | 40 | 2 | 0,008439 | 46 |
16 | 40 | 2 | 0,008439 | 59 |
17 | 40 | 2 | 0,008439 | 68 |
18 | 39 | 1 | 0,004219 | 50 |
19 | 40 | 2 | 0,008439 | 53 |
20 | 39 | 1 | 0,004219 | 32 |
21 | 39 | 2 | 0,008439 | 48 |
22 | 39 | 1 | 0,004219 | 60 |
23 | 37 | 0 | 0 | 26 |
24 | 40 | 0 | 0 | 42 |
25 | 38 | 0 | 0 | 50 |
26 | 38 | 1 | 0,004219 | 52 |
27 | 40 | 2 | 0,008439 | 64 |
28 | 39 | 1 | 0,004219 | 32 |
29 | 40 | 2 | 0,008439 | 59 |
30 | 40 | 3 | 0,012658 | 50 |
31 | 39 | 2 | 0,008439 | 66 |
32 | 38 | 1 | 0,004219 | 50 |
33 | 39 | 3 | 0,012658 | 45 |
34 | 40 | 1 | 0,004219 | 56 |
35 | 37 | 2 | 0,008439 | 65 |
36 | 38 | 3 | 0,012658 | 50 |
37 | 38 | 0 | 0 | 54 |
38 | 37 | 0 | 0 | 53 |
39 | 39 | 1 | 0,004219 | 45 |
40 | 39 | 2 | 0,008439 | 48 |
41 | 39 | 0 | 0 | 48 |
42 | 40 | 1 | 0,004219 | 49 |
43 | 37 | 2 | 0,008439 | 50 |
44 | 38 | 0 | 0 | 59 |
45 | 38 | 1 | 0,004219 | 38 |
46 | 37 | 2 | 0,008439 | 39 |
47 | 40 | 0 | 0 | 40 |
48 | 39 | 0 | 0 | 50 |
49 | 38 | 0 | 0 | 56 |
50 | 40 | 1 | 0,004219 | 53 |
51 | 37 | 2 | 0,008439 | 55 |
52 | 37 | 0 | 0 | 49 |
53 | 39 | 1 | 0,004219 | 66 |
54 | 38 | 2 | 0,008439 | 33 |
55 | 39 | 0 | 0 | 56 |
56 | 39 | 3 | 0,012658 | 65 |
57 | 40 | 0 | 0 | 45 |
58 | 41 | 2 | 0,008439 | 58 |
59 | 41 | 2 | 0,008439 | 56 |
60 | 37 | 2 | 0,008439 | 59 |
61 | 38 | 1 | 0,004219 | 48 |
62 | 38 | 3 | 0,012658 | 59 |
63 | 38 | 3 | 0,012658 | 67 |
64 | 40 | 3 | 0,012658 | 56 |
65 | 39 | 2 | 0,008439 | 65 |
66 | 39 | 0 | 0 | 48 |
67 | 40 | 1 | 0,004219 | 68 |
68 | 41 | 2 | 0,008439 | 59 |
69 | 37 | 3 | 0,012658 | 48 |
70 | 37 | 0 | 0 | 56 |
71 | 38 | 2 | 0,008439 | 45 |
72 | 38 | 3 | 0,012658 | 56 |
73 | 39 | 0 | 0 | 64 |
74 | 40 | 1 | 0,004219 | 56 |
75 | 39 | 2 | 0,008439 | 45 |
76 | 37 | 3 | 0,012658 | 36 |
77 | 38 | 0 | 0 | 42 |
78 | 40 | 1 | 0,004219 | 46 |
79 | 37 | 2 | 0,008439 | 43 |
80 | 40 | 2 | 0,008439 | 48 |
81 | 41 | 2 | 0,008439 | 59 |
82 | 41 | 1 | 0,004219 | 56 |
83 | 37 | 0 | 0 | 55 |
84 | 38 | 3 | 0,012658 | 54 |
85 | 38 | 2 | 0,008439 | 53 |
86 | 39 | 0 | 0 | 52 |
87 | 39 | 3 | 0,012658 | 57 |
88 | 39 | 2 | 0,008439 | 55 |
89 | 40 | 1 | 0,004219 | 42 |
90 | 41 | 0 | 0 | 53 |
91 | 41 | 2 | 0,008439 | 61 |
92 | 38 | 3 | 0,012658 | 56 |
93 | 38 | 2 | 0,008439 | 65 |
94 | 39 | 0 | 0 | 49 |
95 | 37 | 1 | 0,004219 | 65 |
96 | 38 | 2 | 0,008439 | 67 |
97 | 38 | 3 | 0,012658 | 62 |
98 | 39 | 0 | 0 | 53 |
99 | 40 | 1 | 0,004219 | 54 |
100 | 40 | 2 | 0,008439 | 48 |
101 | 40 | 3 | 0,012658 | 50 |
102 | 38 | 3 | 0,012658 | 60 |
103 | 39 | 1 | 0,004219 | 45 |
104 | 39 | 2 | 0,008439 | 46 |
105 | 37 | 0 | 0 | 56 |
106 | 37 | 3 | 0,012658 | 52 |
107 | 40 | 2 | 0,008439 | 38 |
108 | 40 | 1 | 0,004219 | 46 |
109 | 37 | 3 | 0,012658 | 47 |
110 | 38 | 3 | 0,012658 | 42 |
111 | 39 | 2 | 0,008439 | 56 |
112 | 39 | 1 | 0,004219 | 51 |
113 | 40 | 1 | 0,004219 | 60 |
114 | 40 | 0 | 0 | 65 |
115 | 41 | 1 | 0,004219 | 53 |
116 | 41 | 1 | 0,004219 | 57 |
117 | 41 | 2 | 0,008439 | 42 |
118 | 39 | 0 | 0 | 46 |
119 | 38 | 0 | 0 | 56 |
120 | 37 | 0 | 0 | 51 |
121 | 37 | 3 | 0,012658 | 53 |
122 | 39 | 2 | 0,008439 | 59 |
123 | 40 | 1 | 0,004219 | 40 |
124 | 40 | 3 | 0,012658 | 45 |
125 | 41 | 0 | 0 | 47 |
126 | 41 | 1 | 0,004219 | 48 |
127 | 40 | 2 | 0,008439 | 50 |
128 | 38 | 0 | 0 | 56 |
129 | 38 | 1 | 0,004219 | 60 |
130 | 39 | 2 | 0,008439 | 64 |
131 | 38 | 2 | 0,008439 | 49 |
132 | 37 | 1 | 0,004219 | 50 |
133 | 40 | 0 | 0 | 40 |
134 | 37 | 3 | 0,012658 | 48 |
135 | 39 | 3 | 0,012658 | 47 |
136 | 38 | 2 | 0,008439 | 49 |
137 | 40 | 3 | 0,012658 | 43 |
138 | 41 | 3 | 0,012658 | 40 |
139 | 39 | 3 | 0,012658 | 42 |
140 | 38 | 2 | 0,008439 | 41 |
141 | 37 | 1 | 0,004219 | 46 |
142 | 39 | 0 | 0 | 49 |
143 | 39 | 0 | 0 | 56 |
144 | 40 | 0 | 0 | 57 |
145 | 40 | 1 | 0,004219 | 59 |
146 | 41 | 2 | 0,008439 | 58 |
147 | 39 | 0 | 0 | 57 |
148 | 39 | 1 | 0,004219 | 50 |
149 | 38 | 2 | 0,008439 | 50 |
150 | 38 | 2 | 0,008439 | 60 |
151 | 38 | 1 | 0,004219 | 64 |
152 | 37 | 2 | 0,008439 | 67 |
153 | 38 | 1 | 0,004219 | 42 |
154 | 38 | 3 | 0,012658 | 53 |
155 | 39 | 2 | 0,008439 | 62 |
156 | 39 | 1 | 0,004219 | 48 |