diff --git a/alica_engine/src/engine/RuleBook.cpp b/alica_engine/src/engine/RuleBook.cpp index d9d9aa990..f1baf5b0b 100644 --- a/alica_engine/src/engine/RuleBook.cpp +++ b/alica_engine/src/engine/RuleBook.cpp @@ -157,6 +157,13 @@ PlanChange RuleBook::dynamicAllocationRule(RunningPlan& r) if (!r.getCycleManagement().mayDoUtilityCheck()) { return PlanChange::NoChange; } + + const Plan* p = static_cast(r.getActivePlan()); + + if (!p || p->getUtilityThreshold() < 0.) { + return PlanChange::NoChange; + } + const RunningPlan* parent = r.getParent(); AgentGrp robots; @@ -167,7 +174,6 @@ PlanChange RuleBook::dynamicAllocationRule(RunningPlan& r) if (newr == nullptr) { return PlanChange::NoChange; } - const Plan* p = static_cast(r.getActivePlan()); double possibleUtil = newr->getAssignment().getLastUtilityValue(); diff --git a/supplementary/alica_ros1/alica_ros_turtlesim/etc/plans/Simulation.pml b/supplementary/alica_ros1/alica_ros_turtlesim/etc/plans/Simulation.pml index d04fe33ef..c96330015 100644 --- a/supplementary/alica_ros1/alica_ros_turtlesim/etc/plans/Simulation.pml +++ b/supplementary/alica_ros1/alica_ros_turtlesim/etc/plans/Simulation.pml @@ -291,6 +291,6 @@ "synchronisation": null } ], - "utilityThreshold": 0.0, + "utilityThreshold": -1.0, "variables": [] }