This toolbox consists of open-source solvers for a variety of optimization
problems: CLP for linear optimization, CBC for integer linear optimization,
IPOPT (with MUMPS) for nonlinear optimization, and BONMIN for integer nonlinear
optimization.
On latest Ubuntu releases such as Ubuntu 19.10, libgfortran4 has to be
installed. This can be done by executing the command apt-get install
libgfortran4.
Features
---------
* fot_linprog: Solves a linear optimization problem.
* fot_intlinprog: Solves a mixed-integer linear optimization problem in
intlinprog format with CBC.
* fot_quadprog: Solves a quadratic optimization problem.
* fot_quadprogmat: Solves a quadratic optimization problem (with input in
Matlab
format).
* fot_lsqnonneg: Solves a nonnegative linear least squares optimization
problem.
* fot_lsqlin: Solves a linear least squares optimization problem.
* fot_lsqnonlin: Solves a nonlinear least squares optimization problem.
* fot_fminunc: Solves an unconstrained optimization problem.
* fot_fminbnd: Solves a nonlinear optimization problem on bounded variables.
* fot_fmincon: Solves a general nonlinear optimization problem.
* fot_fgoalattain: Solves a multiobjective goal attainment problem.
* fot_fminimax: Solves a minimax optimization problem.
* fot_intfminunc: Solves an unconstrained mixed-integer nonlinear optimization
problem.
* fot_intfminbnd: Solves a mixed-integer nonlinear optimization
problem on bounded variables.
* fot_intfmincon: Solves a constrained mixed-integer nonlinear optimization
problem.
* fot_intfminimax: Solves a mixed-integer minimax optimization problem.
* fot_intquadprog: Solves an integer quadratic optimization problem.
Changelog
---------
Version 0.4.1 (July 1, 2021)
HessianApproximation option has been added in fot_fmincon to allow the user to
choose the method of calculating the hessian -- "exact" hessian
approximation which uses second derivatives provided by the NLP or
"limited-memory" hessian approximation which performs a limited-memory
quasi-Newton approximation.
Integer constraints in the fot_intlinprog function are now working correctly.
The MPS file can now be passed to the function fot_intlinprog without throwing
any error.
Bugs have been fixed in fot_lsqnonlin
Errors have been removed from examples in various help files to ensure that
they run correctly and give the expected results.
The help files have been modified to improve correctness.
Version 0.4 (November 19, 2020)
The Optimization libraies and the toolbox is now completely built using
opensource MinGW compiler on Windows
All functions are now prefixed with "fot_". For example,
"fmincon" function is now renamed as "fot_fmincon"
Computation time for "fot_fmincon" function has been improved
"Option" argument introduced in the "fot_fmincon"
function
Version 0.3.1 (March 31, 2020)
Problems with fmincon evident in version 0.3 have been fixed
Exit flag status for IPOPT and BONMIN libraries have been changed
Version 0.3 (January 20, 2020)
Toolbox ported to Scilab 6. It will not work for older versions of Scilab
Symphony has been temporarily disabled, will be reintroduced in the future
Upgraded solver libraries to their latest version
Added quadprogCLP function.
Improvements in help files and examples
"_gradhess" in intfmincon has been improved
Bug fixes for intfminimax
Version 0.2.3 (December 11, 2018)
Edits in quadprog help file
Restructured the linprog lambda parameter
Reduced size of source and all binaries
Version 0.2.2 (July 27, 2018)
Reduced the size of the source code and binaries
Version 0.2.1 (July 20, 2018)
Changed names of the following functions:
*cbcintlinprog => intlinprog
*intqpipopt => intquadprog
*qpipopt => quadprog
*qpipoptmat => quadprogmat
Version 0.2 (July 5, 2018)
Upgraded solver libraries to their latest version and added the following
functions:
*cbcintlinprog
*fotversion
*intfminbnd
*intfmincon
*intfminimax
*intfminunc
*intqpipopt