v2.8.3
Release notes v 2.8.3
Main changes
-
Two contractors for optimization, based on the KKT conditions (Khun-Tucker local optimality necessary conditions). The first variant is CtcKhunTucker and uses
- a quick rejection test based on: "First Order Rejection Tests For Multiple-Objective Optimization"
by Goldsztejn A., Domes F., Chevalier B. (JOGO) - a Newton iteration on the system of equations corresponding to the KKT conditions. The equations are represented by a purely numerical function (Fnc) that is calculated dynamically by considering only active constraints (equalities, active inequalities and active bounds of the initial box).
The second variant is CtcKhunTuckerLP and builds statically a (symbolic) System object corresponding to the KKT conditions considering all the constraints. For efficiency reasons, the system is solved using X-Newton (whence LP suffix).
The KKT contractor (first variant) can be activated in ibexopt using the new --kkt option.
- a quick rejection test based on: "First Order Rejection Tests For Multiple-Objective Optimization"
-
[optim] Rigorous mode improved and tested. Now, the loup finder starts from the midpoint when no is loup is found with relaxed inequalities instead of skipping the search
-
Function evaluation: the evaluation with selected components has been improved and extendeed to matrix-valued functions (allowing to eval selected rows). Some dimension issues have been fixed with eval_vector/eval_matrix.
-
Expression simplification improved and some memory problems have been solved (releaved by bug #366)
Other changes
In progress
- Cmake compilation scripts. See discussion in ##368