2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Оптимальное управление тепловым процессом в стержне
Сообщение22.02.2014, 15:20 
Здравствуйте, уважаемые форумчане!
Делаю работу, которая состоит в оптимальном управлении тепловым процессом в стержне. Пишу программный продукт, возник вопрос по методам интегрирования. Есть тут люди, которые занимались решением данной задачи, писали программу?
Условие:
Необходимо найти минимум функционала
0
$\int|x(s, T) - y(s)|^2  = J(u)$
l
при условиях:
$\frac{dx}{dt}=\frac{d^2x}{ds^2}$
Граничные условия:
$\frac{dx(0, t)}{ds} = 0$, $\frac{dx(l, t)}{ds} = v[u(t) - x(l, t)]$
Начальные условия:
$x(s, 0) = 0$

 
 
 
 Re: Оптимальное управление тепловым процессом в стержне
Сообщение23.02.2014, 22:26 
Аватара пользователя
В связи с условием возникают следующие вопросы:
1) Интеграл по какой переменной?
2) Какие пределы интегрирования?
3) Вычисление модуля перед возведением в квадрат принципиально? То бишь являются ли функции $x$ и $y$ комплексными или же вместо модуля подразумевались обычные скобки?
4) Значение интеграла -- это функция $J$ от переменной $u$ или же функционал $J$ от функции $u$?
5) Во втором граничном условии $v$ -- это функция от выражения в квадратных скобках или же постоянный множитель?
6) Что будет решением вашей задачи какая-то функция или какой-то набор параметров?
Короче, проясните постановку задачи.

Ну и конструктивный совет: вот у вас есть же диффур на $x$ (параболического типа, кстати) с граничными условиями. Так может взять да и подставить его решение под интеграл?

 
 
 
 Re: Оптимальное управление тепловым процессом в стержне
Сообщение25.02.2014, 22:51 
Спасибо, что откликнулись!
Проясняю постановку задачи.
6)Решением будет набор параметров:
- оптимальное управление u
- набор значений функционала (если все правильно, они должны убывать)
- набор значений градиента функционала (если все правильно сделано, зн-я стремятся к 0)
- поверхность x(l, t)
- и др. параметры
Ф-я x(l, t, u) описывает температурный режим в стержне. Ф-я y(s) - желаемый температурню режим, к которому необходимо привести. Это делаем с помощью нахождения оптим. управления u(t).
Оптим. управление находим с помощью метода условного градиента. (В данной постановке именно этим методом).
Формула метода:
$u_n_+_1(t)$ = $u_n(t) + a_n(u^{'}_n(t) - u_n(t))$
тут $u^{'}_n(t)$ - не производная, а обозначение вспомогательного управления!

$a_n$ = $-\frac{v\int{f(l,t,u)[u^{'}_n(t) - u_n(t)]}}{2\int{|x(s, T, u^{'}_n(t)) - x(s, T, u^{'}_n(t))|}}$
В последней формуле определ. интеграл в числителе в пределах интегрирования от 0 до T, в знаменателе пределы от 0 до $l$

Для нахождения ф-и$f(l, t, u)$ необходимо решить еще одну краевую задачу:
$\frac{df}{dt}=-\frac{d^2f}{ds^2}$

Граничные условия:
$\frac{df(0,t)}{ds}=0$, $\frac{df(l,t)}{ds}=-vf(l,t)$

Начальные условия:
$f(s,T)=2[x(s,T,u)-y(s)]$

5)$v$ - это константа, $l = T = 1$, $u(t)$ - управление
4) Функционал от u
3) скобки, x и y имеют действительные зн-я
2) для интеграла с функционалом пределы интегриров. от 0 до $l$
1) интеграл для функционала по s


Теперь собсно в чем проблема.
Краевые задачи решаем с помощью апроксимации ф-и x(s,t) сеточными функциями с применением метода прямых. Фиксируем переменную х и сводим краевую задачу к задаче Коши, которую решаем с помощью метода Р-К 4-го порядка. Интегрируем по переменной t.
Для проверки я задаю свою ф-ю с граничными и начальными условиями, которые её соотвесттвуют.
Первая задача правильно решается, а вторая (вспомогательная) никак. Зн-я сеточных функций уходят в бесконечность. Это не правильно. Исходники и свои наработка у меня есть, нужна помощь в м-де Р-К для 2-й вспомогательной задачи.
Надеюсь, не запутал:)

 
 
 
 Re: Оптимальное управление тепловым процессом в стержне
Сообщение07.03.2014, 23:27 
Решил проблему!
В формуле м-да Р-К когда задаем НУ на последнем слое, знак "-", а у меня был "+"

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group