more customizable criteria
This commit is contained in:
parent
d88b7c0319
commit
a8e2a736ea
1 changed files with 24 additions and 2 deletions
26
main.py
26
main.py
|
|
@ -491,8 +491,30 @@ def solve(
|
|||
# m.AddMultiplicationEquality(obj, [prodEB, finalS])
|
||||
# m.Maximize(obj)
|
||||
|
||||
# Linear objective instead
|
||||
m.Maximize(finalE + finalB + finalS)
|
||||
# Linear objective instead (it sucks)
|
||||
# m.Maximize(finalE + finalB + finalS)
|
||||
|
||||
# New Product
|
||||
def Eprod(v):
|
||||
return v * v
|
||||
|
||||
def Bprod(v):
|
||||
return v
|
||||
|
||||
def Sprod(v):
|
||||
return v * v
|
||||
|
||||
prodEE = m.NewIntVar(0, Eprod(capE), "prodEE")
|
||||
m.AddMultiplicationEquality(prodEE, [finalE])
|
||||
prodSS = m.NewIntVar(0, Sprod(capS), "prodSS")
|
||||
m.AddMultiplicationEquality(prodSS, [finalS])
|
||||
prodBB = m.NewIntVar(0, Bprod(capB), "prodBB")
|
||||
m.AddMultiplicationEquality(prodBB, [finalB])
|
||||
prodEB = m.NewIntVar(0, Eprod(capE) * Bprod(capB), "prodEB")
|
||||
m.AddMultiplicationEquality(prodEB, [prodEE, prodBB])
|
||||
obj = m.NewIntVar(0, Eprod(capE) * Bprod(capB) * Sprod(capS), "obj")
|
||||
m.AddMultiplicationEquality(obj, [prodEB, prodSS])
|
||||
m.Maximize(obj)
|
||||
|
||||
# ---- Phase 2: solve the product to optimality ----
|
||||
solver = cp_model.CpSolver()
|
||||
|
|
|
|||
Loading…
Reference in a new issue