Hello,
I have an optimization problem to solve with non-linear constraints. It is a control theory based discrete time model (which i feel fules out using fmincon) over a time horizon say N seconds.
I found a few old posts similar to this, but none I felt had clear answers.
I am going nuts trying to find a way to implement it in matlab. Which Matlab tool would be best suited in this case?
Thanks,
italic EDIT: the system is continuous, but we analyse it in a discrete time domain. Thus, variables have discrete values. There are n_v entities and each of the entity has each parameter described below:
variables: p,v,u; size(p)=size(v)=size(u)=(1,N) vectors
Obj. fn: minimize sum(u(1,:))
constraints:-
Upper and lower bounds like:
p_min<= p(1,:)<= p_max
v_min<= v(1,:)<= v_max
u_min<= u(1,:)<= u_max
linear equalities:
p(n+1)=p(n)+ v(n)t + 0.5u(n)t^2;
v(n+1)=v(n)+u(n)t;
u(n+1)= (s_star / (p1-p2))^2 ; p1 and p2 correspond to entity 1 and 2's p parameter
non linear equalities:
s_star= v1(n) * (v1(n)-v2(n)) ; where v1 and v2 are parameters of entities 1 and 2 respectively at nth instant. * this is the non-linear equality/constraint.
s_star2 = v1(n) * (v1(n)-v1(n-1));
Note: we use either s_star or s_star2 in our code
initial conditions:
p(1)=p_init;
v(1)=vel_init;
end conditions:
p(N)<= p_max;
v(N)=0;
I can give more information if required.
thanks,
Best Answer