Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::bop::SatCoreBasedOptimizer Class Reference

#include <complete_optimizer.h>

Inheritance diagram for operations_research::bop::SatCoreBasedOptimizer:
operations_research::bop::BopOptimizerBase

Public Member Functions

 SatCoreBasedOptimizer (absl::string_view name)
 
 ~SatCoreBasedOptimizer () override
 
- Public Member Functions inherited from operations_research::bop::BopOptimizerBase
 BopOptimizerBase (absl::string_view name)
 
virtual ~BopOptimizerBase ()
 
const std::string & name () const
 Returns the name given at construction.
 

Protected Member Functions

bool ShouldBeRun (const ProblemState &problem_state) const override
 Only run this if there is an objective.
 
Status Optimize (const BopParameters &parameters, const ProblemState &problem_state, LearnedInfo *learned_info, TimeLimit *time_limit) override
 

Additional Inherited Members

- Public Types inherited from operations_research::bop::BopOptimizerBase
enum  Status {
  OPTIMAL_SOLUTION_FOUND , SOLUTION_FOUND , INFEASIBLE , LIMIT_REACHED ,
  INFORMATION_FOUND , CONTINUE , ABORT
}
 
- Static Public Member Functions inherited from operations_research::bop::BopOptimizerBase
static std::string GetStatusString (Status status)
 Returns a string describing the status.
 
- Protected Attributes inherited from operations_research::bop::BopOptimizerBase
const std::string name_
 
StatsGroup stats_
 

Detailed Description

Todo
(user): Merge this with the code in sat/optimization.cc

Definition at line 51 of file complete_optimizer.h.

Constructor & Destructor Documentation

◆ SatCoreBasedOptimizer()

operations_research::bop::SatCoreBasedOptimizer::SatCoreBasedOptimizer ( absl::string_view name)
explicit

This is in term of number of variables not at their minimal value.

Definition at line 42 of file complete_optimizer.cc.

◆ ~SatCoreBasedOptimizer()

operations_research::bop::SatCoreBasedOptimizer::~SatCoreBasedOptimizer ( )
overridedefault

Member Function Documentation

◆ Optimize()

BopOptimizerBase::Status operations_research::bop::SatCoreBasedOptimizer::Optimize ( const BopParameters & parameters,
const ProblemState & problem_state,
LearnedInfo * learned_info,
TimeLimit * time_limit )
overrideprotectedvirtual

Tries to infer more information about the problem state, i.e. reduces the gap by increasing the lower bound or finding a better solution. Returns SOLUTION_FOUND when a new solution with a better objective cost is found before a time limit. The learned information is cleared and the filled with any new information about the problem, e.g. a new lower bound.

Preconditions: ShouldBeRun() must returns true.

This is possible because we over-constrain the objective.

We found a better solution!

The interesting case: we have a core.

Todo
(user): Check that this cannot fail because of the conflict limit.

Implements operations_research::bop::BopOptimizerBase.

Definition at line 119 of file complete_optimizer.cc.

◆ ShouldBeRun()

bool operations_research::bop::SatCoreBasedOptimizer::ShouldBeRun ( const ProblemState & problem_state) const
overrideprotectedvirtual

Only run this if there is an objective.

Implements operations_research::bop::BopOptimizerBase.

Definition at line 114 of file complete_optimizer.cc.


The documentation for this class was generated from the following files: