bitten: add a couple tests
This commit is contained in:
parent
4c113eed15
commit
5b75e03b35
2 changed files with 60 additions and 0 deletions
46
bitten/test_b2.py
Normal file
46
bitten/test_b2.py
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
from bitten import *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
constraints, tol = (
|
||||||
|
lambda *p: 2.0 * p[0] + 2.0 * p[1] + p[9] + p[10] - 10.0,
|
||||||
|
lambda *p: 2.0 * p[0] + 2.0 * p[2] + p[9] + p[11] - 10.0,
|
||||||
|
lambda *p: 2.0 * p[1] + 2.0 * p[2] + p[10] + p[11] - 10.0,
|
||||||
|
lambda *p: -8.0 * p[0] + p[9],
|
||||||
|
lambda *p: -8.0 * p[1] + p[10],
|
||||||
|
lambda *p: -8.0 * p[2] + p[11],
|
||||||
|
lambda *p: -2.0 * p[3] - p[4] + p[9],
|
||||||
|
lambda *p: -2.0 * p[5] - p[6] + p[10],
|
||||||
|
lambda *p: -2.0 * p[7] - p[8] + p[11],
|
||||||
|
), 1e-15
|
||||||
|
|
||||||
|
|
||||||
|
@bite(Minimize(), Constrain(*constraints, tol=tol), _debug=True)
|
||||||
|
def fun(
|
||||||
|
p0=Bound(0.0, 1.0),
|
||||||
|
p1=Bound(0.0, 1.0),
|
||||||
|
p2=Bound(0.0, 1.0),
|
||||||
|
p3=Bound(0.0, 1.0),
|
||||||
|
p4=Bound(0.0, 1.0),
|
||||||
|
p5=Bound(0.0, 1.0),
|
||||||
|
p6=Bound(0.0, 1.0),
|
||||||
|
p7=Bound(0.0, 1.0),
|
||||||
|
p8=Bound(0.0, 1.0),
|
||||||
|
p9=Bound(0.0, 100.0),
|
||||||
|
pA=Bound(0.0, 100.0),
|
||||||
|
pB=Bound(0.0, 100.0),
|
||||||
|
pC=Bound(0.0, 1.0),
|
||||||
|
):
|
||||||
|
p = (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, pA, pB, pC)
|
||||||
|
s1, s2, s3 = 0.0, 0.0, 0.0
|
||||||
|
for i in range(4):
|
||||||
|
s1 += p[i]
|
||||||
|
s2 += np.square(p[i])
|
||||||
|
for i in range(4, 13):
|
||||||
|
s3 += p[i]
|
||||||
|
return 5.0 * s1 - 5.0 * s2 - s3
|
||||||
|
|
||||||
|
|
||||||
|
print("solution:", fun())
|
||||||
|
for k, v in fun.__optimized__.items():
|
||||||
|
print(f"{k:>4}: {v:.8f}")
|
14
bitten/test_e.py
Normal file
14
bitten/test_e.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
from bitten import *
|
||||||
|
|
||||||
|
@bite(Minimize(0), budget=1_000, _debug=True)
|
||||||
|
def nothing(x):
|
||||||
|
return 420.69
|
||||||
|
|
||||||
|
print("OPTIMIZED:", nothing.__optimized__, "RESULT:", nothing.__result__, sep="\n")
|
||||||
|
|
||||||
|
@bite(Minimize(1, 2), budget=1_000, _debug=True)
|
||||||
|
def nothing(a, b):
|
||||||
|
return a + b
|
||||||
|
|
||||||
|
print("OPTIMIZED:", nothing.__optimized__, "RESULT:", nothing.__result__, sep="\n")
|
Loading…
Reference in a new issue