small updates after sync with internal code

This commit is contained in:
lperron@google.com
2011-09-17 13:34:27 +00:00
parent dcb0f8c2ff
commit 017a9d75f0
6 changed files with 33 additions and 35 deletions

View File

@@ -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);
}
}
}

View File

@@ -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;

View File

@@ -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) {

View File

@@ -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.

View File

@@ -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:

View File

@@ -105,6 +105,7 @@ template<> size_t hash_value<operations_research::RoutingModel::NodeIndex>(
#endif // _MSC_VER
namespace operations_research {
// Cached callbacks
class RoutingCache {