Exemple #1
0
solvers = ['ralg', 'amsg2p']
solvers = ['gsubg']

Colors = ['r', 'k','b']
xOpt = 1.0/n

def cb(p):
    tmp = ceil(log10(norm(xOpt - p.xk)))
    if tmp < cb.TMP:
#        print 'distance:', tmp, 'itn:', p.iter, 'n_func:', p.nEvals['f'], 'n_grad:', -p.nEvals['df']
        cb.TMP = tmp
        cb.stat['dist'].append(tmp)
        cb.stat['f'].append(p.nEvals['f'])
        cb.stat['df'].append(-p.nEvals['df'])
    return False
asa = lambda x:asarray(x).reshape(-1, 1)

R = {}
lines = []
for i, solver in enumerate(solvers):
    p = NSP(obj, startPoint, maxIter = 4700, name = 'Rzhevsky3 (nVars: ' + str(n)+')', maxTime = 30000, maxFunEvals=1e7, color = Colors[i])
    #p.maxIter = 10#; p.useSparse = False
    p.fEnough = 1.0e-5
    p.fOpt = 1.0e-5
    p.fTol = 0.5e-5
    cb.TMP = 1000
    cb.stat = {'dist':[], 'f':[], 'df':[]}
    r = p.manage(solver, iprint=1, xtol = 1e-10, ftol = 1e-10, show = solver == solvers[-1], plot = 0, callback = cb)
    R[solver] = hstack((asa(cb.stat['dist']), asa(cb.stat['f']), asa(cb.stat['df'])))
Exemple #2
0

asa = lambda x: asarray(x).reshape(-1, 1)

Colors = ['r', 'k', 'b']
R = {}
for i, solver in enumerate(solvers):
    p = NSP(obj,
            startPoint,
            maxIter=1700,
            name='Rzhevsky4 (nVars: ' + str(n) + ')',
            maxTime=300,
            maxFunEvals=1e7,
            color=Colors[i])
    p.fTol = 0.5e-20
    p.fOpt = 0.0
    cb.TMP = 1000
    cb.stat = {'dist': [], 'f': [], 'df': []}
    r = p.solve(solver,
                iprint=10,
                xtol=1e-20,
                ftol=1e-20,
                debug=0,
                show=solver == solvers[-1],
                plot=0,
                callback=cb)
    R[solver] = hstack(
        (asa(cb.stat['dist']), asa(cb.stat['f']), asa(cb.stat['df'])))
'''
--------------------------------------------------
solver: gsubg   problem: rjevsky3 (nVars: 10)    type: NSP   goal: minimum
Exemple #3
0
    return False


asa = lambda x: asarray(x).reshape(-1, 1)
R = {}
for i, solver in enumerate(solvers):
    p = NSP(obj,
            startPoint,
            maxIter=17000,
            name='Rzhevsky1 (nVars: ' + str(n) + ')',
            maxTime=300,
            maxFunEvals=1e7,
            color=Colors[i])
    p.fTol = 0.5e-10
    p.fEnough = -0.84140833459
    p.fOpt = -0.841408334596
    cb.TMP = 1000
    cb.stat = {'dist': [], 'f': [], 'df': []}
    r = p.solve(solver,
                iprint=10,
                ftol=1e-15,
                xtol=1e-10,
                debug=0,
                show=solver == solvers[-1],
                plot=0,
                callback=cb)
    R[solver] = hstack(
        (asa(cb.stat['dist']), asa(cb.stat['f']), asa(cb.stat['df'])))
'''
--------------------------------------------------
solver: gsubg   problem: rjevsky1 (nVars: 10)    type: NSP   goal: minimum
Exemple #4
0
        cb.TMP = tmp
        cb.stat['dist'].append(tmp)
        cb.stat['f'].append(p.nEvals['f'])
        cb.stat['df'].append(-p.nEvals['df'])
    return False
asa = lambda x:asarray(x).reshape(-1, 1)
Colors = ['r', 'k','b']
lines = []
R = {}

for i, solver in enumerate(solvers):
    p = NSP(obj, startPoint, fixedVars=(x[0], x[-1]), maxTime = 20, name = 'Rzhevsky7 (nVars: ' + str(n)+')', maxFunEvals=1e7, color = Colors[i])
    p._prepare()
    p.c=None
    #p.fEnough = 2.08983385058799+4e-10
    p.fOpt = obj(T_optPoint)
    p.fTol = 0.5e-15
    cb.TMP = 1000
    cb.stat = {'dist':[], 'f':[], 'df':[]}
    r = p.solve(solver, iprint=10, xtol = 1e-10, ftol = 1e-16, gtol = 1e-10, debug=0, show = solver == solvers[-1], plot = 0, callback = cb)
    print('objective evals: %d   gradient evals: %d ' % (r.evals['f'],r.evals['df']))
    print('distance to f*: %0.1e' % (r.ff-p.fOpt))
    print('distance to x*: %0.1e' % (norm(asarray(X) - hstack((X[0], p.xk, X[-1])))))
    R[solver] = hstack((asa(cb.stat['dist']), asa(cb.stat['f']), asa(cb.stat['df'])))
'''
--------------------------------------------------
solver: gsubg   problem: rjevsky6 (nVars: 30)    type: NSP   goal: minimum
 iter    objFunVal    log10(MaxResidual/ConTol)   
    0  2.954e+01                   -100.00 
OpenOpt Warning: Handling of constraints is not implemented properly for the solver gsubg yet
   10  4.002e+00                   -100.00 
Exemple #5
0
def cb(p):
    tmp = ceil(log10(norm(xOpt - p.xk)))
    if tmp < cb.TMP:
#        print 'distance:', tmp, 'itn:', p.iter, 'n_func:', p.nEvals['f'], 'n_grad:', -p.nEvals['df']
        cb.TMP = tmp
        cb.stat['dist'].append(tmp)
        cb.stat['f'].append(p.nEvals['f'])
        cb.stat['df'].append(-p.nEvals['df'])
    return False
asa = lambda x:asarray(x).reshape(-1, 1)
R = {}
for i, solver in enumerate(solvers):
    p = NSP(obj, startPoint, maxIter = 17000, name = 'Rzhevsky1 (nVars: ' + str(n)+')', maxTime = 300, maxFunEvals=1e7, color = Colors[i])
    p.fTol = 0.5e-10
    p.fEnough = -0.84140833459
    p.fOpt = -0.841408334596
    cb.TMP = 1000
    cb.stat = {'dist':[], 'f':[], 'df':[]}
    r = p.solve(solver, iprint=10, ftol = 1e-15, xtol = 1e-10, debug=0, show = solver == solvers[-1], plot = 0, callback=cb)
    R[solver] = hstack((asa(cb.stat['dist']), asa(cb.stat['f']), asa(cb.stat['df'])))

'''
--------------------------------------------------
solver: gsubg   problem: rjevsky1 (nVars: 10)    type: NSP   goal: minimum
 iter    objFunVal   
    0  1.573e+02 
   10  -7.780e-01 
   20  -8.410e-01 
   30  -8.410e-01 
   40  -8.410e-01 
   50  -8.412e-01 
Exemple #6
0
#        print 'distance:', tmp, 'itn:', p.iter, 'n_func:', p.nEvals['f'], 'n_grad:', -p.nEvals['df']
        cb.TMP = tmp
        cb.stat['dist'].append(tmp)
        cb.stat['f'].append(p.nEvals['f'])
        cb.stat['df'].append(-p.nEvals['df'])
    return False
asa = lambda x:asarray(x).reshape(-1, 1)



Colors = ['r', 'k','b']
R = {}
for i, solver in enumerate(solvers):
    p = NSP(obj, startPoint, maxIter = 1700, name = 'Rzhevsky4 (nVars: ' + str(n)+')', maxTime = 300, maxFunEvals=1e7, color = Colors[i])
    p.fTol = 0.5e-20
    p.fOpt = 0.0
    cb.TMP = 1000
    cb.stat = {'dist':[], 'f':[], 'df':[]}
    r = p.solve(solver, iprint=10, xtol = 1e-20, ftol = 1e-20, debug=0, show = solver == solvers[-1], plot = 0, callback = cb)
    R[solver] = hstack((asa(cb.stat['dist']), asa(cb.stat['f']), asa(cb.stat['df'])))
'''
--------------------------------------------------
solver: gsubg   problem: rjevsky3 (nVars: 10)    type: NSP   goal: minimum
 iter    objFunVal   
    0  9.789e-01 
   10  5.155e-03 
   12  2.168e-03 
istop: 16 (optimal solution wrt required fTol has been obtained)
Solver:   Time Elapsed = 1.1 	CPU Time Elapsed = 1.1
objFunValue: 0.002167903
'''
Exemple #7
0
lines = []
R = {}
for i, solver in enumerate(solvers):
    p = NSP(
        obj,
        startPoint,
        maxIter=1700,
        name="Rzhevsky5 (nVars: " + str(n) + ")",
        maxTime=300,
        maxFunEvals=1e7,
        color=Colors[i],
    )
    p.fTol = 0.5e-10
    cb.TMP = 1000
    cb.stat = {"dist": [], "f": [], "df": []}
    p.fOpt = -34.408608965509742
    p.maxTime = 30
    r = p.solve(solver, iprint=1, xtol=1e-15, ftol=1e-15, gtol=1e-15, show=solver == solvers[-1], plot=0, callback=cb)
    R[solver] = hstack((asa(cb.stat["dist"]), asa(cb.stat["f"]), asa(cb.stat["df"])))

"""
solver: gsubg   problem: rjevsky5 (nVars: 50)    type: NSP   goal: minimum
 iter    objFunVal   
    0  -2.241e+00 
    1  -3.056e+01 
    2  -3.387e+01 
    3  -3.427e+01 
    4  -3.434e+01 
    5  -3.436e+01 
    6  -3.439e+01 
    7  -3.439e+01 
Exemple #8
0
asa = lambda x: asarray(x).reshape(-1, 1)

lines = []
R = {}
for i, solver in enumerate(solvers):
    p = NSP(obj,
            startPoint,
            maxIter=1700,
            name='Rzhevsky5 (nVars: ' + str(n) + ')',
            maxTime=300,
            maxFunEvals=1e7,
            color=Colors[i])
    p.fTol = 0.5e-10
    cb.TMP = 1000
    cb.stat = {'dist': [], 'f': [], 'df': []}
    p.fOpt = -34.408608965509742
    p.maxTime = 30
    r = p.solve(solver,
                iprint=1,
                xtol=1e-15,
                ftol=1e-15,
                gtol=1e-15,
                show=solver == solvers[-1],
                plot=0,
                callback=cb)
    R[solver] = hstack(
        (asa(cb.stat['dist']), asa(cb.stat['f']), asa(cb.stat['df'])))
'''
solver: gsubg   problem: rjevsky5 (nVars: 50)    type: NSP   goal: minimum
 iter    objFunVal   
    0  -2.241e+00 
Exemple #9
0
Colors = ['r', 'k', 'b']
lines = []
R = {}

for i, solver in enumerate(solvers):
    p = NSP(obj,
            startPoint,
            fixedVars=(x[0], x[-1]),
            maxTime=20,
            name='Rzhevsky7 (nVars: ' + str(n) + ')',
            maxFunEvals=1e7,
            color=Colors[i])
    p._prepare()
    p.c = None
    #p.fEnough = 2.08983385058799+4e-10
    p.fOpt = obj(T_optPoint)
    p.fTol = 0.5e-15
    cb.TMP = 1000
    cb.stat = {'dist': [], 'f': [], 'df': []}
    r = p.solve(solver,
                iprint=10,
                xtol=1e-10,
                ftol=1e-16,
                gtol=1e-10,
                debug=0,
                show=solver == solvers[-1],
                plot=0,
                callback=cb)
    print('objective evals: %d   gradient evals: %d ' %
          (r.evals['f'], r.evals['df']))
    print('distance to f*: %0.1e' % (r.ff - p.fOpt))