From f1eead1596b0d2b5b85219709a530f589d3ec7c2 Mon Sep 17 00:00:00 2001 From: Sukrit Kalra Date: Sun, 31 Dec 2023 17:32:33 -0800 Subject: [PATCH] Change AllocationExpression to provide no utility. --- schedulers/tetrisched/src/Expression.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/schedulers/tetrisched/src/Expression.cpp b/schedulers/tetrisched/src/Expression.cpp index 883134a8..44c53b19 100644 --- a/schedulers/tetrisched/src/Expression.cpp +++ b/schedulers/tetrisched/src/Expression.cpp @@ -1402,10 +1402,16 @@ ParseResultPtr AllocationExpression::parse( parsedResult->type = ParseResultType::EXPRESSION_UTILITY; parsedResult->startTime = startTime; parsedResult->endTime = endTime; + + // Construct the Utility function for the Allocation expression. + // NOTE (Sukrit): We assign a utility of 0 here since AllocationExpression + // only adds constraints into the model and does not predicate the constraints + // on any indicator. As a result, the solver has nothing to minimize or + // maximize. parsedResult->utility = std::make_shared(ObjectiveType::OBJ_MAXIMIZE); - (parsedResult->utility).value()->addTerm(1); - (parsedResult->utility).value()->setUpperBound(1); + (parsedResult->utility).value()->addTerm(0); + (parsedResult->utility).value()->setUpperBound(0); parsedResult->indicator = 1; // Add the allocation variables to the CapacityConstraintMap.