help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Nonlinear Optimization in Octave


From: franco basaglia
Subject: Nonlinear Optimization in Octave
Date: Mon, 30 Nov 2009 23:49:47 +0100

Hi all.
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
reply via email to

[Prev in Thread] Current Thread [Next in Thread]