From 00081fdb053323c6620b7bc4acd016ac990b8eb6 Mon Sep 17 00:00:00 2001 From: Laurent Perron Date: Wed, 21 Oct 2015 15:12:26 +0200 Subject: [PATCH] fix issue #44 (wrong url in comment) --- examples/csharp/organize_day.cs | 2 +- examples/csharp/organize_day_intervals.cs | 2 +- src/flatzinc/search.cc | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/examples/csharp/organize_day.cs b/examples/csharp/organize_day.cs index d569a0384c..f41c4647d5 100644 --- a/examples/csharp/organize_day.cs +++ b/examples/csharp/organize_day.cs @@ -46,7 +46,7 @@ public class OrganizeDay * * Problem formulation from ECLiPSe: * Slides on (Finite Domain) Constraint Logic Programming, page 38f - * http://eclipse-clp.org/reports/eclipse.ppt + * http://eclipseclp.org/reports/eclipse.ppt * * * Also see http://www.hakank.org/google_or_tools/organize_day.py diff --git a/examples/csharp/organize_day_intervals.cs b/examples/csharp/organize_day_intervals.cs index 22ffde43d5..35fa428042 100644 --- a/examples/csharp/organize_day_intervals.cs +++ b/examples/csharp/organize_day_intervals.cs @@ -29,7 +29,7 @@ public class OrganizeDay * * Problem formulation from ECLiPSe: * Slides on (Finite Domain) Constraint Logic Programming, page 38f - * http://eclipse-clp.org/reports/eclipse.ppt + * http://eclipseclp.org/reports/eclipse.ppt * * * Also see http://www.hakank.org/google_or_tools/organize_day.py diff --git a/src/flatzinc/search.cc b/src/flatzinc/search.cc index e2b4948432..dc84f0e77f 100644 --- a/src/flatzinc/search.cc +++ b/src/flatzinc/search.cc @@ -539,6 +539,15 @@ DecisionBuilder* FzSolver::CreateDecisionBuilders(const FzSolverParameters& p, // Add the objective decision builder. if (obj_db != nullptr) { builders.push_back(obj_db); + } else if (model_.objective() != nullptr) { + // The model contains an objective, but the obj_db was not built. + IntVar* const obj_var = Extract(model_.objective())->Var(); + obj_db = solver()->MakePhase(obj_var, Solver::CHOOSE_FIRST_UNBOUND, + model_.maximize() ? Solver::ASSIGN_MAX_VALUE + : Solver::ASSIGN_MIN_VALUE); + builders.push_back(obj_db); + FZVLOG << " - adding objective decision builder = " + << obj_db->DebugString() << FZENDL; } // Add completion decision builders to be more robust. AddCompletionDecisionBuilders(defined_variables, active_variables, limit,