14#ifndef ORTOOLS_SAT_PRESOLVE_ENCODING_H_
15#define ORTOOLS_SAT_PRESOLVE_ENCODING_H_
20#include "absl/container/flat_hash_map.h"
21#include "absl/container/flat_hash_set.h"
73 absl::flat_hash_map<int, Domain>* result,
bool* changed);
std::vector< VariableEncodingLocalModel > CreateVariableEncodingLocalModels(PresolveContext *context)
bool BasicPresolveAndGetFullyEncodedDomains(PresolveContext *context, VariableEncodingLocalModel &local_model, absl::flat_hash_map< int, Domain > *result, bool *changed)
bool MaybeTransferLinear1ToAnotherVariable(VariableEncodingLocalModel &local_model, PresolveContext *context)
bool DetectAllEncodedComplexDomain(PresolveContext *context, VariableEncodingLocalModel &local_model)
int single_constraint_using_the_var_outside_the_local_model
bool var_in_more_than_one_constraint_outside_the_local_model
int64_t variable_coeff_in_objective
absl::flat_hash_set< int > bools_only_used_inside_the_local_model
std::vector< int > linear1_constraints
std::vector< int > constraints_linking_two_encoding_booleans