Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <preprocessor.h>
Public Member Functions | |
SingletonPreprocessor (const GlopParameters *parameters) | |
SingletonPreprocessor (const SingletonPreprocessor &)=delete | |
SingletonPreprocessor & | operator= (const SingletonPreprocessor &)=delete |
~SingletonPreprocessor () final=default | |
bool | Run (LinearProgram *lp) final |
void | RecoverSolution (ProblemSolution *solution) const final |
Public Member Functions inherited from operations_research::glop::Preprocessor | |
Preprocessor (const GlopParameters *parameters) | |
Preprocessor (const Preprocessor &)=delete | |
Preprocessor & | operator= (const Preprocessor &)=delete |
virtual | ~Preprocessor () |
ProblemStatus | status () const |
virtual void | UseInMipContext () |
void | SetTimeLimit (TimeLimit *time_limit) |
Additional Inherited Members | |
Protected Member Functions inherited from operations_research::glop::Preprocessor | |
bool | IsSmallerWithinFeasibilityTolerance (Fractional a, Fractional b) const |
bool | IsSmallerWithinPreprocessorZeroTolerance (Fractional a, Fractional b) const |
Protected Attributes inherited from operations_research::glop::Preprocessor | |
ProblemStatus | status_ |
const GlopParameters & | parameters_ |
bool | in_mip_context_ |
std::unique_ptr< TimeLimit > | infinite_time_limit_ |
TimeLimit * | time_limit_ |
Deletes as many singleton rows or singleton columns as possible. Note that each time we delete a row or a column, new singletons may be created.
Definition at line 452 of file preprocessor.h.
|
inlineexplicit |
Definition at line 454 of file preprocessor.h.
|
delete |
|
finaldefault |
|
delete |
|
finalvirtual |
Stores the optimal solution of the linear program that was passed to Run(). The given solution needs to be set to the optimal solution of the linear program "modified" by Run().
It is important to undo the operations in the correct order, i.e. in the reverse order in which they were done.
Implements operations_research::glop::Preprocessor.
Definition at line 2942 of file preprocessor.cc.
|
finalvirtual |
Runs the preprocessor by modifying the given linear program. Returns true if a postsolve step will be needed (i.e. RecoverSolution() is not the identity function). Also updates status_ to something different from ProblemStatus::INIT if the problem was solved (including bad statuses like ProblemStatus::ABNORMAL, ProblemStatus::INFEASIBLE, etc.).
Initialize column_to_process with the current singleton columns.
Initialize row_to_process with the current singleton rows.
Process current singleton rows/columns and enqueue new ones.
We don't want to do a substitution if the entry is too small and should be probably set to zero.
Implements operations_research::glop::Preprocessor.
Definition at line 2852 of file preprocessor.cc.