Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::math_opt::ModelSolveParameters::ObjectiveParameters Struct Reference

Parameters for an individual objective in a multi-objective model. More...

#include <model_solve_parameters.h>

Public Member Functions

absl::StatusOr< ObjectiveParametersProto > Proto () const
 Returns the proto equivalent of this object.
 

Static Public Member Functions

static absl::StatusOr< ObjectiveParametersFromProto (const ObjectiveParametersProto &proto)
 

Public Attributes

std::optional< double > objective_degradation_absolute_tolerance
 
std::optional< double > objective_degradation_relative_tolerance
 
absl::Duration time_limit = absl::InfiniteDuration()
 

Detailed Description

Parameters for an individual objective in a multi-objective model.

Definition at line 157 of file model_solve_parameters.h.

Member Function Documentation

◆ FromProto()

absl::StatusOr< ModelSolveParameters::ObjectiveParameters > operations_research::math_opt::ModelSolveParameters::ObjectiveParameters::FromProto ( const ObjectiveParametersProto & proto)
static

Definition at line 162 of file model_solve_parameters.cc.

◆ Proto()

absl::StatusOr< ObjectiveParametersProto > operations_research::math_opt::ModelSolveParameters::ObjectiveParameters::Proto ( ) const

Returns the proto equivalent of this object.

Definition at line 144 of file model_solve_parameters.cc.

Member Data Documentation

◆ objective_degradation_absolute_tolerance

std::optional<double> operations_research::math_opt::ModelSolveParameters::ObjectiveParameters::objective_degradation_absolute_tolerance

Optional objective degradation absolute tolerance. For a hierarchical multi-objective solver, each objective fⁱ is processed in priority order: the solver determines the optimal objective value Γⁱ, if it exists, subject to all constraints in the model and the additional constraints that fᵏ(x) = Γᵏ (within tolerances) for each k < i. If set, a solution is considered to be "within tolerances" for this objective fᵏ if |fᵏ(x) - Γᵏ| ≤ objective_degradation_absolute_tolerance.

See also objective_degradation_relative_tolerance; if both parameters are set for a given objective, the solver need only satisfy one to be considered "within tolerances".

If set, must be nonnegative.

Definition at line 171 of file model_solve_parameters.h.

◆ objective_degradation_relative_tolerance

std::optional<double> operations_research::math_opt::ModelSolveParameters::ObjectiveParameters::objective_degradation_relative_tolerance

Optional objective degradation relative tolerance. For a hierarchical multi-objective solver, each objective fⁱ is processed in priority order: the solver determines the optimal objective value Γⁱ, if it exists, subject to all constraints in the model and the additional constraints that fᵏ(x) = Γᵏ (within tolerances) for each k < i. If set, a solution is considered to be "within tolerances" for this objective fᵏ if |fᵏ(x) - Γᵏ| ≤ objective_degradation_relative_tolerance * Γᵏ.

See also objective_degradation_absolute_tolerance; if both parameters are set for a given objective, the solver need only satisfy one to be considered "within tolerances".

If set, must be nonnegative.

Definition at line 186 of file model_solve_parameters.h.

◆ time_limit

absl::Duration operations_research::math_opt::ModelSolveParameters::ObjectiveParameters::time_limit = absl::InfiniteDuration()

Maximum time a solver should spend on optimizing this particular objective (or infinite if not set).

Note
this does not supersede the global time limit in SolveParametersProto.time_limit; both will be enforced when set.

This value is not a hard limit, solve time may slightly exceed this value.

Definition at line 196 of file model_solve_parameters.h.


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