Моделирование динамических систем дифференциальных уравнений

Моделирование динамических систем: численные методы решения ОДУ

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

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

1. Формализация задачи

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

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

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

где g — ускорение свободного падения у поверхности Земли. Теперь пришло время составить уравнения движения камня. Помните эти уравнения

Левая их часть нас пока не интересует, а вот в правой стоят суммы проекций сил, приложенных к точке на оси координат. Пусть оси x и y располагаются на поверхности, а ось z направлена вверх перпендикулярно ей. Сила одна единственная, её проекции на оси x и y равны нулю, а на ось z проекция отрицательна, так как сила направлена против направления оси, то есть

Масса камня, очевидно не равна нулю, значит можно спокойно поделить обе части получившихся уравнений на неё

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

То что у нас получилось не много не мало — математическая модель процесса происходящего в задаче. Пафосно, да?

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

Аналитическое решение получить просто, даже не буду заморачиваться, оно такое

А вот как решить это численно? И что это вообще такое — «численно»?

2. Численное интегрирование дифференциального уравнения первого порядка

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

Во-первых, это уравнение относится к такому типу, что допускает понижение порядка. Правая часть не зависит от неизвестной функции (там нет z), поэтому вспоминаем, что

проекция ускорения на ось z равна первой производной проекции скорости на ту же оcь z. Ну классно, тогда

вот вам и уравнение первого порядка. Не всегда этот номер проходит (не буду я сейчас про форму Коши!), но в данном случае всё в порядке. Будем искать не координату а скорость точки. Что дальше-то? А дальше

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

Что получается? А вот что

Мы получили приращение скорости. Отрицательное приращение. Как это так, камень, падая вниз будет разгонятся же! Да, будет. Его скорость, вектор его скорости, будет направлен вниз. А значит проекция этого вектора на ось z будет отрицательной. Всё правильно, мы получаем растущую по абсолютному значению проекцию вектора, направленного вниз. Мы знаем, начальное значение скорости — ноль, а значит

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

а ещё через 0.1 секунды

и ещё через 0.1 секунды

Хм, так мы можем продолжать довольно долго, но ограничимся промежутком времени в одну секунду

Время, сСкорость, м/с
0.00.0
0.1-1.0
0.2-2.0
0.3-3.0
0.4-4.0
0.5-5.0
0.6-6.0
0.7-7.0
0.8-8.0
0.9-9.0
1.0-10.0

То есть, воспользовавшись формулой

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

А что же с высотой точки над Землей? Да всё аналогично, смотрите

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

и по этой формуле добавим в нашу таблицу ещё одну колонку

Время, сСкорость, м/сВысота, м
0.00.0100.0
0.1-1.0100.0
0.2-2.099.9
0.3-3.099.7
0.4-4.099.4
0.5-5.099.0
0.6-6.098.5
0.7-7.097.9
0.8-8.097.2
0.9-9.096.4
1.0-10.095.5

Хм, ну, во-первых, заметно, что высота меняется у нас уже неравномерно, так как скорость со временем меняется. Теперь наша производная сама зависит от времени. Но уже на первом шаге, мы замечаем неладное — скорость уже есть, а вот высота по прежнему 100 метров. Как так?

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

Время, сСкорость, м/сВысота, мТочное решение, м
0.00.0100.0100.00
0.1-1.0100.099.95
0.2-2.099.999.80
0.3-3.099.799.55
0.4-4.099.499.20
0.5-5.099.098.75
0.6-6.098.598.20
0.7-7.097.997.55
0.8-8.097.296.80
0.9-9.096.495.95
1.0-10.095.595.00

Да, наш камень как будто зависает в воздухе. Численное решение отстает от аналитического, и чем дальше мы считаем, тем выше погрешность счета. Погрешность накапливается, так как на каждом шаге мы берем всё более и более грубое приближение. Что делать?

Во первых, можно уменьшить шаг. Скажем в 10 раз, пусть секунды

Время, сСкорость, м/сВысота, мТочное решение, м
0.00.0100.0100.00
0.1-1.099.9699.95
0.2-2.099.8199.80
0.3-3.099.5799.55
0.4-4.099.2299.20
0.5-5.098.7898.75
0.6-6.098.2398.20
0.7-7.097.5997.55
0.8-8.096.8496.80
0.9-9.096.0095.95
1.0-10.095.0595.00

Уже лучше, погрешность в конце счета не превышает 0,05 метров, и это в 10 раз меньше предыдущего значения. Можно предположить, что уменьшив шаг ещё в 10 раз мы получим ещё более точное решение. Я схитрил, выводя значения только для 10 точек с шагом 0.1, на самом деле, чтобы получить такую таблицу нужны уже 100 итерации а не 10. При шаге 0.001 потребуется уже тысяча итераций, а результат будет таким

Время, сСкорость, м/сВысота, мТочное решение, м
0.00.0100.0100.00
0.1-1.099.950599.95
0.2-2.099.801099.80
0.3-3.099.551599.55
0.4-4.099.202099.20
0.5-5.098.752598.75
0.6-6.098.203098.20
0.7-7.097.553597.55
0.8-8.096.804096.80
0.9-9.095.954595.95
1.0-10.095.005095.00

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

Метод Эйлера самый простой из известных методов интегрирования дифференциальных уравнений. Из нашего простого примера видно, что погрешность метода прямо пропорциональна шагу интегрирования, и это действительно так. Такие методы называются методами 1-го порядка точности.

Точность расчетов даже на шаге 0.1 можно улучшить, если мы применим, скажем метод Рунге-Кутты 4-го порядка точности. Но это отдельная история.

Заключение

Задумайтесь… Мы рассмотрели очень простой пример. Мы даже не применяли компьютер, но уже понимаем принцип, по которому работают те самые мощные в мире суперкомпьютеры, что моделируют ранние этапы жизни Вселенной. Конечно, там всё устроено гораздо сложнее, но принцип лежит этот же самый.

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

Лекция 7. Моделирование динамических систем. Часть 1

Лекция 7. Моделирование динамических систем. Часть 1

Методы исследования динамических систем можно разделить на следующие две категории: физическое моделирование и математическое моделирование.

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

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

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

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

Рис. 1. Подходы к моделированию динамических систем

Имитационное моделирование

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

В процессе имитационного моделирования исследователь имеет дело с четырьмя основными элементами:

    реальная система; логико-математическая модель моделируемого объекта; имитационная (машинная) модель; ЭВМ, на которой осуществляется имитация – направленный вычислительный эксперимент (рис. 2).

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

Рис. 2. Процесс исследования с помощью имитационного моделирования

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

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

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

Понятие о модельном времени

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

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

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

1) отображается переход моделируемой системы из одного состояния в другое;

2) производится синхронизация работы компонент модели;

3) изменяется масштаб времени «жизни» (функционирования) исследуемой системы;

4) производится управление ходом модельного эксперимента;

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

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

Имитационное моделирование позволяет получить представление о поведении системы в заданном горизонте модельного времени (горизонте моделирования). Горизонт моделирования – это моделируемое время работы системы. При этом будет определено ожидаемое состояние недетерминированной системы.

Существуют два основных способа изменения t0:

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

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

Рис. 3. Алгоритм моделирования с постоянным шагом

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

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

    непрерывные; дискретные; непрерывно-дискретные.

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

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

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

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

В общем виде технологическая схема имитационного моделирования представлена на рис. 4.

Рис. 4. Технологическая схема имитационного моделирования

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

Возможности имитационного моделирования

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

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

Имитационное моделирование как инструмент незаменимо для исследования динамических непрерывных и дискретных недетерминированных систем, в том числе – динамических дискретных систем с временными задержками.

Специализированные программные средства автоматизации имитационного моделирования: GPSS, STELLA, Arena, Anylogik, Piligrim, PowerSim, Ithink и др. Специализированные программы имитационного моделирования системной динамики чаще всего предназначены для моделирования непрерывных систем. Запуск сеанса имитационного моделирования в специализированных компьютерных системах обычно выполняется нажатием пиктограммы «Run».

Метод Монте-Карло как разновидность имитационного моделирования

Создателями этого метода считают американских математиков Дж. Неймана и С. Улама. Название «Монте-Карло» происходит от города Монте-Карло в княжестве Монако, знаменитого своим игорным домом.

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

Сущность метода Монте-Карло состоит в следующем: требуется найти значение А некоторой изучаемой величины. Для этого выбирают такую случайную величину X, математическое ожидание которой равно А, то есть М(Х)=A. Вероятности событий при этом оценивается с помощью частоты исходов в многочисленных сеансах имитационного моделирования.

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

Пример использования метода Монте-Карло для вычисления числа π

С помощью метода Монте-Карло можно вычислить число π. Вписав круг в квадрат (диаметр круга равен стороне квадрата), можно выразить отношение площади круга к площади квадрата следующим образом:

Если мы сможем вычислить это отношение, значит, мы сможем получить значение числа π.

Заполним квадрат точками со случайными координатами. Рассчитаем отношение количества точек, попавших в круг, к общему количеству точек. Умножим результат на 4, чтобы получить значение числа π.

Рис. 5. Вычисление числа π по методу Монте-Карло

Чем больше количество точек, тем ближе полученное значение к истинному значению числа π. Погрешность вычислений, как правило, пропорциональна , где D – некоторая постоянная. Это значит, что N (число испытаний) должно быть велико. Добиться таким путем высокой точности невозможно. Это один из недостатков метода.

Другим примером вычисления числа π на основе метода Монте-Карло служит решение так называемой задачи Бюффона.

Примеры классов задач, решаемых методом Монте-Карло:

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

Использование электронных таблиц в имитационном моделировании

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

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

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

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

Технология имитационного моделирования с помощью электронных таблиц предусматривает:

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

Для построения недетерминированных моделей с помощью программы MS Excel используются функции СЛЧИС, СЛУЧМЕЖДУ, RANDOMBETWEEN.

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

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

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

Моделирование динамических систем дифференциальных уравнений

Факультет компьютерных наук и технологий
Специальность : Экономическая кибернетика

Научный руководитель: Дмитриева Ольга Анатольевна

Материалы по теме выпускной работы: Об авторе | Биография | Библиотека | Ссылки | Отчет о поиске | | Индивидуальный раздел

Реферат по теме выпускной работы

Оптимизационное моделирование динамических систем большой размерности

Цель работы: доказать эффективность использования алгоритмов работы с разреженными матрицами при решении систем обыкновенных дифференциальных уравнений (ОДУ) большой размерности.

Для достижения поставленной цели в работе будут решаться следующие задачи :

  1. построение динамической модели макроэкономики, представленной в виде системы обыкновенных дифференциальных уравнений;
  2. анализ данной системы на жесткость;
  3. исследования возможностей решения этой системы при помощи явных и неявных методов решения систем обыкновенных дифференциальных уравнений;
  4. анализ преимуществ и недостатков существующих методов решения систем ОДУ;
  5. анализ преимуществ, полученных при решении указанной выше системы ОДУ за счет приемов и алгоритмов работы с разреженными матрицами.

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

Динамический процесс должен быть сбалансированным и оптимальным – это специфика рыночных отношений, в которых предприятие (фирма, компания, отрасль, государство) стремится получить максимальную прибыль или удовлетворить рыночный спрос с учетом ресурсных, временных или иных ограничений, сведя при этом свои затраты к минимуму. Исследованиe этой проблемы определяет необходимость построения экономико-математической модели, поскольку именно путем моделирования можно своевременно определить оптимальный вариант управления экономической системой.[1]

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

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

Планируемые практические результаты: динамическая модель макроэкономики, представленная в виде системы ОДУ, алгоритм анализа ее жесткости, а также алгоритм поиска решения данной системы.

Обзор исследований и разработок по теме в мире

  1. Динамические системы изучались сотрудником Саратовского государственного университета им. Н.Г. Чернышевского профессором Анищенко В.С. Область его исследований – динамика нелинейных систем, теория колебаний и статическая радиофизика. Написал более 200 работ, из которых 6 – научные монографии. [2,3]
  2. Профессором Аносовым был детально изучен класс динамических систем в компактном фазовом многообразии, у которых поведение всех траекторий является максимально неустойчивым (технически, такие системы обладают полной и равномерной гиперболичностью). Эти системы получили название “систем Аносова”, а их теория является прообразом ряда позднейших работ о системах с гиперболическим поведением траекторий, в которых условие полной и равномерной гиперболичности так или иначе ослабляется или видоизменяется. Предложен (совместно с А. Б. Катком) гладкий вариант метода аппроксимаций периодическими преобразованиями, что привело к построению динамических систем с неожиданными эргодическими свойствами. Упрощены конструкции в теории регулярных линейных систем обыкновенных дифференциальных уравнений в комплексной области, что облегчило работу в этой области. В последнее время исследовались геометрические вопросы, связанные с поведением траектории потоков на поверхностях при их подъеме на накрывающую плоскость. [4]
  3. Профессор Женевского университета Эрнст Хайрер работал в области численного анализа, дифференциальных уравнений, изучал дифференциально-алгебраические проблемы и геометрическую интеграцию. [5]

Обзор исследований и разработок по теме в Украине

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

Журнал издается при творческом участии: Украинской Ассоциации по автоматическому управлению, Национального космического агентства Украины, академических и отраслевых научных учреждений, ведущих вузов Украины и стран СНГ, ученых и специалистов стран дальнего зарубежья.

Тематические разделы журнала:

  1. проблемы динамики управляемых систем
  2. методы идентификации и адаптивного управления
  3. оптимальное управление и методы оптимизации
  4. математическое моделирование и исследование сложных управляемых систем
  5. общие проблемы исследования космоса
  6. качественные методы в теории управляемых систем
  7. методы обработки информации
  8. технические средства для измерений и управления
  9. экономические и управленческие системы [6].

Обзор исследований и разработок по теме в ДонНТУ

Магистры ДонНТУ, которые занимались исследованием проблем, связанных с данамическим моделированием:

  1. Ярош О.В. в работе «Исследование устойчивости жестких динамических систем»
  2. Фирсова А.А. в работе «Моделирование динамических систем в экономике»

Среди преподавателей ДонНТУ работой с численными методами и решением ОДУ занимается доцент Дмитриева О.А. Разработки: Параллельные блочные алгоритмы решения систем обыкновенных дифференциальных уравнений. Публикации: Учебник «Чисельні методи в інформатиці», учебное пособие «Чисельні методи. Практикум», монография «Паралельні різницеві методи розв’язання задачі Коши», более 30 статей в журналах «Метематическое моделирование», «Электронное моделирование», сборниках факультета КНТ и др. [7]

Построение макроэкономической модели

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

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

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

  1. экономика является открытой;
  2. научно-технический прогресс представляется в виде линейной функции времени [8];
  3. наблюдающиеся в экономике циклические колебания можно представить в виде функции времени [9].
  4. склонность населения к потреблению и накоплению – величины постоянные и не зависят от времени.

Динамическая модель, представленная в работе, имеет следующий вид:

где ВВП – Валовый внутренний продукт;
C- совокупное потребление;
G- государственные закупки и расходы;
I- совокупный объем инвестиций;
Xn- чистый экспорт;
Dr- реальный доход населения;
i- размер инфляции;
r- размер ставки процента;
D- количество денег в обороте;
N- размер налогообложения населения;
Z- размер занятости населения;
Dn- номинальный доход населения;
c,n – склонность населения к потреблению и накоплению;
а –коэффициенты;
α – коэффициент, отражающий изменение технологии;
γ- коэффициент, отражающий циклические колебания экономики;
β – коэффициент, отражающий влияние времени на изменение номинального дохода населения.

Поскольку полученная матрица коэффициентов является разреженной, что наглядно представлено в таблице 1 («х» – ненулевой элемент), то для решения полученной системы дифференциальных уравнений будет использована технология работы с подобными матрицами, а также многошаговые неявные методы решения систем дифференциальных уравнений. Такой подход к решению позволит максимизировать скорость получения конечного результата, улучшить его точность и качество, а также минимизировать затраты машинных ресурсов на хранение и обработку пустых элементов матрицы.[10]

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

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

Анализ жесткости полученной системы ОДУ

В работе под системой, являющейся жесткой на некотором интервале I=[a,b], будем понимать систему ОДУ с постоянной матрицей А:
.
Для этой системы где λi – собственные значения матрицы А. Величина k будет выступать коэффициентом жесткости. Система будет также считаться жесткой, если она обладает следующими свойствами:

  1. Для жестких систем практически всегда существует два участка решения с существенно различным характером поведения его составляющих, причем продолжительность первого участка значительно меньше продолжительности второго (τ много меньше b-a)
  2. Собственные числа матрицы А удовлетворяют следующим условиям:

Здесь N- отношение значения производных в пограничном слое к значению производных вне него.[11]

Ограниченность явных методов решения систем ОДУ

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

Что касается порядка точности, то при требовании, чтобы порядок достигал значения p, для явных методов Рунге-Кутты зависимость максимально достижимого порядка точности p и необходимого для этого количества стадий s имеет вид, представленный на рисунке 1.[12]

Более того, вывод частных методов более высокого порядка быстро усложняется. «Наивысший порядок, фактически достигнутый для явно построенных методов, равен десяти (книга рекордов Гиннеса,с.333).» [13,с.203]. Получение формул еще более высокого порядка превращается в сложную проблему, трудности растут быстрее, чем по экспоненте, а методы делают управление длиной шага все более и более трудным. [13,с.206].

Таблица 1 показывает, что до p = 4 обеспечивается полное соответствие p и s. Далее начинают работать “Барьеры Батчера”, сформулированные им в виде теорем, утверждающих, что: при р>=5 не существует явных методов порядка р при s = p; при p>=7 не существует явных методов Рунге-Кутты порядка р при s = p + 1; при p>=8 не существует явных методов Рунге-Кутты порядка р при s = p + 2.

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

Вопрос устойчивости связан с применением метода Рунге – Кутты при длине шага h к модельной задаче y’= λy , где λ – постоянное (возможно, комплексное) число. Если hλ = z, то y[n]=P(z)y[n-1], где P(z) – полином степени s (s – число этапов). Поскольку ¦P(z)¦→∞ при ¦z¦→∞, такой метод, очевидно, не может иметь неограниченную область устойчивости.

Таким образом, в работе для решения именно жестких задач будут использоваться неявные методы. [12]

Сравнение устойчивости некоторых явных и неявных методов решения систем ОДУ

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

Для явных методов порядка 1-4 функции устойчивости R(z) принимают вид:

На рисунке 2 представлены области устойчивости явных методов Рунге-Кутты порядка 1-6. В каждом случае область устойчивости – площадь, заключенная в соответствующую кривую.

Для сравнения устойчивости явных и неявных методов Рунге-Кутты рассмотрим три неявных метода, характеристики которых заданы в таблицах 2 и 3 и 4

Для этих описанных выше неявных методов функции устойчивости соответственно равны

Участки устойчивости показаны на рисунке 3. Для метода 237с, который является методом четвертого порядка, область устойчивости полностью покрывает левую половину плоскости. Метод 237а разделяет свойство явных методов Рунге-Кутты о наличии ограниченного участка устойчивости, тогда как метод 237b имеет неограниченный участок устойчивости, который включает в себя левую полуплоскость.

Невозможно разработать явные методы порядка хотя бы 1, которые имеют безграничную область устойчивости. Это происходит из-за того, что R(z) – это всегда полином равный 1+z+O(z^2). Однако этих барьеров не существует для неявных методов Рунге-Кутты. [14]

Преодоление проблемы большой размерности и разреженности матрицы коэффициентов.

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

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

  1. Такая форма позволяет хранить и обрабатывать в оперативной памяти ЭВМ матрицы больших размерностей, чем при обычном хранении.
  2. Могут встретиться случаи, когда даже в упакованном виде матрица не размещается в оперативной памяти (например, при работе ЭВМ в режиме с разделением времени) и требуется использовать внешнюю память. Ввод данных из внешней памяти ЭВМ в оперативную обычно происходит значительно медленнее обработки этих данных в оперативной памяти. Поэтому упакованная форма хранения предпочтительнее также и при использовании внешней памяти.
  3. Существенно экономится время благодаря тому, что программой предусматривается исключение тривиальных операций, т. е. вычисления с нулевыми элементами матрицы опускаются. Это часто является единственной возможностью обработки больших матриц.
  4. Можно добиться экономии в памяти при хранении обратных матриц, если их представлять в виде произведения элементарных матриц и в упакованной форме хранить только нетривиальные элементы таких матриц. Такие мультипликативные формы обратной матрицы особенно предпочтительны в тех случаях, когда они многократно используются для умножения на ряд вектор-строк и столбцов, как, например, в линейном программировании.

Пусть квадратная матрица А порядка n содержит τ ненулевых элементов, причем τ много меньше n^2. Обозначим элемент i-й строки и j-го столбца матрицы через a[i,j]. Для того чтобы хранить в памяти только ненулевые элементы, необходимо запомнить i, j, a[i,j]. Если используется одна ячейка памяти для каждой из этих величин, то для хранения всех ненулевых элементов матрицы A требуется 3*τ ячеек. Очевидно, 3*τ должно быть существенно меньше n^2, чтобы имело смысл тратить на введение упаковки дополнительные усилия и машинное время.

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

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


источники:

http://pandia.ru/text/81/029/13876.php

http://masters.donntu.org/2011/fknt/grigorieva/diss/index.htm