Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
cp_model_fz_solver.h
Go to the documentation of this file.
1// Copyright 2010-2025 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_FLATZINC_CP_MODEL_FZ_SOLVER_H_
15#define OR_TOOLS_FLATZINC_CP_MODEL_FZ_SOLVER_H_
16
17#include <string>
18
21
22namespace operations_research {
23namespace fz {
24
28 bool use_free_search = false;
29 bool log_search_progress = false;
30 bool display_statistics = false;
31 int random_seed = 0;
33 double max_time_in_seconds = 0.0;
34 bool ortools_mode = false;
35};
36
37} // namespace fz
38
39namespace sat {
40
41// Scan the model to replace all int2float to int_eq, and all floating point
42// variables used in these int2float constraint to be integral.
43//
44// Scan the model to find a floating point objective (defined by a single
45// floating point variable and a single float_lin_eq constraint defining it),
46// and replace them by a single objective with integer variables and floating
47// point weights.
49
50// Solves the given flatzinc model using the CP-SAT solver.
51void SolveFzWithCpModelProto(const fz::Model& model,
53 const std::string& sat_params,
54 SolverLogger* logger,
55 SolverLogger* solution_logger);
56
57} // namespace sat
58} // namespace operations_research
59
60#endif // OR_TOOLS_FLATZINC_CP_MODEL_FZ_SOLVER_H_
void SolveFzWithCpModelProto(const fz::Model &fz_model, const fz::FlatzincSatParameters &p, const std::string &sat_params, SolverLogger *logger, SolverLogger *solution_logger)
Solves the given flatzinc model using the CP-SAT solver.
void ProcessFloatingPointOVariablesAndObjective(fz::Model *fz_model)
In SWIG mode, we don't want anything besides these top-level includes.