Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::glop::BasisState Struct Reference

#include <variables_info.h>

Public Member Functions

bool IsEmpty () const
 Returns true if this state is empty.
 

Public Attributes

VariableStatusRow statuses
 

Detailed Description

Holds the statuses of all the variables, including slack variables. There is no point storing constraint statuses since internally all constraints are always fixed to zero.

Note
this is the minimal amount of information needed to perform a "warm start". Using this information and the original linear program, the basis can be refactorized and all the needed quantities derived.
Todo
(user): Introduce another state class to store a complete state of the solver. Using this state and the original linear program, the solver can be restarted with as little time overhead as possible. This is especially useful for strong branching in a MIP context.

Definition at line 35 of file variables_info.h.

Member Function Documentation

◆ IsEmpty()

bool operations_research::glop::BasisState::IsEmpty ( ) const
inline

Returns true if this state is empty.

Definition at line 46 of file variables_info.h.

Member Data Documentation

◆ statuses

VariableStatusRow operations_research::glop::BasisState::statuses
Todo
(user): A MIP solver will potentially store a lot of BasisStates so memory usage is important. It is possible to use only 2 bits for one VariableStatus enum. To achieve this, the FIXED_VALUE status can be converted to either AT_LOWER_BOUND or AT_UPPER_BOUND and decoded properly later since this will be used with a given linear program. This way we can even encode more information by using the reduced cost sign to choose to which bound the fixed status correspond.

Definition at line 43 of file variables_info.h.


The documentation for this struct was generated from the following file: