Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::mb::ModelBuilderHelper Class Reference

#include <model_builder_helper.h>

Public Member Functions

void OverwriteModel (const ModelBuilderHelper &other_helper)
 ModelBuilderHelper.
 
std::string ExportToMpsString (const operations_research::MPModelExportOptions &options=MPModelExportOptions())
 
std::string ExportToLpString (const operations_research::MPModelExportOptions &options=MPModelExportOptions())
 
bool WriteToMpsFile (const std::string &filename, const operations_research::MPModelExportOptions &options=MPModelExportOptions())
 
bool ReadModelFromProtoFile (const std::string &filename)
 
bool WriteModelToProtoFile (const std::string &filename)
 
bool ImportFromMpsString (const std::string &mps_string)
 
bool ImportFromMpsFile (const std::string &mps_file)
 
const MPModelProto & model () const
 
MPModelProto * mutable_model ()
 
int AddVar ()
 Direct low level model building API.
 
void SetVarLowerBound (int var_index, double lb)
 
void SetVarUpperBound (int var_index, double ub)
 
void SetVarIntegrality (int var_index, bool is_integer)
 
void SetVarObjectiveCoefficient (int var_index, double coeff)
 
void SetVarName (int var_index, const std::string &name)
 
double VarLowerBound (int var_index) const
 
double VarUpperBound (int var_index) const
 
bool VarIsIntegral (int var_index) const
 
double VarObjectiveCoefficient (int var_index) const
 
std::string VarName (int var_index) const
 
double ConstraintLowerBound (int ct_index) const
 
double ConstraintUpperBound (int ct_index) const
 
int AddLinearConstraint ()
 
std::string ConstraintName (int ct_index) const
 
std::vector< double > ConstraintCoefficients (int ct_index) const
 
std::vector< int > ConstraintVarIndices (int ct_index) const
 
void AddConstraintTerm (int ct_index, int var_index, double coeff)
 
void ClearConstraintTerms (int ct_index)
 
void SafeAddConstraintTerm (int ct_index, int var_index, double coeff)
 
void SetConstraintCoefficient (int ct_index, int var_index, double coeff)
 
void SetConstraintLowerBound (int ct_index, double lb)
 
void SetConstraintName (int ct_index, const std::string &name)
 
void SetConstraintUpperBound (int ct_index, double ub)
 
bool EnforcedIndicatorValue (int ct_index) const
 
bool IsEnforcedConstraint (int ct_index) const
 
double EnforcedConstraintLowerBound (int ct_index) const
 
double EnforcedConstraintUpperBound (int ct_index) const
 
int AddEnforcedLinearConstraint ()
 
int EnforcedIndicatorVariableIndex (int ct_index) const
 
std::string EnforcedConstraintName (int ct_index) const
 
std::vector< double > EnforcedConstraintCoefficients (int ct_index) const
 
std::vector< int > EnforcedConstraintVarIndices (int ct_index) const
 
void AddEnforcedConstraintTerm (int ct_index, int var_index, double coeff)
 
void ClearEnforcedConstraintTerms (int ct_index)
 
void SafeAddEnforcedConstraintTerm (int ct_index, int var_index, double coeff)
 
void SetEnforcedConstraintCoefficient (int ct_index, int var_index, double coeff)
 
void SetEnforcedConstraintLowerBound (int ct_index, double lb)
 
void SetEnforcedConstraintName (int ct_index, const std::string &name)
 
void SetEnforcedConstraintUpperBound (int ct_index, double ub)
 
void SetEnforcedIndicatorValue (int ct_index, bool positive)
 
void SetEnforcedIndicatorVariableIndex (int ct_index, int var_index)
 
int num_constraints () const
 
int num_variables () const
 
std::string name () const
 
void SetName (const std::string &name)
 
void ClearObjective ()
 
bool maximize () const
 
void SetMaximize (bool maximize)
 
double ObjectiveOffset () const
 
void SetObjectiveOffset (double offset)
 
void ClearHints ()
 
void AddHint (int var_index, double var_value)
 

Detailed Description

The arguments of the functions defined below must follow these rules to be wrapped by SWIG correctly: 1) Their types must include the full operations_research:: namespace. 2) Their names must correspond to the ones declared in the .i file (see the java/ and csharp/ subdirectories). Helper for importing/exporting models and model protobufs.

Wrapping global function is brittle with SWIG. It is much easier to wrap static class methods.

Note
all these methods rely on c++ code that uses absl::Status or absl::StatusOr. Unfortunately, these are inconsistently wrapped in non C++ languages. As a consequence, we need to provide an API that does not involve absl::Status or absl::StatusOr.

Definition at line 370 of file model_builder_helper.h.

Member Function Documentation

◆ AddConstraintTerm()

void operations_research::mb::ModelBuilderHelper::AddConstraintTerm ( int ct_index,
int var_index,
double coeff )

Definition at line 215 of file model_builder_helper.cc.

◆ AddEnforcedConstraintTerm()

void operations_research::mb::ModelBuilderHelper::AddEnforcedConstraintTerm ( int ct_index,
int var_index,
double coeff )

Definition at line 321 of file model_builder_helper.cc.

◆ AddEnforcedLinearConstraint()

int operations_research::mb::ModelBuilderHelper::AddEnforcedLinearConstraint ( )

Create the mew constraint, and force the type to indicator ct.

Definition at line 282 of file model_builder_helper.cc.

◆ AddHint()

void operations_research::mb::ModelBuilderHelper::AddHint ( int var_index,
double var_value )

Definition at line 472 of file model_builder_helper.cc.

◆ AddLinearConstraint()

int operations_research::mb::ModelBuilderHelper::AddLinearConstraint ( )

Definition at line 195 of file model_builder_helper.cc.

◆ AddVar()

int operations_research::mb::ModelBuilderHelper::AddVar ( )

Direct low level model building API.

Definition at line 148 of file model_builder_helper.cc.

◆ ClearConstraintTerms()

void operations_research::mb::ModelBuilderHelper::ClearConstraintTerms ( int ct_index)

Definition at line 209 of file model_builder_helper.cc.

◆ ClearEnforcedConstraintTerms()

void operations_research::mb::ModelBuilderHelper::ClearEnforcedConstraintTerms ( int ct_index)

Definition at line 313 of file model_builder_helper.cc.

◆ ClearHints()

void operations_research::mb::ModelBuilderHelper::ClearHints ( )

Definition at line 470 of file model_builder_helper.cc.

◆ ClearObjective()

void operations_research::mb::ModelBuilderHelper::ClearObjective ( )

Definition at line 450 of file model_builder_helper.cc.

◆ ConstraintCoefficients()

std::vector< double > operations_research::mb::ModelBuilderHelper::ConstraintCoefficients ( int ct_index) const

Definition at line 276 of file model_builder_helper.cc.

◆ ConstraintLowerBound()

double operations_research::mb::ModelBuilderHelper::ConstraintLowerBound ( int ct_index) const

Definition at line 259 of file model_builder_helper.cc.

◆ ConstraintName()

std::string operations_research::mb::ModelBuilderHelper::ConstraintName ( int ct_index) const

Definition at line 267 of file model_builder_helper.cc.

◆ ConstraintUpperBound()

double operations_research::mb::ModelBuilderHelper::ConstraintUpperBound ( int ct_index) const

Definition at line 263 of file model_builder_helper.cc.

◆ ConstraintVarIndices()

std::vector< int > operations_research::mb::ModelBuilderHelper::ConstraintVarIndices ( int ct_index) const

Definition at line 271 of file model_builder_helper.cc.

◆ EnforcedConstraintCoefficients()

std::vector< double > operations_research::mb::ModelBuilderHelper::EnforcedConstraintCoefficients ( int ct_index) const

Definition at line 419 of file model_builder_helper.cc.

◆ EnforcedConstraintLowerBound()

double operations_research::mb::ModelBuilderHelper::EnforcedConstraintLowerBound ( int ct_index) const

Definition at line 390 of file model_builder_helper.cc.

◆ EnforcedConstraintName()

std::string operations_research::mb::ModelBuilderHelper::EnforcedConstraintName ( int ct_index) const

Definition at line 406 of file model_builder_helper.cc.

◆ EnforcedConstraintUpperBound()

double operations_research::mb::ModelBuilderHelper::EnforcedConstraintUpperBound ( int ct_index) const

Definition at line 398 of file model_builder_helper.cc.

◆ EnforcedConstraintVarIndices()

std::vector< int > operations_research::mb::ModelBuilderHelper::EnforcedConstraintVarIndices ( int ct_index) const

Definition at line 411 of file model_builder_helper.cc.

◆ EnforcedIndicatorValue()

bool operations_research::mb::ModelBuilderHelper::EnforcedIndicatorValue ( int ct_index) const

Definition at line 432 of file model_builder_helper.cc.

◆ EnforcedIndicatorVariableIndex()

int operations_research::mb::ModelBuilderHelper::EnforcedIndicatorVariableIndex ( int ct_index) const

Definition at line 427 of file model_builder_helper.cc.

◆ ExportToLpString()

std::string operations_research::mb::ModelBuilderHelper::ExportToLpString ( const operations_research::MPModelExportOptions & options = MPModelExportOptions())

Definition at line 73 of file model_builder_helper.cc.

◆ ExportToMpsString()

std::string operations_research::mb::ModelBuilderHelper::ExportToMpsString ( const operations_research::MPModelExportOptions & options = MPModelExportOptions())

Definition at line 67 of file model_builder_helper.cc.

◆ ImportFromMpsFile()

bool operations_research::mb::ModelBuilderHelper::ImportFromMpsFile ( const std::string & mps_file)

Definition at line 116 of file model_builder_helper.cc.

◆ ImportFromMpsString()

bool operations_research::mb::ModelBuilderHelper::ImportFromMpsString ( const std::string & mps_string)

See comment in the header file why we need to wrap absl::Status code with code having simpler APIs.

Definition at line 108 of file model_builder_helper.cc.

◆ IsEnforcedConstraint()

bool operations_research::mb::ModelBuilderHelper::IsEnforcedConstraint ( int ct_index) const

Definition at line 289 of file model_builder_helper.cc.

◆ maximize()

bool operations_research::mb::ModelBuilderHelper::maximize ( ) const

Definition at line 456 of file model_builder_helper.cc.

◆ model()

const MPModelProto & operations_research::mb::ModelBuilderHelper::model ( ) const

Definition at line 144 of file model_builder_helper.cc.

◆ mutable_model()

MPModelProto * operations_research::mb::ModelBuilderHelper::mutable_model ( )

Definition at line 146 of file model_builder_helper.cc.

◆ name()

std::string operations_research::mb::ModelBuilderHelper::name ( ) const

Definition at line 445 of file model_builder_helper.cc.

◆ num_constraints()

int operations_research::mb::ModelBuilderHelper::num_constraints ( ) const

Definition at line 441 of file model_builder_helper.cc.

◆ num_variables()

int operations_research::mb::ModelBuilderHelper::num_variables ( ) const

Definition at line 439 of file model_builder_helper.cc.

◆ ObjectiveOffset()

double operations_research::mb::ModelBuilderHelper::ObjectiveOffset ( ) const

Definition at line 462 of file model_builder_helper.cc.

◆ OverwriteModel()

void operations_research::mb::ModelBuilderHelper::OverwriteModel ( const ModelBuilderHelper & other_helper)

ModelBuilderHelper.

Definition at line 62 of file model_builder_helper.cc.

◆ ReadModelFromProtoFile()

bool operations_research::mb::ModelBuilderHelper::ReadModelFromProtoFile ( const std::string & filename)

Definition at line 84 of file model_builder_helper.cc.

◆ SafeAddConstraintTerm()

void operations_research::mb::ModelBuilderHelper::SafeAddConstraintTerm ( int ct_index,
int var_index,
double coeff )

If we reach this point, the variable does not exist in the constraint yet, so we add it to the constraint as a new term.

Definition at line 223 of file model_builder_helper.cc.

◆ SafeAddEnforcedConstraintTerm()

void operations_research::mb::ModelBuilderHelper::SafeAddEnforcedConstraintTerm ( int ct_index,
int var_index,
double coeff )

If we reach this point, the variable does not exist in the constraint yet, so we add it to the constraint as a new term.

Definition at line 332 of file model_builder_helper.cc.

◆ SetConstraintCoefficient()

void operations_research::mb::ModelBuilderHelper::SetConstraintCoefficient ( int ct_index,
int var_index,
double coeff )

If we reach this point, the variable does not exist in the constraint yet, so we add it to the constraint as a newterm.

Definition at line 244 of file model_builder_helper.cc.

◆ SetConstraintLowerBound()

void operations_research::mb::ModelBuilderHelper::SetConstraintLowerBound ( int ct_index,
double lb )

Definition at line 201 of file model_builder_helper.cc.

◆ SetConstraintName()

void operations_research::mb::ModelBuilderHelper::SetConstraintName ( int ct_index,
const std::string & name )

Definition at line 239 of file model_builder_helper.cc.

◆ SetConstraintUpperBound()

void operations_research::mb::ModelBuilderHelper::SetConstraintUpperBound ( int ct_index,
double ub )

Definition at line 205 of file model_builder_helper.cc.

◆ SetEnforcedConstraintCoefficient()

void operations_research::mb::ModelBuilderHelper::SetEnforcedConstraintCoefficient ( int ct_index,
int var_index,
double coeff )

If we reach this point, the variable does not exist in the constraint yet, so we add it to the constraint as a new term.

Definition at line 357 of file model_builder_helper.cc.

◆ SetEnforcedConstraintLowerBound()

void operations_research::mb::ModelBuilderHelper::SetEnforcedConstraintLowerBound ( int ct_index,
double lb )

Definition at line 295 of file model_builder_helper.cc.

◆ SetEnforcedConstraintName()

void operations_research::mb::ModelBuilderHelper::SetEnforcedConstraintName ( int ct_index,
const std::string & name )

Definition at line 352 of file model_builder_helper.cc.

◆ SetEnforcedConstraintUpperBound()

void operations_research::mb::ModelBuilderHelper::SetEnforcedConstraintUpperBound ( int ct_index,
double ub )

Definition at line 304 of file model_builder_helper.cc.

◆ SetEnforcedIndicatorValue()

void operations_research::mb::ModelBuilderHelper::SetEnforcedIndicatorValue ( int ct_index,
bool positive )

Definition at line 383 of file model_builder_helper.cc.

◆ SetEnforcedIndicatorVariableIndex()

void operations_research::mb::ModelBuilderHelper::SetEnforcedIndicatorVariableIndex ( int ct_index,
int var_index )

Definition at line 376 of file model_builder_helper.cc.

◆ SetMaximize()

void operations_research::mb::ModelBuilderHelper::SetMaximize ( bool maximize)

Definition at line 458 of file model_builder_helper.cc.

◆ SetName()

void operations_research::mb::ModelBuilderHelper::SetName ( const std::string & name)

Definition at line 447 of file model_builder_helper.cc.

◆ SetObjectiveOffset()

void operations_research::mb::ModelBuilderHelper::SetObjectiveOffset ( double offset)

Definition at line 466 of file model_builder_helper.cc.

◆ SetVarIntegrality()

void operations_research::mb::ModelBuilderHelper::SetVarIntegrality ( int var_index,
bool is_integer )

Definition at line 162 of file model_builder_helper.cc.

◆ SetVarLowerBound()

void operations_research::mb::ModelBuilderHelper::SetVarLowerBound ( int var_index,
double lb )

Definition at line 154 of file model_builder_helper.cc.

◆ SetVarName()

void operations_research::mb::ModelBuilderHelper::SetVarName ( int var_index,
const std::string & name )

Definition at line 171 of file model_builder_helper.cc.

◆ SetVarObjectiveCoefficient()

void operations_research::mb::ModelBuilderHelper::SetVarObjectiveCoefficient ( int var_index,
double coeff )

Definition at line 166 of file model_builder_helper.cc.

◆ SetVarUpperBound()

void operations_research::mb::ModelBuilderHelper::SetVarUpperBound ( int var_index,
double ub )

Definition at line 158 of file model_builder_helper.cc.

◆ VarIsIntegral()

bool operations_research::mb::ModelBuilderHelper::VarIsIntegral ( int var_index) const

Definition at line 183 of file model_builder_helper.cc.

◆ VarLowerBound()

double operations_research::mb::ModelBuilderHelper::VarLowerBound ( int var_index) const

Definition at line 175 of file model_builder_helper.cc.

◆ VarName()

std::string operations_research::mb::ModelBuilderHelper::VarName ( int var_index) const

Definition at line 191 of file model_builder_helper.cc.

◆ VarObjectiveCoefficient()

double operations_research::mb::ModelBuilderHelper::VarObjectiveCoefficient ( int var_index) const

Definition at line 187 of file model_builder_helper.cc.

◆ VarUpperBound()

double operations_research::mb::ModelBuilderHelper::VarUpperBound ( int var_index) const

Definition at line 179 of file model_builder_helper.cc.

◆ WriteModelToProtoFile()

bool operations_research::mb::ModelBuilderHelper::WriteModelToProtoFile ( const std::string & filename)

Definition at line 98 of file model_builder_helper.cc.

◆ WriteToMpsFile()

bool operations_research::mb::ModelBuilderHelper::WriteToMpsFile ( const std::string & filename,
const operations_research::MPModelExportOptions & options = MPModelExportOptions() )

Definition at line 79 of file model_builder_helper.cc.


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