Contains the solution of a LinearProgram as returned by a preprocessor.
More...
#include <lp_data.h>
Contains the solution of a LinearProgram as returned by a preprocessor.
ProblemSolution
Definition at line 671 of file lp_data.h.
◆ ProblemSolution()
operations_research::glop::ProblemSolution::ProblemSolution |
( |
RowIndex | num_rows, |
|
|
ColIndex | num_cols ) |
|
inline |
◆ DebugString()
std::string operations_research::glop::ProblemSolution::DebugString |
( |
| ) |
const |
◆ constraint_statuses
◆ dual_values
DenseColumn operations_research::glop::ProblemSolution::dual_values |
◆ primal_values
DenseRow operations_research::glop::ProblemSolution::primal_values |
The actual primal/dual solution values. This is what most clients will need, and this is enough for LPSolver to easily check the optimality.
Definition at line 683 of file lp_data.h.
◆ status
The solution status.
Definition at line 679 of file lp_data.h.
◆ variable_statuses
The status of the variables and constraints which is difficult to reconstruct from the solution values alone. Some remarks:
- From this information alone, by factorizing the basis, it is easy to reconstruct the primal and dual values.
- The main difficulty to construct this from the solution values is to reconstruct the optimal basis if some basic variables are exactly at one of their bounds (and their reduced costs are close to zero).
- The non-basic information (VariableStatus::FIXED_VALUE, VariableStatus::AT_LOWER_BOUND, VariableStatus::AT_UPPER_BOUND, VariableStatus::FREE) is easy to construct for variables (because they are at their exact bounds). They can be guessed for constraints (here a small precision error is unavoidable). However, it is useful to carry this exact information during post-solve.
Definition at line 699 of file lp_data.h.
The documentation for this struct was generated from the following files: