«Н.Н. Снетков Имитационное моделирование экономических процессов Учебно-практическое пособие Москва 2008 1 УДК 519.86 ББК 65.050 С 534 Снетков Н.Н. Имитационное моделирование экономических процессов: Учебно-практическое ...»
Международный консорциум «Электронный университет»
Московский государственный университет экономики,
статистики и информатики
Евразийский открытый институт
Н.Н. Снетков
Имитационное моделирование
экономических процессов
Учебно-практическое пособие
Москва 2008
1
УДК 519.86
ББК 65.050
С 534
Снетков Н.Н. Имитационное моделирование экономических процессов: Учебно-практическое пособие. – М.: Изд.
центр ЕАОИ, 2008. – 228 с.
ISBN 978-5-374-00079-5 © Снетков Н.Н., 2008 © Евразийский открытый институт, 20087 2 Содержание Цель и задачи курса
Введение
Раздел I. Теоретические основы имитационного моделирования
Глава 1. Основные понятия теории моделирования экономических систем и процессов
§1. Основы принятия решений относительно создания, совершенствования, развития экономических систем.... §2. Основы имитационного моделирования
2.1. Понятие модели
2.2. Классификация моделей
2.3. Последовательность разработки математических моделей
2.3.1. Определение цели моделирования
2.3.2. Построение концептуальной модели................ 2.3.3. Разработка алгоритма модели системы............ 2.3.4. Разработка программы модели системы.......... 2.3.5. Планирование модельных экспериментов и проведение машинных экспериментов с моделью системы
Глава 2. Математические схемы моделирования экономических систем
§1. Классификация моделируемых систем
§2. Математические схемы (модели)
Глава 3. Моделирование случайных событий и величин..... §1. Моделирование случайных событий
1.1. Моделирования простого события
1.2. Моделирование полной группы несовместных событий
§2. Моделирование случайных величин
2.1. Моделирование дискретной случайной величины.. 2.2. Моделирование непрерывных случайных величин....... 2.2.1. Метод обратной функции
2.2.2. Моделирование случайных величин с показательным распределением
2.2.3. Моделирование случайных величин с равномерным распределением
2.2.4. Моделирование случайных величин с нормальным распределением
2.2.5. Моделирование случайных величин с усеченным нормальным распределением... 2.2.6. Моделирование случайных величин с произвольным распределением
2.2.7. Моделирование случайных величин с заданными параметрами средствами Matlab... Раздел II. Концепция и возможности объектноориентированной моделирующей системы........ Глава 4. Общие сведения о MATLAB/SIMULINK.
Библиотека блоков SIMULINK
§1. Запуск MATLAB, интерфейс
§2. Editor/debugger – редакгор\отладчик программ...... §3. Простые вычисления в командном режиме................ §4. Введение в Simulink
§5. Работа с Simulink
§6. Обозреватель разделов библиотеки Simulink.............. §7. Создание модели
§8. Окно модели
§9. Основные приемы подготовки и редактирования модели
§10. Библиотека блоков SIMULINK
10.1. Sources – источники сигналов
10.2. Sinks – приемники сигналов
10.2.1. Осциллограф Scope
10.2.2. Цифровой дисплей Display
10.3. Continuous – аналоговые блоки
10.3.2. Блок фиксированной задержки сигнала Transport Delay
10.3.3. Блок управляемой задержки сигнала Variable Transport Delay
10.4. Nonlinear – нелинейные блоки
10.4.1. Блок ограничения Saturation
10.4.2. Блок переключателя Switch
10.4.3. Блок ручного переключателя Manual Switch 10.5. Math – блоки математических операций................. 10.5.1. Блок вычисления суммы Sum
10.5.2. Усилители Gain и Matrix Gain
10.5.3. Блок вычисления операции отношения Relational Operator
10.6. Signal&Systems – блоки преобразования сигналов и вспомогательные блоки
10.6.1. Мультиплексор (смеситель) Mux
10.6.2. Демультиплексор (разделитель) Demux....... 10.7. Function & Tables – блоки функций и таблиц......... 10.7.1. Блок задания функции Fcn
10.7.2. Блок задания функции MATLAB Fcn............. 10.8. Этапы моделирования
Глава 5. Управление модельным временем
§1. Виды представления времени в модели
§2. Изменение времени с постоянным шагом................. §3. Продвижение времени по особым состояниям........ §4. Моделирование параллельных процессов................. §5. Управление модельным временем в matlab............... §6. Установка параметров вывода выходных сигналов моделируемой системы output options (параметры вывода)
§7. Установка параметров обмена с рабочей областью.... §8. Установка параметров диагностирования модели.. Глава 6. Классификация математических моделей экономических систем
Глава 7. Моделирование процессов обслуживания заявок в условиях отказов
§2. Стратегическое планирование имитационного эксперимента
§4. Возможности Matlab/Simulink по планированию 4.2. Проведение имитационных экспериментов §1. Имитационная модель циклов роста и падений в экономике (кризисов)
1.3. Математическая модель
§2. Использование имитационного моделирования для поиска оптимальной ставки налогообложения на прибыль
2.3. Математическая модель
2.5. Исходные данные для параметров, переменных и показателей модели
2.8. Программа управления имитационным экспериментом
§3. «Паутинообразная» модель фирмы (равновесие на конкурентном рынке)
3.2. Построение модели
Практикум
Практическое занятие 1
Практическое занятие 2
Практическое занятие 3
Практическое занятие 4
Практическое занятие 5
Практическое занятие 6
Итоговые вопросы
Глоссарий
Список рекомендуемой литературы
Имитационное моделирование экономических процессов Цель и задачи курса Целью изучения дисциплины является формирование у студентов теоретических знаний и практических навыков по применению методов имитационного моделирования в экономике, управлении и бизнесе. В процессе изучения курса студенты знакомятся со средствами имитационного моделирования процессов функционирования экономических систем, овладевают методами имитационного моделирования, типовыми этапами моделирования процессов, образующих «цепочку»: построение концептуальной модели и ее формализация – алгоритмизация модели и ее компьютерная реализация – имитационный эксперимент и интерпретация результатов моделирования; овладевают практическими навыками реализации моделирующих алгоритмов для исследования характеристик и поведения сложных экономических систем.
В результате освоения содержания дисциплины студент должен:
• основы теории и практики имитационного моделирования экономических процессов;
• основные классы моделей систем предметной области, технологию их моделирования;
• принципы построения моделей процессов функционирования экономических систем, методы формализации и алгоритмизации, возможности реализации моделей с использованием программно-технических средств современных ЭВМ.
• использовать метод имитационного моделирования при исследовании, проектировании и эксплуатации экономических систем;
• разрабатывать схемы моделирующих алгоритмов процессов и систем, реализовывать модели с использованием пакета прикладных программ моделирования Matlab, Simulink.
Требования, предъявляемые к слушателю курса Для изучения курса «Имитационное моделирование экономических процессов» студент должен знать теорию систем и системного анализа, экономику, математику, теорию вероятностей математической статистики, программирование, а также иметь навыки пользователя ПК.
Дисциплина опирается на ранее изученные дисциплины «Экономика», «Математика. Математический анализ», «Теория вероятностей», «Теория статистики», «Математика.
Линейная алгебра», «Математика. Дискретная математика», «Численные методы», «Информатика и программирование», «Высокоуровневые методы информатики и программирования», «Теория экономических информационных систем», «Методы оптимизации», «Теория систем и системный анализ « и используется при изучении дисциплин: «Проектирование информационных систем», «Технология внедрения корпоративных информационных систем», «Реинжиниринг бизнеспроцессов».
Виды работ, выполняемых в ходе курса:
• Участие в различных формах обучения:
посещение лекционных и практических занятий;
совместная работа;
получение информации от преподавателя и общение с ним для решения возникающих вопросов, связанных с содержанием дисциплины;
самостоятельная работа.
• Изучение теоретического материала.
• Самостоятельное изучение отдельных разделов теоретического материала с использованием электронных ресурсов.
• Выполнение заданий практической части курса.
• Ответы на вопросы для самопроверки по окончании изучения курса.
• Прохождение итогового контроля.
Имитационное моделирование экономических процессов Для успешного прохождения курса необходимо:
• Участие в теоретической и практической части изучения Чтение рекомендуемой литературы по соответствующим темам.
Выполнение всех практических заданий.
Прохождение самотестирования по темам курса в период его изучения.
Прохождение самотестирования по всему курсу.
Для прохождения итогового контроля необходимо Успешно ответить на вопросы итогового теста в ИОС «Прометей» и сдать экзамен.
Введение Имитационное моделирование – наиболее мощный и универсальный метод исследования и оценки эффективности систем, поведение которых зависит от воздействия случайных факторов. К таким системам можно отнести и летательный аппарат, и популяцию животных, и предприятие, работающее в условиях слаборегулируемых рыночных отношений.
В основе имитационного моделирования лежит статистический эксперимент (метод Монте-Карло), реализация которого практически невозможна без применения средств вычислительной техники. Поэтому любая имитационная модель представляет собой в конечном счете более или менее сложный программный продукт.
Конечно, как и любая другая программа, имитационная модель может быть разработана на любом универсальном языке программирования, даже на языке Ассемблера. Однако на пути разработчика в этом случае возникают следующие проблемы:
• требуется знание не только той предметной области, к которой относится исследуемая система, но и языка программирования, причем на достаточно высоком уровне;
• на разработку специфических процедур обеспечения статистического эксперимента (генерация случайных воздействий, планирование эксперимента, обработка результатов) может уйти времени и сил не меньше, чем на разработку собственно модели системы.
И наконец, еще одна, пожалуй, важнейшая проблема. Во многих практических задачах интерес представляет не только (и не столько) количественная оценка эффективности системы, сколько ее поведение в той или иной ситуации. Для такого наблюдения исследователь должен располагать соответствующими «смотровыми окнами», которые можно было бы при необходимости закрыть, перенести на другое место, изменить масштаб и форму представления наблюдаемых характеристик и т.д., Имитационное моделирование экономических процессов причем не дожидаясь окончания текущего модельного эксперимента. Имитационная модель в этом случае выступает как источник ответа на вопрос: «что будет, если…».
Реализация таких возможностей на универсальном языке программирования – дело очень непростое. В настоящее время cуществует довольно много программных продуктов, позволяющих моделировать процессы. К таким пакетам относятся: Pilgrim, GPSS, Simplex и ряд других.
Вместе с тем в настоящее время на российском рынке компьютерных технологий есть продукт, позволяющий весьма эффективно решать указанные проблемы, – пакет МАТLАВ, содержащий в своем составе инструмент визуального моделирования Simulink.
Simulink – это инструмент, позволяющий достаточно быстро смоделировать систему и получить показатели ожидаемого эффекта и сравнить их с затратами сил на их достижение.
Раздел I.
Глава 1. Основные понятия теории моделирования экономических систем и процессов §1. Основы принятия решений относительно создания, совершенствования, развития экономических систем В течение всей своей жизни, от первых шагов и до последнего вздоха, человек вынужден принимать те или иные решения: какой подарок попросить у Деда Мороза, куда пойти учиться, как лучше потратить лишние (или последние) деньги и т.д.
Если определенная ситуация, требующая принятия решения, повторяется достаточно часто, то решение приходит «само собой», автоматически. Если же ситуация недостаточно знакома или человек не располагает всей необходимой информацией, то принятие решения существенно усложняется.
В таких случаях он вынужден, как правило, сравнивать между собой несколько возможных вариантов и выбирать тот, который кажется ему наиболее предпочтительным (или наименее опасным).
Значительно более важные последствия имеют так называемые управляющие решения. Из теории исследования операций известно, что количественно принятое решение можно оценить с помощью показателя эффективности функционирования исследуемой (разрабатываемой) системы, в том числе экономической.
Раздел I.
Теоретические основы имитационного моделирования В общем случае он отражает результат функционирования системы (или, говоря терминами теории исследования операций, – проведения операции), который, в свою очередь, является функцией трех факторов: полезного эффекта операции (q), затрат ресурсов на проведение операции (с) и затрат времени на ее проведение (t). Значения величин q, с и t зависят от стратегии проведения операции (u). В формальном виде сказанное можно записать так:
Пример. Принимается решение относительно строительства крупного складского помещения для дорогостоящего товара (например автомобилей). От того, насколько правильно будет выбран показатель эффективности, определены факторы, зависит выбор правильного решения.
q(u) – число автомобилей, хранящихся на складе;
с(u) – стоимость доставки и хранения автомобилей (в рублях);
t(и) – время доставки и хранения автомобилей (в часах).
Имея возможность рассчитать указанные величины, можно получить достаточно объективную оценку эффективности выбранного способа продажи автомобилей.
Показатель эффективности (ПЭ) позволяет оценить (точнее, описать) результат операции, полученный при использовании конкретной стратегии. Однако даже если такие оценки будут получены для всего множества допустимых стратегий, этого еще недостаточно, чтобы выбрать одну из них, ту, которая будет реализована. Например, при оценке загруженности вычислительной сети оказалось, что коэффициент использования равен 0,7. Хорошо это или плохо? Чтобы ответить на подобный вопрос, необходимо сформулировать правило, позволяющее лицу, принимающему решение (ЛПР), сравнивать между собой стратегии, характеризующиеся различными значениями ПЭ. В одних случаях правило сравнения может быть очень простым, в других же его вообще не удается найти и приходится изменять (уточнять) показатель эффективности.
Скажем, если автомобиль одной и той же марки в двух разных автосалонах продается по разным ценам (при прочих равных условиях), то правило выбора салона напрашивается само. Совсем другое дело, когда автомобили различаются стоимостью, фирмой-изготовителем, дизайном, организацией гарантийного обслуживания и т.д. При этом первый оказывается предпочтительнее по одним показателям, второй – по другим. В такой ситуации покупатель должен сначала определить правило выбора и только после этого сравнивать между собой различные варианты.
В теории принятия решений правило, на основании которого производится выбор стратегии, отвечающей интересам ЛПР, называется критерием эффективности.
Таким образом, показатель эффективности и критерий эффективности в совокупности отражают цели, которые преследует ЛПР при проведении данной операции, а также наиболее предпочтительный для него способ достижения этой цели.
Лица, ответственные за принятие решений, касающихся проектирования и создания экономических систем, могут оценить их эффективность одним из трех следующих способов.
Во-первых, есть возможность (по крайней мере теоретическая) проводить управляемые эксперименты с экономической системой фирмы, отрасли или страны. Однако принятие неоптимальных решений может причинить ущерб экономической системе. При этом чем больше масштаб системы, тем ощутимее убытки. Тем не менее, на практике такие эксперименты нередко производились и производятся (в некоторых странах) с неизменно отрицательным результатом.
Даже в случае оптимальных решений, касающихся, например, управления деятельностью фирмы, при проведении натурных экспериментов трудно сохранить постоянство факторов и условий, влияющих на результат, а следовательно, сложно обеспечить надежную оценку различных экономических решений.
Во-вторых, если есть данные о развитии экономической системы за некоторый период времени в прошлом, то можно Раздел I.
Теоретические основы имитационного моделирования провести мысленный эксперимент на этих данных. Однако для этого нужно знать точно, какие изменения и каких входных переменных привели к наблюдаемому изменению выходных переменных, характеризующих эффективность экономической системы. Иногда причинами изменений могут оказаться случайные возмущения, или так называемый «шум». Поэтому нельзя слишком доверять оценкам экономических решений, полученным на основе данных о развитии системы в прошлом.
В-третьих, можно построить математическую модель рассматриваемой системы, связывающую входные (независимые) переменные с выходными (зависимыми) переменными, а также с экономической стратегией, т.е. со способом управления экономической системой. Если есть основания для того, чтобы считать разработанную математическую модель адекватной рассматриваемой экономической системе, то с помощью модели можно производить расчеты или машинные эксперименты (если модель реализована на ЭВМ). По результатам этих экспериментов можно выработать рекомендации по повышению эффективности существующей или проектируемой экономической системы (рис. 1.1).
ЛИЦО, ПРИНИМАЮЩЕЕ РЕШЕНИЕ (ЛПР)
на проектирование и создание экономической системы Рис. 1.1. Принятие решения об эффективности Условием для разработки модели является наличие так называемой информационной достаточности. Это означает, что разработчик должен иметь достаточное представление о том, что является входными и выходными переменными в исследуемой системе и какие факторы оказывают влияние на процесс ее функционирования. Если уровень информационной достаточности невысок, то создать модель, с помощью которой можно получать новые знания об объекте-оригинале, невозможно. Если же уровень информационной достаточности велик, т.е. система уже хорошо изучена, то вопрос о создании модели теряет смысл, так как новых знаний она также не даст.Следовательно, разрабатывать модель имеет смысл только в том случае, если объект-оригинал еще недостаточно изучен или вообще не существует в природе и только проектируется.
Если объект-оригинал существует, то модель считается адекватной ему в том случае, если зависимость выходных переменных от входных параметров в модели и в объектеоригинале практически совпадает. При упрощении моделей степень адекватности снижается.
Если же объекта-оригинала еще не существует, то модель считается адекватной ему, если она с достаточной степенью приближения на уровне понимания моделируемого процесса исследователем отражает закономерности процесса функционирования реальной системы. Залогом адекватности в этом случае является полнота описания моделируемого процесса, т.е.
учет всех факторов, поддающихся формализации.
Ярким примером успешного решения задачи моделирования процесса, который невозможно осуществить на практике, является разработка вычислительным центром АН СССР в 1985 г. под руководством академика Н.Н. Моисеева модели ядерной войны, получившей название «Гея». С помощью этой модели были строго научно оценены катастрофичные для человека и всего живого на Земле последствия, к которым привела бы ядерная война. Опубликование результатов исследований внесло важный вклад в ослабление ядерной угрозы.
Раздел I.
Теоретические основы имитационного моделирования Существует множество различных типов моделей: физические, аналоговые, интуитивные и т.д. Особое место среди них занимают математические модели, которые, по мнению академика А.А. Самарского, «являются самым большим достижением научно-технической революции XX века». Математические модели делятся на две группы: аналитические и алгоритмические (которые иногда называют имитационными).
В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Не составляет исключения и экономическая деятельность. Однако в области имитационного моделирования экономических процессов до сих пор наблюдаются некоторые сложности.
На наш взгляд, это обстоятельство объясняется следующими причинами.
1. Экономические процессы происходят в значительной мере стихийно, неуправляемо. Они плохо поддаются попыткам волевого управления со стороны политических, государственных и хозяйственных руководителей отдельных отраслей и экономики страны в целом. По этой причине экономические системы плохо поддаются изучению и формализованному описанию.
2. Специалисты в области экономики, как правило, имеют недостаточную математическую подготовку вообще и по вопросам математического моделирования в частности. Большинство из них не умеет формально описывать (формализовывать) наблюдаемые экономические процессы. Это, в свою очередь, не позволяет установить, адекватна ли та или иная математическая модель рассматриваемой экономической системе.
3. Специалисты в области математического моделирования, не имея в своем распоряжении формализованного описания экономического процесса, не могут создать адекватную ему математическую модель.
Существующие математические модели, которые принято называть моделями экономических систем, можно условно разделить на три группы.
К первой группе можно отнести модели, достаточно точно отражающие какую-либо одну сторону определенного экономического процесса, происходящего в системе сравнительно малого масштаба. С точки зрения математики они представляют собой весьма простые соотношения между двумя-тремя переменными. Обычно это алгебраические уравнения 2-й или 3-й степени, в крайнем случае система алгебраических уравнений, требующая для решения применения метода итераций (последовательных приближений). Они находят применение на практике, но не представляют интереса с точки зрения специалистов в области математического моделирования.
Ко второй группе можно отнести модели, которые описывают реальные процессы, протекающие в экономических системах малого и среднего масштаба, подверженные воздействию случайных и неопределенных факторов. Разработка таких моделей требует принятия допущений, позволяющих разрешить неопределенности. Например, требуется задать распределения случайных величин, относящихся к входным переменным. Эта искусственная операция в известной степени порождает сомнение в достоверности результатов моделирования. Однако другого способа создания математической модели не существует.
Среди моделей этой группы наибольшее распространение получили модели так называемых систем массового обслуживания. Существуют две разновидности этих моделей:
аналитические и алгоритмические. Аналитические модели не учитывают действие случайных факторов и поэтому могут использоваться только как модели первого приближения. С помощью алгоритмических моделей исследуемый процесс может быть описан с любой степенью точности на уровне его понимания постановщиком задачи.
К третьей группе относятся модели больших и очень больших (макроэкономических) систем: крупных торговых и промышленных предприятий и объединений, отраслей народного хозяйства и экономики страны в целом. Создание маРаздел I.
Теоретические основы имитационного моделирования тематической модели экономической системы такого масштаба представляет собой сложную научную проблему, решение которой под силу лишь крупному научно-исследовательскому учреждению.
МОДЕЛИ ЭКОНОМИЧЕСКИХ СИСТЕМ
экономических ских систем малого очень больших (макросистем малого и среднего масшта- экономических) Рис. 1.2. Классификация моделей экономических систем Экономические модели, рассматриваемые в данной учебной дисциплине, относятся ко второй группе (рис. 1.2).§2. Основы имитационного моделирования 2.1. Понятие модели В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Между тем общепризнанного определения понятия модели не существует.
На наш взгляд, заслуживает предпочтения следующее определение:
модель – объект любой природы, который создается исследователем с целью получения новых знаний об объектеГлава 1. Основные понятия теории моделирования оригинале и отражает только существенные (с точки зрения разработчика) свойства оригинала.
Анализируя содержание этого определения, можно сделать следующие выводы:
1) любая модель субъективна, она несет на себе печать индивидуальности исследователя;
2) любая модель гомоморфна, т.е. в ней отражаются не все, а только существенные свойства объекта-оригинала;
3) возможно существование множества моделей одного и того же объекта-оригинала, отличающихся целями исследования и степенью адекватности.
Модель считается адекватной объекту-оригиналу, если она с достаточной степенью приближения на уровне понимания моделируемого процесса исследователем отражает закономерности процесса функционирования реальной системы во внешней среде.
2.2. Классификация моделей По форме представления объектов модели можно разделить на две группы: материальные и идеальные (рис. 1.3).
Материальные модели, в свою очередь, делятся на физические и аналоговые. В физических моделях обеспечивается аналогия физической природы и модели (примером может служить аэродинамическая труба). В аналоговых моделях добиваются сходства процессов, протекающих в оригинале и модели (так, с помощью гидроинтегратора моделируется передача тепла).
Идеальные модели можно разделить на знаковые (семиотические) и интуитивные (мысленные). Интуитивные модели используются для прогнозирования на основе анализа наблюдений прошлого периода: объема продаж, прибыли и денежного потока. При этом не предпринимаются попытки объяснить причинные взаимосвязи, которые лежат в основе интуитивной модели.
Раздел I.
Теоретические основы имитационного моделирования Знаковые модели делятся на логические, геометрические и математические. Логические модели – модели, в которых представлены различные варианты выбора действий на основе умозаключений и анализа условий. Геометрические – это графические формы и объемные конструкции. Например: рисунок, пиктограмма, чертеж, карта, план, объемное изображение и т.д.
Математические модели можно разделить на аналитические, алгоритмические (имитационные) и комбинированные.
Для аналитического моделирования характерно то, что для описания процессов функционирования системы используются системы алгебраических, дифференциальных, интегральных или конечно-разностных уравнений. Аналитическая модель может быть исследована следующими методами:
а) аналитическим, когда стремятся получить в общем виде явные зависимости для искомых характеристик;
б) численным, когда, не умея решать уравнения в общем виде, стремятся получить числовые результаты при конкретных начальных данных;
в) качественным, когда, не имея решения в явном виде, можно найти некоторые свойства решения (например, оценить устойчивость решения).
МОДЕЛИ
МАТЕРИАЛЬНЫЕ ИДЕАЛЬНЫЕ
ФИЗИЧЕСКИЕ АНАЛОГОВЫЕ ЗНАКОВЫЕ ИНТУИТИВНЫЕ
(сохраняется (по аналогии) (семиотические) (мысленные) физическая природа)МАТЕМАТИЧЕСКИЕ
ЛОГИЧЕСКИЕ ГЕОМЕТРИЧЕСКИЕ
АЛГОРИТМИЧЕСКИЕ
АНАЛИТИЧЕСКИЕ КОМБИНИРОВАННЫЕ
Желая использовать аналитический метод, часто идут на существенные упрощения первоначальной модели, чтобы иметь возможность изучить хотя бы общие свойства системы.Аналитические модели бывают детерминированные и статистические. Численный метод проведения аналитических расчетов с помощью датчиков случайных чисел получил название метода статистических испытаний, или метода МонтеКарло.
При алгоритмическом (имитационном) моделировании описывается процесс функционирования системы во времени, причем имитируются элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени. Имитационные модели также могут быть детерминированными и статистическими.
В последнем случае в модели с помощью датчиков случайных чисел имитируется действие неопределенных и случайных Раздел I.
Теоретические основы имитационного моделирования факторов. Такой метод моделирования получил название метода статистического моделирования. В настоящее время этот метод считается наиболее эффективным методом исследования сложных систем, а часто и единственным практически доступным методом получения информации о поведении гипотетической системы на этапе ее проектирования.
Комбинированное моделирование позволяет объединить достоинства аналитического и алгоритмического моделирования. При построении комбинированных моделей производится предварительная декомпозиция процесса функционирования модели на составляющие подпроцессы. Для тех из них, где это возможно, используются аналитические модели, а для остальных процессов строятся алгоритмические модели.
2.3. Последовательность разработки математических моделей Слово «компьютер» пока в нашем повествовании не использовалось. Тем не менее рано или поздно оно должно было появиться. Начнем со словосочетания «компьютерное моделирование», которое все чаще используется в соответствующей литературе. Само по себе это понятие весьма широкое и каждый автор трактует его по-своему. Встречаются, например, такие выражения: «компьютерное моделирование верхней одежды», «компьютерное моделирование причесок» и т.п. В связи с этим есть необходимость уточнить, что же мы будем понимать под этим термином. В данном случае компьютерное моделирование – это математическое моделирование с использованием средств вычислительной техники. Соответственно, технология компьютерного моделирования предполагает выполнение следующих действий:
• определение цели моделирования;
• построение концептуальной модели;
• разработка алгоритма модели системы, формализация модели;
• разработка программы модели системы;
• планирование модельных экспериментов;
• реализация плана эксперимента (проведение машинных экспериментов с моделью системы);
• анализ и интерпретация результатов моделирования.
2.3.1. Определение цели моделирования Общая цель моделирования в процессе принятия решения была сформулирована ранее – это определение (расчет) значений выбранного показателя эффективности для различных стратегий проведения операции (или вариантов реализации проектируемой системы). При разработке конкретной модели цель моделирования должна уточняться с учетом используемого критерия эффективности. Таким образом, цель моделирования определяется как целью исследуемой операции, так и планируемым способом использования результатов исследования.
Например, проблемная ситуация, требующая принятия решения, формулируется следующим образом: найти вариант построения вычислительной сети, который обладал бы минимальной стоимостью при соблюдении требований производительности и надежности. В этом случае целью моделирования является отыскание параметров сети, обеспечивающих минимальное значение ПЭ, в роли которого выступает стоимость.
Задача может быть сформулирована иначе: из нескольких вариантов конфигурации вычислительной сети выбрать наиболее надежный. Здесь в качестве ПЭ выбирается один из показателей надежности (средняя наработка на отказ, вероятность безотказной работы и т.д.), а целью моделирования является сравнительная оценка вариантов сети по этому показателю.
Приведенные примеры позволяют напомнить о том, что сам по себе выбор показателя эффективности еще не определяет «архитектуру» будущей модели, поскольку на этом этапе не сформулирована ее концепция, или, как говорят, не определена концептуальная модель исследуемой системы.
Раздел I.
Теоретические основы имитационного моделирования 2.3.2. Построение концептуальной модели Концептуальная (содержательная) модель – это абстрактная модель, определяющая структуру моделируемой системы, свойства ее элементов и причинно-следственные связи, присущие системе и существенные для достижения цели моделирования.
Построение концептуальной модели включает следующие этапы:
• определение типа системы;
• описание рабочей нагрузки (определение параметров и переменных модели);
• декомпозицию системы.
На первом этапе осуществляется сбор фактических данных (на основе работы с литературой и технической документацией, проведения натурных экспериментов, сбора экспертной информации и т.д.), а также выдвижение гипотез относительно значений параметров и переменных, для которых отсутствует возможность получения фактических данных. Если полученные результаты соответствуют принципам информационной достаточности и осуществимости, то они могут служить основой для отнесения моделируемой системы к одному из известных типов (классов). Типы систем будут рассмотрены позднее.
Описание рабочей нагрузки. При исследовании эффективности операции (функционирования системы) весьма важную роль играет корректное описание условий ее протекания. Как правило, оно представляет собой перечень и характеристики внешних факторов, воздействующих на исполнительную подсистему, используемую ЛПР для достижения целей операции. Если при сравнении различных стратегий другие виды материальных ресурсов не рассматриваются, то задача исследования эффективности операции может быть сформулирована как задача оценки эффективности исполнительной подсистемы (именно в этом смысле ранее наряду с понятием «эффективность операции» использовалось поняГлава 1. Основные понятия теории моделирования тие «эффективность системы»). В этом случае вместо условий проведения операции удобнее рассматривать рабочую нагрузку соответствующей системы.
Рабочая нагрузка – это совокупность внешних воздействий, оказывающих влияние на эффективность применения данной системы в рамках проводимой операции.
Например, пусть оценивается производительность строящейся бензоколонки. В качестве параметров рабочей нагрузки такой системы целесообразно рассматривать поток автомобилей, подлежащих заправке, и поток отказов, приводящий к нарушению ритма работы бензоколонки.
Описание рабочей нагрузки является не только важной, но и достаточно сложной задачей. Особенно в тех случаях, когда приходится учитывать влияние случайных факторов или когда речь идет о рабочей нагрузке принципиально новой проектируемой системы.
Декомпозиция системы производится исходя из выбранного уровня детализации модели, который, в свою очередь, определяется тремя факторами:
• целями моделирования;
• объемом априорной информации о системе;
• требованиями к точности и достоверности результатов моделирования.
Уровни детализации иногда называют стратами, а процесс выделения уровней – стратификацией.
Детализация системы должна производиться до такого уровня, чтобы для каждого элемента были известны или могли быть получены зависимости его выходных характеристик от входных воздействий, существенные с точки зрения выбранного показателя эффективности.
Повышение уровня детализации описания системы позволяет получить более точную ее модель, но усложняет процесс моделирования и ведет к росту затрат времени на его проведение.
Например, если моделируется дискретная система, то более детальное ее описание означает увеличение числа разРаздел I.
Теоретические основы имитационного моделирования личных состояний системы, учитываемых в модели, и, как следствие, – неизбежный рост объема вычислений.
Поэтому при выборе уровня описания системы целесообразно руководствоваться следующим правилом: в модель должны войти все параметры, которые обеспечивают определение интересующих исследователя характеристик системы на заданном временном интервале ее функционирования; остальные параметры по возможности из модели следует исключить.
При имитационном моделировании для оценки выбранного уровня детализации можно использовать специальные критерии.
Первый из них – отношение реального времени функционирования системы к времени моделирования (т.е. к затратам машинного времени, необходимого на проведение модельного эксперимента). Например, если при одних и тех же подходах к программной реализации модели моделирование одного часа работы системы требует в одном случае 3 минуты машинного времени, а в другом – 10 минут, то во втором случае степень детализации описания выше (соотношение 3:10).
Второй критерий – разрешающая способность модели, в том числе:
• разрешающая способность по времени – может быть определена как кратчайший интервал модельного времени между соседними событиями;
• разрешающая способность по информации – наименьшая идентифицируемая порция информации, представимая в модели (для вычислительных систем, например, такими порциями могут быть: слово, страница, программа, задание).
Третий критерий – число различных моделируемых состояний системы (или типов событий). Для тех компонентов, относительно которых известно или предполагается, что они сильнее влияют на точность результатов, степень детальности может быть выше других. Необходимо отметить, что с увеличением детальности возрастает устойчивость модели, но возрастают и затраты машинного времени на проведение модельного эксперимента.
Разработка концептуальной модели завершается составлением содержательного описания, которое используется как основной документ, характеризующий результаты работы на первом этапе.
2.3.3. Разработка алгоритма модели системы Разработка алгоритма модели включает следующие подэтапы:
• построение логической схемы алгоритма;
• получение математических соотношений;
• проверку достоверности алгоритма.
Вначале создается укрупненная (обобщенная) схема моделирующего алгоритма, которая задает общий порядок действий при моделировании исследуемого процесса. Затем разрабатывается детальная схема, каждый элемент которой впоследствии превращается в оператор программы.
Для комбинированных моделей разрабатывается аналитическая часть в виде явных функций и имитационная часть в виде моделирующего алгоритма.
Проверка достоверности алгоритма должна дать ответ на вопрос, насколько алгоритм отражает замысел моделирования, сформулированный на этапе разработки концептуальной модели.
2.3.4. Разработка программы модели системы Разработка программы для ЭВМ включает следующие подэтапы:
• выбор вычислительных средств;
• проведение программирования;
• проверку достоверности программы.
Прежде всего выбираются тип ЭВМ (компьютера) и язык программирования или программа моделирования.
После составления программы производится проверка ее достоверности на контрольном примере. На этом подэтапе необходимо оценить затраты машинного времени для расчета одной реализации моделируемого процесса, что позволит Раздел I.
Теоретические основы имитационного моделирования разработчику модели правильно сформулировать требования к точности и достоверности результатов моделирования.
2.3.5. Планирование модельных экспериментов и проведение машинных экспериментов с моделью системы На этом этапе проводятся серийные расчеты по составленной и отлаженной программе. Этап включает следующие подэтапы:
• планирование машинного эксперимента;
• проведение рабочих расчетов;
• представление результатов моделирования;
• интерпретацию результатов моделирования;
• выдачу рекомендаций по оптимизации режима работы реальной системы.
Перед проведением рабочих расчетов на ЭВМ должен быть составлен план проведения эксперимента с указанием комбинаций переменных и параметров, для которых должно проводиться моделирование системы. Задача заключается в разработке оптимального плана эксперимента, реализация которого позволяет при сравнительно небольшом числе испытаний модели получить достоверные данные о закономерностях функционирования системы.
Результаты моделирования могут быть представлены в виде таблиц, графиков, диаграмм, схем и т.п. В большинстве случаев наиболее простой формой считаются таблицы, хотя графики более наглядно иллюстрируют результаты моделирования системы.
Целесообразно предусмотреть вывод результатов на экран дисплея и на принтер.
Интерпретация результатов моделирования имеет целью переход от информации, полученной в результате машинного эксперимента с моделью, к выводам, касающимся процесса функционирования объекта-оригинала.
На основании анализа результатов моделирования принимается решение о том, при каких условиях система будет функционировать с наибольшей эффективностью.
Глава 2. Математические схемы моделирования экономических систем §1. Классификация моделируемых систем В процессе создания математической модели, реализуемой на ЭВМ, происходит переход от содержательного описания к формальному алгоритму. Промежуточным звеном между ними может служить математическая схема.
Существует ряд типовых математических схем, которые могут лечь в основу разрабатываемого конкретного моделирующего алгоритма.
Выбор типа математической схемы зависит от моделируемой системы. Системы по типу поведения классифицируются следующим образом (рис. 2.1).
С непрерывными Рис. 2.1. Классификация систем по типу поведения Одним из них является мощность множества состояний моделируемой системы. По этому признаку системы делят на статические и динамические. Система называется статической, если множество ее состояний содержит один элемент. Если состояний больше одного и они могут изменяться во времени, Раздел I.
Теоретические основы имитационного моделирования система называется динамической. Процесс смены состояний называется движением системы:
Различают следующие типы динамических систем.
•с дискретными состояниями (множество состояний конечно, или счетно);
•с непрерывным множеством состояний.
Системы с дискретными состояниями характеризуются тем, что в любой момент времени можно однозначно определить, в каком именно состоянии находится система.
Для такой идентификации обязательно нужно знать тот признак, который отличает одно состояние системы от другого. Например, при исследовании систем массового обслуживания в качестве такого признака обычно используют число заявок в системе. Соответственно, изменение числа заявок в системе интерпретируется как переход системы в новое состояние.
Если же не удается подобрать такой признак либо его текущее значение невозможно зафиксировать, то систему относят к классу систем с непрерывным множеством состояний.
На практике возможны также смешанные случаи, когда некоторые состояния системы могут быть идентифицированы как дискретные, а другие – как непрерывные.
Смена состояний может происходить либо в фиксированные моменты времени, множество которых дискретно (например, поступление новых заявок на обслуживание), либо непрерывно. В соответствии с этим различают системы с дискретным временем переходов (смены состояний) и системы с непрерывным временем (точнее, «живущие» в непрерывном времени).
По условиям перехода из одного состояния в другое различают детерминированные системы и стохастические.
В детерминированных системах новое состояние зависит только от времени и текущего состояния системы. Другими словами, если имеются условия, определяющие переход системы в новое состояние, то для детерминированной систеГлава 2. Математические схемы мы можно однозначно указать, в какое именно состояние она перейдет.
Для стохастической системы можно указать лишь множество возможных состояний перехода и, в некоторых случаях, – вероятностные характеристики перехода в каждое из этих состояний.
Рассмотренная схема классификации систем важна не сама по себе. На этапе разработки концептуальной модели она, во-первых, позволяет уточнить цели и задачи моделирования и, во-вторых, облегчает переход к этапу формализации модели. Кроме того, значительно позже, на этапе оценки качества разработанной модели, знание классификационных признаков дает возможность оценить степень ее соответствия первоначальному замыслу разработчика.
Необходимо отметить, что рассмотренные классификационные признаки применимы и для определения типа разрабатываемой модели. При этом исследуемая система и ее модель могут относиться как к одному, так и к разным классам. Например, реальная система может быть подвержена воздействию случайных факторов и, соответственно, будет относиться к классу стохастических систем. Если разработчик модели считает, что влиянием этих факторов можно пренебречь, то создаваемая модель будет представлять собой детерминированную систему. Аналогичным образом возможно отображение системы с непрерывным временем смены состояний в модель с дискретными переходами и т.д. Разумеется, принадлежность реальной системы и ее модели к одному классу говорит о корректности модели, однако с точки зрения интересов исследования такое «зеркальное отображение» далеко не всегда является полезным (вспомните принцип множественности моделей). Исходя из типов поведения систем подбирается та или иная математическая схема (модель).
Раздел I.
Теоретические основы имитационного моделирования §2. Математические схемы (модели) Существуют следующие математические схемы (модели):
•непрерывно-детерминированные (D-схемы);
•дискретно-детерминированные (F-схемы);
•дискретно-стохастические (Р-схемы);
•непрерывно-стохастические (Q-схемы).
К непрерывно-детерминированным моделям относятся модели, описываемые системами обыкновенных дифференциальных уравнений или уравнений в частных производных.
В качестве независимой переменной, от которой зависят неизвестные искомые функции, обычно служит время. Тогда вектор-функция искомых переменных будет непрерывной. Математические схемы такого вида отражают динамику изучаемой системы и поэтому называются D-схемами (англ.
dynamic).
К дискретно-детерминированным моделям относятся так называемые конечные автоматы. Автомат можно представить как некоторое устройство, на которое подаются входные сигналы и снимаются выходные и которое может иметь некоторые внутренние состояния. У конечного автомата множество входных сигналов и внутренних состояний является конечным множеством. Название F-схема происходит от англ. finite automata.
К дискретно-стохастическим моделям относятся вероятностные (стохастические) автоматы, или по-английски probabilistic automat. Отсюда название Р-схема. В общем виде вероятностный автомат можно определить как дискретный потактный преобразователь информации с памятью, функционирование которого в каждом такте зависит только от состояния памяти в нем и может быть описано стохастически.
Примером типовой схемы непрерывно-стохастического типа может служить схема системы массового обслуживания (СМО), или по-английски queueing system. Отсюда название Q-схема.
В качестве процесса обслуживания в СМО могут быть представлены различные по физической природе процессы функционирования экономических, производственных, технических и других систем, например потоки товаров, потоки продукции, потоки деталей, потоки клиентов и т.п. Для любой системы массового обслуживания (рис. 2.2) характерно наличие трех отличительных свойств:
• объектов, у которых может возникнуть потребность в удовлетворении некоторых заявок;
• агрегатов, предназначенных для удовлетворения заявок на обслуживание;
• специальной организации приема в систему заявок и их обслуживания.
Входной поток Рис. 2.2. Схема системы массового обслуживания Совокупность заявок рассматривают как поток событий, т.е. последовательность событий, происходящих в случайные моменты времени. Время обслуживания заявки также считается случайной величиной.
Раздел I.
Теоретические основы имитационного моделирования Из-за совместного действия этих двух случайных факторов количество обслуженных заявок в заданном интервале времени является величиной случайной. Так как поток заявок и время обслуживания случайные величины, значит, количество заявок, обслуженных в заданном интервале времени, – случайная величина (рис. 2.3).
Исследование моделей СМО ставит целью установление параметров случайных величин, характеризующих процесс обслуживания заявок.
Существует несколько разновидностей СМО:
1) по числу каналов обслуживания СМО делятся на одноканальные и многоканальные;
2) по числу фаз (последовательно соединенных агрегатов) – на однофазные и многофазные;
3) по наличию обратной связи – на разомкнутые (с бесконечным числом заявок) и замкнутые (с конечным числом заявок);
4) по наличию очереди – на системы без очередей (с потерями заявок), системы с неограниченным ожиданием (по времени или длине очереди) и системы с ограниченным ожиданием (по времени или длине очереди);
5) по принципу формирования очередей – на системы с общей очередью и системы с несколькими очередями;
6) по наличию отказов – на системы с отказами и системы без отказов;
7) по виду приоритета – на системы со статическим приоритетом (обслуживание в порядке поступления заявок) и системы с динамическим приоритетом, который, в свою очередь, имеет три разновидности:
• относительный приоритет (заявка высокого приоритета ожидает окончания обслуживания заявки с более низким приоритетом);
• абсолютный приоритет (заявка высокого приоритета при поступлении немедленно вытесняет заявку с более низким приоритетом);
• смешанный приоритет (если заявка с низшим приоритетом обслуживалась в течение времени, меньше критического, то используется абсолютный приоритет, в противном случае – относительный приоритет).
Раздел I.
Теоретические основы имитационного моделирования Глава 3. Моделирование случайных событий Имитационное моделирование – это численный метод исследования систем и процессов с помощью моделирующего алгоритма.
Каждый раз, когда на ход моделируемого процесса оказывает влияние случайный фактор, его действие имитируется с помощью специально организованного розыгрыша (жребия). Таким образом строится одна случайная реализация моделируемого явления, представляющая собой как бы один результат опыта. По одному опыту, конечно, нельзя судить о закономерностях изучаемого процесса. Но при большом числе реализации средние характеристики, вырабатываемые моделью, приобретают свойство устойчивости, которое усиливается с увеличением числа реализации.
Бросание жребия можно осуществить вручную (выбором из таблицы случайных чисел), но удобнее это делать с помощью специальных программ, входящих в состав программного обеспечения ЭВМ. Такие программы называют датчиками, или генераторами, случайных чисел.
В программе Simulink/Matlab имеются стандартные процедуры или функции, которые генерируют случайные (точнее, псевдослучайные) величины с равномерным распределением.
В Simulink/Matlab имеются очень широкие возможности по моделированию различного рода случайностей (событий, процессов, функций и т.д.) (рис. 3.1 и 3.2).
Глава 3. Моделирование случайных событий и величин Рис. 3.1. Возможности Matlab по моделированию случайных величин и процессов (раздел Toolboxes-Statistics-Random Раздел I.
Теоретические основы имитационного моделирования Рис. 3.2. Возможности Simulink по моделированию Глава 3. Моделирование случайных событий и величин При моделировании экономических процессов возникает необходимость в моделировании различных случайных факторов. Эти факторы в зависимости от их природы могут быть отражены в модели как случайные события, случайные величины (дискретные или непрерывные) или как случайные функции (процессы).
Например, если с помощью создаваемой имитационной модели предполагается исследовать надежность вычислительной системы, то возникновение отказа будет представлено в модели как случайное событие. Если же модель предназначена для оценки временных параметров процесса обслуживания клиентов в автомастерской, то интервал времени до появления очередного клиента удобнее всего описать как случайную величину, распределенную по некоторому закону.
§1. Моделирование случайных событий 1.1. Моделирования простого события Пусть имеется событие А, вероятность наступления которого равна РА. Требуется выработать правило, при многократном использовании которого частота появления события стремилась бы к его вероятности. Выберем с помощью датчика случайных чисел, равномерно распределенных в интервале (0,1), некоторое число z и определим вероятность того, что z < РА. Для случайной величины z с равномерным распределением справедлива следующая зависимость:
Таким образом, вероятность попадания случайной величины в интервал (0,РА) равна величине РА. Поэтому если при розыгрыше число z попало в этот интервал, то следует считать, что событие А произошло. Противоположное событие (не А) произойдет с вероятностью (1 – РА) в том случае, если z > = РА.
Раздел I.
Теоретические основы имитационного моделирования Процедура моделирования простого события в имитационной модели описывается алгоритмом, схема которого показана на рис. 3.3.
Рис. 3.3. Моделирование простого события Оператор 1 обращается к датчику случайных чисел, генерирующему случайную величину z. Оператор 2 проверяет условие z < РА. Если оно выполняется, считается, что произошло событие А. В противном случае считается, что произошло противоположное событие (не А).
На рис. 3.4 показан пример реализации модели случайного события с помощью Simulink.
Блок Uniform Random Number генерирует случайные числа (СЧ), равномерно распределенные на интервале [0;1].
Для этого выполнены следующие исходные установки его параметров:
• Minimum (нижняя граница диапазона): 0;
• Maximum (верхняя граница диапазона) : 1.
Третий параметр – Sample time – в данном случае позволяет задавать количество СЧ, которые будут сформированы Глава 3. Моделирование случайных событий и величин блоком в течение интервала моделирования: при Sample time, равном 0, новое случайное число генерируется через каждые 0,02 единицы модельного времени; при Sample time, равном интервалу моделирования, генерируется только одно СЧ. На рис. 3.4 приведен пример блок-диаграммы, позволяющей моделировать появление случайного события А при РА = 0,4.
Рис. 3.4. Моделирование случайного события с заданной вероятностью наступления На рис. 3.5 показано моделирование нескольких случайных событий на интервале моделирования 6 единиц модельного времени.
Раздел I.
Теоретические основы имитационного моделирования Рис. 3.5. Моделирование ряда случайных событий Особенностью блока Uniform Random Number является то, что он в каждом сеансе моделирования генерирует одну и ту же последовательность СЧ. Для изменения генерируемой последовательности необходимо вручную изменить значение его параметра Initial seed. При проведении большого числа повторных экспериментов с целью накопления статистических данных это не очень удобно. Поэтому для моделирования случайных событий можно воспользоваться генераторами СЧ, входящими в состав компоненты Matlab, которая называется Toolboxes-Statistics (средства статистического анализа).
Данная компонента доступна для использования в том случае, если она включена в рабочую конфигурацию пакета Matlab.
Toolboxes-Statistics, как и другие инструментальные приложения, представляет собой набор специализированных функГлава 3. Моделирование случайных событий и величин ций (см. рис. 3.1), реализованных в виде М-файлов. Ее особенностью является то, что для нее отсутствует набор блоков, который включался бы в библиотеку Simulink. Поэтому в процессе моделирования статистические функции следует использовать один из двух способов:
• выполнять в командном окне Matlab;
• включать в вычисляемое выражение в тех блоках S-модели, в которых разрешено использование М-функций.
Категория функций Random Namber Generation (генераторы случайных чисел) обеспечивает формирование значений случайной величины, распределенной по определенному закону с задаваемыми параметрами. Генератор непрерывной СВ, равномерно распределенной в заданном интервале, называется unifrnd. Обращение к данной функции имеет вид unifrnd (А, В, М, N), где А, В – границы диапазона распределения, а параметры М, N задают размер генерируемой матрицы случайных чисел. Если параметры М, N опущены, то генерируется единственное значение случайной величины.
При моделировании случайного события функция unifrnd может быть указана в качестве параметра настройки следующих блоков:
• Matlab Fcn (раздел Function&Tables );
• Fcn (из того же раздела);
• Constant (раздел Sources).
Напоминание из теории вероятностей Случайная величина (СВ) – величина, которая в результате опыта может принимать некоторое неизвестное заранее значение.
Дискретная случайная величина (ДСВ) – принимает конечное (счетное) множество возможных значений.
Непрерывная случайная величина (НСВ) – может принимать любые значения из некоторого интервала.
Случайная величина задается функцией распределения F(x) = P(X < x). Если F(x) непрерывна и дифференцируема, то непрерывная случайная величина задается плотностью вероятностей f(x), которая является производной от F(x).
Раздел I.
Теоретические основы имитационного моделирования Свойства функции распределения 2. Неубывающая, т.е при x2 < x1 F(x2) > F(x1);
3. Имеет место F(+) = 1 и F(–) = 0;
4. Вероятность попадания СВ (х) в интервал (а,b).
Свойства плотности распределения вероятностей 1. Неотрицательна f(x) > = 3. Вероятность попадания в интервал (a,b) 4. Математическое ожидание непрерывной случайной величины 5. Дисперсия непрерывной случайной величины 6. Среднее квадратическое отклонение 1.2. Моделирование полной группы несовместных событий Пусть имеется полная группа несовместных событий (ПГНС) А1, А2..., Аk с вероятностями Р1, Р2.., Рk. При этом выполняется условие Разделим интервал (0,1) на k отрезков, длины которых составляют Р1, Р2.., Рk (рис. 3.6).
Рис. 3.6. Моделирование полной группы несовместных событий Если случайное число z, генерированное датчиком случайных чисел с равномерным распределением в интервале (0,1), попало, например, на участок Рk–1, то это должно означать, что произошло событие Аk–1.
Действительно, если обозначить то окажется справедливым выражение Раздел I.
Теоретические основы имитационного моделирования Следовательно, произойдет событие, которое имеет вероятность Рk-1.
Процедура моделирования полной группы несовместных событий описывается алгоритмом, схема которого показана на рис. 3.7.
Оператор 1 обращается к датчику случайных чисел с равномерным распределением в интервале (0,1). Условный оператор 2 проверяет условие попадания случайной величины z в интервал (О, L1). Если это условие выполняется, то считается, что произошло событие A1. Если условие в операторе не выполняется, то алгоритм осуществляет проверку условий попадания случайной величины в другие интервалы. Одно из событий А1, А2..., Аk обязательно произойдет.
Рис. 3.7. Схема алгоритма моделирования ПГНС Глава 3. Моделирование случайных событий и величин §2. Моделирование случайных величин Использование случайных величин является наиболее универсальным и поэтому наиболее распространенным способом учета в модели случайных факторов, присущих реальным экономическим системам или процессам. Примерами случайных величин могут служить: интервал времени до появления очередного клиента, длительность проведения технического обслуживания автомобиля, объем данных, считываемых из оперативной памяти ЭВМ и т.д. Случайные величины могут быть дискретные или непрерывные. Рассмотрим моделирование тех и других величин.
2.1. Моделирование дискретной случайной величины Дискретная случайная величина может быть задана табличной зависимостью:
Здесь pj – вероятность того, что дискретная случайная величина X примет значение xj. При этом р1 + р2 +...+ pn = 1.
Разделим интервал (0,1) на п отрезков, длины которых пропорциональны заданным вероятностям. Если случайное число z, вырабатываемое датчиком случайных чисел, равномерно распределенных в интервале (0,1), попадет в интервал pk, то случайная величина X примет значение xk Таким образом, при моделировании дискретных случайных величин фактически используется та же процедура, что и при моделировании ПГНС.
Раздел I.
Теоретические основы имитационного моделирования 2.2. Моделирование непрерывных случайных величин При разработке имитационных моделей с использованием универсальных языков программирования используются разработанные методы моделирования различных законов распределения СВ. Если закон СВ распределения известен, то она может быть достаточно адекватно представлена в имитационной модели. Ниже в качестве дополнительного материала представлены методы моделирования СВ, которые могут быть использованы про создании имитационных моделей на основе универсальных языков программирования.
2.2.1. Метод обратной функции Пусть имеется некоторая непрерывная случайная величина х, заданная функцией распределения F(х). Можно доказать, что значения этой функции равномерно распределены в интервале (0,1). Поэтому между случайной величиной z, равномерно распределенной в том же интервале, и функцией распределения случайной величины х существует взаимно однозначное соответствие, т.е.
Отсюда следует, что где F-1 – обратная функция.
Следовательно, если уравнение (1) имеет аналитическое решение, то для моделирования случайной величины х можно использовать датчик случайных чисел, генерирующий величину z, и затем осуществить расчет по формуле (2).
2.2.2. Моделирование случайных величин с показательным распределением Пусть имеется случайная величина х с показательным распределением. Функция распределения имеет вид Глава 3. Моделирование случайных событий и величин где – параметр распределения.
Применив метод обратной функции, получим откуда Учитывая, что случайная величина (1 – z) имеет также равномерное распределение в интервале (0,1), соотношение (3) можно заменить соотношением 2.2.3. Моделирование случайных величин с равномерным распределением Датчик случайных чисел генерирует случайные величины с равномерным распределением в интервале (0,1). Если же нужно моделировать случайные величины с равномерным распределением в интервале (а,b), то можно воспользоваться методом обратной функции.
Для рассматриваемого случая выражение (1) примет вид откуда x = a + z(b – a).
На практике применяется и другой способ задания равномерного распределения. Вместо границ интервала задаются среднее значение случайной величины xср и величина интервала х. Тогда определение возможного значения случайной величины с равномерным распределением может быть произведено по формуле Раздел I.
Теоретические основы имитационного моделирования 2.2.4. Моделирование случайных величин с нормальным распределением Нормальное распределение НСВ – это распределение, которое имеет плотность распределения вероятностей где my – математическое ожидание;
y – среднее квадратическое отклонение.
Функция распределения Метод обратной функции для нормального распределения неприменим, так как после подстановки соответствующей функции распределения выражение (2) не имеет аналитического решения. Поэтому в данном случае применяется другой метод.
Согласно центральной предельной теореме теории вероятностей при сложении достаточно большого числа одинаково распределенных независимых случайных чисел получается случайная величина, имеющая нормальное распределение.
Напоминание Центральная предельная теорема теории вероятностей (теорема Ляпунова) гласит: если СВ x1, x2,… xn независимы, одинаково распределены и имеют конечные математическое ожидание и дисперсию, то распределение суммы этих СВ при увеличении n приближается к нормальному (теорема применима при n > 10).
Как показали исследования, уже при сложении более десяти случайных величин с равномерным распределением в интервале (0,1) получается случайная величина, которая с точностью, достаточной для большинства практических задач, может считаться распределенной нормально.
Процедура розыгрыша нормально распределенной случайной величины заключается в следующем.
1. Сложим 12 случайных величин с равномерным распределением в интервале (0,1), т.е. составим сумму Использовав известные теоремы о сумме математических ожиданий и дисперсий независимых случайных величин, можно установить, что в данном случае случайная величина имеет следующие характеристики:
математическое ожидание дисперсия:
среднее квадратическое отклонение 2. Нормируем и центрируем случайную величину, т.е.
перейдем к величине 3. От нормированной и центрированной величины перейдем к случайной величине у с заданными параметрами M(Y) и (Y) по формуле где M(Y) – известное математическое ожидание случайной величины у;
(Y) – известное квадратическое отклонение случайной величины у.
Раздел I.
Теоретические основы имитационного моделирования 2.2.5. Моделирование случайных величин с усеченным нормальным распределением Усеченное нормальное распределение случайной величины х задается четырьмя параметрами: математическим ожиданием М(Х), средним квадратическим отклонением (Х), а также минимальным и максимальным значениями х1 и х (точками усечения).
Функции распределения случайной величины х определяются равенством где Функция Лапласа Ф0 – это функция распределения нормированной и центрированной случайной величины t. Эта функция табулирована.
Существуют также формулы для расчета математического ожидания, дисперсии и среднего квадратического отклонения случайной величины х. Однако с достаточной для практики точностью при моделировании случайной величины с усеченным нормальным распределением можно обойГлава 3. Моделирование случайных событий и величин тись без расчетов по формулам. Для определения возможных значений случайной величины с этим распределением можно использовать алгоритм, схема которого приведена на рис. 3.8.
Рис. 3.8. Схема алгоритма моделирования случайной величины с усеченным нормальным распределением Оператор 1 обращается к процедуре моделирования возможных значений нормированной и центрированной случайной величины с нормальным распределением. Оператор 2 вычисляет значение случайной величины с заданными параметрами М(Y) и (Y).
Раздел I.
Теоретические основы имитационного моделирования Условный оператор 3 проверяет условие попадания случайной величины у в неусеченную область. При выполнении этого условия значение случайной величины у с усеченным нормальным распределением считается найденным. В противном случае управление в алгоритме передается вновь на вход оператора 1 и генерируется другая случайная величина.
2.2.6. Моделирование случайных величин с произвольным распределением Пусть случайная величина х задана в интервале (a0, an) кусочно-постоянной функцией f(x). Это значит, что интервал разбит на п частичных интервалов и плотность распределения f(x) на каждом из них постоянна (рис. 3.9).
Рис. 3.9. Плотность распределения произвольной функции Целесообразно выбрать величины ak так, чтобы вероятности попадания в любой частичный интервал Pk были одинаковы, т.е.
(k = 1,2,…,n).
Из условия постоянства функции на каждом частичном интервале следует, что случайная величина х может быть определена по формуле где z – возможное значение (реализация) случайной величины, равномерно распределенной в интервале (0,1);
ak-1 – левая граница частичного интервала;
ak – правая граница частичного интервала.
Попадание в любой частичный интервал можно рассматривать как событие, входящее в полную группу несовместных событий. Поэтому процедура моделирования в общем случае состоит в следующем:
1. С помощью датчика случайных чисел с равномерным распределением, вырабатывающего величину z, моделируют дискретную случайную величину – номер интервала k.
2. Вторично разыгрывают случайную величину z и определяют возможное значение случайной величины х.
Схема алгоритма показана на рис. 3.10.
Раздел I.
Теоретические основы имитационного моделирования Рис. 3.10. Алгоритм моделирования случайных величин 2.2.7. Моделирование случайных величин с заданными параметрами средствами Matlab При создании имитационной модели средствами Matlab процедура отображения в ней СВ существенно упрощается.
Разработчику достаточно иметь представление о том, какие генераторы случайных чисел входят в состав компоненты Toolboxes-Statistics. Как нам уже известно, таких генераторов Глава 3. Моделирование случайных событий и величин более 20. Технология использования в S-модели любого из них одинакова и состоит в выполнении следующих действий:
1. Открыть встроенную справочную систему Matlab (раздел Toolboxes-Statistics).
2. В списке Random Namber Generation выбрать функцию, соответствующую требуемому закону распределения.
3. Двойным щелчком ЛКМ на выбранной строке открыть страницу справочника, содержащую описание данного генератора; при этом в верхнем левом поле окна будет выведено название генератора; выделите его с помощью мыши и скопируйте в буфер обмена (используя комбинацию клавиш + ).
4. В блок-диаграмме выбрать блок, в котором будет использоваться генератор, и открыть окно его настроек.
5. Вставить из буфера обмена название генератора (сочетание клавиш + ).
6. Ввести требуемые значения параметров «запуска» генератора.
В качестве примера использования генератора СЧ рассмотрим S-модель, содержащую случайную величину, распределенную по нормальному закону. Согласно теории вероятностей, большинство случайных явлений и процессов, зависящих от многих одновременно действующих факторов, подчиняется именно этому закону.
Пусть имеется вычислительная система, содержащая 2 дисковых накопителя различной емкости: 2,1 Гбайт (назовем его HD1) и 4,3 Гбайт (HD2). Данные поступают на каждый из накопителей от своего источника. Объем очередной «порции»
информации является случайной величиной, распределенной по нормальному закону.
Для первого источника закон распределения СВ имеет параметры m1=70 Мб, v1=5Мб; для второго источника – m2 = 120 Мб, v1=10Мб. Требуется сравнить эффективность использования накопителей. В качестве показателей эффективности выберем коэффициент использования дискового пространства – Ки. Эта величина может быть рассчитана как отРаздел I.
Теоретические основы имитационного моделирования ношение объема памяти, использованного на интервале моделирования, к полной емкости накопителя.
Блок-диаграмма S-модели, позволяющей решить поставленную задачу, показана на рис. 3.11.
Из рисунка видно, что блок-диаграмма состоит из двух достаточно самостоятельных частей. Каждая из них моделирует работу одного из накопителей. Поскольку обе части модели по структуре полностью одинаковы, поясним назначение входящих в них блоков применительно к первой, моделирующей работу накопителя HD1.
• Блок Matlab Fcn играет роль источника данных (или, как будет рассмотрено позднее, – это модель рабочей нагрузки накопителя); в качестве параметра настройки блока указано имя генератора нормального распределения с соответствующими аргументами: normrnd(70,5);
• Блок Discrete – Time Integrator выполняет суммирование объема данных, поступающих от источника в накопитель; все параметры имеют значения, установленные по умолчанию;
• Блок Fcn обеспечивает расчет значения Ки (вычисляемое выражение выводится на пиктограмме блока) для текущего значения модельного времени;
• Блок Display выводит на экран вычисленное значение Ки; по истечении интервала моделирования оно представляет собой итоговую оценку данного показателя для накопителя HD1.
Немного забегая вперед (чтобы дать студентам возможность практически опробовать работу модели), отметим, что перед запуском модели целесообразно установить (в меню Simulation) способ изменения модельного времени Fixed-step, а также запретить выдачу предупреждений о неподключенных портах блоков (на вкладке Diagnostics).
По окончании сеанса моделирования в окнах Display будут выведены значения Ки для обоих накопителей практически одновременно.
Глава 3. Моделирование случайных событий и величин Рис. 3.11. Блок-диаграмма работы накопителей Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Раздел II.
Концепция и возможности объектноориентированной моделирующей системы Глава 4. Общие сведения о MATLAB/SIMULINK.
Библиотека блоков SIMULINK Экономическая теория рассматривает в основном динамические проблемы, гипотезы и закономерности.
В математических и технических вузах РФ широко преподается математический программный инструмент Matlab. Для него как надстройки (Тооlboxes) разработаны многие спецприложения для анализа различных систем. Он также предоставляет экономистам финансовый пакет FinancialТооlbох, связь с Ехсеl – Ехсеllink, связь с Word – Notebоок.
Особый интерес для экономистов представляет инструмент Simulink, разработанный специально для моделирования динамических систем. Он имеет библиотеку стандартных графических блоков с встроенными математическими функциями. Иногда его называют инструментом графического (визуального) программирования. Для проведения моделирования достаточно с помощью мышки перетащить из библиотеки блоки в окно модели, соединить их информационными линиями. Создав таким образом модель, запустив ее, можно наблюдать результаты моделирования в окнах графопостроителей и цифровых дисплеев.
При работе с SIMULINK в основном используются файлы трех типов.
М-файлы (с расширением.m) – файлы, содержащие тексты программ на языке MATLAB. В виде М-файлов реализованы все библиотечные функции MATLAB. По умолчанию Раздел II. Концепция и возможности объектно ориентированной моделирующей системы М-файлы открываются с помощью собственного редактора/отладчика MATLAB.
Mdl-файлы (с расширением.mdl) – файлы моделей SIMULINK. Они могут быть открыты либо с помощью SIMULINK (в виде графического окна с блок-схемой), либо в виде текста с помощью редактора/отладчика MATLAB.
МАТ-файлы (с расширением.mat) – файлы данных, хранящиеся в рабочем пространстве (Workspace) MATLAB. Они либо вводятся вручную в командном окне, либо записываются в эту оперативную память из любого пакета MATLAB или из любого приложения, взаимодействующего с MATLAB, например, Ехсе или Word. Любые приложения могут читать эти данные.
§1. Запуск MATLAB, интерфейс Для запуска MATLAB надо дважды щелкнуть левой кнопкой мыши на его ярлыке.
Затем появляется рабочий стол MATLAB с вложенными окнами (рис. 4.1).
Чтобы не путать рабочие столы MATLAB и Windows, будем называть стол MATLAB главным окном.
Слева в главном окне расположено окно Launch Раd – первое блюдо для освоения MATLAB. Мы видим здесь продукты, которые заказали во время инсталляции. Раскроем папки продуктов и увидим папки Неlр (текстовая помощь), Demos (демонстрационные примеры), Product Page (Web– страница продуктов фирмы Math/Works Inc. на сайте фирмы в Internet).
В этом же окне можно переключиться на лист Workspace.
Это рабочее пространство МАТLАВ. В этой оперативной памяти сохраняются все данные рабочей сессии МАТLАВ, Simulink и других инструментов. Их всегда можно просмотреть или обработать любым инструментом.
В центре расположено окно Current Direktory – текущий, рабочий справочник (папка). Терминология сохранилась от старой операционной системы MS DOS. Чтобы МАТLАВ мог увидеть вашу программу (м-файл) или функцию, надо установить текущей папку, в которой находится эта функция.
Внизу слева находится окно Command History (история команд) – это протокол вашей работы.
Справа расположено Command Windows – окно для ввода и исполнения команд.
Окно МАТLАВ представляет собой стандартное окно Windows-приложения и содержит все основные компоненты такого окна:
строку заголовка с кнопками управления окном;
строку меню (основное меню приложения);
панель инструментов;
рабочее поле;
строку состояния;
вертикальную и горизонтальную полосы прокрутки.
Строка меню МАТLАВ содержит следующие команды:
File (файл) – команды для работы с файлами и настройки системы;
Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Edit (правка) – команды редактирования информации, отображенной в рабочем поле окна;
View (вид) – команды управления форматом окна;
Web – связь по интернету с фирмой по многим вопросам приобретения, регистрации, консультаций, применения МАТLАВ;
Windows (окно) – список открытых окон приложения;
Неlр (справка) – команды вызова средств поддержки пользователя.
Команды меню File.
New – создать;
Ореn – открыть;
Close Launch Pad – закрыть окно начального знакомства МАТLАВ;
Import Data – прием данных из других приложений;
Save Workspace As – сохранить рабочую область как...;
Set Path – выбор рабочей папки;
Preferences (предпочтения) – настройка форматов чисел, экрана и других параметров для умолчания, что в офисных продуктах обычно делается в меню Сервис.
Print – печать;
Print Selection – печать выделенного.
Далее список файлов, открывавшихся в прошлом и текущем сеансе работы с МАТLАВ. Вначале этот список пуст.
Exit МАТLАВ – выход из МАТLАВ.
Команды меню Edit.
Они аналогичны командам офисных пакетов.
Команды Сlеаr стирают содержимое окон: командного, истории и рабочего пространства.
Команды меню View (вид).
Здесь расположены команды показа или скрытия окон, а также команда Undock, которая позволяет вывести любое текущее окно из главного окна на рабочий стол Windows.
Неlр – справочная система.
Неlр browser – это Web-browser, интегрированный в экран МАТLАВ и отображающий документы в формате интернета НТМL. Все продукты Math\Works Inc. можно получить по интернету.
Предоставляется также справочная система в формате РDF. Справочник по функциям МАТLАВ содержится в разделе Reference. В нем сведения о назначении и параметрах, а также примеры использования функций МАТLАВ, входящих в состав рабочей конфигурации пакета.
Изменение конфигурации приводит к изменению списка функций, по которым может быть получена справка.
Чтобы получить полную информацию по интересующему разделу, достаточно щелкнуть в соответствующей строке. В поле просмотра появится список функций, входящих в этот раздел, с указанием назначения каждой из них. Щелкнув на нужной функции, можно получить о ней более подробные сведения.
Ниже строки меню расположены кнопки команд меню.
Они стандартны для Windows-приложений. Но предпоследняя (перед кнопкой «?») зеленая с красным левым нижним уголком – это кнопка вызова Simulink.
§2. Editor/debugger – редакгор/отладчик программ Для автоматизации управления экономическими экспериментами с моделями Simulink приходится писать программы на языке МАТLАВ. Программы (м-файлы) пишутся и отлаживаются в редакторе/отладчике. Он вызывается, когда из меню Файл МАТLАВ мы открываем новый или существующий м-файл (рис. 4.2).
Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Программа пишется как в обычном текстовом редакторе.
В меню имеются лишь два раздела, относящиеся к отладке:
Debug и Breakpoints.
Для выполнения лабораторных работ на отлаженной модели экономисту наиболее полезна команда Run из раздела Debug. Она запускает программу на исполнение и манипуляции с моделью Simulink. Этой же программой обрабатываются и отображаются результаты экспериментов.
Breakpoints – точки остановки. Ими помечают строки программы для остановки и анализа поэтапного исполнения программы при ее отладке.
Более подробно рассматривать работу с редактором/ отладчиком будем на последующих занятиях.
§3. Простые вычисления в командном режиме В МАТLАВ можно различать два режима работы: вычисления в командном режиме и исполнение программ, записанных на его языке.
В командном окне представлен символ «>>», означающий готовность МАТLАВ к исполнению команд оператора.
Они выполняются как в любом калькуляторе, например, Бэйсика или Ехсеl.
В командном окне (рис. 4.3) мы ввели выражение 2*2. Чтобы его вычислить (исполнить), нажмите клавишу Enter. Получим ответ ans = 4 (от англ. answer – ответ). Затем МАТLАВ показал знак готовности к исполнению новых команд «>>».
Вместо числа мы можем ввести матрицу или вектор, например:
Нажмем клавишу исполнения Enter и получим ответ Рис. 4.3. Простые вычисления в командном режиме Раздел II. Концепция и возможности объектно ориентированной моделирующей системы МАТLАВ может вычислять практически все математические функции. Например, на нашем рисунке в окне он использует наш вектор u и вычисляет вектор экспоненциальных функций ехр(u) в векторной переменной ans.
Обратите внимание на информацию, выводимую в окнах Workspace, Command History.
Можно ввести последовательность команд. Если команда не заканчивается символом точки с запятой (;), то она выполняется сразу же после нажатия клавиши Enter.
Использование разделителя в виде точки с запятой позволяет вводить в рабочем поле последовательность команд, которая будет выполнена только в том случае, если после очередной команды не стоит этот символ. Если выполнение команды приводит к вычислению некоторого значения (скалярного или матрицы), то оно запоминается в рабочей области МАТLАВ в переменной с именем ans. Значение, занесенное в переменную ans, выводится на экран сразу после вычисления в форме ans = значение (число, вектор, матрица).
§4. Введение в Simulink Программа Simulink является приложением к пакету MATLAB. При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с которым пользователь на экране из библиотеки стандартных блоков создает модель устройства, процесса или системы и осуществляет расчеты. При этом, в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, а достаточно общих знаний, требующихся при работе на компьютере, и, естественно, знаний той предметной области, в которой он работает.
Simulink является достаточно самостоятельным инструментом MATLAB и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны, доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.
При моделировании пользователь может выбирать метод решения дифференциальных уравнений, а также способ изменения модельного времени (с фиксированным или переменным шагом). В ходе моделирования имеется возможность следить за процессами, происходящими в системе. Для этого используются специальные устройства наблюдения, входящие в состав библиотеки Simulink. Результаты моделирования могут быть представлены в виде графиков или таблиц.
Преимущество Simulink заключается также в том, что она позволяет пополнять библиотеки блоков с помощью подпрограмм, написанных как на языке MATLAB, так и на языках С++, Fortran и Ada.
§5. Работа с Simulink Для запуска программы необходимо предварительно запустить пакет MATLAB. Основное окно пакета MATLAB показано на рис. 4.4. Там же показана подсказка, появляющаяся в окне при наведении указателя мыши на ярлык Simulink в панели инструментов.
Рис. 4.4. Основное окно программы MATLAB Раздел II. Концепция и возможности объектно ориентированной моделирующей системы После открытия основного окна программы MATLAB нужно запустить программу Simulink. Это можно сделать одним из трех способов:
• Нажать кнопку (Simulink) на панели инструментов командного окна MATLAB.
• В командной строке главного окна MATLAB напечатать Simulink и нажать клавишу Enter на клавиатуре.
• Выполнить команду Open… в меню File и открыть файл модели (mdl–файл).
Последний вариант удобно использовать для запуска уже готовой и отлаженной модели, когда требуется лишь провести расчеты и не нужно добавлять новые блоки в модель. Использование первого и второго способов приводит к открытию окна обозревателя разделов библиотеки Simulink (рис. 4.5).
Рис. 4.5. Окно обозревателя разделов библиотеки Simulink §6. Обозреватель разделов библиотеки Simulink Окно обозревателя библиотеки блоков содержит следующие элементы:
1. Заголовок с названием окна – Simulink Library Browser.
2. Меню с командами File, Edit, View, Help.
3. Панель инструментов с ярлыками наиболее часто используемых команд.
4. Окно комментария для вывода поясняющего сообщения о выбранном блоке.
5. Список разделов библиотеки, реализованный в виде дерева.
6. Окно содержимого раздела библиотеки (список вложенных разделов библиотеки или блоков).
7. Строка состояния, содержащая подсказку по выполняемому действию.
Библиотека Simulink содержит следующие основные разделы:
1. Continuous – линейные блоки.
2. Discrete – дискретные блоки.
3. Functions & Tables – функции и таблицы.
4. Math – блоки математических операций.
5. Nonlinear – нелинейные блоки.
6. Signals & Systems – сигналы и системы.
7. Sinks – регистрирующие устройства.
8. Sources – источники сигналов и воздействий.
9. Subsystems – блоки подсистем.
Список разделов библиотеки Simulink представлен в виде дерева, и правила работы с ним являются общими для списков такого вида:
• Пиктограмма свернутого узла дерева содержит символ «+», а пиктограмма развернутого содержит символ «–».
• Для того чтобы развернуть или свернуть узел дерева, достаточно щелкнуть на его пиктограмме левой клавишей мыши (ЛКМ).
При выборе соответствующего раздела библиотеки в правой части окна отображается его содержимое (рис. 4.6).
Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Рис. 4.6. Окно обозревателя с набором блоков раздела библиотеки Для работы с окном используются команды, собранные в меню. Меню обозревателя библиотек содержит следующие пункты:
• File (Файл) – работа с файлами библиотек.
• Edit (Редактирование) – добавление блоков и их поиск (по названию).
• View (Вид) – управление показом элементов интерфейса.
• Help (Справка) – вывод окна справки по обозревателю библиотек.
Для работы с обозревателем можно также использовать кнопки на панели инструментов.
§7. Создание модели Для создания модели в среде SIMULINK необходимо последовательно выполнить ряд действий:
1. Создать новый файл модели с помощью команды File/New/Model или используя кнопку на панели инструментов (здесь и далее, с помощью символа «/», указаны пункты меню программы, которые необходимо последовательно выбрать для выполнения указанного действия). Вновь созданное окно модели показано на рис. 4.7.
2. Расположить блоки в окне модели.
Для этого необходимо открыть соответствующий раздел библиотеки (например, Sources – Источники). Далее, указав курсором на требуемый блок и нажав на левую клавишу мыши, – «перетащить» блок в созданное окно. Клавишу мыши нужно держать нажатой. На рис. 4.8 показано окно модели, содержащее блоки.
Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Рис. 4.8. Окно модели, содержащее блоки Для удаления блока необходимо выбрать блок (указать курсором на его изображение и нажать левую клавишу мыши), а затем нажать клавишу Delete на клавиатуре.
Для изменения размеров блока требуется выбрать блок, установить курсор в один из углов блока и, нажав левую клавишу мыши, изменить размер блока (курсор при этом превратится в двухстороннюю стрелку).
3. Далее, если это требуется, нужно изменить параметры блока, установленные программой «по умолчанию».
Для этого необходимо дважды щелкнуть левой клавишей мыши, указав курсором на изображение блока. Откроется окно редактирования параметров данного блока. При задании численных параметров следует иметь в виду, что в качестве десятичного разделителя должна использоваться точка, а не запятая. После внесения изменений нужно закрыть окно кнопкой OK. На рис. 4.9 в качестве примера показаны блок, моделирующий передаточную функцию, и окно редактирования параметров данного блока.
Рис. 4.9. Блок, моделирующий передаточную функцию, и окно редактирования параметров блока 4. После установки на схеме всех блоков из требуемых библиотек нужно выполнить соединение элементов схемы (рис. 4.10). Для соединения блоков необходимо указать курсором на «выход» блока, а затем нажать и, не отпуская левую клавишу мыши, провести линию к входу другого блока. После чего отпустить клавишу. В случае правильного соединения изображение стрелки на входе блока изменяет цвет. Для создания точки разветвления в соединительной линии нужно подвести курсор к предполагаемому узлу и, нажав правую клавишу мыши, протянуть линию. Для удаления линии требуется выбрать линию (так же, как это выполняется для блока), а затем нажать клавишу Delete на клавиатуре.
Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Рис. 4.10. Схема модели с выполнением соединением блоков 5. После составления расчетной схемы необходимо сохранить ее в виде файла на диске, выбрав пункт меню File/Save As... в окне схемы и указав папку и имя файла. Следует иметь в виду, что имя файла не должно превышать символов, должно начинаться с буквы и не может содержать символы кириллицы и спецсимволы. Это же требование относится и к пути файла (к тем папкам, в которых сохраняется файл). При последующем редактировании схемы можно пользоваться пунктом меню File/Save. При повторных запусках программы SIMULINK загрузка схемы осуществляется с помощью меню File/Open... в окне обозревателя библиотеки или из основного окна MATLAB.
§8. Окно модели Окно модели содержит следующие элементы (см. рис. 4.10):
1. Заголовок с названием окна. Вновь созданному окну присваивается имя Untitled с соответствующим номером.
2. Меню с командами File, Edit, View и т.д.
3. Панель инструментов.
4. Окно для создания схемы модели.
5. Строка состояния, содержащая информацию о текущем состоянии модели.
Меню окна содержит команды для редактирования модели, ее настройки и управления процессом расчета, работы файлами и т.п.:
• File (Файл) – работа с файлами моделей.
• Edit (Редактирование) – изменение модели и поиск блоков.