small updates after sync with internal code
This commit is contained in:
@@ -75,16 +75,15 @@ extern void DemonMonitorStartInitialPropagation(
|
||||
DemonMonitor* const monitor, const Constraint* const constraint);
|
||||
extern void DemonMonitorEndInitialPropagation(
|
||||
DemonMonitor* const monitor, const Constraint* const constraint);
|
||||
void DemonMonitorStartInitialDelayedPropagation(
|
||||
DemonMonitor* const monitor,
|
||||
const Constraint* const constraint,
|
||||
const Constraint* const delayed);
|
||||
void DemonMonitorEndInitialDelayedPropagation(
|
||||
DemonMonitor* const monitor,
|
||||
const Constraint* const constraint,
|
||||
const Constraint* const delayed);
|
||||
|
||||
extern void DemonMonitorRestartSearch(DemonMonitor* const monitor);
|
||||
extern void DemonMonitorStartInitialNestedPropagation(
|
||||
DemonMonitor* const monitor,
|
||||
const Constraint* const parent,
|
||||
const Constraint* const nested);
|
||||
void DemonMonitorEndInitialNestedPropagation(DemonMonitor* const monitor,
|
||||
const Constraint* const parent,
|
||||
const Constraint* const nested);
|
||||
|
||||
|
||||
bool Solver::Profile() const {
|
||||
return parameters_.profile_level != SolverParameters::NO_PROFILING ||
|
||||
@@ -1700,21 +1699,21 @@ void Solver::ProcessConstraints() {
|
||||
for (int additional_constraint_index_ = 0;
|
||||
additional_constraint_index_ < additional_constraints_list_.size();
|
||||
++additional_constraint_index_) {
|
||||
Constraint* const constraint =
|
||||
Constraint* const nested =
|
||||
additional_constraints_list_[additional_constraint_index_];
|
||||
const int parent_index =
|
||||
additional_constraints_parent_list_[additional_constraint_index_];
|
||||
Constraint* const parent = constraints_list_[parent_index];
|
||||
if (profile) {
|
||||
DemonMonitorStartInitialDelayedPropagation(demon_monitor_,
|
||||
parent,
|
||||
constraint);
|
||||
DemonMonitorStartInitialNestedPropagation(demon_monitor_,
|
||||
parent,
|
||||
nested);
|
||||
}
|
||||
constraint->PostAndPropagate();
|
||||
nested->PostAndPropagate();
|
||||
if (profile) {
|
||||
DemonMonitorEndInitialDelayedPropagation(demon_monitor_,
|
||||
parent,
|
||||
constraint);
|
||||
DemonMonitorEndInitialNestedPropagation(demon_monitor_,
|
||||
parent,
|
||||
nested);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -884,11 +884,11 @@ namespace operations_research {
|
||||
|
||||
%extend Solver {
|
||||
static void SetPythonFlags(bool trace_demon,
|
||||
bool print_model,
|
||||
bool model_stats,
|
||||
string export_file,
|
||||
bool no_solve,
|
||||
string profile_file) {
|
||||
bool print_model,
|
||||
bool model_stats,
|
||||
string export_file,
|
||||
bool no_solve,
|
||||
string profile_file) {
|
||||
FLAGS_cp_trace_demons = trace_demon;
|
||||
FLAGS_cp_print_model = print_model;
|
||||
FLAGS_cp_model_stats = model_stats;
|
||||
|
||||
@@ -68,8 +68,8 @@ return WallTimer::GetTimeInMicroSeconds() - start_time_;
|
||||
active_constraint_ = NULL;
|
||||
}
|
||||
|
||||
void StartInitialDelayedPropagation(const Constraint* const constraint,
|
||||
const Constraint* const delayed) {
|
||||
void StartInitialNestedPropagation(const Constraint* const constraint,
|
||||
const Constraint* const delayed) {
|
||||
CHECK(active_constraint_ == NULL);
|
||||
CHECK(active_demon_ == NULL);
|
||||
CHECK_NOTNULL(constraint);
|
||||
@@ -79,8 +79,8 @@ return WallTimer::GetTimeInMicroSeconds() - start_time_;
|
||||
active_constraint_ = constraint;
|
||||
}
|
||||
|
||||
void EndInitialDelayedPropagation(const Constraint* const constraint,
|
||||
const Constraint* const delayed) {
|
||||
void EndInitialNestedPropagation(const Constraint* const constraint,
|
||||
const Constraint* const delayed) {
|
||||
CHECK_NOTNULL(active_constraint_);
|
||||
CHECK(active_demon_ == NULL);
|
||||
CHECK_NOTNULL(constraint);
|
||||
@@ -420,18 +420,18 @@ void DemonMonitorEndInitialPropagation(DemonMonitor* const monitor,
|
||||
monitor->EndInitialPropagation(constraint);
|
||||
}
|
||||
|
||||
void DemonMonitorStartInitialDelayedPropagation(
|
||||
void DemonMonitorStartInitialNestedPropagation(
|
||||
DemonMonitor* const monitor,
|
||||
const Constraint* const constraint,
|
||||
const Constraint* const delayed) {
|
||||
monitor->StartInitialDelayedPropagation(constraint, delayed);
|
||||
monitor->StartInitialNestedPropagation(constraint, delayed);
|
||||
}
|
||||
|
||||
void DemonMonitorEndInitialDelayedPropagation(
|
||||
void DemonMonitorEndInitialNestedPropagation(
|
||||
DemonMonitor* const monitor,
|
||||
const Constraint* const constraint,
|
||||
const Constraint* const delayed) {
|
||||
monitor->EndInitialDelayedPropagation(constraint, delayed);
|
||||
monitor->EndInitialNestedPropagation(constraint, delayed);
|
||||
}
|
||||
|
||||
void DemonMonitorRestartSearch(DemonMonitor* const monitor) {
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace {
|
||||
// previously created expressions.
|
||||
class FirstPassVisitor : public ModelVisitor {
|
||||
public:
|
||||
FirstPassVisitor() {}
|
||||
FirstPassVisitor() {} // Needed for Visual Studio.
|
||||
virtual ~FirstPassVisitor() {}
|
||||
|
||||
// Begin/End visit element.
|
||||
|
||||
@@ -569,16 +569,14 @@ class DimensionLessThanConstant : public Dimension {
|
||||
virtual void EndPropagate() {}
|
||||
|
||||
virtual void Accept(ModelVisitor* const visitor) const {
|
||||
visitor->BeginVisitExtension(
|
||||
ModelVisitor::kUsageLessConstantExtension);
|
||||
visitor->BeginVisitExtension(ModelVisitor::kUsageLessConstantExtension);
|
||||
visitor->VisitIntegerArrayArgument(ModelVisitor::kCoefficientsArgument,
|
||||
weights_,
|
||||
vars_count_);
|
||||
visitor->VisitIntegerArrayArgument(ModelVisitor::kValuesArgument,
|
||||
upper_bounds_,
|
||||
bins_count_);
|
||||
visitor->EndVisitExtension(
|
||||
ModelVisitor::kUsageLessConstantExtension);
|
||||
visitor->EndVisitExtension(ModelVisitor::kUsageLessConstantExtension);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -105,6 +105,7 @@ template<> size_t hash_value<operations_research::RoutingModel::NodeIndex>(
|
||||
#endif // _MSC_VER
|
||||
|
||||
namespace operations_research {
|
||||
|
||||
// Cached callbacks
|
||||
|
||||
class RoutingCache {
|
||||
|
||||
Reference in New Issue
Block a user