Математическая модель
Имея Simulink с типовыми библиотечными блоками, можно не создавать математическую модель - каждая элементарная модель уже имеет программу, привязанную к блоку. Но составив имитационную модель, можно по этой же схеме составить уравнения для аналитических решений.
Блок-схема имитационной модели кризисов, выполненная в Simulink, представлена на рис. 9.1.
Рис. 9.1. Блок-схема имитационной модели кризисов
«Генератор потребности в парке» на схеме задается блоком констант и интегратором. На выходе блоков формируется линейная во времени переменная потребности населения в парке автомобилей (необходимый парк автомобилей).
Ниже потребностей расположены четыре блока, отражающие движение парка автомобилей: поступление в эксплуатацию от производителей (вход блока «Срок службы»), накопление их в парке интегратором (блок «Поступление»). Блоки «Срок службы» и «Выбытие» задают поток выбытия автомобилей по ветхости, износу или моральному старению. Нижний круглый блок вычитает из поступившего в парк количества автомобилей выбывшее количество, формируя тем самым реальное количество товаров, находящихся в эксплуатации. Верхний круглый блок сумматора вычитает из необходимого парка наличный парк, создавая переменную текущего спроса. Блоком Saturation (ограничитель) она ограничивается снизу, реализуя традиционную для экономических задач неотрицательность переменных.
Блок «Производство» задан простейшей моделью, то есть производство выполняет заказ полностью, но с запаздыванием, задаваемым блоком задержки (лаг исполнения заказа).
Параметры в этой модели задаются вручную. Для этого вызывается диалоговое окно настройки параметров - двойным щелчком мыши на блоке. Параметрами, которыми управляется модель, являются:
- задержка в блоке «Производство»;
- задержка в блоке «Службы»;
- начальные условия в интеграторе блока «Поступление» (имитация дефицита автомобилей).
Глава 9.
Примеры построения имитационных моделей
Рис. 9.2. Результаты моделирования (наблюдаемые блоком - а) Scope;
- в) Scope 1)
при следующих исходных данных:
- блок «Constant» Constant value = 10 .Значение определяет крутизну прямой потребности населения (экономики) в автомобилях (например, 10 тысяч автомобилей в год);
- блок «Integrator» Initial condition = 50. Значение определяет потребность в автомобилях в момент времени t = 0 (например, начальная потребность в автомобилях 50 тысяч);
- блок «Saturation» Upper limit = 1000, Lover limit = 0. Первое значение определяет ограничение сверху, второе ограничение снизу. Это необходимо для исключения отрицательных значений, что характерно для экономических задач;
- блок «Transport delay» Timer delay = 4. Значение определяет задержку во времени производства автомобилей относительно возникшей потребности в них (например, 4 года);
- блок «Integrator 1» Initial condition = 30. Значение определяет начальный уровень накопленного парка автомобилей (например, 30 тысяч штук);
- блок «Integrator 2» Initial condition = 10. Значение определяет начальный уровень количества автомобилей выбывающих из строя по причине старения, аварий и т.д. (например, 10 тысяч штук);
- блок «Transport delay 1» Timer delay = 7. Значение определяет срок эксплуатации автомобилей (например, 7 лет).