tighter tif and tcc

This commit is contained in:
Joshua Burman 2022-02-09 23:24:51 -05:00
parent 24168f6bbb
commit 7031c03fde
2 changed files with 5 additions and 4 deletions

View File

@ -1,5 +1,6 @@
from pulp import lpSum, LpProblem
from random import randint, sample
import logging
from models.bundle import Bundle

View File

@ -93,15 +93,15 @@ class LoftService(Base):
logging.info('Creating TIF and TCC 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.15, 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.15, 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.2, 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.2, f'min tcc theta ({target.theta}) target value {target.value}'
# solve problem
logging.info('Solving...')