ЭкоНомико-имитациоННое моделирование
СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРИМЕНЕНИЯ ПАКЕТОВ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ И СИСТЕМ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ ДЛЯ АНАЛИЗА МОДЕЛЕЙ ТЕОРИИ ЭКОНОМИЧЕСКОГО РОСТА
ЮЛ. КУЗНЕЦОВ, доктор физико-математических наук, профессор
О.В. МИЧАСОВА Государственный университет им. Н. И. Лобачевского
Введение
В настоящее время существует множество разнообразных по содержанию и функциям программных средств, что позволяет выбирать и использовать наиболее подходящие для целей исследования пакеты. В то же время такое разнообразие затрудняет выбор, потому что каждое программное средство обладает специфическими качествами, которые невозможно оценить заранее. Выбор программы должен обусловливаться не только субъективными предпочтениями пользователя, но и целями проводящихся исследований.
Целью данной статьи является выявление программных средств, наиболее адекватных для численно-аналитического исследования математических моделей теории экономического роста.
Модель Солоу - Свена
Многие математические модели экономического роста являются непосредственным обобщением широко известной неоклассической модели Солоу — Свена [1, 2], созданной в середине ХХ в. В этой модели в общем случае используется неоклассическая двухфакторная производственная функция
Y = F (К, L ),
где Y — объем выпуска (агрегированный выпуск); К — основные средства (физический капитал);
L — численность трудовых ресурсов. В практических задачах широко применяется производственная функция Кобба — Дугласа:
Y=AKa Ll-a, (1)
0 < a < 1,
где параметр At описывает уровень технологии. Во многих случаях можно считать, что указанный параметр At = const (отдача от масштаба является постоянной). Ниже при построении примеров используется производственная функция вида (1) с постоянным уровнем технологии.
Основное уравнение модели Солоу — Свена, описывающее динамику роста физического капитала, может быть записано в виде:
Kt = sYt -8Kt,
(2)
где 8 — темп обесценивания капитала; s — норма накопления. Предположим, что трудовые ресурсы составляют постоянную долю населения, темп роста которого постоянен. Это предположение приводит к зависимости вида
Ц = Цйеш, (3)
где т — темп роста населения.
Для преобразования модели вводится поня-
= К
тие фондовооруженности k (к = КЦ ) и выработки (удельного выпуска) у (у = YЦ) • Тогда
У, = / (4)
где f (к) = F(к,1)= F[ К д| — неоклассическая
Рис. 1. Графический анализ модели Солоу — Свена
однофакторная производственная функция. В результате преобразования уравнения (2) с учетом (3), (4) получаем дифференциальное уравнение: ¿к
— = sf (к) - (8 + т)к = sf (к) - пк, (5) ¿1
п = 8 + т.
Состояния равновесия уравнения (5) и их зависимость от параметров модели легко определяются на основе несложного графического анализа (рис. 1)
Дифференциальное уравнение (5) имеет два решения, причем О — неустойчивое состояние равновесия, а к* — устойчивое.
Условие существования устойчивого решения имеет вид:
sf '(0) >8 + т. (6)
Модель Солоу — Свена является, разумеется, весьма упрощенной моделью, однако она в целом правильно отражает основные тенденции экономического роста. Эта модель во многих случаях служит основой для построения более сложных моделей экономического роста, включающих показатели, характеризующие как качество жизни населения, так и структуру самой социально-экономической системы.
Кроме того, на примере модели Солоу — Свена можно судить об адекватности тех или иных программных средств для численно-аналитического исследования математических моделей теории экономического роста.
Пакеты имитационного моделирования
Для исследования моделей экономического роста используются как специализированные математические программы, так и пакеты имитационного моделирования [3]. Рассмотрим более подробно эти программные средства.
Развитие средств имитационного моделирования связано с необходимостью исследования очень сложных систем. Имитация — это своеобразная
попытка дублировать особенности, внешний вид и характеристики реальной системы. Применение имитационного моделирования оправдано, если вопросы, ответ на которые должна дать модель, относятся не к выяснению фундаментальных законов и причин, определяющих динамику реальной системы, а к практическому анализу поведения системы [4]. В работе [5] дано следующее развернутое определение имитационного моделирования:
«Имитационное моделирование — это распространенная разновидность аналогового моделирования, реализуемого с помощью набора математических инструментальных средств, специальных имитирующих компьютерных программ и технологий программирования, позволяющих посредством процессов-аналогов провести целенаправленное исследование структуры и функций реального сложного процесса в памяти компьютера в режиме «имитации» и выполнить оптимизацию некоторых его параметров»».
При достаточно глубоком знании поведения реальной системы и правильном представлении исходной информации имитационные модели характеризуются большей близостью к реальной системе, чем аналитические и численные модели. С помощью имитационного моделирования и соответствующих современных программных средств можно создавать даже те модели, которые невозможно сформулировать традиционными методами. Кроме того, имитационное моделирование позволяет создавать модели тех систем, с которыми нельзя провести эксперимент, что позволяет упростить и усовершенствовать управление ими.
Однако имитационное моделирование обладает и рядом недостатков. Основным из них и практически непреодолимым является то, что имитация — это не наука и не искусство, а некая их комбинация. Кроме того, имитационное моделирование является итеративной, экспериментальной техникой решения проблем; требует значительных затрат кадров и компьютерного времени; чаще всего находит решение, только близкое к оптимальному. Часто бывает трудно оценить адекватность модели и найти источник ошибок. Однако иногда этот метод является единственным способом создания модели сложной системы.
Впервые методы имитационного моделирования для анализа экономических процессов применил Т. Нейлор. На протяжении 1970 — 1980-х гг. попытки использовать этот вид моделирования в реальном управлении экономическими процессами носили эпизодический характер из-за сложности формализации экономических процессов и
Таблица 1
Сравнение пакетов имитационного моделирования
Система моделирования Производитель Приложения Моделирующая среда и поддержка
Графическая конструкция ИМ Авторское моделирование, программирование моделей Анимация (в реальном времени) Поддержка анализа результатов
EXTEND Imagine That, Inc. Стратегическое планирование, бизнес-моделирование Компоновочные блоки, непрерывные и дискретные модели + Язык Modl + Анализ чувствительности
ITHINK High Performance System, Inc Управление финансовыми потоками, реинжиниринг CASE-средства, потоковые диаграммы + + Анализ чувствительности
VENSIM Ventana Systems Модели системной динамики Потоковые диаграммы — + +
POWERSIM Powersim Co. Непрерывное моделирование Потоковые диаграммы — + —
PILGRIM МЭСИ, Россия Модели динамических систем Компоновочные блоки С++ + +
недостаточной развитости программных средств. Однако именно в середине 1970-х гг. появились первые инструментальные средства имитационного моделирования, например система GPSS, которая позволяла создавать модели контролируемых процессов и объектов в основном технического или технологического назначения [2].
В 1980-х гг. системы имитационного моделирования стали развиваться более активно. В то время в различных странах мира применялось более 20 различных систем (GASP-IV, SIMYLA-67, SLAM-II, GPSS-V и т. д.). В 1990-х гг. появилось множество пакетов для имитационного моделирования, которые становились все более развитыми и удобными даже для неподготовленного пользователя. Такой расцвет можно объяснить не только увеличением интереса к имитационному моделированию, но и большим прогрессом в развитии компьютерной техники, быстродействие и возможности которой возрастают с каждым днем. Среди таких средств можно выделить Powersim, Ithink, Process Chapter, Simula и т. д.
Сравнительная характеристика [2, 6] наиболее известных пакетов имитационного моделирования представлена в табл. 1.
Исследование модели Солоу — Свена с помощью пакета Ithink
В качестве примера пакета имитационного моделирования, удобного даже для неподготовленного пользователя, можно привести пакет Ithink. Этот пакет обладает наиболее широким набором харак-
теристик и подходит для создания как непрерывных, так и дискретных моделей [7, 8]. Продемонстрируем на его примере технологию применения пакетов имитационного моделирования для исследования математических моделей теории экономического роста. В качестве примера модели экономического роста используем модель Солоу — Свена.
Построим потоковую диаграмму для модели Солоу — Свена, приведенной выше. Структурная схема модели Солоу — Свена, построенная из встроенных блоков пакета имитационного моделирования, представлена на рис. 2.
Здесь использованы следующие встроенные блоки:
• резервуар k представляет собой фондовооруженность;
• потоки I и mk отражают значения инвестиций и амортизации в каждый момент времени
Рис. 2. Структурная схема модели Солоу — Свена
• конверторы C и Y представляют потребление и инвестиции, а s, m, A и alfa — константы. Конверторы обозначены разными цветами, чтобы отличить переменные от констант (это облегчает восприятие и понимание модели);
• блоки соединены розовыми стрелками — коннекторами, показывающими информационные связи в модели.
Следующим шагом в создании модели является задание формул и значений параметров, которое осуществляется при помощи стандартных диалоговых окон пакета Ithink. Для этого необходимо нажать на кнопку слева от рабочего поля с изображением Земли и два раза щелкнуть по тому строительному блоку, для которого вы хотите ввести формулу или значение. Например, диалоговое окно для определения конвертора Y представлено на рис. 3.
ithink® Analyst 7.0 _ П X
lb T EE
□ kffl = k(t- dt) + (I - nk) * dt
INIT k= 1
INFLOWS:
■S¡> l = s*Y
OUTFLOWS:
=X> nk=n*k
о A= 0.9
о alfa = 0.5
о C = Y-I
о n = 0.05
о s = 0.8
о Y = A*(k"alfa)
Н T
i J. ► ГЗ
После того как все функции и значения заданы, разместим на рабочем листе объект-график, чтобы можно было увидеть результаты имитации. Диалоговое окно определения графика представлено на рис. 5.
Graph Туре: С Time Series (* Scatter С Баг С Sketchable Comparative Connect Dots V Benchmark
Allowable Selected
| Show Numbers On Plots
Show Grid Thick Lines
V Make 5 Grid Segments
Min Max
Scale: | |
\New
Page: 1 V
Cancel
J
OK
Рис. 5. Диалоговое окно определения графика
Запустим модель с помощью пункта меню В^ип на панели инструментов. В результате работы модели зависимость I = sf (к) от к, представленная на рис. 6, примет вид:
Рис. 3. Диалоговое окно для определения конвертора Y
Зададим следующие значения констант: s = 0.8; т = 0.05; А = 0.9; а#а = 0,5.
В результате на листе программного кода будет автоматически сгенерирован программный код (рис. 4).
Рис. 6. Зависимость I = sf (к)
Аналогичным образом можно продемонстрировать зависимость фондовооруженности от времени (рис. 7).
Рис. 4. Программный код
Рис. 7. Зависимость фондовооруженности от времени
Существенным недостатком пакета Ithink является то, что при его использовании нельзя построить на одном графике одновременно зависимости I от k и mk от k, так как несколько кривых на одном графике можно построить только для временных зависимостей. Но необходимо помнить, что пакет Ithink не является специальным средством для решения дифференциальных уравнений, и поэтому он не приспособлен для построения фазовых пространств. Однако неоспоримым достоинством пакета является легкость изменения значений параметров и простота перестроения модели, при этом все зависимые величины пересчитываются автоматически.
Используя пакет Ithink, можно провести анализ чувствительности [9], т. е. изучить, как влияет изменение значения параметра s на фондовооруженность k. Для этого на панели инструментов запуска (рис. 8) следует нажать на кнопку Specs и выбрать пункт меню Senci Specs.
Рис. 8.Панель инструментов запуска
В появившемся окне (рис. 9) задаем параметры анализа чувствительности.
Рис. 10. Зависимость уровня фондовооруженности от нормы накопления
}$ Фон до вору же нность
& к:1-2-3-4-5-6.
1.00 125 75 250.50
i ^ [^f 9 Graph 1 (Фондо i: opytеннооть) Months
375.25 500.00
15:55 12 Авг 2006 „.
Рис. 9. Диалоговое окно определения параметров чувствительности
Теперь для того чтобы все графики были изображены в одних осях, в окне определения объекта-графика необходимо поставить флажок Comparative. После запуска модели графики примут следующий вид (см. рис. 10).
Таким образом, чем больше значение параметра s, тем больше значение k*. Аналогичным образом проводится анализ чувствительности по начальному значению k.
На рис. 11 показана зависимость фондовооруженности от начальных условий для случая k = 100, 200, 300,400, 500.
Рис. 11. Анализ чувствительности
Пакеты математического моделирования
Математическую модель Солоу — Свена можно, разумеется, исследовать и с помощью систем компьютерной математики. Наибольшую известность в настоящее время получили системы MatLab 6.5/7.0/7.1, Matcad, Derive, Mathematica 2/3/4, Maple V R3/R4/R5 и Maple 6 и др. Каждая из этих систем имеет свои достоинства и недостатки. Однако все они подходят для сложных математических расчетов и позволяют сделать процесс вычисления максимально быстрым и удобным.
Первоначально для численно-аналитического исследования динамических моделей использовались такие языки программирования, как Pascal, Fortran, C и т. д. Однако их применение было достаточно трудоемким, поскольку было связано с программированием применяемых вычислительных алгоритмов. Со временем развитие компьютерной техники и технологий программирования обусловили появление специальных компьютерных программ (систем), в которых основные наиболее эффективные вычислительные алгоритмы были уже «запрограммированы» в виде функций.
Таблица 2
Сравнение пакетов математического моделирования
Название Производитель Интеграция с Word и Excel Символьное моделирование Пакеты расширения Пользовательский интерфейс Язык программирования
Maple Waterloo Maple Software — + + + +
MatLab Math Works, Inc. + (В ограниченном объеме) + + +
MatCad Mathsoft, Inc. + + - + +
Mathematica Wolfram Research, Inc. + + + + +
Поэтому в настоящее время системы компьютерной математики могут быть использованы для исследования динамических моделей и теми специалистами, которые не обладают глубокими специальными знаниями в области численных методов.
Первоначально системы компьютерной математики возникли как специализированные компьютерные программы для решения узких классов задач в рамках тех или иных направлений научных исследований или инженерно-технических разработок. Например, система MatLab первоначально предназначалась для инженерно-технических расчетов, а система Maple—для символьных вычислений. Именно этими (и подобными) фактами объясняются особенности их применения. Последующее развитие сделало системы компьютерной математики практически универсальными, однако определенные различия между ними все же сохранились.
Поэтому при выборе инструментальных средств для проведения численно-аналитических исследований следует руководствоваться не столько субъективными предпочтениями, сколько целями проводимого исследования и особенностями изучаемых математических моделей.
В приводимой ниже табл. 2 рассмотрены основные системы компьютерной математики и проведен их сравнительный анализ.
Исследование модели Солоу — Свена с помощью пакета MatLab
В качестве примера системы компьютерной математики можно привести пакет MatLab [2, 10, 11]. Продемонстрируем на его примере технологию применения систем компьютерной математики для исследования математических моделей теории экономического роста. Как и выше, в качестве примера модели экономического роста используем модель Солоу — Свена.
Очевидно, что исследование модели Солоу — Свена предполагает решение соответствующего дифференциального уравнения. Для того чтобы решить
дифференциальное уравнение с помощью MatLab [11], его надо записать в виде функции и сохранить в М-файл (это текстовый файл, который содержит код MatLab). Для этого в главном меню следует выбрать File^New^M-file и в окне редактора М-файлов объявить переменные и определить функцию: function dkdt = solou (t, k) global s alfa A n dkdt=s*A* (kAalfa) -n*k;
Для использования функции необходимо ее сохранить. Команда global делает переменные, перечисленные за ней, глобальными (т. е. их значения можно изменить как внутри функции, так и в командном окне).
Библиотека MatLab включает несколько функций, которые реализуют различные методы решения дифференциальных уравнений (ode, ordinary differential equations) [10]. Синтаксически эти функции различаются лишь именами, способ обращения к ним одинаков. Эти функции используют методы разного порядка. Рассмотрим здесь основные функции, наиболее часто используемые на практике.
В функции ode45 используется явный метод Рунге-Кутты 4-го и 5-го порядков в модификации Дормана и Принца. Если характеристики задачи неизвестны, рекомендуется первую попытку решения сделать с помощью этой функции.
В функции ode23 используется явный метод Рунге-Кутты 2-го и 3-го порядков в модификации Богацки и Шампина. Если не требуется большой точности и задача не очень жесткая, эта функция может оказаться более эффективной, чем ode45.
В функции ode113 используется метод Адамса, Башфорта и Моултона типа предиктор-корректор переменного порядка. Если требуется большая точность, а каждое вычисление интегрируемой функции является «дорогостоящим», эта функция может оказаться более эффективной, чем ode45.
В нижеследующем описании имя функции дано обобщенно в виде ode***, где *** — любой из приведенных выше алфавитно-цифровых суф-
фиксов. Простейшее обращение к любой функции ode*** имеет следующий вид:
[tout, yout] =ode*** (fun, tspan, y0), где fun — указатель на функцию вычисления правых частей дифференциального уравнения;
tspan — вектор, содержащий «контрольные значения» независимой переменной (можно указать только начальное и конечное значения, а можно и промежуточные значения);
y0 — начальное значение зависимой переменной (скаляр или вектор-столбец);
tout — вектор-столбец контрольных значений независимой переменной;
yout — решение, представленное массивом, в котором каждая строка соответствует одному элементу в столбце tout.
Для того чтобы увидеть результаты вычислений для конкретных числовых параметров, в командном окне необходимо написать следующий программный код:
>> global s alfa A n >> A=0.9; >>alfa=0.5; >>s=0.8; >>n=0.05;
>> [t, k] =ode45('solou', [0 500], [1]); >>plot (t, k).
Функция plot позволяет построить график зависимости параметра k от параметра t (рис. 12). В простейшем случае при вызове процедуры plot MatLab автоматически создает окно, в котором размещены стандартное меню и линейка инструментов, выделено прямоугольное поле с графиком функции, причем масштабирование и разметка по координатам производится автоматически.
} Figure 1 1 □ и
I File Edit View Insert Tools Desktop Window Help »
D & В . a | fe <3. о ® «| а в | ■ в
250
200 ——-:
150 !
100 j
50 1
0 [ /
) 50 100 150 2Ü0 25Ü 300 350 400 450 50Ü
Рис. 12. График зависимости фондовооруженности от времени
Из графика видно, что фондовооруженность к стабилизируется на уровне 207 единиц. Убедимся в том, что это значение (к*) является устойчивым. Для этого рассчитаем траекторию для различных начальных условий.
>> [t1,k1] =ode45('solou', [0 500], [500]); >> [t2,k2] =ode45('solou', [0 500], [100]); >> [t3,k3] =ode45('solou', [0 500], [200]); >> [t4,k4] =ode45('solou', [0 500], [300]); >> [t5,k5] =ode45('solou', [0 500], [400]); >> plot (t, k, t1,k1,t2,k2,t3,k3,t4,k4,t5,k5). График на рис. 13 иллюстрирует устойчивость состояния равновесия к*.
^/Mgure 1 _ □ X
| File Edit View Insert Tools Desktop Window Help •
D£B< S | k |®i d О ® «| a s | ■ в
500
450
400 \
350 Л
300 \ \
250 \
200
150
100 / /
50
0 [ L
i 50 100 150 200 250 300 350 400 450 500
Рис. 13. Исследование устойчивости состояния равновесия к*
Построение графика (рис. 14) позволяет проиллюстрировать процесс решения дифференциального уравнения и обосновать наличие устойчивого
Рис. 14. Вычисление состояния равновесия уравнения (5)
состояния равновесия. Для этого в командном окне необходимо ввести следующие команды: >>I=s*A*k. Aalfa; >>nk=n*k; >>plot (k, I, k, nk). Заключение
Из анализа представленных графиков видно, что картины поведения траекторий модели Солоу — Свена, полученные с помощью различных пакетов, численно совпадают. Но понятно, что если использование систем компьютерной математики требует знания не только математической теории, но и встроенного языка программирования, то применение пакетов имитационного моделирования не требуют этого. Естественно, что их использование невозможно без хорошего понимания механизма работы исследуемой системы. В то же время возможности построения строгих математических моделей в пакетах имитационного моделирования сильно ограничены, поскольку с их помощью невозможно решить, например, систему дифференциальных уравнений в символьном виде или построить фазовый портрет системы дифференциальных уравнений.
В целом же можно сделать вывод о том, что выбор программного средства обусловливается, в первую очередь, целями, которые ставит пользователь при создании и анализе модели.
Пакеты имитационного моделирования предназначены для практического использования теми пользователями, которые не имеют специальных математических познаний, но обладают системным мышлением, при этом они преследуют сугубо практические цели и не нуждаются в большой точности результатов.
Системы компьютерной математики позволяют провести более строгие математические построения,
литература
но требуют специальных навыков и знаний в области математической теории и программирования. Использование того программного средства, которое наиболее близко соответствует целям исследований, позволит получить максимально эффективный результат.
Если говорить о выборе программных средств для проведения численно-аналитического исследования задач теории экономического роста, то уже на примере простейшей односекторной модели экономического роста Солоу—Свена можно сделать вывод о том, что применение пакета MatLab (или, в более широком контексте, систем компьютерной математики) для исследования моделей экономической динамики , связанных с системами дифференциальных уравнений, в том числе достаточно общего вида, не вызывает каких-либо затруднений технического или содержательного характера, и в то же время обладает значительной гибкостью, предоставляя исследователю широкий спектр возможностей. Ясно, что в рамках систем компьютерной математики возможно как построение своеобразных «библиотек» математических моделей целого ряда типичных задач экономической динамики, так и быстрая корректировка уже имеющихся моделей. Например, имеющиеся в пакете MatLab средства визуализации позволяют сделать всю процедуру численно-аналитического исследования наглядной, и, что особенно ценно, существенно повысить эффективность изучения зависимости решений от параметров. Это в свою очередь позволяет значительно ускорить исследование, позволяя уже на ранней его стадии отбрасывать заведомо неэффективные варианты. Приведенные соображения свидетельствуют об эффективности систем компьютерной математики для исследовательских целей и позволяют считать их удобным инструментом в анализе задач теории экономического роста.
1. Лшманов с.А. Введение в математическую экономику. — М.: Наука, 1984. — 296 с.
2. Емельянов А. А., Власова Е. А., Дума Р. В. Имитационное моделирование экономических процессов. — М.: Финансы и статистика, 2004. — 368 с.
3. Сидоренко В. Н. Системно-динамическое моделирование экономического роста // Моделирование и прогнозирование социально-экономических процессов. — 1999. — С. 33 — 44.
4. Сидоренко В. Н. Системная динамика. — М.: ТЕИС, 1998. — 205 с.
5. Sterman, J. D. System Dynamics Models for Project Management. (www. rub. ruc. dk).
6. Рынок программных средств. (www. economy. mari. ru.)
7. Горбунов А. Р. Пакет структурного моделирования Ithink: инвестиционные проекты, реинжиниринг, стратегия. — М.: Тора-центр, 1997. — 24 с.
8. Кузнецов Ю. А., Перова В. И., Мичасова О. В. Работа с программным пакетом Ithink: Учебно-методическое пособие. — Н. Новгород: Изд-во ННГУ, 2005. — 72 с.
9. Technical Documentation for the ITHINK & STELLA Software // High Performance Systems, Inc., 2003.
10. КетковЮ.Л, КетковА. Ю., ШульцМ. М. MatLab 6.х.: программирование численных методов. — СПб.: БХВ-Петербург, 2004. — 672 с.
11. Getting started with MatLab. (www. matlab. ru)
12. Экономическая теория. Под ред. А. И. Добрынина, Л. С. Тарасевича — СПб.: Питер, 1999. — 544 с.