diff --git a/app/services/loft_service.py b/app/services/loft_service.py index 62410e3..7608980 100644 --- a/app/services/loft_service.py +++ b/app/services/loft_service.py @@ -63,6 +63,9 @@ class LoftService(Base): # create problem problem = LpProblem("ata-form-generate", LpMinimize) + problem += lpSum([items[item.id] + for item in self.solver_run.items]) + # constraints problem += lpSum([items[item.id] for item in self.solver_run.items]) == self.solver_run.total_form_items, 'Total form items' @@ -72,21 +75,22 @@ class LoftService(Base): # multi-objective functions and constraints for target in self.solver_run.objective_function.tif_targets: - tif = lpSum([item.iif(self.solver_run, target.theta)*items[item.id] - for item in self.solver_run.items]) + # tif = lpSum([item.iif(self.solver_run, target.theta)*items[item.id] + # for item in self.solver_run.items]) problem += lpSum([item.iif(self.solver_run, target.theta)*items[item.id] for item in self.solver_run.items]) <= target.value, f'min tif theta ({target.theta}) target value {target.value}' - problem_objection_functions.append(tif) + # problem_objection_functions.append(tif) for target in self.solver_run.objective_function.tcc_targets: - tcc = lpSum([item.irf(self.solver_run, target.theta)*items[item.id] - for item in self.solver_run.items]) + # tcc = lpSum([item.irf(self.solver_run, target.theta)*items[item.id] + # for item in self.solver_run.items]) problem += lpSum([item.irf(self.solver_run, target.theta)*items[item.id] for item in self.solver_run.items]) <= target.value, f'min tcc theta ({target.theta}) target value {target.value}' - problem_objection_functions.append(tcc) + # problem_objection_functions.append(tcc) # solve problem - problem.sequentialSolve(problem_objection_functions) + # problem.sequentialSolve(problem_objection_functions) + problem.solve() # add return items and create as a form form_items = service_helper.solution_items(problem.variables(), self.solver_run)