Commit ee2b44f2 authored by Gauthier Quesnel's avatar Gauthier Quesnel
Browse files

Baryonyx v0.2.0.0

parent 247c4063
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(baryonyx VERSION 0.1 LANGUAGES CXX C)
project(baryonyx VERSION 0.2.0.0 LANGUAGES CXX C)
find_package(Threads REQUIRED)
add_library(threads INTERFACE IMPORTED)
......
baryonyx 1.0 - First release - 2017-xx-yy
# baryonyx v0.2.0.0 - 2017-10-03
- Initial feature
## solver
- Add a new parameter norm (-p norm:string)
-`none`: no normalization
-`l1`: l1 norm (sum of absolute cost / cost number)
-`l2`: l2 norm (sum of cost * cost / cost number)
-`inf`: l+oo norm (max cost / cost number)
-`rng`: a complex experimental norm
- Add an external solution checker. Use the `--check|-C [filename]`
command line option to valid a `.sol` result with an another algorithm.
- Improve debug log facilities. If baryonyx:
- is compiled without `BARYONYX_FULL_OPTIMIZATION`
- have verbose level = 7 (`baryonyx-0.2 -v 7`)
- have serialize option = 2 (`baryonyx-0.2 -v 7 -p serialize=2`)
Then:
The log facilities show:
- current X solution with variable names compute() [`serialize >= 1`]
- all constraints status for each compute() [`serialize >= 1`]
- P matrix between for each update_row() [`serialize >= 2`]
- Write temporary solutions during optimization process
- Fix push system using cost vector
- Show variable names into dump
- Remove the inversion of the matrix A for negative coefficient
- Remove random gap to zero
- Use `std::sort` in full optimization, `std::stable_sort` otherwise
## preprocessor
Remove more constraints and variable
- Remove constraints and affects variables:
```
x + y + z = 0
x + y + z = 3
x + y + z >= 3
x + y + z <= 0
```
- Remove constraints:
```
x + y + z >= 0
x + y + z <= 3
```
- Remove multiple elements in objective function or constraints:
```
x1 + x2 + x3 + x2 becomes x1 + 2x2 + x3).
```
- Remove null factor elements in objective function or constraints:
```
x1 + x2 becomes x2
```
- Remove affected variables in bounds or in constraints
- Remove duplicated constraints
## Core
Replace `long int` with `int`. The int or std::int32_t type to reference array index, variable index seems to be sufficient for all source code.
io: improve read with more 'subject to' syntax. This patch allows parser to
read lp file with `subject to[:]` syntax.
project(libbaryonyx VERSION 0.1.0.0 LANGUAGES CXX)
project(libbaryonyx VERSION 0.2.0.0 LANGUAGES CXX)
option(WITH_FULL_OPTIMIZATION "Disable all logging facilities and active heavy optimization code. [default: off]" OFF)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment