OR-Tools
9.1
cp_model_objective.h
Go to the documentation of this file.
1
// Copyright 2010-2021 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
#ifndef OR_TOOLS_SAT_CP_MODEL_OBJECTIVE_H_
15
#define OR_TOOLS_SAT_CP_MODEL_OBJECTIVE_H_
16
17
#include "
ortools/sat/cp_model.pb.h
"
18
19
namespace
operations_research
{
20
namespace
sat {
21
22
// If the objective contains more than one term, a new integer variable will be
23
// created and an equality constraint will be added to the model to force
24
// this new variable to be equal to the old linear combinaison defining the
25
// objective.
26
//
27
// If the objective contains only one term, we canonicalize it so that its
28
// coefficient is one. If there is no objecitve, this has no effect.
29
//
30
// The main raison to do that is that the objective can be preprocessed like
31
// any linear constraint before beeing "extracted" again.
32
//
33
// TODO(user): Add only a >= constraint? Not sure it is useful to do that before
34
// presolve, we can always do this optimization just before solving the model.
35
void
EncodeObjectiveAsSingleVariable
(CpModelProto* cp_model);
36
37
}
// namespace sat
38
}
// namespace operations_research
39
40
#endif
// OR_TOOLS_SAT_CP_MODEL_OBJECTIVE_H_
cp_model.pb.h
operations_research::sat::EncodeObjectiveAsSingleVariable
void EncodeObjectiveAsSingleVariable(CpModelProto *cp_model)
Definition:
cp_model_objective.cc:23
operations_research
Collection of objects used to extend the Constraint Solver library.
Definition:
dense_doubly_linked_list.h:21
ortools
sat
cp_model_objective.h
Generated by
1.9.2