Есть ли у кого-то опыт в решении дифференциальных уравнений в AMPL? Я гугл много, но нет подходящих результатов ...Дифференциальные уравнения/оптимальное управление в AMPL
В Google группы я не нашел простой «ручной» пример, но он не работает ...
Таким образом, этот пример я найденный.
Рассмотрим этой оде:
x' = -ax + u, x(0) = 0.
, где а = 0,2 является параметром; x = переменная состояния, между 0 и 9; и = входная переменная, в диапазоне от 0 до 5. Вы можете написать в AMPL следующим (с использованием учебника вперед Эйлера):
param N := 10; # no. of integration steps
param dt := 0.01; # integration step size
param a := 0.2;
set kset ordered := 0..N;
var x{kset}, >= 0, <= 9;
var u{kset}, >= 0, <= 5;
minimize obj: 0;
subject to
c1{k in 1..N}: (x[k] - x[k-1])/dt = -a*x[k-1] + u[k-1];
option solver ipopt;
solve;
display x, u;
Решение дает мне нули для и и х ... Это не удивительно, из-за этой линии
свести к минимуму obj: 0;
Насколько я понял, нам нужно представить проблему как систему алгебраических уравнений, но какая будет функция цели в этом случае ???
Итак, может кто-нибудь дать какие-либо предложения или примеры?
Заранее спасибо.