PreSolver::PreSolver |
( |
const vector< vector< bool > > & |
matrix, |
|
|
vector< vector< int > > & |
groups, |
|
|
double |
extLB = 0.0 |
|
) |
| |
Constructor. Receives the ILP Matrix, the guard candidates groups (which are organized by the Light AVPs where the candidates belong) and the lower bound previously obtained by the solution. Using all this information, we setup the structures used when solving the ILP.
void PreSolver::bitsCheckGroup |
( |
int |
index | ) |
|
Checks a group of guard candidates to find redundant columns.
void PreSolver::bitsColsReduction |
( |
| ) |
|
Eliminates redundant columns.
void PreSolver::bitsRowsReduction |
( |
| ) |
|
Eliminates redundant rows.
vector< int > PreSolver::getOptimalSolution |
( |
| ) |
|
Constructs the optimal solution found using the initial indices.
bool PreSolver::isOptimal |
( |
| ) |
|
|
inline |
Returns if the solution found is optimal.
void PreSolver::solve |
( |
int |
mode | ) |
|
Solves an SCP using the mode selected by the user.
vector< int > PreSolver::tryHeuristic |
( |
| ) |
|
Uses Lagrangian Heuristic to find a good viable solution for the current SCP.
The documentation for this class was generated from the following files: