CoinUtils (Coin-OR Utilities) is an open-source collection of classes and functions that are generally useful to more than one COIN-OR project. These utilities include:
- classes for storing and manipulating sparse matrices and vectors,
- performing matrix factorization,
- parsing input files in standard formats, e.g. MPS,
- building representations of mathematical programs,
- performing simple presolve operations,
- warm starting algorithms for mathematical programs,
- comparing floating point numbers with a tolerance
- classes for storing and manipulating conflict graphs, and
- classes for searching and storing cliques and odd cycles in conflict graphs, among others.
CoinUtils is written in C++ and is released as open source code under the Eclipse Public License (EPL). It is available from the COIN-OR initiative.
The CoinUtils website is https://github.com/coin-or/CoinUtils.
To build CoinUtils from source, obtain the coinbrew
script from
https://coin-or.github.io/coinbrew/
and run
/path/to/coinbrew fetch --main-proj=CoinUtils
/path/to/coinbrew build --main-proj=CoinUtils --test
/path/to/coinbrew install --main-proj=CoinUtils
The coinbrew
script will fetch these additional projects.
- Obtain the source code, e.g., from https://github.com/coin-or/CoinUtils
- Run
./configure -C
to generate makefiles - Run
make
to build the CoinUtils library - Run
make test
to build and run the CoinUtils unit test program - Run
make install
to install library and header files.
If you have Doxygen
available, you can build a HTML documentation by typing
make doxydoc
in the build directory.
If CoinUtils was build via coinbrew
, then the build directory is ./build/CoinUtils
.
The doxygen documentation main file is found at ./doxydoc/html/index.html
in the build directory.
If Doxygen
is not available, you can use also use this link.