From b720dfa3527c068670ea0148e4700971dd277cb4 Mon Sep 17 00:00:00 2001 From: Joshua Burman <jburman@meazurelearning.com> Date: Wed, 9 Feb 2022 13:10:29 -0500 Subject: [PATCH] tighten up tif and tcc targets --- app/services/loft_service.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/services/loft_service.py b/app/services/loft_service.py index 2032ae9..4f20817 100644 --- a/app/services/loft_service.py +++ b/app/services/loft_service.py @@ -95,7 +95,7 @@ class LoftService(Base): return solution - def recursive_solve(self, items, bundles_amount, attempts = 1000) -> LpProblem: + def recursive_solve(self, items, bundles_amount, attempts = 5000) -> LpProblem: selected_bundles = solver_helper.get_random_bundles( self.solver_run.total_form_items, bundles_amount, @@ -127,15 +127,15 @@ class LoftService(Base): # multi-objective constraints for target in self.solver_run.objective_function.tif_targets: problem += lpSum([item.iif(self.solver_run, target.theta)*items[item.id] - for item in self.solver_run.items]) >= target.value - 8, f'max tif theta ({target.theta}) target value {target.value}' + for item in self.solver_run.items]) >= target.value - target.value * 0.2, f'max tif theta ({target.theta}) target value {target.value}' problem += lpSum([item.iif(self.solver_run, target.theta)*items[item.id] - for item in self.solver_run.items]) <= target.value + 8, f'min tif theta ({target.theta}) target value {target.value}' + for item in self.solver_run.items]) <= target.value + target.value * 0.2, f'min tif theta ({target.theta}) target value {target.value}' for target in self.solver_run.objective_function.tcc_targets: problem += lpSum([item.irf(self.solver_run, target.theta)*items[item.id] - for item in self.solver_run.items]) >= target.value - 20, f'max tcc theta ({target.theta}) target value {target.value}' + for item in self.solver_run.items]) >= target.value - target.value * 0.1, f'max tcc theta ({target.theta}) target value {target.value}' problem += lpSum([item.irf(self.solver_run, target.theta)*items[item.id] - for item in self.solver_run.items]) <= target.value + 20, f'min tcc theta ({target.theta}) target value {target.value}' + for item in self.solver_run.items]) <= target.value + target.value * 0.1, f'min tcc theta ({target.theta}) target value {target.value}' # solve problem problem.solve()