fmincon versus sqp

Julian Schnidder j.schnidder at gmx.de
Wed Apr 30 07:52:53 CDT 2008


Hi,

Am 29.04.2008 um 17:35 schrieb Riccardo Corradini:

> I am trying to use the octave function sqp to translate some Matlab  
> code that uses
> fmincon.
> I found on the web the following example for fmincon:
> http://www.wam.umd.edu/~petersd/660/fmincon_ex.html

The complete documentation for fmincon can be found under
http://www.mathworks.com/access/helpdesk/help/toolbox/optim/ 
index.html?/access/helpdesk/help/toolbox/optim/ug/fmincon.html

> On the help on line of octave 3.1 I didn't understand how to use  
> inequality constraints.
> Could somebody give any hints on this issue?

sqp doesn't distinguish between linear and nonlinear constraints (as  
fmincon does). The constraints are modeled by functions, that return  
a vector. Each entry in that vector stands for a single constraint,  
e.g. you want the solution of the optimization to lie in the unit  
disc and the first variable to be nonnnegative: That means
1-norm(x)^2 >= 0 (<=> norm(x)^2 <= 1 <=> norm(x) <= 1)
x_1 >= 0.

Now you have to implement that as a function

function c=h(x)
   c(1)=1-norm(x)^2;
   c(2)=x(1);
endfunction

and use it in the sqp command (assuming the presence of the objective  
functions and a starting point x0)

sqp (x0, @objective_function, [], @h)

With "help -i sqp" within octave you can also see an example. Hope,  
that helps.

Kind regards,

JCS



More information about the Help-octave mailing list