tighten up tif and tcc targets
This commit is contained in:
parent
52615ab663
commit
b720dfa352
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user