Построение имитационной модели системы
Содержание
КР – НТИ СевКавГТУ – ИСТ – 087 – 08
Введение
Моделирование является одним из универсальных методов познания, применяемых во всех современных науках, как естественных, так и общественных, как теоретических, так и экспериментальных, технических. Можно привести большое количество примеров моделей, при помощи которых описываются или изучаются те или иные явления. Так, например, разработаны модели производства автомобилей, выращивания пшеницы, функционирования отдельных органов человека; на моделях изучают течение водяных потоков, различные гидродинамические явления, происходящие при мощных взрывах, землетрясениях.
В практической деятельности моделирование играет немаловажную роль. Это обучающие программы для летчиков, космонавтов, компьютерные обучающие программы в самых различных вариантах.
В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Особенно это относится к сфере управления различными системами, где основными являются процессы принятия решений на основе получаемой информации.
Познание любой системы сводится по существу к созданию её модели. Перед изготовлением каждого устройства или сооружения разрабатывается его модель - проект. Любое произведение искусства является моделью, фиксирующее действительность.
Достижения математики привели к распространению математических моделей различных объектов и процессов. Подмечено, что динамика функционирования разных по физической природе систем однотипными зависимостями, что позволяет моделировать их на ЭВМ.
На
качественно новую ступень
Сами вычислительные системы как сложные и дорогостоящие технические системы могут являться объектами моделирования. Обычно процесс разработки сложной системы осуществляется итерационно с использованием моделирования проектных решений. Применение моделирования может быть полезным при разработке стратегии развития сложных систем, её усовершенствования при создании сетей ЭВМ.
В данной курсовой работе рассматривается проблема моделирования процессов в Q-схемах – одном из важнейших, с точки зрения применения на практике, классов математических схем, разработанных для формализации процессов функционирования систем массового обслуживания в теории массового обслуживания. По условию задания необходимо смоделировать прохождение через систему передачи данных определенного количества пакетов и реализовать поставленную задачу программно. Полученные результаты данной работы можно применять на практике, например, при передаче данных в информационных системах.
В ходе выполнения работы необходимо рассмотреть вопросы связанные с построением модели системы, в том числе построить концептуальную и структурную модели, разработать алгоритм моделирования и выполнить программную реализацию модели.
1 Построение модели системы
1.1 Постановка задачи моделирования
Детали, необходимые для работы цеха, находятся на цеховом и центральных складах. На цеховом складе хранится 20 комплектов деталей, потребность в которых возникает через 60 ± 10 мин и составляет один комплект. В случае снижения запасов до трех комплектов формируется в течение 60 мин заявка на пополнение запасов цехового склада до полного объёма в 20 комплектов, которая посылается на центральный склад, где в течение 60 ± 20 мин происходит комплектование и за 60 ± 5 мин осуществляется доставка деталей в цех.
Смоделировать работу цеха в течение 400 ч. Определить вероятность простоя цеха из-за отсутствия деталей и среднюю загрузку цехового склада. Определить момент пополнения запаса цехового склада, при котором вероятность простоя цеха будет равна нулю.
Проведение детального анализа поставленной задачи моделирования должно способствовать преодолению дальнейших трудностей с минимальными затратами.
1.2
Получение информационной модели
1.2.1 Оценка информации о системе
Используя аналитический метод, базирующийся на теории массового обслуживания, невозможно получить в явном виде искомые характеристики без упрощения модели. Поэтому будем ориентироваться на использование имитационного подхода.
При имитационном моделировании реализующий модель алгоритм воспроизводит процесс функционирования рассматриваемой системы во времени, причем имитируются элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени, что позволяет по исходным данным получить сведения о состояниях процесса в определенные моменты времени, дающие возможность оценить характеристики системы.
Имитационные модели позволяют достаточно просто учитывать такие факторы, как наличие дискретных и непрерывных элементов, нелинейные характеристики элементов системы, многочисленные случайные воздействия и другие.
При рассмотрении поставленной задачи необходимо, чтобы система определяла вероятность простоя цеха из-за отсутствия деталей. В результате моделирования система должна безотказно функционировать при задании случайных значений времени работы цеха.
Полнота модели должна предоставлять пользователю возможность получения необходимого набора оценок характеристик системы с требуемой точностью и достоверностью. Гибкость модели должна давать возможность воспроизведения различных ситуаций при варьировании структуры, алгоритмов и параметров системы, а длительность разработки и реализации модели большой системы должна быть по возможности минимальной при учете ограничений на имеющиеся ресурсы. Должно быть реализовано проведение целенаправленных (планируемых) машинных экспериментов с моделью системы с использованием аналитико-имитационного подхода при наличии ограниченных вычислительных ресурсов.
При машинном моделировании системы характеристики процесса ее функционирования определяются на основе модели, построенной исходя из имеющейся исходной информации об объекте моделирования. При получении новой информации об объекте его модель пересматривается и уточняется с учетом новой информации, т. е. процесс моделирования, включая разработку и машинную реализацию модели, является итерационным. Этот итерационный процесс продолжается до тех пор, пока не будет получена модель, которую можно считать адекватной в рамках решения поставленной задачи исследования и проектирования системы.
1.2.2
Определение параметров и переменных
модели
Прежде чем перейти к описанию математической модели, необходимо определить параметры системы, входные и выходные переменные, воздействия внешней среды.
При построении моделирующего алгоритма по «принципу ∆t», то есть алгоритма с детерминированным шагом, необходимо для построения адекватной модели определить минимальный интервал времени между соседними событиями ∆t'=min{ui} (во входящих потоках и потоках обслуживаний) и принять, что шаг моделирования равен ∆t'.
В моделирующих алгоритмах, построенных по «принципу δz», то есть в алгоритмах со случайным шагом, элементы просматриваются при моделировании только в моменты особых состояний (в моменты появления заявок или изменения состояний канала обслуживания). При этом длительность шага ∆t=var и зависит как от особенностей самой системы, так и от воздействий внешней среды.
Для рассматриваемой задачи моделирования будем использовать алгоритм с детерминированным шагом, так как его использование упрощает моделирование процесса работы цеха.
Конечной целью этого этапа является подготовка к построению математической модели системы, функционирующей во внешней среде.
1.3
Построение концептуальной модели
1.3.1 Концепция построения модели
На этом этапе формулируется модель и строится ее формальная схема, т. е. основным назначением этого этапа является переход от содержательного описания объекта к его математической модели, другими словами, процесс формализации. Моделирование систем на ЭВМ в настоящее время - наиболее универсальный и эффективный метод оценки характеристик больших систем.
Наиболее ответственными и наименее формализованными моментами в этой работе являются проведение границы между системой и внешней средой, упрощение описания системы и построение сначала концептуальной, а затем формальной модели системы.
Модель должна быть адекватной, иначе невозможно получить положительные результаты моделирования, т. е. исследование процесса функционирования системы на неадекватной модели вообще теряет смысл. Под адекватной моделью будем понимать модель, которая с определенной степенью приближения на уровне понимания моделируемой системы разработчиком модели отражает процесс ее функционирования во внешней среде.
Таким образом, формализации процесса функционирования любой системы должно предшествовать изучение составляющих его явлений. В результате появляется содержательное описание процесса, которое представляет собой первую попытку четко изложить закономерности, характерные для исследуемого процесса, и постановку прикладной задачи.
При моделировании данной задачи исходную информацию следует принять достаточной. Можно сделать предположение, что при заданной пороговой емкости буфера B будет происходить постоянное подключение резервной аппаратуры, так как пакеты передаются достаточно быстро по линиям связи. Это предположение можно будет проверить в результате программной реализации системы.
1.2.3 Построение модели
Наиболее рационально строить модель функционирования системы по блочному принципу. Рассмотрим механизм перехода от описания процесса функционирования некоторой гипотетической системы к модели этого процесса.
На
основании поставленной задачи моделирования
процесса передачи данных, построим структурную
схему исследуемой системы, которая
показана на рисунке 1.1.
Рисунок 1.1 - Структурная схема процесса
передачи данных
Детали, необходимые для работы поступают в цех с интервалами времени между ними 60±10 мин. Если в цеховом складе хранятся меньше 3 комплектов деталей, то формируется заявка на пополнения запасов цехового склада до полного объема в 20 комплектов, которая посылается на центральный склад. Там в течении 60±20 мин происходит комплектование деталей и за 60±5 мин осуществляется доставка деталей в цех.
Построенная концептуальная модель процесса функционирования исследуемой системы предназначена для анализа характеристик этого процесса, который может быть проведен при машинной реализации полученной модели.
1.3.3 Оценка качества модели
Построенная структурная схема передачи данных достаточно точно описывает процесс моделирования, и система вполне реализуема. Дать количественную и качественную оценку характеристик функционирования системы, предположить необходимое время моделирования можно будет после программной реализации, а сейчас можно предположить, что система достаточно функциональна.
Проверять достоверность концептуальной модели достаточно сложно, так как процесс ее построения является эвристическим и такая модель описывается в абстрактных терминах и понятиях.
Результат моделирования в значительной степени зависит от адекватности исходной концептуальной модели, от полученной степени подобия описания реального объекта, числа реализаций модели и многих других факторов.
В ряде случаев сложность объекта позволяет не только построить математическую модель объекта, но и дать достаточно близкое кибернетическое описание, и перспективным здесь является выделение наиболее трудно поддающейся математическому описанию части объекта и включение этой реальной части физического объекта в имитационную модель. Тогда модель реализуется, с одной стороны, на базе средств вычислительной техники, а с другой — имеется реальная часть объекта. Это значительно расширяет возможности и повышает достоверность результатов моделирования.
1.4 Получение структурной модели
1.4.1 Формирование структуры системы
При имитационном моделировании реализующий модель алгоритм воспроизводит процесс функционирования системы во времени, причем имитируются элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени, что позволяет по исходным данным получить сведения о состояниях процесса в определенные моменты времени, дающие возможность оценить характеристики системы.
Основным преимуществом имитационного моделирования по сравнению с аналитическим, является возможность решения более сложных задач. Имитационные модели позволяют достаточно просто учитывать такие факторы, как наличие дискретных и непрерывных элементов, нелинейные характеристики элементов системы, многочисленные случайные воздействия, которые часто создают трудности при аналитических исследованиях.
После перехода от описания моделируемой системы к ее модели построенной по блочному принципу, необходимо построить математические модели процессов. Математическая модель представляет собой совокупность соотношений, определяющих характеристики процесса функционирования системы в зависимости от структуры системы, алгоритмов поведения, параметров системы, воздействий внешней среды, начальных условий и времени. Математическая модель является результатом формализации процесса функционирования исследуемой системы, т. е. построения математического описания процесса с необходимой в рамках проводимого исследования степенью приближения к действительности.
На этой стадии получения структурной модели сущность формализации процессов будет состоять в составлении схемы массового обслуживания (Q-схемы), которая достаточно точно описывают основные особенности реальных явлений, составляющих процессы, с точки зрения решаемых прикладных задач.
1.4.2 Построение модели
В
соответствии с концептуальной моделью,
используя символику Q-схем, структурная
схема модели может быть представлена
в виде, показанном на рисунке 1.2, где
И – источник; Н1,
Н2 – накопители; К – канал. При этом
источник И имитирует процесс поступления
деталей в цех. Накопитель Н1 имитирует
заполнение деталями цехового склада,
а накопитель Н2 – заполнение деталями
центрального склада. Канал К имитирует
процесс поступления деталей для работы
цеха. Клапаны 1...4 с соответствующими управляющими
связями посредством блокировок входов
и выходов накопителей отражают управление
заполнением и использованием деталей
на центральном и цеховом складах.
Рисунок
1.2 - Q – схема моделируемой системы
Принцип работы данной Q-схемы следующий. Клапан 1 на входе накопителя Н2 открыт, если накопитель Н2 имеет больше 3 комплектов деталей, в противном случае он закрыт. Клапан 2 открыт, если клапан 1 на входе накопителя Н2 закрыт, в противном случае он закрыт. Клапан 3 на выходе накопителя Н1 открыт, если в накопителе Н1 есть заявки, в противном случае он закрыт. Клапан 4 открыт. Детали, прошедшие через канал К, считаются обслуженными.
1.4.3 Оценка качества модели
Метод
имитационного моделирования
Имитационное моделирование на ЭВМ, как и любой метод исследований, имеет достоинства и недостатки. К числу основных достоинств метода имитационного моделирования при исследовании сложных систем можно отнести следующие: машинный эксперимент с имитационной моделью дает возможность исследовать особенности процесса функционирования системы в любых условиях; применение ЭВМ в имитационном эксперименте существенно сокращает продолжительность испытаний по сравнению с натурным экспериментом; имитационная модель позволяет включать результаты натурных испытаний реальной системы или ее частей для проведения дальнейших исследований; имитационная модель обладает известной гибкостью варьирования структуры, алгоритмов и параметров моделируемой системы; имитационное моделирование сложных систем часто является единственным практически реализуемым методом исследования процесса функционирования таких систем на этапе их проектирования.
Основным недостатком, проявляющимся при машинной реализации метода имитационного моделирования, является то, что решение, полученное при анализе имитационной модели, всегда носит частный характер, так как оно соответствует фиксированным элементам структуры, алгоритмам поведения и значениям параметров системы, начальных условий и воздействий внешней среды.
Поэтому
для полного анализа
Проверка достоверности модели системы является первой из проверок, выполняемых на этапе реализации модели. Так как модель представляет собой приближенное описание процесса функционирования реальной системы, то до тех пор, пока не доказана достоверность модели, нельзя утверждать, что с ее помощью будут получены результаты, совпадающие с теми, которые могли бы быть получены при проведении натурного эксперимента с реальной системой. Поэтому определение достоверности модели можно считать наиболее важной проблемой при моделировании систем. От решения этой проблемы зависит степень доверия к результатам, полученным методом моделирования.
1.5
Разработка алгоритма моделирования
На этапе алгоритмизации модели и ее машинной реализации — математическая модель, сформированная воплощается в конкретную машинную модель. Этот этап представляет собой этап практической деятельности, направленной на реализацию идей и математических схем в виде машинной модели процесса функционирования системы.
Выбираем для построения обобщенного алгоритма «принцип dZ», поскольку этот принцип построения является наиболее простым для данной системы из-за того, что позволяет рассматривать состояния элементов системы только в моменты особых событий. Этот метод также обеспечивает экономию машинного времени относительно «принципа Dt».
Выбираем синхронный моделирующий алгоритм и принимаем за особые события поступление в систему заявок. В соответствии с выбранным принципом составим обобщенный алгоритм, показанный на рисунке 1.3.
Рисунок 1.3 – Обобщенная схема моделирующего алгоритма
2 Исследование модели системы
2.1 Программная реализация модели
Успех или неудача проведения имитационных экспериментов с моделями сложных систем существенным образом зависит от инструментальных средств, используемых для моделирования, т. е. набора аппаратно-программных средств, представляемых пользователю-разработчику или пользователю-исследователю машинной модели.
Использование современных ЭВМ и вычислительных комплексов и сетей является мощным средством реализации имитационных моделей и исследования с их помощью характеристик процесса функционирования систем. В ряде случаев в зависимости от сложности объекта моделирования, т. е. системы, рационально использование персональных компьютеров. В любом случае эффективность исследования системы на программно-реализуемой модели прежде всего зависит от правильности схемы моделирующего алгоритма, совершенства программы и только косвенным образом зависит от технических характеристик ЭВМ, применяемой для моделирования. Большое значение при реализации модели на ЭВМ имеет вопрос правильного выбора языка моделирования.
2.2
Определение конфигурации технических
средств
Разработанный моделирующий алгоритм можно реализовать с помощью разных языков программирования, например, C++, Pascal, Delphi, MathCad.
Средой разработки для решения поставленной задачи был выбран пакет MathCad 2000 от компании MathSoft Inc. Выбор данного пакета основан на большом количестве его достоинств, среди которых можно отметить следующие:
- все вычисления ведутся в традиционных математических нотациях;
- имеет большое количество встроенных функций;
- все расчеты проводятся в режиме реального времени и не требуют от пользователя никаких дополнительных команд.
Реализацией разработанного моделирующего алгоритма проведения одной имитации является написанная в среде MathCad функция One, которая моделирует процесс работы цеха в течение 400 часов. Результатом вызова данной функции является определение вероятности простоя цеха из-за отсутствия деталей и загрузку цехового склада.
Реализацией разработанного моделирующего алгоритма проведения k имитаций является написанная в среде MathCad функция IMIT, которая моделирует процесс обработки средней загрузки цехового склада 400 ч. k раз. Результатом вызова данной функции является среднее значение загрузки цехового склада и среднее время работы, при котором вероятность простоя цеха будет равна нулю.
Листинг функций One и IMIT приведен в приложении А.
2.3 Исследование модели
2.3.1
Проведение вычислительного эксперимента
При написании функций One и IMIT были приняты следующие переменные:
TIME – время работы
DET – количество комплектов деталей
ZAV – заявка на центральный склад
KOM – комплектование деталей
DOS – доставка деталей на цеховой склад
PR – общее время простоя цеха из-за отсутствия деталей
TIME_PR – время простоя
SR_Z – загрузка цехового склада
Входными параметрами для функции One являются переменные TIME, DET, а выходными – переменные PR и SR_Z. Функция IMIT не имеет в явном виде входных параметров, однако, количество проводимых имитаций k задается в теле функции. Выходными параметрами функции IMIT являются переменные PR и SR_Z.
2.3.2
Анализ и интерпретация результатов
моделирования
Результат проведения одной имитации:
Результат проведения 10 имитаций: