Fmincon toolbox
Purpose
-------
The goal of this toolbox is to provide a fmincon function 
in Scilab.
The fmincon function is a nonlinearily constrained optimization
solver.
Currently, we use ipopt for the actual solver of fmincon.
The current state of the function is experimental.
Many features are yet to be implemented.
We provide upgraded versions of the optimset and 
optimget functions, which manage options which 
are required by fmincon.
The current implementation is able to manage 
the following use cases.
We use a L-BFGS formula in order to compute an approximate 
of the Hessian of the Lagrangian.
(0) The initial guess is provided in the x0 input argument.
(1) The nonlinear objective function and 
the nonlinear constraints are provided.
The fun and nonlcon function can be customized to 
configure the nonlinear objective function and nonlinear constraints.
In this case, we use order two finite differences with optimal 
step size in order to compute the gradient of the objective 
function and the gradient of the constraints.
(2) The parameters are subject to bounds.
The lb and ub parameters can be configure to set 
bounds on the parameters.
(3) The objective function and constraints function can 
provide the exact gradients as additionnal output arguments
of their function definition.
The two "GradObj" and "GradConstr" options can be turned 
"on" for that purpose.
Linear equalities and linear inequalities are not managed in the current
version.
Features
--------
 * fmincon : Solves a nonlinearily constrained optimization problem.
Acknowledments
--------------
I thank Vincent Couvert and Yann Collette for their feedback on this module.
Changelog
---------
fmincon (0.3.2) : Scilab 5.5.0 compatibility
fmincon (0.3) : Fixed bug on Linux.
fmincon (0.2) : Fixed bug in Demos/runtests.