Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::math_opt::ObjectiveStorage Class Reference

Detailed Description

Definition at line 38 of file objective_storage.h.

#include <objective_storage.h>

Classes

struct  Diff

Public Member Functions

 ObjectiveStorage (absl::string_view name={})
AuxiliaryObjectiveId AddAuxiliaryObjective (int64_t priority, absl::string_view name)
bool maximize (ObjectiveId id) const
int64_t priority (ObjectiveId id) const
double offset (ObjectiveId id) const
double linear_term (ObjectiveId id, VariableId v) const
double quadratic_term (ObjectiveId id, VariableId v1, VariableId v2) const
const std::string & name (ObjectiveId id) const
const absl::flat_hash_map< VariableId, double > & linear_terms (ObjectiveId id) const
const SparseSymmetricMatrixquadratic_terms (ObjectiveId id) const
template<typename DiffIter>
void set_maximize (ObjectiveId id, bool maximize, const iterator_range< DiffIter > &diffs)
template<typename DiffIter>
void set_priority (ObjectiveId id, int64_t priority, const iterator_range< DiffIter > &diffs)
template<typename DiffIter>
void set_offset (ObjectiveId id, double offset, const iterator_range< DiffIter > &diffs)
template<typename DiffIter>
void set_linear_term (ObjectiveId id, VariableId variable, double value, const iterator_range< DiffIter > &diffs)
template<typename DiffIter>
void set_quadratic_term (ObjectiveId id, VariableId v1, VariableId v2, double val, const iterator_range< DiffIter > &diffs)
template<typename DiffIter>
void Delete (AuxiliaryObjectiveId id, const iterator_range< DiffIter > &diffs)
int64_t num_auxiliary_objectives () const
AuxiliaryObjectiveId next_id () const
void ensure_next_id_at_least (AuxiliaryObjectiveId minimum)
bool contains (AuxiliaryObjectiveId id) const
std::vector< AuxiliaryObjectiveIdAuxiliaryObjectives () const
std::vector< AuxiliaryObjectiveIdSortedAuxiliaryObjectives () const
template<typename DiffIter>
void Clear (ObjectiveId id, const iterator_range< DiffIter > &diffs)
template<typename DiffIter>
void DeleteVariable (VariableId variable, const iterator_range< DiffIter > &diffs)
std::pair< ObjectiveProto, google::protobuf::Map< int64_t, ObjectiveProto > > Proto () const
bool diff_is_empty (const Diff &diff) const
std::pair< ObjectiveUpdatesProto, AuxiliaryObjectivesUpdatesProtoUpdate (const Diff &diff, const absl::flat_hash_set< VariableId > &deleted_variables, absl::Span< const VariableId > new_variables) const
void AdvanceCheckpointInDiff (VariableId variable_checkpoint, Diff &diff) const

Constructor & Destructor Documentation

◆ ObjectiveStorage()

operations_research::math_opt::ObjectiveStorage::ObjectiveStorage ( absl::string_view name = {})
inlineexplicit

Definition at line 248 of file objective_storage.h.

Member Function Documentation

◆ AddAuxiliaryObjective()

AuxiliaryObjectiveId operations_research::math_opt::ObjectiveStorage::AddAuxiliaryObjective ( int64_t priority,
absl::string_view name )

Definition at line 66 of file objective_storage.cc.

◆ AdvanceCheckpointInDiff()

void operations_research::math_opt::ObjectiveStorage::AdvanceCheckpointInDiff ( VariableId variable_checkpoint,
Diff & diff ) const

Definition at line 204 of file objective_storage.cc.

◆ AuxiliaryObjectives()

std::vector< AuxiliaryObjectiveId > operations_research::math_opt::ObjectiveStorage::AuxiliaryObjectives ( ) const

Definition at line 79 of file objective_storage.cc.

◆ Clear()

template<typename DiffIter>
void operations_research::math_opt::ObjectiveStorage::Clear ( ObjectiveId id,
const iterator_range< DiffIter > & diffs )

Definition at line 392 of file objective_storage.h.

◆ contains()

bool operations_research::math_opt::ObjectiveStorage::contains ( AuxiliaryObjectiveId id) const
inline

Definition at line 387 of file objective_storage.h.

◆ Delete()

template<typename DiffIter>
void operations_research::math_opt::ObjectiveStorage::Delete ( AuxiliaryObjectiveId id,
const iterator_range< DiffIter > & diffs )

Definition at line 362 of file objective_storage.h.

◆ DeleteVariable()

template<typename DiffIter>
void operations_research::math_opt::ObjectiveStorage::DeleteVariable ( VariableId variable,
const iterator_range< DiffIter > & diffs )

Definition at line 416 of file objective_storage.h.

◆ diff_is_empty()

bool operations_research::math_opt::ObjectiveStorage::diff_is_empty ( const Diff & diff) const
inline

Definition at line 430 of file objective_storage.h.

◆ ensure_next_id_at_least()

void operations_research::math_opt::ObjectiveStorage::ensure_next_id_at_least ( AuxiliaryObjectiveId minimum)
inline

Definition at line 382 of file objective_storage.h.

◆ linear_term()

double operations_research::math_opt::ObjectiveStorage::linear_term ( ObjectiveId id,
VariableId v ) const
inline

Definition at line 264 of file objective_storage.h.

◆ linear_terms()

const absl::flat_hash_map< VariableId, double > & operations_research::math_opt::ObjectiveStorage::linear_terms ( ObjectiveId id) const
inline

Definition at line 279 of file objective_storage.h.

◆ maximize()

bool operations_research::math_opt::ObjectiveStorage::maximize ( ObjectiveId id) const
inline

Definition at line 252 of file objective_storage.h.

◆ name()

const std::string & operations_research::math_opt::ObjectiveStorage::name ( ObjectiveId id) const
inline

Definition at line 275 of file objective_storage.h.

◆ next_id()

AuxiliaryObjectiveId operations_research::math_opt::ObjectiveStorage::next_id ( ) const
inline

Definition at line 378 of file objective_storage.h.

◆ num_auxiliary_objectives()

int64_t operations_research::math_opt::ObjectiveStorage::num_auxiliary_objectives ( ) const
inline

Definition at line 374 of file objective_storage.h.

◆ offset()

double operations_research::math_opt::ObjectiveStorage::offset ( ObjectiveId id) const
inline

Definition at line 260 of file objective_storage.h.

◆ priority()

int64_t operations_research::math_opt::ObjectiveStorage::priority ( ObjectiveId id) const
inline

Definition at line 256 of file objective_storage.h.

◆ Proto()

std::pair< ObjectiveProto, google::protobuf::Map< int64_t, ObjectiveProto > > operations_research::math_opt::ObjectiveStorage::Proto ( ) const

Definition at line 97 of file objective_storage.cc.

◆ quadratic_term()

double operations_research::math_opt::ObjectiveStorage::quadratic_term ( ObjectiveId id,
VariableId v1,
VariableId v2 ) const
inline

Definition at line 269 of file objective_storage.h.

◆ quadratic_terms()

const SparseSymmetricMatrix & operations_research::math_opt::ObjectiveStorage::quadratic_terms ( ObjectiveId id) const
inline

Definition at line 284 of file objective_storage.h.

◆ set_linear_term()

template<typename DiffIter>
void operations_research::math_opt::ObjectiveStorage::set_linear_term ( ObjectiveId id,
VariableId variable,
double value,
const iterator_range< DiffIter > & diffs )

Definition at line 333 of file objective_storage.h.

◆ set_maximize()

template<typename DiffIter>
void operations_research::math_opt::ObjectiveStorage::set_maximize ( ObjectiveId id,
bool maximize,
const iterator_range< DiffIter > & diffs )

Definition at line 290 of file objective_storage.h.

◆ set_offset()

template<typename DiffIter>
void operations_research::math_opt::ObjectiveStorage::set_offset ( ObjectiveId id,
double offset,
const iterator_range< DiffIter > & diffs )

Definition at line 319 of file objective_storage.h.

◆ set_priority()

template<typename DiffIter>
void operations_research::math_opt::ObjectiveStorage::set_priority ( ObjectiveId id,
int64_t priority,
const iterator_range< DiffIter > & diffs )

Definition at line 304 of file objective_storage.h.

◆ set_quadratic_term()

template<typename DiffIter>
void operations_research::math_opt::ObjectiveStorage::set_quadratic_term ( ObjectiveId id,
VariableId v1,
VariableId v2,
double val,
const iterator_range< DiffIter > & diffs )

Definition at line 347 of file objective_storage.h.

◆ SortedAuxiliaryObjectives()

std::vector< AuxiliaryObjectiveId > operations_research::math_opt::ObjectiveStorage::SortedAuxiliaryObjectives ( ) const

Definition at line 89 of file objective_storage.cc.

◆ Update()

std::pair< ObjectiveUpdatesProto, AuxiliaryObjectivesUpdatesProto > operations_research::math_opt::ObjectiveStorage::Update ( const Diff & diff,
const absl::flat_hash_set< VariableId > & deleted_variables,
absl::Span< const VariableId > new_variables ) const

Definition at line 159 of file objective_storage.cc.


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