-
v0.5.0aeca60f8 · ·
* project: * add [codecov.io](https://codecove.io) to produce coverage reports in travis * use Visual Studio 2019 image in appveyor * [boost/ut](https://github.com/boost-experimental/ut): use boost.UT v1.1.6 * [fmtlib/fmt](https://fmt.dev/latest/index.html): bump to version v6.1.1 * optimizer: * use a evolutionary algorithm to init/reinit solver. In optimization mode, Baryonyx stores all solutions found during search. Two algorithms are used to initialize the X vector: * A crossover/mutation using two solutions is used to re-initialize the solver. * An improve mode using a dynamical kappa. * Quadratic objective function: Experimental support. * Z-coefficient: Enable the Z-coefficient solver. * random-solver: This solver is enabled with the `--random` command line option and in the `solver_parameters::solver_type`. It provides a pure random solver without any preference and Lagrangian relaxation. It is provided only for benchmark. * add Lagrangian multipliers sign change detection. * c++: * solvers: replace `fill` and `copy` with `fill_n` and `copy_n` equivalent. * solvers: replace `std::vector<T>` with a new `bit_array` to improve cache efficiency * main: fix signed/unsigned warning * solver * negative coefficient solvers: fix R access * add pi signed change detection * improve efficiency of random-solver * add reset function to reinit solver * solver: move normalized cost in thread part * optimizer: * replace time limit detection algorithm * add pi signed change detection to build a new constraint remaining list * benchmark: * fix sort functor behaviour * main: * fix time-limit parameter assignation * missing or malformed parameters equal error * fix infinity norm string * add a `--debug` mode. * CMake: * reduce warning level for msvc * use the BUILD_SHARED_LIBS CMake option to build share library. Default, a static library is build to enable all internal test that use private API.
-
v0.4.0a33fafb9 · ·
Bump C++ dependency to C++17 standard. * benchmark: add a second output `csv` file with the rank for each solvers and models to show best solver. * Optimize all solver algorithms to improve performance: rewrite and generalize. * Improve the `best-cycle` algorithm: is no best solution was found for three complete optimization, solver restart to `bastert-cycle`. * Fix the initialization cycle behaviour. * Fix the random normalization behaviour. * Remove useless header (sparse-vector etc), dead code.
-
v0.3.42adc9013 · ·
v0.3.4 * Add a benchmark mode to permit to run benchmark on a set of problems described in a `csv` files and make easy comparison. * Improve colour rendering in log system. Replace specific Linux/Unix source code about colour in (pseudo)terminal with the `fmt::text_style` and `fmt::terminal_color` enumeration. * Add warning message for unknown parameters * core: add init policy cycle: * `bastert` (default): use cost values. * `random`: use random value. * `best`: use best solution found if available (`bastert` otherwise). * `bastert-cycle`: start with bastert policy then start a cycle between random, best and bastert. * `random-cycle`: start with random policy then start a cycle between best, bastert and random. * `best-cycle`: start with best policy then start a cycle between bastert, random and best. * core: add lagrangian runtime constraint order. * `lagrangian-decr`: sort violated constraints according to the Lagrangian multiplier values in decremental order. * `lagrangian-incr`: sort violated constraints according to the Lagrangian multiplier values in incremental order
-
v0.3.35be01e5a · ·
baryonyx v0.3.3 - 2018-10-04 main: * output: better render output float number solver/optimizer: * Fix the preference matrix assignment for both equalities and inequalities with -1 and 1 coefficients, we replace the preference matrix clean up algorithm (invert the variable values for negative coefficients) with a version that revert only the added or subtracted value during the preferences update process. * Fix core dump if no solution are found preprocessor: * update the preprocessing solver option: Replace the old preprocessing option with new one but without description (p1, p2, p3 and p4). Options are `none` to use the raw problem (or lp file) order for constraints and variables. `memory`, the default, to use the raw problem (or lp file) order for constraints but sort the variables to improve the memory cache efficiency.