solver
1.0
|
Solver-independent interface for solving Integer Linear Programming problems. More...
#include <iostream>
#include <string>
#include <vector>
#include "SolverConfig.h"
#include "ILPModel/ILPModel.h"
#include "Shared/Exceptions.h"
#include "Shared/NumericConstants.h"
Go to the source code of this file.
Classes | |
struct | SolutionILP |
Structure storing a solution of an Integer Linear Programming problem. More... | |
Enumerations | |
enum | Status { ILP_OPTIMAL, ILP_FEASIBLE, ILP_INFEASIBLE, ILP_UNBOUNDED, ILP_UNKNOWN } |
Constants specifying whether a solution is optimal, feasible, infeasible, unbounded, or undefined, respectively. | |
Functions | |
std::string | solverIdentification () |
Returns an identification of the used solver, e.g. 'Gurobi 6.0.4'. | |
void | initializeLocalEnvironments (int numberOfThreads) |
It enables the solver to initialize all the data structures (e.g. expensive to construct) required for flawless performance of multiple threads. More... | |
SolutionILP | solveILP (const ILPModel &m, bool verbose, double gap=0.0, double timeLimit=0.0, int numberOfThreads=1, int threadId=0) |
Integer Linear Programming solver is called to solve the problem and the solution is returned. More... | |
Solver-independent interface for solving Integer Linear Programming problems.
Definition in file SolverInterface.h.
void initializeLocalEnvironments | ( | int | numberOfThreads | ) |
It enables the solver to initialize all the data structures (e.g. expensive to construct) required for flawless performance of multiple threads.
numberOfThreads | Number of concurrent threads. |
Definition at line 40 of file GurobiSolver.cpp.
SolutionILP solveILP | ( | const ILPModel & | m, |
bool | verbose, | ||
double | gap = 0.0 , |
||
double | timeLimit = 0.0 , |
||
int | numberOfThreads = 1 , |
||
int | threadId = 0 |
||
) |
Integer Linear Programming solver is called to solve the problem and the solution is returned.
m | Integer Linear Programming problem to be solved. |
verbose | True if the solver should print some information to output, for multi-threading it must be disabled. |
gap | A solver is stopped if the relative gap from the best bound is achieved. |
timeLimit | Time limit of a solver, value 0.0 disables the time limit. |
numberOfThreads | Number of threads to be used concurrently. |
threadId | Thread id, possible values {0, ..., number of threads-1}. |
Definition at line 39 of file CplexSolver.cpp.