Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <presolve.h>
Public Member Functions | |
Presolver (SolverLogger *logger) | |
void | Run (Model *model) |
The Presolver "pre-solves" a Model by applying some iterative transformations to it, which may simplify and/or shrink the model.
Definition at line 38 of file presolve.h.
|
inlineexplicit |
Definition at line 40 of file presolve.h.
void operations_research::fz::Presolver::Run | ( | Model * | model | ) |
Recursively apply all the pre-solve rules to the model, until exhaustion. The reduced model will:
Should rewrite float constraints.
Treat float variables as int variables, convert constraints to int.
Regroup increasing sequence of int_lin_eq([1,..,1,-1], [x1, ..., xn, yn]) into sequence of int_plus(x1, x2, y2), int_plus(y2, x3, y3)...
Rewrite ct into int_plus.
We clean the first constraint too.
First pass.
Some new substitutions were introduced. Let's process them.
Second pass.
Third pass: process objective with floating point coefficients.
Report presolve rules statistics.
Definition at line 380 of file presolve.cc.