linear objective sucks returning to multiplication
This commit is contained in:
parent
2db8ff63c7
commit
d88b7c0319
1 changed files with 11 additions and 6 deletions
17
main.py
17
main.py
|
|
@ -485,11 +485,14 @@ def solve(
|
||||||
# below. (finalE/finalB/finalS are the pools after step 5's gains.)
|
# below. (finalE/finalB/finalS are the pools after step 5's gains.)
|
||||||
# ======================================================================
|
# ======================================================================
|
||||||
## NOTE: product can be changed here
|
## NOTE: product can be changed here
|
||||||
prodEB = m.NewIntVar(0, capE * capB, "prodEB")
|
# prodEB = m.NewIntVar(0, capE * capB, "prodEB")
|
||||||
m.AddMultiplicationEquality(prodEB, [finalE, finalB])
|
# m.AddMultiplicationEquality(prodEB, [finalE, finalB])
|
||||||
obj = m.NewIntVar(0, capE * capB * capS, "obj")
|
# obj = m.NewIntVar(0, capE * capB * capS, "obj")
|
||||||
m.AddMultiplicationEquality(obj, [prodEB, finalS])
|
# m.AddMultiplicationEquality(obj, [prodEB, finalS])
|
||||||
m.Maximize(obj)
|
# m.Maximize(obj)
|
||||||
|
|
||||||
|
# Linear objective instead
|
||||||
|
m.Maximize(finalE + finalB + finalS)
|
||||||
|
|
||||||
# ---- Phase 2: solve the product to optimality ----
|
# ---- Phase 2: solve the product to optimality ----
|
||||||
solver = cp_model.CpSolver()
|
solver = cp_model.CpSolver()
|
||||||
|
|
@ -691,7 +694,9 @@ def _report(
|
||||||
)
|
)
|
||||||
|
|
||||||
fe, fb, fs = solver.Value(finalE), solver.Value(finalB), solver.Value(finalS)
|
fe, fb, fs = solver.Value(finalE), solver.Value(finalB), solver.Value(finalS)
|
||||||
print(f"\nFINAL E={fe} B={fb} S={fs} product = {fe * fb * fs}")
|
print(
|
||||||
|
f"\nFINAL E={fe} B={fb} S={fs} product = {fe * fb * fs} sum = {fe + fb + fs}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue