Моделирование сложных систем



Содержание

 

Введение......................................................................................................................3

Глава1. Теоретические  сведения...........................................................................5

Глава 2. Этапы  создания модели..........................................................................12

Глава 3. Моделирование  в среде Matlab.............................................................17

Глава 4. Моделирование  в среде GPSSW............................................................26

Глава 5. Анализ полученных результатов..........................................................35

Заключение................................................................................................................42

Список использованной литературы...................................................................43

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

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

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

Специализированные языки  моделирования делят на три группы, соответствующие видам имитации: для непрерывных, дискретных и комбинированных процессов. Научно-технический прогресс в наше время невозможен без исследования, построения и использования сложных систем и процессов, разнообразных по своей физической природе, функциональному назначению, путям реализации. Примерами таких систем являются системы обеспечения АЭС и сама АЭС, компьютеризованные информационно-измерительные  и информационно-управляющие системы радиационного и экологического контроля, технологические потоки, телекоммуникационные системы и т. д. Исследование поведения таких систем при их эксплуатации путём натурного эксперимента чрезвычайно дорого, сложно, а при проектировании- невозможно. Именно поэтому основным методом исследования сложных систем является метод математического моделирования, то есть метод описания поведения физических систем при помощи математических соотношений или уравнений.

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

 

 

Глава 1. Теоретические сведения

    1. Основные понятия и определения

 

Моделирование применяется  практически во всех сферах человеческой деятельности.

Научно-техническое развитие обычно идёт по пути: наблюдение - теоретические исследования – эксперимент - организация производственных процессов. В научных исследованиях большую роль играют гипотезы - определённые предсказания, основывающиеся на небольшом количестве опытных данных, наблюдений, догадок. Аналогия - суждение о каком-либо частном сходстве двух объектов. Гипотезы и аналогии, сведённые в удобные для исследования логические схемы, позволяющие проводить эксперименты, называются моделями. Другими словами, модель (лат.modulus-мера) - это объект-заместитель объекта-оригинала, обеспечивающий изучение некоторых свойств оригинала. А замещение одного объекта другим в целях получения информации о важнейших свойствах объекта-оригинала с помощью объекта-модели называется моделированием. Моделирование можно рассматривать как один из мощнейших инструментов, используемых при исследовании больших и сложных систем и процессов.

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

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

Функция системы - правило получения результатов, предписанных назначением.

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

 

    1. Виды и уровни моделирования

 

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

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

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

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

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

Абстрактная или мысленная модель-это описание объекта исследована на каком-то языке либо текстуально, либо формализовано.

Гносеологические модели направлены на изучение объективных законов природы.

Информационные или кибернетические модели описывают поведение объекта-оригинала, но не копируют его.

Сенсуальные модели-модели чувств, эмоций, либо модели, оказывающие влияние на органы чувств человека.

Концептуальная модель-это абстрактная модель, определяющая структуру моделируемой системы, свойства её элементов и причинно-следственные связи, присущие исследуемому объекту и существенные в рамках данного конкретного исследования.

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

Для аналитического моделирования характерно то, что процессы функционирования элементов системы записываются в виде некоторых функциональных соотношений или логических условий .Недостаток: для получения аналитических зависимостей приходится упрощать модель.

При имитационном моделировании реализующий модель алгоритм воспроизводит процесс функционирования системы во времени. Существуют три представления времени:

    • Реальное время - это время, в котором происходит функционирование моделируемой системы в реальной жизни.
    • Модельное (системное) время - это время, в котором происходит функционирование моделируемой системы при проведении имитационного моделирования на ПК.
    • Машинное время - это время, отражающее затраты компьютерного времени на проведение имитационного моделирования.

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

 В зависимости от  степени детализации описания  сложных систем можно выделить  три основных уровня моделирования:

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

 

    1. Основы построения и реализации имитационных моделей

 

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

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

Дискретной называют СВ, которая может принимать дискретное множество значений. Непрерывная СВ принимает любое значение из некоторого интервала. Математическое ожидание СВ – это среднее значение величины. Дисперсия – математическое ожидание квадрата отклонения СВ от её среднего значения.

 

1.4. Проведение экспериментов с математическими моделями

 

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

    • План эксперимента в значительной степени определяет порядок статистического анализа его результатов;
    • Успешность разрешения с помощью эксперимента поставленных экспериментатором задач существенно зависит от его плана.

Итак, основная задача планирования машинных экспериментов – получение необходимой информации об исследуемой системе при ограничении на ресурсы. Наиболее распространенные задачи планирования: уменьшение затрат машинного времени на моделирование, увеличение точности и достоверности результатов моделирования, проверка адекватности модели и т. д.

Важное значение при планировании эксперимента имеют следующие обстоятельства:

    • простота повторения условий эксперимента с моделью на ПК;
    • возможность управления экспериментом, включая его прерывание и возобновление;
    • лёгкость варьирования условий;
    • наличие корреляции между последовательностью точек в моделировании.

 

Глава 2. Этапы создания модели

 

Процесс создание модели можно  разделить на следующие этапы:

    • Постановка задачи
    • Построение концептуальной схемы модели
    • Формализация поставленной задачи, сбор данных статистики и их обработка
    • Выбор модели
    • Построение модели
    • Проверка адекватности модели
    • Планирование эксперимента
    • Проведение эксперимента, сбор результатов
    • Анализ результатов

 

    1. Постановка задачи (Задание №3)

 

Система обработки информации содержит мультиплексный канал и  три миниЭВМ. Сигналы от датчиков поступают на вход канала через интервалы  времени 5-15 мкс. В канале они буферизуются и предварительно обрабатываются в течении 7-13 мкс. Затем они поступают на обработку в ту миниЭВМ, где имеется наименьшая по длине входная очередь. Емкости входных накопителей во всех миниЭВМ рассчитаны на хранение величин 10 сигналов. Время обработки сигнала в любой миниЭВМ равно 33 мкс.

Цель исследования: Смоделировать процесс обработки 500 сигналов, поступающих с датчиков. Определить средние времена задержки сигналов в канале и миниЭВМ и вероятности переполнения входных накопителей. Обеспечить ускорение обработки сигнала в ЭВМ до 25 мкс при достижении суммарной очереди сигналов значения 25 единиц.

 

    1. Формализация задачи, структурная и концептуальная схемы

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

На приведенном ниже рисунке 1 представлена структурная схема  системы.

Рисунок 1 – Структурная  схема системы

 

Структурная схема описывает  составные части, может содержать  некоторые параметры, но при этом не поясняет функционирование реальной системы. Функционирование системы поясняется на основе концептуальной схемы (рисунок 2), которая отображает причинно-следственные связи между компонентами системы.

Рисунок 2 – Концептуальная схема моделируемой системы

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

 

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

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

Основные требования, предъявляемые  к модели процесса функционирования системы:

    • Полнота модели, то есть пользователь может получать набор оценок исследуемых характеристик системы с заданной точностью и достоверностью;
    • Гибкость модели должна давать возможность варьирования структуры, алгоритмов и параметров системы;
    • Длительность разработки и реализации модели сложной системы должна быть по возможности минимальной;
    • Структура модели должна быть блочной и допускать удаление, добавление и замену блоков без переделки всей модели;
    • Программные и технические средства должны обеспечивать эффективную машинную реализацию модели и удобное обращение с ней пользователя;
    • Должно быть организовано проведение целенаправленных экспериментов  с моделью системы с использованием аналитико-имитационного подхода.
    1. Выбор и построение модели

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

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

После всех выше проведённых  действий выполняется построение блок-схемы  модели.

Общий алгоритм моделирования  системы представлен на рисунке 3.

Рисунок 3 – Общий алгоритм моделирования системы

Глава 3. Моделирование в среде Matlab

3.1 Основные положения

      

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

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

MatLAB интерфирует технические компоненты  среды, которые сочетают в себе  цифровые вычисления, графику, визуализацию  и язык программирования. StateFlow позволяет моделировать поведение системы. Stateflow представляет собой графический инструментарий для проектирования сложных систем управления и является самым значительным дополнением к среде Simulink. Подсистема Stateflow дает возможность моделировать поведение сложных событийно-управляемых систем. В основе Stateflow лежит специальная форма представления гибридного поведения - карта состояний. Основные элементы карты состояний - это «состояния» (state) и «переходы» (transitions).

StateChart – основная диаграмма состояний и их переходов. Основные графические компоненты диаграммы: состояние, переход, событие, действие. Событие – нечто, происходящее вне рассматриваемой системы, возможно требующее при этом некоторых ответных действий. События считаются мгновенными для выбранного уровня абстрагирования. Действие – реакции моделируемой системы на события. Также мгновенны. Состояние – условие, в котором пребывает моделируемая система некоторое время, в течение которого система ведёт себя одинаковым образом. Переход – смена состояний, вызванная событием. Суперсостояние (гиперсостояние) – объединяет несколько состояний, имеющих идентичную реакцию на одно и то же событие.

С точки зрения StateFlow состояние описывает режим управляемой событиями системы. состояний - это «состояния» (state) и «переходы» (transitions).

Каждое состояние описывает  один режим в работе событийно-управляемой  системы. Состояние становиться  активным, если срабатывает условие перехода, ведущего к этому состоянию или если на это состояние установлен переход по умолчанию. Каждое состояние на диаграмме Stateflow имеет «родителя», которым, по умолчанию, является сама диаграмма Stateflow.

Подсостояние – это состояние, которое может быть активно, только если активно состояние, называемое его родителем. Для того, чтобы  создать подсостояние, необходимо, выбрав кнопку State, щелкнуть мышкой в поле того состояния, которое предполагается иметь родительским, причем вложенность подсостояний может быть произвольной. Состояние с его подсостояниями можно сгруппировать. Это удобно использовать, если необходимо переместить такое состояние с одного места на другое, но при этом не нарушить расположение его подсостояний относительно друг друга. Для этого необходимо, щелкнув правой кнопкой мышки, выбрать в появившемся меню пункт Make Contents/Group, или просто дважды щелкнуть левой кнопкой мышки в поле состояния. Сгруппированные состояния Simulink выделяет тем, что обводит их утолщенной линией. Разгруппировать состояния можно опять же дважды щелкнув в поле состояния мышкой.

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

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

Переход имеет метку, которая описывает  условия срабатывания перехода и выполняемые при этом действия.

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

 

Различают следующие виды переменных:

    • входные;
    • выходные;
    • локальные;
    • константы;
    • существующие только в течение определенного временного интервала;
    • определенные в рабочем пространстве Matlab;
    • импортируемые из источника, внешнего к диаграмме Stateflow и диаграмме Simulink;
    • экспортируемые адресату, внешнему к диаграмме Stateflow и диаграмме Simulink.

Для того чтобы создать входные (выходные и т.д.) переменные в блоке Stateflow, необходимо в окне соответствующей диаграммы Stateflow в меню выбрать соответствующий  пункт (Add/Data…/Input from Simulink для создания входной, Add/Data…/Output to Simulink для создания выходной и Add/Data…/Local для создания локальной переменной) и в открывшемся окне ввести имя соответствующей переменной и другие ее характеристики.

Для переходов состояний  из неактивного в активное необходимо событие или условие. События бывают: вход, выход, в течение и создание собственного события. Метки переходов описывают обстоятельства, под действием которых система переходит от одного состояния к другому. Если событие не указано, переход будет осуществляться при любом событии.                         Переходы, которые заканчиваются в соединениях, могут иметь только действия условий. Условие – это заключённое в скобки логическое выражение, определяющее произойдёт переход или нет.

 

3.2 Разработка  и описание модели

      

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

    • Tmew- время между поступлением заявок;
    • Tobs- время обслуживания заявки в канале предварительной обработки;
    • Tobs1- время обслуживания заявки в ЭВМ 1;
    • Tobs2- время обслуживания заявки в ЭВМ 2;
    • Tobs3- время обслуживания заявки в ЭВМ 3;
    • Tobssum- суммарное время, затраченное на обслуживание заявок каналом предварительной обработки;
    • Tobs1sum- суммарное время, затраченное на обслуживание заявок ЭВМ_1;
    • Tobs2sum- суммарное время, затраченное на обслуживание заявок ЭВМ_2;
    • Tobs3sum- суммарное время, затраченное на обслуживание заявок ЭВМ_3;
    • Bocher- бесконечная очередь;
    • Kolzajv- количество сгенерированных заявок;
    • Osv_kan0- переменная флаг, показывающая состояние канала предварительной обработки (занят-1/свободен-0);
    • Prihod- переменная флаг, показывающая приход заявки (есть-1 /нет-0);
    • Raspr- переменная, служащая для запоминания распределения;
    • Ver_per- вероятность переполнения входных накопителей;
    • Total_time- общее время работы системы;
    • N1- переменная, показывающая количество заявок в накопителе 1;
    • N2- переменная, показывающая количество заявок в накопителе 2;
    • N3- переменная, показывающая количество заявок в накопителе 3;
    • Kol_otkaz- количество отказов;
    • kol_z1- количество заявок обслуженных ЭВМ 1;
    • kol_z2- количество заявок обслуженных ЭВМ 2;
    • kol_z3- количество заявок обслуженных ЭВМ 3;
    • svzsevm1- среднее время задержки сигналов в ЭВМ 1;
    • svzsevm2- среднее время задержки сигналов в ЭВМ 2;
    • svzsevm3- среднее время задержки сигналов в ЭВМ 3;
    • svzskan- среднее время задержки сигналов в канале.
Моделирование сложных систем