WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Pages:     | 1 || 3 |

«Н.Н. Снетков Имитационное моделирование экономических процессов Учебно-практическое пособие Москва 2008 1 УДК 519.86 ББК 65.050 С 534 Снетков Н.Н. Имитационное моделирование экономических процессов: Учебно-практическое ...»

-- [ Страница 2 ] --

• View (Вид) – управление показом элементов интерфейса.

Simulation (Моделирование) – задание настроек для моделирования и управление процессом расчета.

• Format (Форматирование) – изменение внешнего вида блоков и модели в целом.

• Tools (Инструментальные средства) – применение специальных средств для работы с моделью (отладчик, линейный анализ и т.п.).

• Help (Справка) – вывод окон справочной системы.

Для работы с моделью можно также использовать кнопки на панели инструментов (рис. 4.11).

Рис. 4.11. Панель инструментов окна модели Кнопки панели инструментов имеют следующее назначение:

1. New Model – открыть новое (пустое) окно модели.

2. Open Model – открыть существующий mdl-файл.

3. Save Model – сохранить mdl-файл на диске.

4. Print Model – вывод на печать блок-диаграммы модели.

5. Cut – вырезать выделенную часть модели в буфер промежуточного хранения.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы 6. Copy – скопировать выделенную часть модели в буфер промежуточного хранения.

7. Paste – вставить в окно модели содержимое буфера промежуточного хранения.

8. Undo – отменить предыдущую операцию редактирования.

9. Redo – восстановить результат отмененной операции редактирования.

10. Library Browser – открыть окно обозревателя библиотек.

11. Toggle Model Browser – открыть окно обозревателя модели.

12. Go to parent system – переход из подсистемы в систему высшего уровня иерархии («родительсую систему»). Команда доступна только, если открыта подсистема.

13. Debug – запуск отладчика модели.

14. Start/Pause/Continue Simulation – запуск модели на исполнение (команда Start).

15. Stop – закончить моделирование. Кнопка становится доступной после начала моделирования, а также после выполнения команды Pause.

16. Normal/Accelerator – обычный/ускоренный режим расчета. Инструмент доступен, если установлено приложение Simulink Performance Tool.

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

• масштаб отображения блок-диаграммы (в процентах, исходное значение равно 100%);

• индикатор степени завершенности сеанса моделирования (появляется после запуска модели);

• текущее значения модельного времени (выводится также только после запуска модели);

• используемый алгоритм расчета состояний модели (метод решения).

§9. Основные приемы подготовки и редактирования модели Добавление текстовых надписей Для повышения наглядности модели удобно использовать текстовые надписи. Для создания надписи нужно указать мышью место надписи и дважды щелкнуть левой клавишей мыши. После этого появится прямоугольная рамка с курсором ввода. Аналогичным образом можно изменить и подписи к блоками моделей. На рис. 4.12 показаны текстовая надпись и изменение надписи в блоке передаточной функции. Следует иметь в виду, что различные версия программы (Simulink 4) по-разному адаптированы к использованию кириллических шрифтов и применение их может иметь самые разные последствия: отображение надписей в нечитаемом виде, обрезание надписей, сообщения об ошибках, а также невозможность открыть модель после ее сохранения. Поэтому применение надписей на русском языке для Simulink не всегда желательно.

Pис. 4.12. Текстовая надпись и изменение надписи Выделение объектов Для выполнения какого-либо действия с элементом модели (блоком, соединительной линией, надписью), этот элемент необходимо сначала выделить.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Выделение объектов проще всего осуществляется мышью. Для этого необходимо установить курсор мыши на нужном объекте и щелкнуть левой клавишей мыши. Произойдет выделение объекта. Об этом будут свидетельствовать маркеры по углам объекта. Можно также выделить несколько объектов.

Для этого надо установить курсор мыши вблизи группы объектов, нажать левую клавишу мыши и, не отпуская ее, начать перемещать мышь. Появится пунктирная рамка, размеры которой будут изменяться при перемещении мыши. Все охваченные рамкой объекты становятся выделенными. Выделить все объекты также можно используя команду Edit/Select All.

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

Копирование и перемещение объектов в буфер промежуточного хранения Для копирования объекта в буфер его необходимо предварительно выделить, а затем выполнить команду Edit/Copy.

Для вырезания объекта в буфер его необходимо предварительно выделить, а затем выполнить команду Edit/Cut или воспользоваться инструментом на панели инструментов. При выполнении данных операций следует иметь в виду, что объекты помещаются в собственный буфер MATLAB и недоступны из других приложений. Использование команды Edit/Copy model to Clipboard позволяет поместить графическое изображение модели в буфер Windows и, соответственно, делает его доступным для остальных программ.



Копирование можно выполнить и таким образом: нажать правую клавишу мыши и, не отпуская ее, переместить объект. При этом будет создана копия объекта, которую можно переместить в необходимое место.

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

Удаление объектов Для удаления объекта его необходимо предварительно выделить, а затем выполнить команду Edit/Clear или воспользоваться клавишей Delete на клавиатуре. Следует учесть, что команда Clear удаляет блок без помещения его в буфер обмена. Однако эту операцию можно отменить командой меню File/Undo.

Соединение блоков Для соединения блоков необходимо сначала установить курсор мыши на выходной порт одного из блоков. Курсор при этом превратится в большой крест из тонких линий (рис. 4.13).

Держа нажатой левую кнопку мыши, нужно переместить курсор ко входному порту нужного блока. Курсор мыши примет вид креста из тонких сдвоенных линий (рис. 4.14). После создания линии необходимо отпустить левую клавишу мыши.

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

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Рис. 4.14. Завершение создания соединения Создание петли линии соединения выполняется так же, как перемещение блока. Линия соединения выделяется, и затем нужная часть линии перемещается (рис. 4.15).

Рис. 4.15. Создание петли в соединительной линии Удаление соединений выполняется так же, как и удаление любых других объектов.

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

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

Использование команд Undo и Redo В процессе освоения программы пользователь может совершать действия, кажущиеся ему необратимыми (например, случайное удаление части модели, копирование и т.д.). В этом случае следует воспользоваться командой Undo – отмена последней операции. Команду можно вызвать с помощью кнопки в панели инструментов окна модели или из меню Edit. Для восстановления отмененной операции используется команда Redo.

Форматирования объектов В меню Format (так же, как и в контекстном меню, вызываемом нажатием правой клавиши мыши на объекте) находится набор команд форматирования блоков. Команды форматирования разделяются на несколько групп.

1. Изменение отображения надписей:

• Font – форматирование шрифта надписей и текстовых • Text alignment – выравнивание текста в текстовых надписях.

• Flip name – перемещение подписи блока.

• Show/Hide name – отображение или скрытие подписи 2. Изменение цветов отображения блоков:

• Foreground color – выбор цвета линий для выделенных • Background color – выбор цвета фона выделенных блоков.

• Screen color – выбор цвета фона для всего окна модели.

3. Изменение положения блока и его вида:

• Flip block – зеркальное отображение относительно вертикальной оси симметрии.

• Rotate block – поворот блока на 90° по часовой стрелке.

• Show drop shadow – показ тени от блока.

• Show port labels – показ меток портов.

4. Прочие установки:

• Library link display – показ связей с библиотеками.

• Sample time colors – выбор цвета блока индикации времени.

• Wide nonscalar lines – увеличение/уменьшение ширины нескалярных линий.

• Signal dimensions – показ размерности сигналов.

• Port data types – показ данных о типе портов.

• Storage class – класс памяти. Параметр, устанавливаемый при работе Real-Time Workshop.

§10. Библиотека блоков SIMULINK 10.1. Sources – источники сигналов Источник постоянного сигнала Constant Назначение:

Задает постоянный по уровню сигнал.

Параметры:

1. Constant value – постоянная величина.

2. Interpret vector parameters as 1-D – интерпретировать вектор параметров как одномерный (при установленном флажке).

Данный параметр встречается у большинства блоков библиотеки Simulink. В дальнейшем он рассматриваться не будет.

Значение константы может быть действительным или комплексным числом, вычисляемым выражением, вектором или матрицей.

Рис. 4.17 иллюстрирует применение этого источника и измерение его выходного сигнала с помощью цифрового индикатора Display.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Рис. 4.17. Источник постоянного воздействия Constant 10.2. Sinks – приемники сигналов 10.2.1. Осциллограф Scope Назначение:

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

Изображение блока и окно для просмотра графиков показаны на рис. 4.18.

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

Настройка окна осциллографа выполняется с помощью панелей инструментов (рис. 4.19).

Рис. 4.19. Панель инструментов блока Scope Панель инструментов содержит 11 кнопок:

1. Print – печать содержимого окна осциллографа.

2. Parameters – доступ к окну настройки параметров.

3. Zoom – увеличение масштаба по обеим осям.

4. Zoom X-axis – увеличение масштаба по горизонтальной оси.

5. Zoom Y-axis – увеличение масштаба по вертикальной оси.

6. Autoscale – автоматическая установка масштабов по обеим осям.

7. Save current axes settings – сохранение текущих настроек 8. Restore saved axes settings – установка ранее сохраненных настроек окна.

9. Floating scope – перевод осциллографа в «свободный» режим.

10. Lock/Unlock axes selection – закрепить/разорвать связь между текущей координатной системой окна и отображаемым сигналом. Инструмент доступен, если включен режим Floating scope.

11. Signal selection – выбор сигналов для отображения. Инструмент доступен, если включен режим Floating scope.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Изменение масштабов отображаемых графиков можно выполнять несколькими способами:

1. Нажать соответствующую кнопку (, или )и щелкнуть один раз левой клавишей мыши в нужном месте графика. Произойдет 2,5-кратное увеличение масштаба.

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

Рис. 4.20. Увеличение масштаба графика 3. Щелкнуть правой клавишей мыши в окне графиков и, выбрать команду Axes properties… в контекстном меню. Откроется окно свойств графика, в котором с помощью параметров Y-min и Y-max можно указать предельные значения вертикальной оси. В этом же окне можно указать заголовок граГлава 4. Общие сведения о MATLAB/SIMULINK.

фика (Title), заменив выражение % в строке ввода. Окно свойств показано на рис. 4.21.

Параметры:

parameters, которое открывается с помощью инструмента (Parameters) панели инструментов. Окно параметров имеет две вкладки:

General – общие параметры.

Data history – параметры сохранения сигналов в рабочей области MATLAB.

Вкладка общих параметров показана на рис. 4.22.

Рис. 4.22. Вкладка общих параметров General Раздел II. Концепция и возможности объектно ориентированной моделирующей системы На вкладке General задаются следующие параметры:

1. Number of axes – число входов (систем координат) осциллографа. При изменении этого параметра на изображении блока появляются дополнительные входные порты.

2. Time range – величина временного интервала, для которого отображаются графики. Если время расчета модели превышает заданное параметром Time range, то вывод графика производится порциями, при этом интервал отображения каждой порции графика равен заданному значению Time range.

3. Tick labels – вывод/скрытие осей и меток осей. Может принимать три значения (выбираются из списка):

o all – подписи для всех осей, o none – отсутствие всех осей и подписей к ним, o bottom axis only – подписи горизонтальной оси только для нижнего графика.

4. Sampling – установка параметров вывода графиков в окне. Задает режим вывода расчетных точек на экран. При выборе Decimation кратность вывода устанавливается числом, задающим шаг выводимых расчетных точек.

5. Floating scope – перевод осциллографа в «свободный»

режим (при установленном флажке).

На вкладке Data history (рис. 4.23) задаются следующие параметры:

1. Limit data points to last – максимальное количество отображаемых расчетных точек графика. При превышении этого числа начальная часть графика обрезается. В том случае, если флажок параметра Limit data points to last не установлен, то Simulink автоматически увеличит значение этого параметра для отображения всех расчетных точек.

2. Save data to workspace – сохранение значений сигналов в рабочей области MATLAB.

3. Variable name – имя переменной для сохранения сигналов в рабочей области MATLAB.

4. Format – формат данных при сохранении в рабочей области MATLAB. Может принимать значения:

• Array – массив, • Structure – структура, • Structure with time – структура с дополнительным полем «время».

10.2.2. Цифровой дисплей Display Назначение:

Отображает значение сигнала в виде числа.

Параметры:

• Format – формат отображения данных. Параметр Format может принимать следующие значения:

1. short – 5 значащих десятичных цифр.

2. long – 15 значащих десятичных цифр.

3. short_e – 5 значащих десятичных цифр и 3 символа степени десяти.

4. long_e – 15 значащих десятичных цифр и 3 символа степени десяти.

5. bank – «денежный» формат. Формат с фиксированной точкой и двумя десятичными цифрами в дробной части числа.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы • Decimation – кратность отображения входного сигнала. При Decimation = 1 отображается каждое значение входного сигнала, при Decimation = 2 отображается каждое второе значение, при Decimation = 3 – каждое третье значение и т.д.

• Sample time – шаг модельного времени. Определяет дискретность отображения данных.

• Floating display (флажок) – перевод блока в «свободный» режим. В данном режиме входной порт блока отсутствует, а выбор сигнала для отображения выполняется щелчком левой клавиши мыши на соответствующей линии связи. В этом режиме для параметра расчета Signal storage reuse должно быть установлено значение off (вкладка Advanced в окне диалога Simulation parameters…).

На рис. 4.24 показано применение блока Display с использованием различных вариантов параметра Format.

Рис. 4.24. Применение блока Display с использованием различных вариантов параметра Format 10.3. Continuous – аналоговые блоки 10.3.1. Интегрирующий блок lntegrator Назначение:

Выполняет интегрирование входного сигнала.

Параметры:

• External reset – внешний сброс. Тип внешнего управляющего сигнала, обеспечивающего сброс интегратора к начальному состоянию. Выбирается из списка:

1. none – нет (сброс не выполняется), 2. rising – нарастающий сигнал (передний фронт сигнала), 3. falling – спадающий сигнал (задний фронт сигнала), 4. either – нарастающий либо спадающий сигнал, 5. level – ненулевой сигнал (сброс выполняется, если сигнал на управляющем входе становится не равным нулю).

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

• Initial condition source – источник начального значения выходного сигнала. Выбирается из списка:

1. internal – внутренний;

2. external – внешний. В этом случае на изображении блока появляется дополнительный вход, обозначенный x0, на который необходимо подать сигнал, задающий начальное значение выходного сигнала интегратора.

• Initial condition – начальное условие. Установка начального значения выходного сигнала интегратора.

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

• Limit output (флажок) – использование ограничения выходного сигнала.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы • Upper saturation limit – верхний уровень ограничения выходного сигнала. Может быть задан как числом, так и символьной последовательностью inf, то есть +.

• Lower saturation limit – нижний уровень ограничения выходного сигнала. Может быть задан как числом, так и символьной последовательностью inf, то есть –.

• Show saturation port – управляет отображением порта, выводящего сигнал, свидетельствующий о выходе интегратора на ограничение. Выходной сигнал данного порта может принимать следующие значения:

1. ноль, если интегратор не находится на ограничении;

2. +1, если выходной сигнал интегратора достиг верхнего ограничивающего предела;

3. –1, если выходной сигнал интегратора достиг нижнего ограничивающего предела.

• Show state port (флажок) – отобразить/скрыть порт состояния блока. Данный порт используется в том случае, если выходной сигнал интегратора требуется подать в качестве сигнала обратной связи этого же интегратора. Например, при установке начальных условий через внешний порт или при сбросе интегратора через порт сброса. Выходной сигнал с этого порта может использоваться также для организации взаимодействия с управляемой подсистемой.

• Absolute tolerance – абсолютная погрешность.

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

Рис. 4.25. Интегрирование ступенчатого сигнала Пример на рис. 4.25 отличается от предыдущего подачей начального значения через внешний порт. Начальное значение выходного сигнала в данном примере задано равным 10.

Рис. 4.26. Интегрирование ступенчатого сигнала с установкой начального значения выходного сигнала Раздел II. Концепция и возможности объектно ориентированной моделирующей системы 10.3.2. Блок фиксированной задержки сигнала Transport Delay Назначение:

Обеспечивает задержку входного сигнала на заданное время.

Параметры:

1. Time Delay – время задержки сигнала (неотрицательное 2. Initial input – начальное значение выходного сигнала.

3. Buffer size – размер памяти, выделяемой для хранения задержанного сигнала. Задается в байтах числом, кратным 8 (по умолчанию 1024).

4. Pade order (for linearization) – порядок ряда Паде, используемого при аппроксимации выходного сигнала.

Задается целым положительным числом.

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

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

После завершения моделирования в командном окне MATLAB появится сообщение с указанием нужного размера буфера. На рис. 4.27 показан пример использования блока Transport Delay для задержки прямоугольного сигнала на 0,5 с.

Рис. 4.27. Пример использования блока Transport Delay для задержки сигнала 10.3.3. Блок управляемой задержки сигнала Variable Transport Delay Назначение:

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

Параметры:

1. Maximum delay – максимальное значение времени задержки сигнала (не отрицательное значение).

2. Initial input – начальное значение выходного сигнала.

3. Buffer size – размер памяти, выделяемой для хранения задержанного сигнала. Задается в байтах числом, кратным 8 (по умолчанию 1024).

4. Pade order (for linearization) – порядок ряда Паде, используемого при аппроксимации выходного сигнала.

Задается целым положительным числом.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Блок управляемой задержки Variable Transport Delay работает аналогично блоку постоянной задержки сигнала Transport Delay.

В том случае, если значение управляющего сигнала, задающего величину задержки, превышает значение, заданное параметром Maximum delay, то задержка выполняется на величину Maximum delay.

На рис. 4.28 показан пример использования блока Variable Transport Delay. Величина времени задержки сигнала изменяется от 0,5 до 1 с в момент времени равный 5 с.

Рис. 4.28. Пример использования блока Variable Transport Delay 10.4. Nonlinear – нелинейные блоки 10.4.1. Блок ограничения Saturation Назначение:

Выполняет ограничение величины сигнала.

Параметры:

1. Upper limit – верхний порог ограничения.

2. Lower limit – нижний порог ограничения.

3. Treat as gain when linearizing (флажок) – трактовать как усилитель с коэффициентом передачи равным 1 при линеаризации.

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

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

Рис. 4.29. Пример использования блока Saturation Раздел II. Концепция и возможности объектно ориентированной моделирующей системы 10.4.2. Блок переключателя Switch Назначение:

Выполняет переключение входных сигналов по сигналу управления.

Параметры:

Threshold – порог управляющего сигнала.

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

На рис. 4.30 показан пример работы блока Switch. В том случае, когда сигнал на управляющем входе ключа равен 1, на выход блока проходит гармонический сигнал, если же управляющий сигнал равен нулю, то на выход проходит сигнал нулевого уровня от блока Ground. Пороговое значение управляющего сигнала задано равным 0,5.

Рис. 4.30. Применение переключателя Switch 10.4.3. Блок ручного переключателя Manual Switch Назначение:

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

Параметры:

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

Рис. 4.31. Пример использования блока Manual Switch 10.5. Math – блоки математических операций 10.5.1. Блок вычисления суммы Sum Назначение:

Выполняет вычисление суммы текущих значений сигналов.

Параметры:

1. Icon shape – форма блока. Выбирается из списка: round – окружность, rectangular – прямоугольник.

2. List of sign – список знаков. В списке можно использовать следующие знаки: + (плюс), – (минус) и | (разделитель знаков).

3. Saturate on integer overflow (флажок) – подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Количество входов и операция (сложение или вычитание) определяется списком знаков параметра List of sign, при этом метки входов обозначаются соответствующими знаками.

В параметре List of sign можно также указать число входов блока. В этом случае все входы будут суммирующими.

Если количество входов блока превышает 3, то удобнее использовать блок Sum прямоугольной формы.

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

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

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

Рис. 4.32. Примеры использования блока Sum 10.5.2. Усилители Gain и Matrix Gain Назначение:

Выполняют умножение входного сигнала на постоянный коэффициент.

Параметры:

1. Gain – коэффициент усиления.

2. Multiplication – способ выполнения операции. Может принимать значения (из списка): Element-wise K*u – Поэлементный; Matrix K*u – матричный (коэффициент усиления является левосторонним операндом); Matrix u*K – матричный (коэффициент усиления является правосторонним операндом).

3. Saturate on integer overflow (флажок) – подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Блоки усилителей Gain и Matrix Gain есть один и тот же блок, но с разными начальными установками параметра Multiplication.

Параметр блока Gain может быть положительным или отрицательным числом, как больше, так и меньше 1. Коэффициент усиления можно задавать в виде скаляра, матрицы или вектора, а также в виде вычисляемого выражения.

В том случае если парметр Multiplication задан как Element-wise K*u, то блок выполняет операцию умножения на заданный коэффициент скалярного сигнала или каждого элемента векторного сигнала. В противном случае блок выполняет операцию матричного умножения сигнала на коэффициент, заданный матрицей.

По умолчанию коэффициент усиления является действительным числом типа double.

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

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Параметр блока Gain может быть скаляром, вектором или матрицей либого типа, за исключением логического (boolean).

При вычислении выходного сигнала блок Gain использует следующие правила:

• Если входной сигнал действительного типа, а коэффициент усиления комплексный, то выходной сигнал будет комплексным.

• Если тип входного сигнала отличается от типа коэффициента усиления, то Simulink пытается выполнить приведение типа коэффициента усиления к типу входного сигнала. Если такое приведение невозможно, расчет будет остановлен с выводом сообщения об ошибке. Такая ситуация может возникнуть, например, если входной сигнал есть беззнаковое целое (uint8), а параметр Gain задан отрицательным числом.

Рис. 4.33. Примеры использования блока Gain Для операций матричного усиления (матричного умножения входного сигнала на заданный коэффициент) входной сигнал и коэффициент усиления должны быть скалярными, векторными или матричными значениями комплексного либо действительного типа single или double.

10.5.3. Блок вычисления операции отношения Relational Operator Назначение:

Блок сравнивает текущие значения входных сигналов.

Параметры:

Relational Operator – тип операции отношения (выбирается из списка):

• = = – Тождественно равно;

В операции отношения первым операндом является сигнал, подаваемый на первый (верхний) вход блока, а вторым операндом – сигнал, подаваемый на второй (нижний) вход.

Выходным сигналом блока является 1, если результат вычисления операции отношения есть «ИСТИНА», и 0, если результат – «ЛОЖЬ».

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

Для операций = = (тождественно равно) и ~ = (не равно) допускается использовать комплексные входные сигналы.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Входные сигналы также могут быть логического типа (boolean).

Рис. 4.34. Примеры использования блока 10.6. Signal&Systems – блоки преобразования сигналов и вспомогательные блоки 10.6.1. Мультиплексор (смеситель) Mux Назначение:

Объединяет входные сигналы в вектор.

Параметры:

1. Number of Inputs – количество входов.

2. Display option – способ отображения. Выбирается из o bar – вертикальный узкий прямоугольник черного o signals – прямоугольник с белым фоном и отображением меток входных сигналов;

o none – прямоугольник с белым фоном без отображения меток входных сигналов.

Входные сигналы блока могут быть скалярными и (или) векторными.

Если среди входных сигналов есть векторы, то количество входов можно задавать как вектор с указанием числа элементов каждого вектора. Например, выражение [2 3 1] определяет три входных сигнала: первый сигнал – вектор из двух элементов, второй сигнал – вектор из трех элементов, и последний сигнал – скаляр. Если размерность входного вектора не совпадает с указанной в параметре Number of Inputs, после начала расчета Simulink выдаст сообщение об ошибке. Размерность входного вектора можно задавать как -1 (минус один). В этом случае размерность входного вектора может быть любой.

Параметр Number of Inputs можно задавать также в виде списка меток сигналов, например: Vector1, Vector2, Scalar.

В этом случае метки сигналов будут отображаться рядом с соответствующими соединительными линиями.

Сигналы, подаваемые на входы блока, должны быть одного типа (действительного или комплексного).

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Рис. 4.35. Примеры использования блока Mux 10.6.2. Демультиплексор (разделитель) Demux Назначение:

Разделяет входной векторный сигнал на отдельные составляющие.

Параметры:

1. Number of Outputs – количество выходов.

2. Bus Selection Mode (флажок) – режим разделения векторных сигналов.

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

Если количество выходов P (значение параметра Number of Outputs) равно размерности входного сигнала N, то блок выполняет разделение входного вектора на отдельные элементы.

Если количество выходов P меньше, чем размерность входного сигнала N, то размерность первых P–1 выходных сигналов равна отношению N/P, округленному до ближайГлава 4. Общие сведения о MATLAB/SIMULINK.

шего большего числа, а размерность последнего выходного сигнала равна разности между размерностью входного сигнала и суммой размерностей первых P–1 выходов. Например, если размерность входного сигнала равна 8, а количество выходов равно 3, то первые два выходных вектора будут иметь размерность ceil(8/3) = 3, а последний выходной вектор будет иметь размерность 8 – (3 + 3) = 2.

Параметр Number of Outputs может быть задан также с помощью вектора, определяющего размерность каждого выходного сигнала. Например, выражение [2 3 1] определяет три выходных сигнала: первый сигнал – вектор из двух элементов, второй сигнал – вектор из трех элементов, и последний сигнал – скаляр. Размерность можно также задавать как –1 (минус один). В этом случае размерность соответствующего выходного сигнала определяется как разность между размерностью входного вектора и суммой размерностей заданных выходных сигналов. Например, если размерность входного вектора равна 6, а параметр Number of Outputs задан выражением [1 –1 3], то второй выходной сигнал будет иметь размерность 6 – (3 + 1) = 2.

Рис. 4.36. Примеры использования блока Demux Раздел II. Концепция и возможности объектно ориентированной моделирующей системы В режиме Bus Selection Mode блок Demux работает не с отдельными элементами векторов, а с векторными сигналами в целом. Входной сигнал в этом режиме должен быть сформирован блоком Mux или другим блоком Demux. Параметр Number of Outputs в этом случае задается в виде скаляра, определяющего количество выходных сигналов, либо в виде вектора, каждый элемент которого определяет количество векторных сигналов в данном выходном сигнале. Например, при входном сигнале, состоящем из трех векторов, параметр Number of Outputs, заданный вектором [2 1], определит два выходных сигнала, первый из которых будет содержать два векторных сигнала, а второй – один.

10.7. Function & Tables – блоки функций и таблиц 10.7.1. Блок задания функции Fcn Назначение:

Задает выражение в стиле языка программирования (C++).

Параметры:

Expression – выражение, используемое блоком для вычисления выходного сигнала на основании входного. Это выражение составляется по правилам, принятым для описания функций на языке С.

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

1. Входной сигнал. Входной сигнал в выражении обозначается u, если он является скаляром. Если входной сигнал – вектор, необходимо указывать номер элемента вектора в круглых скобках. Например, u(1) и u(3) – первый и третий элементы входного вектора.

2. Константы.

3. Арифметические операторы (+ – * /).

4. Операторы отношения (= = != > < >= < = Блок не поддерживает матричные и векторные операции. Выходной сигнал блока всегда – скаляр.

Рис. 4.37. Примеры использования блока Fcn Раздел II. Концепция и возможности объектно ориентированной моделирующей системы 10.7.2. Блок задания функции MATLAB Fcn Назначение:

Задает выражение в стиле языка программирования MATLAB.

Параметры:

1. MATLAB function – выражение на языке MATLAB.

2. Output dimensions – размерность выходного сигнала.

Значение параметра –1 (минус один) предписывает блоку определять размерность автоматически.

3. Output signal type – тип выходного сигнала. Выбирается o real – действительный сигнал;

o complex – комплексный сигнал;

o auto – автоматическое определение типа сигнала.

4. Collapse 2-D results to 1-D – Преобразование двумерного выходного сигнала к одномерному.

Входной сигнал в выражении обозначается u, если он является скаляром. Если входной сигнал – вектор, необходимо указывать номер элемента вектора в круглых скобках. Например, u(1) и u(3) – первый и третий элементы входного вектора.

Если выражение состоит из одной функции, то ее можно задать без указания параметров. Выражение может содержать также собственные функции пользователя, написанные на языке MATLAB и оформленные в виде m-файлов. Имя mфайла не должно совпадать с именем модели (mdl-файлом).

Рис. 4.38 демонстрирует применение блока MATLAB Fcn. В примере используется функция My_Matlab_Fcn_1, вычисляющая сумму и произведение двух элементов входного вектора.

Текст функции (файл My_Matlab_Fcn_1.m) приведен ниже:

function y=My_Matlab_Fcn_1(x,k);

Выражение для вызова функции, заданное параметром MATLAB function, имеет вид: My_Matlab_Fcn_1(u(1),u(2)).

Рис. 4.38. Примеры использования блока MATLAB Fcn 10.8. Этапы моделирования Процесс расчета модели выполняется Simulink в несколько этапов. На первом этапе выполняется инициализация модели: подключение библиотечных блоков к модели, определение размерностей сигналов, типов данных, величин шагов модельного времени, оценка параметров блоков, а также определяется порядок выполнения блоков и происходит выделение памяти для проведения расчета. Затем Simulink начинает цикл моделирования. На каждом цикле моделирования (временном шаге) происходит расчет блоков в порядке, определенном на этапе инициализации. Для каждого блока Simulink вызывает функции, которые вычисляют переменные состояния блока x, производные переменных состояния и выходы y в течение текущего шага модельного времени. Этот процесс продолжается, пока моделирование не будет завершено. На рис. 4.39 показана диаграмма, иллюстрирующая этот процесс.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Глава 5. Управление модельным временем §1. Виды представления времени в модели С построенной имитационной моделью проводятся имитационные эксперименты, которые фактически представляют собой наблюдение за поведением экономической системы в течение некоторого промежутка времени. Эффективность экономической системы с помощью модели оценивается путем наблюдения за ней во времени. Характерной особенностью большинства практических задач является то, что скорость протекания рассматриваемых экономических процессов значительно ниже скорости реализации модельного эксперимента. Например, если моделируется работа супермаркета в течение месяца, вряд ли кому-то придет в голову воспроизводить этот процесс в модели в таком же масштабе времени.

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

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

• реальное, в котором происходит функционирование имитируемой системы;

• модельное (или, как его еще называют, системное), в масштабе которого организуется работа модели;

• машинное, отражающее затраты времени ЭВМ на проведение имитации.

С помощью механизма модельного времени решаются следующие задачи:

• Отображается переход моделируемой системы из одного состояния в другое.

• Производится синхронизация работы компонент модели.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы • Изменяется масштаб времени «жизни» (функционирования) исследуемой системы.

• Производится управление ходом модельного эксперимента.

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

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

Существуют два метода реализации механизма модельного времени:

моделирование с постоянным шагом;

моделирование по особым состояниям.

§2. Изменение времени с постоянным шагом При использовании данного метода отсчет системного времени ведется через фиксированные, выбранные исследователем интервалы времени. События в модели считаются наступившими в момент окончания этого интервала. Погрешность в измерении временных характеристик системы в этом случае зависит от величины шага моделирования T.

Метод моделирования с постоянным шагом используется на практике, если:

1. События появляются регулярно, их распределение во времени достаточно равномерно.

2. Число событий велико и моменты их появления близки.

3. Моменты появления событий заранее определить невозможно.

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

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

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

Введем следующие обозначения:

1 – момент начала обслуживания 1-й заявки;

2 – момент конца обслуживания 1-й заявки;

3 – момент начала обслуживания 2-й заявки;

4 – момент конца обслуживания 2-й заявки;

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы 5 – момент начала обслуживания 3-й заявки;

6 – момент конца обслуживания 3-й заявки;

7 – момент начала обслуживания 4-й заявки;

8 – момент конца обслуживания 4-й заявки.

Выберем шаг T и будем анализировать состояние системы через промежутки времени t1, t2,…, отстоящие друг от друга на T. Этот способ иногда называют способом T.

В момент t1 будет обнаружено, что в системе началось обслуживание 1-й заявки. В момент t2 = t1 + T будет установлено, что обслуживание 1-й заявки завершено. В момент t3 = t2 + T будет обнаружено, что в системе началось обслуживание 2-й заявки. В момент t4= t3 + T будет установлено, что обслуживание 2-й заявки завершено. В момент t5 = t4 + T будет обнаружено, что в системе началось обслуживание 3-й заявки. В момент t6 = t5 + T будет установлено, что обслуживание 3-й заявки завершено. Факт поступления 4-й заявки и факт окончания ее обслуживания не будут обнаружены.

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

Для предотвращения потерь информации и повышения точности работы модели нужно уменьшить шаг T. При малом T можно достаточно точно описать процесс функционирования системы.

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

Выбор T – задача очень важная и нелегкая. Необходимо:

1. T принимать равной средней интенсивности возникновения событий различных типов.

2. T выбирать равной среднему интервалу между наиболее частыми (или наиболее важными) событиями.

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

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

Для реализации моделирования по особым состояниям требуется разработка специальной процедуры планирования событий (так называемого календаря событий).

Если известен закон распределения интервалов между событиями, то такое прогнозирование труда не составляет:

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

Пусть, например, при моделировании системы массового обслуживания очередные заявки поступают в случайные моменты времени, но по известному закону, допустим показательному (именно так часто бывает на практике) с параметрами: – интенсивность потока заявок и Т – среднее время между соседними заявками. Иллюстрация к такой ситуации приведена на рис. 5. (t1 – t4 – моменты формирования заявок для системы массового обслуживания; T1…T4 – случайные интервалы времени, имеющие показательный закон распределения СВ).

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

Моделирование по особым состояниям целесообразно использовать, если:

• события распределяются во времени неравномерно или интервалы между ними велики;

• предъявляются повышенные требования к точности определения взаимного положения событий во времени;

• необходимо учитывать наличие одновременных событий.

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

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

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

Виды параллельных процессов Асинхронный параллельный процесс – такой процесс, состояние которого не зависит от состояния другого параллельного процесса (ПП).

Пример асинхронных ПП, протекающих в рамках одной системы: подготовка и проведение рекламной кампании фирмой и работа сборочного конвейера; пример из области вычислительной техники: выполнение вычислений процессором и вывод информации на печать.

Синхронный ПП – такой процесс, состояние которого зависит от состояния взаимодействующих с ним ПП.

Пример синхронного ПП: работа торговой организации и доставка товара со склада (нет товара – нет торговли).

Независимый ПП – процесс, который не является подчиненным ни для одного из процессов. Пример независимого ПП:

процессы обслуживания покупателей в кассах супермаркета.

Методы описания параллельных процессов В пакете Matlab имеется собственный язык моделирования, позволяющий моделировать параллельные процессы.

Рассмотрим механизм реализации ПП на основе транзактов.

В этом случае под событием понимается любое перемещение транзакта по системе, а также изменение его состояния (обслуживается, заблокирован и т.д.).

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

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

• Список будущих событий. Этот список содержит события, время наступления которых больше текущего модельного времени, то есть события, которые должны произойти в будущем (условия наступления которых уже определены – например, известно, что транзакт будет обслуживаться некоторым устройством Раздел II. Концепция и возможности объектно ориентированной моделирующей системы • Список прерываний. Данный список содержит события, связанные с возобновлением обработки прерванных транзактов. События из этого списка выбираются в том случае, если сняты условия прерывания.

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

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

при равных приоритетах – в порядке поступления в список.

Каждое событие (транзакт) в списке текущих событий может находиться либо в активном состоянии, либо в состоянии задержки. Если событие активно, то соответствующий транзакт может быть продвинут по системе; если продвижение невозможно (например, из-за занятости устройства), то событие (и транзакт) переводится в состояние задержки.

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

В качестве иллюстрации к изложенному рассмотрим небольшой пример. Пусть в систему поступают транзакты трех типов, каждый из которых обслуживается отдельным устройством. Известны законы поступления транзактов в систему и длительность их обслуживания. Таким образом, в системе существуют три параллельных независимых процесса (Р1, Р2, Р3).

Временная диаграмма работы системы при обслуживании одного транзакта каждого типа показана на рис. 5.3.

На рисунке события, относящиеся к процессу Р1, обозначены как С1i; относящиеся к Р2 и к Р3 – соответственно как С2i и С3i.

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

Как было отмечено выше, в этот список помещаются события, время наступления которых превышает текущее значение модельного времени. Очевидно, что на момент заполнения списка время наступления прогнозируемых событий должно быть известно. На первом шаге tm = 0, и в список будущих событий заносятся события С11, С21, С31. Затем, событие с наименьшим временем наступления – С11 – переносится в список текущих событий; если одновременных с ним событий нет, то оно обрабатывается и исключается из списка текущих событий. После этого вновь корректируется список будущих событий и т.д., пока не истечет заданный интервал моделирования.

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

Рис. 5.3. Временная диаграмма параллельных процессов Раздел II. Концепция и возможности объектно ориентированной моделирующей системы t Список будущих событий Список текущих событий Применение сетевых моделей для описания параллельных процессов Как будет показано на последующих занятиях, этапу программной реализации модели (т.е. ее описанию на одном из языков программирования) должен предшествовать так называемый этап алгоритмизации. Другими словами, прежде чем превратить имитационную модель в работающую компьютерную программу, ее создатель должен воспользоваться каким-то менее формальным и более наглядным средством описания логики работы будущей программы. Разумеется, это требование не является обязательным для всех разработчиков и для всех создаваемых моделей: при наличии достаточного опыта программа не очень сложной модели может быть написана сразу. Однако практика показывает, что человеческие возможности не безграничны, и при моделировании более сложных систем даже опытные разработчики бывают вынуждены немного «притормозить» на этапе алгоритмизации. Для описания логики работы модели могут быть использованы различные средства: либо русский язык (устный или письменный), либо традиционные схемы алгоритмов, либо какието другие «подручные» средства. Первые два варианта являются, как правило, наиболее знакомыми и наиболее часто используемыми. Однако, если вы попробуете описать в виде схемы алгоритма модель даже такой простой системы, которая использовалась в предыдущем примере, то это окажется напрасной тратой времени и сил. Прежде всего потому, что такие схемы совершенно не приспособлены для описания параллельных процессов.

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

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы §5. Управление модельным временем в MATLAB Задача корректного управления модельным временем, то есть «временем жизни» моделируемой системы, возлагается на разработчика независимо от того, какие инструменты создания модели он использует. Принципиально отличие Simulink от универсальных средств программирования состоит в том, что логическая структура S-модели не зависит от способа управления модельным временем. Более того, исследователь может выбирать способ изменения модельного времени для каждого сеанса моделирования индивидуально.

Тем не менее и при использовании Simulink модельное время остается «спинным мозгом», согласующим работу всех компонент S-модели. Поэтому при подготовке каждого модельного эксперимента должны быть получены ответы на три вопроса:

• Какой способ изменения (приращения) времени целесообразно использовать (с переменным или постоянным шагом).

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

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

Ранее мы рассматривали то, что в окне Simulink имеется меню Simulation (рис. 5.4).

Рис. 5.4. Окно блок-диаграммы S-модели и вид меню Simulation Данное меню играет основную роль при проведении исследования на модели. Посредством команд этого меню разработчик получает возможность не только динамически управлять сеансом моделирования, но и изменять многие важнейРаздел II. Концепция и возможности объектно ориентированной моделирующей системы шие параметры модели, такие как, например, способ изменения модельного времени и формат представления результатов моделирования.

Важной командой этого меню является Simulation Parameters. По данной команде открывается диалоговое окно настроек параметров моделирования. Для нас представляют интерес вкладки:

• Solver (Расчет) – установка параметров расчета модели;

• Workspace I/O (Ввод/вывод данных в рабочую область) – установка параметров обмена данными с рабочей областью MATLAB;

• Diagnostics (Диагностика) – выбор уровня диагностики.

Установка параметров управления модельным временем с помощью вкладки Solver рис. 5.5.

Параметры моделирования разделены на три группы:

• Simulation time (интервал моделирования); величина интервала моделирования задается посредством указания начального (Start time) и конечного (Stop time) значений модельного времени;

• Solver options (параметры расчета) – выбор метода реализации (расчета) модели;

• Output options (Параметры вывода) – соответствующие элементы позволяют указать периодичность записи параметров модели в рабочую область (при моделировании с переменным шагом).

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

• С дискретным состоянием и дискретным временем перехода из одного состояния в другое.

• С дискретным состоянием и непрерывным временем • С непрерывным состоянием и дискретным временем • С непрерывным состоянием и непрерывным временем Первый список (слева) позволяет выбрать способ изменения модельного времени; он содержит два пункта:

• Variable-step (моделирование с переменным шагом);

• Fixed-step (моделирование с фиксированным шагом).

Как правило, Variable-step используется для моделирования непрерывных систем, а Fixed-step – дискретных.

Второй список (справа) позволяет выбрать метод расчета нового состояния системы. Первый вариант (discrete) обеспечивает расчет дискретных состояний системы (и для непрерывного, и для дискретного времени переходов из состояния в состояние).

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Остальные пункты списка обеспечивают выбор метода расчета нового состояния для непрерывных систем. Эти методы различны для переменного (Variable-step) и фиксированного (Variable-step) шага времени, но основаны на единой методике – решении обыкновенных дифференциальных уравнений (ODE).

Ниже двух раскрывающихся списков Type находится область, содержимое которой меняется в зависимости от выбранного способа изменения модельного времени. При выборе Fixed-step в данной области появляется текстовое поле Fixed-step size (величина фиксированного шага) позволяющее указывать величину шага моделирования (рис. 5.6). Величина шага моделирования по умолчанию устанавливается системой автоматически (auto). Требуемая величина шага может быть введена вместо значения auto либо в форме числа, либо в виде вычисляемого выражения (то же самое относится и ко всем параметрам, устанавливаемым системой автоматически).

При выборе Fixed-step необходимо также задать режим расчета (Mode). Для параметра Mode доступны три варианта:

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

Auto (Автоматический выбор режима) – позволяет Simulink автоматически устанавливать режим MultiTasking для тех моделей, в которых используются блоки с различными скоростями передачи сигналов, и режим SingleTasking для моделей, в которых содержатся блоки, оперирующие одинаковыми скоростями.

При выборе Variable-step в области появляются поля для установки трех параметров:

• Мах step size – максимальный шаг расчета. По умолчанию он устанавливается автоматически (auto) и его значение в этом случае равно (SfopTime – StartTime)/50. Довольно часто это значение оказывается слишком большим, и наблюдаемые графики представляют собой ломаные (а не плавные) линии. В этом случае величину максимального шага расчета необходимо задавать явным образом.

• Мin step size – минимальный шаг расчета.

• Initial step size – начальное значение шага моделирования.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы При моделировании непрерывных систем с использованием переменного шага необходимо указать точность вычислений: относительную (Relative tolerance) и абсолютную (Absolute tolerance). По умолчанию они равны соответственно 10-3 и auto.

Приведем пример моделирования потока заявок на обслуживание. Предположим, необходимо моделировать поток посетителей супермаркета, подходящих к кассе для оплаты покупки. Наблюдения показали (или из других источников поступила информация), что в вечернее время с 17.00 до 18. в среднем через каждые 15 мин. приходит очередной посетитель. Вопрос: как будет выглядеть очередность посетителей на протяжении данного промежутка времени? Модель потока посетителей может выглядеть следующим образом (рис. 5.7).

Блок MATLAB function имитирует случайные числа в соответствии с экспоненциальным законом распределения. С этой целью используется функция exprnd с параметром 0.25, что соответствует среднему времени 15 мин. (15/60). Блок Discrete Time Integrator суммирует случайные числа, т.е. формирует время работы кассы нарастающим итогом. Блок Display показывает суммарное время работы кассы (в нашем случае оно будет случайное). Блок Scope1 отражает: по вертикали – общее время работы, которое складывается из случайных временных интервалов; по горизонтали – количество посетителей. С этой осью совпадает шаг моделирования.

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

Используя средства Simulink доработаем модель так, чтобы управлять величиной шага моделирования при изменении модельного времени по особым состояниям (рис. 5.8).

Рис. 5.8. Изменение модельного времени по особым состояниям Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Нижняя часть модели обеспечивает формирование отрезков времени, длина которых распределена по заданному закону (экспоненциальному), и продвижение модельного времени. Верхняя часть модели имитирует случайную величину стоимости их покупки. Средняя стоимость покупки в модели принята за 0,3 тыс. руб. Из результатов одного прогона модели видно, что за 3 часа 20 минут в кассе супермаркета будет тыс. 700 рублей. Понятно, что и моделируемая ситуация и сама модель очень просты. Но в данном случае для нас важен подход к решению подобных задач.

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

Для корректного управления модельным временем в таких моделях необходимо:

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

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

3. Обеспечить приращение модельного времени на интервал времени до ближайшего события в управляющем процессе.

4. Контролировать условия окончания сеанса моделирования.

Пример. В качестве иллюстрации к сказанному вновь воспользуемся моделью работы супермаркета. Очевидно, что оплата покупателя в кассу может начаться только при условии подГлава 5. Управление модельным временем хода его к кассе. Потому процесс оплаты является подчиненным по отношению к процессу подхода покупателей к кассе. Если интервал между покупателями значительно больше длительности расчета в кассе, то продвижение модельного времени будет определяться только событиями управляющего процесса (потоком покупателей). Блок-диаграмма такой системы не будет отличаться от рассмотренной ранее (см. рис. 5.8). Если же интервал между покупателями в кассе соизмерим с временем обслуживания в кассе, то необходимо отразить в модели дополнительное условие: «обслуживание» очередного покупателя не может начаться до тех пор, пока не завершится «обслуживание» предыдущего. При такой постановке задачи оба процесса становятся равноправными с точки зрения влияния на значение модельного времени. Очередной шаг модельного времени в этом случае вычисляется как сумма двух временных интервалов: промежутка до нового покупателя и длительности обслуживания его в кассе.

Модель будет иметь вид, показанный на рис. 5.9. Результаты работы модели представлены на рис. 5.10–5.13.

Рис. 5.9. Управление модельным временем при наличии двух Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Рис. 5.10. Результат работы модели (поступление денег в кассу) Рис. 5.11. Результаты работы модели (суммарный интервал между покупателями и время обслуживания покупателя – по вертикали) Рис. 5.12. Результат работы модели (интервал между покупателями – по вертикали) Рис. 5.13. Результат работы модели (время обслуживания покупателя – по вертикали) Раздел II. Концепция и возможности объектно ориентированной моделирующей системы При моделировании аналогичного процесса, но с двумя кассами, необходимо учитывать, что они работают одновременно и совершенно независимо друг от друга, т.е. асинхронно. Предположим, что сеанс моделирования должен быть остановлен по истечении 300 единиц модельного времени. Модель будет иметь вид, представленный на рис. 5.14.

Рис. 5.14. Управление окончанием моделирования при наличии В данной модели используется способ продвижения модельного времени, суть которого состоит в том, что в каждом такте выбирается бльшая из величин Т1 и Т2. Где Т1 и Т2 – время суммарного обслуживания очередного покупателя в 1–й и во 2-й кассе соответственно.

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

• Ожидание (в течение времени tож);

• Обслуживание в кассе (tобсл).

§6. Установка параметров вывода выходных сигналов моделируемой системы OUTPUT OPTIONS (параметры вывода) В нижней части вкладки Solver задаются настройки параметров вывода выходных сигналов моделируемой системы (Output options). Для данного параметра возможен выбор одного из трех вариантов:

• Refine output (Скорректированный вывод) – позволяет изменять дискретность регистрации модельного времени и тех сигналов, которые сохраняются в рабочей области MATLAB с помощью блока То Workspace.

Установка величины дискретности выполняется в строке редактирования Refine factor, расположенной справа. По умолчанию значение Refine factor равно 1, это означает, что регистрация производится с шагом Dt = 1 (то есть для каждого значения модельного времени). Если задать Refine factor равным 2, это означает, что будет регистрироваться каждое второе значение сигналов, 3 – каждое третье и т.д. Параметр Refine factor может принимать только целые положительные • Produce additional output (Дополнительный вывод) – обеспечивает дополнительную регистрацию параметров модели в заданные моменты времени; их значения вводятся в строке редактирования (в этом случае она называется Output times) в виде списка, заключенного в квадратные скобки. При использовании этого варианта базовый шаг регистрации (Dt) равен 1.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Значения времени в списке Output times могут быть дробными числами и иметь любую точность.

• Produce specified output only (Формировать только заданный вывод) – устанавливает вывод параметров модели только в заданные моменты времени, которые указываются в поле Output times (Моменты времени §7. Установка параметров обмена с рабочей областью Элементы, позволяющие управлять вводом и выводом в рабочую область MATLAB промежуточных данных и результатов моделирования, расположены на вкладке Workspace I/O (рис. 5.15).

Рис. 5.15. Вкладка Workspace I/O диалогового окна установки Элементы вкладки разделены на 3 поля:

• Load from workspace (Загрузить из рабочей области).

Если флажок Input (Входные данные) установлен, то в расположенном справа текстовом поле можно ввести формат данных, которые будут считываться из рабочей области MATLAB. Установка флажка Initial State (Начальное состояние) позволяет ввести в связанном с ним текстовом поле имя переменной, содержащей параметры начального состояния модели. Данные, указанные в полях Input и Initial State, передаются в исполняемую модель посредством одного или более блоков In (из раздела библиотеки Sources).

• Save to workspace (Записать в рабочую область) – позволяет установить режим вывода значений сигналов в рабочую область MATLAB и задать их имена.

• Save options (Параметры записи) – задает количество строк при передаче переменных в рабочую область. Если флажок Limit rows to last установлен, то в поле ввода можно указать количество передаваемых строк (отсчет строк производится от момента завершения расчета). Если флажок не установлен, то передаются все данные. Параметр Decimation (Исключение) задает шаг записи переменных в рабочую область (аналогично параметру Refine factor вкладки Solver). Параметр Format (формат данных) задает формат передаваемых в рабочую область данных. Доступные форматы Array (Массив), Structure (Структура), Structure With Time (Структура с дополнительным полем – «время»).

§8. Установка параметров диагностирования модели Вкладка Diagnostics (рис. 5.16) позволяет изменять перечень диагностических сообщений, выводимых Simulink в командном окне MATLAB, а также устанавливать дополнительные параметры диагностики модели.

Раздел II. Концепция и возможности объектно ориентированной моделирующей системы Сообщения об ошибках или проблемных ситуациях, обнаруженных Simulink в ходе моделирования и требующих вмешательства разработчика, выводятся в командном окне MATLAB. Исходный перечень таких ситуаций и вид реакции на них приведен в списке на вкладке Diagnostics. Разработчик может указать вид реакции на каждое из них, используя группу переключателей в поле Action (они становятся доступны, если в списке выбрано одно из событий):

• None – игнорировать;

• Warning – выдать предупреждение и продолжить моделирование;

• Error – выдать сообщение об ошибке и остановить сеанс моделирования.

Выбранный вид реакции отображается в списке рядом с наименованием события.

Рис. 5.16. Вкладка Diagnostics окна установки Раздел III.

Основные правила моделирования Глава 6. Классификация математических моделей экономических систем В курсе «Имитационное моделирование экономических процессов» рассматриваются не сами экономические системы, а лишь методы разработки имитационных моделей этих систем. Разработкой классификации экономических систем должны заниматься экономисты. Насколько можно судить по литературным источникам общепринятой классификации, таких систем пока не существует.

Первая классификация математических моделей экономических систем была приведена в монографии Т. Нейлора «Машинные имитационные эксперименты с моделями экономических систем» в 1971 г. Он предлагал разделить их все на две группы (рис. 6.1):

1) общие экономические модели;

2) модели управления предприятиями.

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

Раздел III. Основные правила моделирования

МОДЕЛИ ЭКОНОМИЧЕСКИХ СИСТЕМ

экономические модели Макроэкономические Рис. 6.1. Классификация алгоритмических экономических Разновидности моделей фирм:

• модели отдельных фирм;

• модели конкурентных отраслей;

• модели дуополий (объединений двух фирм);

• модели олигополии (объединений нескольких фирм);

• модели монополий.

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

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

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

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

В качестве примера в 9 главе рассматривается одна из моделей фирмы, получившая название «паутинообразной» модели. Это простейшая динамическая модель взаимодействия фирмы и рынка. В качестве типовой математической схемы вначале была выбрана непрерывно-детерминированная модель, в которую добавлены случайные составляющие входных переменных, в результате чего модель становится стохастической.

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

К отраслевым моделям относятся комплексные, или агрегированные, модели, описывающие отдельные отрасли народного хозяйства как единое целое. В монографии Т. Нейлора дается краткая характеристика модели текстильной Раздел III. Основные правила моделирования промышленности США, модели кожевенной и обувной промышленности, а также модели лесообрабатывающей промышленности. В большинстве случаев отраслевая модель представляет собой систему рекуррентных уравнений. Для нахождения коэффициентов этих уравнений используется метод наименьших квадратов.

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

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

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

Их количество обычно намного превышает число переменных, рассматриваемых в численных микроэкономических моделях;

• возникает проблема «агрегирования» микроэкономических переменных в обобщенные показатели макроэкономической системы;

• между входными переменными существуют очень сложные взаимодействия и обратные связи;

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

• получить данные для построения математической модели макроэкономической системы намного сложнее, чем для микроэкономических систем.

По приведенным причинам в данной дисциплине отраслевые и макроэкономические модели не рассматриваются.

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

К моделям управления предприятиями относятся (см.

рис. 6.1):

• модели массового обслуживания;

• модели управления запасами;

• производственные модели;

• модели торговли;

• финансовые модели.

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

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

К моделям системы массового обслуживания относятся модель бензоколонки, нотариальной конторы, парикРаздел III. Основные правила моделирования махерской, столовой самообслуживания, станции автомобильного обслуживания и т.п. Общей для этих моделей является заложенная типовая математическая схема – схема системы массового обслуживания с переменным числом каналов, однородным потоком заявок, без отказов и с ограниченным ожиданием. В задачу моделирования входит установление оптимального числа каналов, которое при определенном соотношении входных параметров (среднего времени между соседними заявками и среднего времени обслуживания) обеспечивает максимальное значение показателя эффективности процесса функционирования системы. Для конкретной экономической системы в качестве критерия эффективности используется условие максимума прибыли.

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

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

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

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

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

К моделям управления запасами относятся модели системы управления запасами однородного товара на складе.

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

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

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

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

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

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

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

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

В качестве примера можно привести отказ оборудования бензоколонки. После устранения неисправности заправка автомашины продолжается.

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

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

Функция плотности для времени безотказной работы где 0 – время безотказной работы;

0 – параметр (интенсивность потока отказов, т.е. количество отказов в единицу времени).

Раздел III. Основные правила моделирования Функция плотности для времени устранения отказа где у – время устранения отказа;

у – параметр (среднее число устраненных отказов в единицу времени).

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

Можно показать, что композиция этих распределений приводит к обобщенному потоку Эрланга 2-го порядка, плотность которого имеет вид:

Рис. 7.1. Временные диаграммы потока отказов и их устранения Момент времени появления очередного отказа определяется где Туст i-1 = Tуст. ср* – Тотк i-1.

Данные выражения берутся в основу моделирования отказов. Блок модели формирования одиночного отказа может быть выполнен, например, по схеме, представленной на рис. 7.2.

Тотк I = Tср*exprnd(0) – (Tуст. ср* exprnd(0) + Тотк i-1) Рис. 7.2. Блок модели формирования одиночного отказа Формирование потока отказов осуществляется многократным запуском блока формирования отказа. Программа Matlab позволяет решать эту задачу иным способом.

Раздел III. Основные правила моделирования Генератор отказов Рис. 7.3. Блок-схема имитационной модели одноканальной системы массового обслуживания (СМО) с отказами Блок «Заявка». Генератор заявок формирует массив случайных чисел времен появления заявок на обслуживание с учетом возможного времени ожидания обслуживания и без учета возможности отказа (Тн). Здесь же определяется возможное время окончания обслуживания без учета возможности появления отказа (Тк). В блоке используется ДСЧ с показательным законом распределения.

Блок «Отказ». Блок формирует последовательности случайных чисел Тотк и Туст, а также с помощью ДСЧ формирует тип отказа.

Блок «Анализ».

Блок осуществляет проверку следующих условий.

Заявка Отказ появился после того, как процесс обслуживания заявки был полностью завершен.

Условие 2. ((Тн< Тотк) И ( Тотк< Тк)) Заявка Обслуживание заявки будет прекращено из-за отказа и продолжено после устранения (отказ 1-го рода) или обслуживание начнется заново (отказ 2-го рода).

Условие 3. ((Тотк< Тн) И ( Тн< Туст)) Раздел III. Основные правила моделирования Заявка поступила в момент, когда происходит устранение отказа.

Блок «Обслуживание». Блок в зависимости от выполняемого условия в блоке «Анализ» производит:

1. Подсчет количества обслуженных заявок (если выполняется условие 1).

2. Корректировку времени начала и окончания «дообслуживания» (если выполняется условие 2) по формулам «Дообслуживание»

3. Корректировку времени (если выполняется условие 3, т.е.

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

Моделирование заканчивается в случае, если закончится период функционирования системы, т.е. выполнится условие Раздел III. Основные правила моделирования Глава 8. Планирование модельных экспериментов §1. Цели планирования экспериментов Для правильной организации модельного эксперимента исследователь должен располагать следующей информацией:

1) к какому классу относится моделируемая система (статическая или динамическая, детерминированная или стохастическая и т.д.);

2) какой режим работы системы его интересует: стационарный (установившийся) или нестационарный;

3) в течение какого промежутка времени следует наблюдать за поведением (функционированием) системы;

4) какой объем испытаний (т.е. повторных экспериментов) сможет обеспечить требуемую точность оценок (в статистическом смысле) исследуемых характеристик системы.



Pages:     | 1 || 3 |


Похожие работы:

«НАЧАЛЬНОЕ И СРЕДНЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ ХИМИЯ ДЛЯ ПРОФЕССИЙ И СПЕЦИАЛЬНОСТЕЙ ЕСТЕСТВЕННО НАУЧНОГО ПРОФИЛЯ Под редакцией О. С. Габриеляна УЧЕБНИК Рекомендовано Федеральным государственным учреждением Федеральный институт развития образования в качестве учебника для использования в учебном процессе образовательных учреждений, реализующих программы среднего (полного) общего образования в пределах основных профессиональных образовательных программ НПО/СПО с учетом профиля получаемого...»

«1 2 Рабочая программа учебной дисциплины разработана на основе Федерального государственного образовательного стандарта (ФГОС) среднего профессионального образования (СПО) по специальности 060301 Фармация Организация-разработчик: ГАОУ СПО АО Архангельский медицинский колледж Разработчик: преподаватель медицинской генетики высшей квалификационной категории Тихонова О.Н. Рассмотрена и утверждена на заседании цикловой методической комиссии Общепрофессиональных дисциплин Протокол №, от _ 2013 г....»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования КАРЕЛЬСКАЯ ГОСУДАРСТВЕННАЯ ПЕДАГОГИЧЕСКАЯ АКАДЕМИЯ ФакультетФизико-математический КафедраИнформатики_ УТВЕРЖДАЮ Декан факультета Богданов С.Р. 20 г. РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Методика обучения и воспитания информатике В составе основной образовательной программы по подготовке бакалавра по направлению 050100.62 Педагогическое...»

«The Managerial Cybernetics of Organization BRAIN OF THE FIRM SECOND EDITION Stafford Beer Companion Volume to THE HEART OF ENTERPRISE JOHN WILEY & SONS Chichester • New York • Brisbane • Toronto С.Бир Мозг фирмы Перевод с английского профессора М.М.Лопухина Москва Радио и связь 1993 Федеральная целевая программа книгоиздания России Бир С. Мозг фирмы: Пер. с англ. - М.: Радио и связь, 1993. — 416 с.: ил. - ISBN 5-256-00426-3. Книга всемирно известного английского ученого посвящена проблеме...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ МЭИ Утверждаю Заведующий кафедрой ЭВТ Т.А. Степанова ПРОГРАММА ВСТУПИТЕЛЬНЫХ ИСПЫТАНИЙ ДЛЯ ПОСТУПАЮЩИХ В МАГИСТРАТУРУ Направление подготовки: 13.04.01 Теплоэнергетика и теплотехника Магистерская программа: Энергообеспечение предприятий. Высокотемпературные процессы и установки. Москва, 2014 год 1. Содержание...»

«М И Н И С ТКРС Т В О с е л ь с к о г о х о з я й с т в а р о с с и й с к о й ФЕДЕРАЦИИ Ф е лсральное i осуларс i венное бк>.i/ке гное обра $ова i ельное учреждение вы еш е! о профессионального обра ш ванин ( ара I овскии государственный аграрны й ун иверситс! имени il. ll. В ави л о ва УI в е р ж д а ю Д ц р С 1 Г))р I |\ с ко го (рил нала у С ем ён ова O. 11. 20-А г. РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Дисциплина Технология производства продукции полеводетва Специальность 1 10201. 51 Аг р о...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ ФГБОУ ВПО Ульяновская ГСХА им. П.А. Столыпина Факультет агрономический Кафедра биологии, химии, технологии хранения и переработки продукции растениеводства РАБОЧАЯ ПРОГРАММА по дисциплине Товароведение продукции растениеводства Ульяновск – 2013 СОДЕРЖАНИЕ 1. Цель и задачи дисциплины, ее место в учебном процессе..4 2. Требования к уровню освоения содержания дисциплины..4 3. Тематический план дисциплины для студентов очного и заочного...»

«Государственное бюджетное образовательное учреждение среднего профессионального образования города Москвы Медицинское училище № 24 Департамента здравоохранения города Москвы (ГБОУ СПО МУ № 24 ДЗМ) Утверждаю зам. директора по учебной работе Н. И.Чугрова 20 г РАБОЧАЯ ПРОГРАММА ПРОФЕССИОНАЛЬНОГО МОДУЛЯ ПМ 03. ОКАЗАНИЕ ДОВРАЧЕБНОЙ МЕДИЦИНСКОЙ ПОМОЩИ ПРИ НЕОТЛОЖНЫХ И ЭКСТРЕМАЛЬНЫХ СОСТОЯНИЯХ 2013 г. Одобрена цикловой комиссией Составлена в соответствии Специальные дисциплины ФГОС и примерной...»

«Министерство образования и науки РФ ФГБОУ ВПО Пензенский государственный университет Программа вступительного испытания на обучение по программам подготовки научно - педагогических кадров в аспирантуре ПГУ по направлению подготовки 37.06.01 Психологические науки Пенза 2014 1 Программа вступительного испытания на обучение по профилю направления подготовки: 19.00.05 - Социальная психология. 1. Социальная психология как наука. Место социальной психологии 1. в системе наук. Ее взаимосвязь с...»

«ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ ЮГО-ЗАПАДНОЕ ОКРУЖНОЕ УПРАВЛЕНИЕ ОБРАЗОВАНИЯ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ГОРОДА МОСКВЫ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 1100 ОСНОВНАЯ ОБРАЗОВАТЕЛЬНАЯ ПРОГРАММА ОСНОВНОГО ОБЩЕГО ОБРАЗОВАНИЯ (ФГОС ООО) на 2013-2014 у/г. Согласовано Утверждаю Председатель Управляющего Совета Директор ГБОУ СОШ №1100 ГБОУ СОШ №1100 Микаелян Г.С. Симонов К.Е. _2013 г. _2013 г. Москва 2013 Оглавление ОБЩИЕ ПОЛОЖЕНИЯ. 1. ЦЕЛЕВОЙ РАЗДЕЛ 1.1. ПОЯСНИТЕЛЬНАЯ...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Саратовский государственный аграрный университет имени Н.И. Вавилова СОГЛАСОВАНО УТВЕРЖДАЮ Заведующий кафедрой Декан факультета _ /Дудникова Е.Б./ /Камышова Г.Н./ _ 20 г. _ _20 г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ СИСТЕМНЫЙ АНАЛИЗ В Дисциплина МЕНЕДЖМЕНТЕ Направление подготовки 080200.62 Менеджмент Управленческий и финансовый учет Профиль...»

«САНКТ-ПЕТЕРБУРГСКАЯ ГЛУБОКОУВАЖАЕМЫЕ КОЛЛЕГИ! САНКТ-ПЕТЕРБУРГСКАЯ ГОМЕОПАТИЧЕСКАЯ АССОЦИАЦИЯ ГОМЕОПАТИЧЕСКАЯ АССОЦИАЦИЯ Приглашаем Вас принять участие в работе СЕВЕРО-ЗАПАДНЫЙ ГОСУДАРСТВЕННЫЙ ЦЕНТР ГОМЕОПАТИИ АРНИКА МЕДИЦИНСКИЙ УНИВЕРСИТЕТ XXIV научно-практической конференции ЦЕНТР ЦВЕТОЧНОЙ ТЕРАПИИ БАХА АКТУАЛЬНЫЕ ВОПРОСЫ ГОМЕОПАТИИ, имени И.И.МЕЧНИКОВА которая состоится 13 и 14 июня 2014 года в ГОМЕОПАТИЧЕСКИЙ ЦЕНТР ФРАНЦИИ ГЛУБОКОУВАЖАЕМЫЕ КОЛЛЕГИ! Санкт-Петербурге (Дом Актера, Невский...»

«1 1. Информация из ФГОС 1.1. Вид профессиональной деятельности выпускника Область профессиональной деятельности специалистов включает: включает транспортное, строительное, сельскохозяйственное, специальное машиностроение; эксплуатацию техники. 1.2. Задачи профессиональной деятельности выпускника производственно-технологическая деятельность разработка технологической документации для производства, модернизации, ремонта и эксплуатации наземных транспортно-технологических средств и их...»

«ТОГБОУ Специальная (коррекционная) общеобразовательная школа-интернат №2 УТВЕРЖДЕНА приказом директора школы-интерната от 03.11.11 № 167-ОД Рабочая программа по лечебной физкультуре для обучающихся младших классов с ограниченными возможностями здоровья Срок реализации - 3 года Составил инструктор физкультуры Омельченко А.С. Рассмотрена на заседании методического совета Протокол № 2 от 1 ноября 2011г. Тамбов 2011 г. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Нормативно-правовой аспект программы. В соответствии со...»

«Министерство транспорта Российской Федерации Федеральное агентство морского и речного транспорта Люди нашей отрасли Книга I Москва 2009 год Люди нашей отрасли Книга Люди нашей отрасли представляет собой уникальный проект Федерального агентства морского и речного транспорта и газеты Морские вести России, где собраны материалы о жизненном пути, трудовых достижениях специалистов различных профессий, посвятивших жизнь служению морскому и речному транспорту, заслуживших уважение и почет. Кроме того,...»

«ГОДОВОЙ ОТЧЕТ Открытого акционерного общества ММВБ-РТС за 2011 год Годовой отчет ОАО ММВБ-РТС за 2011 год Оглавление Обращение Президента ММВБ-РТС Положение в отрасли Основные результаты деятельности в 2011 году Календарь событий в Группе ММВБ-РТС в 2011 году Участники финансовых рынков Приоритетные направления деятельности и перспективы развития ОАО ММВБРТС Основные риски, связанные с деятельностью ОАО ММВБ-РТС Управление рисками на ММВБ-РТС Рынки Валютно-денежный рынок Фондовый рынок Работа...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Ярославский государственный университет им. П.Г. Демидова Экономический факультет УТВЕРЖДАЮ Проректор по развитию образования _Е.В.Сапир _2012 г. Рабочая программа дисциплины послевузовского профессионального образования (аспирантура) ИСТОРИЯ И ФИЛОСОФИЯ НАУКИ по специальности научных работников 08.00.01 Экономическая теория Ярославль 2012 2 Цели освоения дисциплины История и философия науки 1. Целью освоения дисциплины История и философия...»

«Дайджест космических новостей №183 Московский космический Институт космической клуб политики (21.04.2011-30.04.2011) 30.04.2011 2 Нашелся первый турист на Луну 2 В России создается единая система воздушно-космической обороны 3 Владимир Путин посетил НИИ физических измерений в Пензе 4 Запуск Индевора отложен 4 Несмотря на отсрочку запуска, Обама прибыл на мыс Канаверал 29.04.2011 Прогресс М-10М пристыкован к МКС Зонд Мессенджер обнаружил, что Меркурий помечен крестиком Лесной пожар на территории...»

«Хлопок и переговоры ВТО в рамках Дохинской Программы развития: Аспекты торговли и развития Жан-Пьер Лапальме, Советник Отдела доступа на рынки Всемирной торговой организации Для меня это большое удовольствие – быть здесь, в Ташкенте и участвовать в этой Международной конференции на тему Хлопок и текстиль – важные факторы экономического роста в Центральной Азии. Моя презентация сфокусирована на последних нововведениях в Мировой торговой организации в отношении аспектов торговли и развития,...»

«КАТАЛОГ КОНДИЦИОНЕРОВ Split, Multi, Packaged 2008 СОДЕРЖАНИЕ Рекомендации генерального дистрибьютора 4 Cоответствие европейским стандартам 5 О компании DAICHI-Украина 6 В ногу с мировым прогрессом в области кондиционирования 8 Схемы воздухораспределения 10 Программа DAICHI SPLIT-SELECT 11 Передовые технологии KENTATSU Основные сведения о кондиционерах Настенный тип KSGH (охлаждение / нагрев, только охлаждение) Настенный тип KSGH_HZ (инвертор, охлаждение / нагрев) Настенный тип KSGG (охлаждение...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.