OR-Tools
9.6
sos2_constraint.cc
Go to the documentation of this file.
1
// Copyright 2010-2022 Google LLC
2
// Licensed under the Apache License, Version 2.0 (the "License");
3
// you may not use this file except in compliance with the License.
4
// You may obtain a copy of the License at
5
//
6
// http://www.apache.org/licenses/LICENSE-2.0
7
//
8
// Unless required by applicable law or agreed to in writing, software
9
// distributed under the License is distributed on an "AS IS" BASIS,
10
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
// See the License for the specific language governing permissions and
12
// limitations under the License.
13
14
#include "
ortools/math_opt/constraints/sos/sos2_constraint.h
"
15
16
#include "
ortools/base/strong_int.h
"
17
#include "
ortools/math_opt/cpp/variable_and_expressions.h
"
18
#include "
ortools/math_opt/storage/model_storage.h
"
19
20
namespace
operations_research::math_opt
{
21
22
LinearExpression
Sos2Constraint::Expression
(
int
index
)
const
{
23
const
Sos2ConstraintData::LinearExpression
storage_expr =
24
storage_->
constraint_data
(id_).expression(
index
);
25
LinearExpression
out_expr = storage_expr.
offset
;
26
for
(
const
auto
[var_id, coeff] : storage_expr.
terms
) {
27
out_expr += coeff *
Variable
(storage_, var_id);
28
}
29
return
out_expr;
30
}
31
32
}
// namespace operations_research::math_opt
operations_research::math_opt::LinearExpression
Definition:
variable_and_expressions.h:200
operations_research::math_opt::ModelStorage::constraint_data
const AtomicConstraintTraits< IdType >::ConstraintData & constraint_data(IdType id) const
Definition:
model_storage.h:942
operations_research::math_opt::Sos2Constraint::Expression
LinearExpression Expression(int index) const
Definition:
sos2_constraint.cc:22
operations_research::math_opt::Variable
Definition:
variable_and_expressions.h:122
index
int index
Definition:
local_search.cc:2724
model_storage.h
operations_research::math_opt
Definition:
indicator_constraint.cc:26
sos2_constraint.h
strong_int.h
operations_research::math_opt::internal::SosConstraintData::LinearExpression
Definition:
sos/storage.h:54
operations_research::math_opt::internal::SosConstraintData::LinearExpression::offset
double offset
Definition:
sos/storage.h:56
operations_research::math_opt::internal::SosConstraintData::LinearExpression::terms
absl::flat_hash_map< VariableId, double > terms
Definition:
sos/storage.h:55
variable_and_expressions.h
ortools
math_opt
constraints
sos
sos2_constraint.cc
Generated by
1.9.1