Here is a short description of the modifications brought to the successive versions of Libopt.
- Version 2.2: in development phase
-
New commands:
- libopt base: the option -R has been added; this one selectively updates the database; approximately
speaking, if the new result is better than the one in the database, it is safeguarded, otherwise it is discarded.
- libopt latex: this command generates on the standard output Latex commands, which make possible to get the
performance perf of the solver solv on the problem prob from the collection coll by the
Latex command
\LiboptPerf{solv}{coll}{prob}{perf}
provided the corresponding performance token exists in the database; this is useful for updating tables in a Latex file, when
the solver performances are evolving.
-
The following optimization solvers have been installed:
- oqla (J.Ch. Gilbert, É. Joannopoulos),
- qpalm (J.Ch. Gilbert),
- quadprog (Matlab optimization toolbox).
-
The following collections have been hooked to the environment:
- cutest: this collection is a new
version of the cuter collection,
- marosmeszaros: this collection contains
the quadratic optimization problems of Maros and Meszaros (some problems are already in cutest).
-
The following cells have been activated:
- (qpalm, cutest), (qpalm, marosmeszaros), (qpalm, moduloptmatlab)
- (quadprog, cutest), (quadprog, marosmeszaros), (quadprog, moduloptmatlab).
-
Bugs corrected.
-
Version 2.1: January 2009
-
The solver SQPpro has been added to the environment and connected with the collections CUTEr,
Modulopt, and Modulopttoys.
-
The ModuloptMatlab collection of problems has been hooked to the environment. This collection is similar to
Modulopt or ModuloptToys, but with problems written in Matlab.
-
The following cells have been activated:
- ((fmincon, moduloptmatlab),
- (sqplab, moduloptmatlab).
-
The following commands have been introduced:
- libopt problems lists problems of a specified subcollection;
- libopt diff shows the differences between 2 result files (with Libopt lines) for a specified performance.
-
Bugs corrected, cosmetic improvements, and simplifications.
-
Version 2.0: November 30, 2007
-
The way of invoking the Libopt commands has changed:
| version 1.1 |
version 2.0 |
| addopt | libopt base -a |
| install_libopt | libopt install |
| lsopt | libopt solvers |
| perfopt | libopt profile |
| runopt | libopt run |
-
Other commands have been introduced to make easier using and administrating the environment:
-
libopt addcell activates the (SOLV, COLL) cell of the {solvers} x {collections} Cartesian product, meaning that it
installs part of the scripts that are useful for running the SOLV solver on the problems of the COLL collection;
-
libopt addcollection introduces a new collection in the Libopt environment, taking only care of the list and directory
matters;
-
libopt addproblem introduces a new problem to a collection installed the Libopt environment, taking only care of the
list and directory matters; only a collection, say COLL, that has a script called libopt_addproblem_COLL can be enriched in
this manner;
-
libopt addsolver introduces a new solver in the Libopt environment, taking only care of the list and directory matters;
-
libopt base deals with all the operations in connection with the result database, including adding/deleting results
(previously realized by addopt) and listing results in raw or tabular form (previously realized by the hidden command
queryopt);
-
libopt collections is similar to libopt solvers, but provides a transposed order of printing;
-
libopt rmcollection removes a collection from the Libopt environment, taking only care of the list matters;
-
libopt rmproblem removes a problem from a collection installed the Libopt environment; only a collection, say COLL, that
has a script called libopt_rmproblem_COLL can be considered for this operation;
-
libopt rmsolver removes a solver from the Libopt environment, taking only care of the list matters.
-
libopt profile can now generate data and command files for drawing performance profiles with Gnuplot.
-
libopt run can now generate binaries with symbolic information to allow debugging.
-
Libopt can now deal with collections whose problems have several data sets. Thanks to this feature, the Modulopt collection,
for example, does not duplicate a problem directory for each of its data sets.
-
The following optimization solvers have been installed
- lbfgs (L-BFGS, J. Nocedal),
- lbfgsb (L-BFGS-B, C. Zhu, R. Byrd, J. Nocedal),
- n1cv2 (bundle method, Cl. Lemaréchal et al.),
- sqplab (SQP, J.Ch. Gilbert).
-
Possible downloading by anonymous SVN.
-
Cosmetic improvements and simplifications.
-
Version 1.1: June 2007
-
The command lsopt has been added. It lists the contents of the Libopt Cartesian product of solvers x
collections-of-problems.
-
The cell (fmincon, cuter) has been added (fmincon is the SQP solver of Matlab), which means that you can now solve the
problems of the CUTEr collection with fmincon, within the Libopt environment.
-
The environment runs on the following platforms:
-
PC-like computer, with the Linux operating system, and the Portland Group compilers,
-
Macintosh computer (Apple), with the OSX operating system (Macintosh), and the GNU Compiler Collection.
The Matlab solvers and tools have not been tested on the latter platform. Little has to be done to make Libopt work on other
platforms (modifying a single file).
-
Several bugs have been corrected.
-
Version 1.0: March 13, 2007
-
Initial version.