| 1 |
""" |
|---|
| 2 |
Modifying of some solver default parameters is performed via |
|---|
| 3 |
either kwargs for p.solve() (they can be solver or prob attributes) |
|---|
| 4 |
or using oosolver (see examples/oosolver.py for more details). |
|---|
| 5 |
""" |
|---|
| 6 |
from numpy import * |
|---|
| 7 |
from openopt import * |
|---|
| 8 |
f = lambda x: (x[0]-1.5)**2 + sin(0.8 * x[1] ** 2 + 15)**4 + cos(0.8 * x[2] ** 2 + 15)**4 + (x[3]-7.5)**4 |
|---|
| 9 |
lb, ub = -ones(4), ones(4) |
|---|
| 10 |
|
|---|
| 11 |
# example 1 |
|---|
| 12 |
p = GLP(f, lb=lb, ub=ub, maxIter = 1e3, maxCPUTime = 3, maxFunEvals=1e5, fEnough = 80) |
|---|
| 13 |
# solve() kwargs can include some prob settings (like maxTime) as well |
|---|
| 14 |
r = p.solve('galileo', crossoverRate = 0.80, maxTime = 3, population = 15, mutationRate = 0.15) |
|---|
| 15 |
|
|---|
| 16 |
# example 2, via oosolver |
|---|
| 17 |
solvers = [oosolver('ralg', h0 = 0.80, alp = 2.15, show = False), oosolver('ralg', h0 = 0.15, alp = 2.80, color = 'k')] |
|---|
| 18 |
for i, solver in enumerate(solvers): |
|---|
| 19 |
p = NSP(f, [0]*4, lb=lb, ub=ub, legend='ralg'+str(i+1)) |
|---|
| 20 |
r = p.solve(solver, plot=True) |
|---|