Регистрация / Вход
Прислать материал

Разработка метода идентификации гидродинамический моделей транспортного потока в параллельном режиме

Фамилия
Грузинцев
Имя
Александр
Отчество
Сергеевич
Номинация
Информационные технологии
Институт
Институт информационных технологий и автоматизированных систем управления (ИТАСУ)
Кафедра
Инженерной кибернетики
Академическая группа
ММ-14-2
Научный руководитель
к.т.н., проф. Крапухина Н.В.
Название тезиса
Разработка метода идентификации гидродинамический моделей транспортного потока в параллельном режиме
Тезис

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

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


\(J(Q) = \iint(p(x,t;Q)-p_0(x,t))^2 dxdt \to \min, \qquad p_0 \)- задано

где \(p(x,t;Q)\) - решением следующего уравнения:

\(\partial_tp(x,t) + \partial_x(p(x,t)V(x,t))= 0 \qquad V=Q(p)\)
 

Предлагаемый метод состоит в следующем. В банаховом пространстве \(\mathbb{B} = \mathbf{C}^1[0, +\infty)\) выделяется система вложенных сфер  \(B_0 \subset B_1 \subset \ldots \subset B_n \subset \mathbb{B}\) .
Задачи оптимизации функционала J(Q) распадается на независимые подзадачи, решаемые на множествах \(S_k = B_k \setminus B_{k-1}\) (шаровых слоях)  в параллельном режиме методом прямого поиска, например Симплекс-методом. Для этого на каждом слое \(S_k\) поддерживается текущее множество итерируемых точек \(Q_\mathrm{it}^k\). За одну итерацию выполняется один шаг метода прямого поиска для каждой точки \(Q \in Q_\mathrm{it}^k\), \(k = 0, 1, 2, \ldots, n\).

В процессе работы алгоритма для каждой точки \(Q \in Q_\mathrm{it}^k\) строится последовательность \(Q_0, Q_1, Q_2, \ldots, Q_m\) такая, что
\(J(Q_0)>J(Q_1)>\ldots>J(Q_k)\).

При этом итерационные множества модифицируются следующим образом.

1. Если последовательность \(\{ Q_n \}\) сходится в текущем слое к элементу \(Q_\ast \in S_k\) - считаем, что найдено очередное (локальное) решение и

\(Q_\mathrm{it}^k \gets Q_\mathrm{it}^k \setminus \{ Q_\ast \}\).

2. Если в какой-то момент очередной член последовательности \(Q_m\) вышел за пределы слоя \(S_k\) в слой \(S_{k-1}\) (или \(S_{k+1}\)), то  итерационные множества обновляются \(Q_\mathrm{it}^k \gets Q_\mathrm{it}^k \setminus \{ Q_m \}\) и \(Q_\mathrm{it}^{k - 1} \gets Q_\mathrm{it}^{k-1} \cup \{ Q_m \}\).

 

Рисунок 1 - Траектории итерируемых точек в системе вложенных сфер.

Предложенный алгоритм реализован на языке программирования C++ с применением технологии многопоточных вычислений.