I'll try to explain my questions.
I have the non linear discrete system system:
----with the transition state
y1(t) = y1(t-1) -y1(t)
y2(t) = y2(t-1) -y2(t)
y3(t) = t3(t-1) -y3(t)
----influenced by this 2 control, with k1 and k2 constant for t= 0,1,2...h :
u1(0) = k1
u2(0) = k2
----and the exit:
g(t)= g(y(t),u(t))
that I solve by Octave this way:
--function res = fun (y,ym1)
res(1) = -y(1) + ym1(1) -y(1);
res(2) = -y(2) + ym1(2) -y(2);
res(3) = -y(3) + ym1(3) -y(3);
--endfunction
y(1,0) = init_y(1);
y(2,0) = init_y(2);
y(3,0) = init_y(3);
y=ones(3,1)
for t = 1:1:h
y(:,t) = fsolve(@(x) fun(x, y(:,t-1));
endfor
I'd integrate my system with a nonlinear optimization package to solve this non linear problem
for every t
I have to find this control vector:
u(t)=|u1(t);u2(t)|
where
u1(0)= |1,2,3| ##no more a constant
u2(0)= |0.1,0.2|
That reach this non linear objective;
J=max|g1(u(t)),g2(u(t)),g3(u(t))| ####The 3 objectives are adversarial so I cannot find ONE optimum solution
where g1(u)= y(1,1)+y(1,2)+....y(1,h)
g2(u)= g2(u(t),y(1,t),y(2,t),y(3,t)) t=1....h
g3(u)= g3(u(t),y(1,t),y(2,t),y(3,t)) t=1....h
respecting the bond
0.1 < y(3,h)< 0.7
I'd know what kind of solver I have to use for this kind of problem and how to integrate it in my system.
I try "sqp" [1] but I'm not able to integrate this in my "fsolve" system.
Maybe this isn't right way and I have to use another package, something like that[2]
Have you any idea?
Thanks for your help.
best regards
f.b.
[1]
http://www.gnu.org/software/octave/doc/interpreter/Nonlinear-Programming.html
[2]
http://octave.sourceforge.net/doc/optimization.html