Пример #1
0
#        p.gtol = 1e-8
#        p.ftol = 1e-7
#        p.xtol = 1e-7
    elif solver == 'lincher':
        #p.iprint = 1
        p.maxTime = 1e15
        p.maxIter = 100

##    p.check.df = 1
##    p.check.dc = 1
##    p.check.dh = 1
    r = p.solve(solver)
    for fn in ('h', 'c'):
        if not r.evals.has_key(fn):
            r.evals[fn] = 0  # if no c or h are used in problem
    results[solver] = (r.ff, p.getMaxResidual(r.xf), r.elapsed['solver_time'],
                       r.elapsed['solver_cputime'], r.evals['f'], r.evals['c'],
                       r.evals['h'])
    subplot(2, 1, 1)
    F0 = asscalar(p.f(p.x0))
    lines.append(plot([0, 1e-15], [F0, F0], color=colors[j]))

for i in range(2):
    subplot(2, 1, i + 1)
    legend(lines, solvers)

subplots_adjust(bottom=0.2, hspace=0.3)

xl = [
    'Solver                              f_opt     MaxConstr   Time   CPUTime  fEvals  cEvals  hEvals'
]
Пример #2
0
    if solver == "algencan":
        p.gtol = 1e-2
    elif solver == "ralg":
        pass
        # p.debug = 1

    # p.debug = 1

    r = p.solve(solver)
    for fn in ("h", "c"):
        if not r.evals.has_key(fn):
            r.evals[fn] = 0  # if no c or h are used in problem
    results[solver] = (
        r.ff,
        p.getMaxResidual(p.xk),
        r.elapsed["solver_time"],
        r.elapsed["solver_cputime"],
        r.evals["f"],
        r.evals["c"],
        r.evals["h"],
    )
    if PLOT:
        subplot(2, 1, 1)
        F0 = ff(startPoint)
        lines.append(plot([0, 1e-15], [F0, F0], color=colors[j]))

if PLOT:
    for i in range(2):
        subplot(2, 1, i + 1)
        legend(lines, solvers)
Пример #3
0
    if solver == "algencan":
        p.gtol = 1e-2
    elif solver == "ralg":
        pass
        # p.debug = 1

    p.debug = 1

    r = p.solve(solver)
    for fn in ("h", "c"):
        if not r.evals.has_key(fn):
            r.evals[fn] = 0  # if no c or h are used in problem
    results[solver] = (
        r.ff,
        p.getMaxResidual(r.xf),
        r.elapsed["solver_time"],
        r.elapsed["solver_cputime"],
        r.evals["f"],
        r.evals["c"],
        r.evals["h"],
    )
    if PLOT:
        subplot(2, 1, 1)
        F0 = asscalar(p.f(p.x0))
        lines.append(plot([0, 1e-15], [F0, F0], color=colors[j]))

if PLOT:
    for i in range(2):
        subplot(2, 1, i + 1)
        legend(lines, solvers)
Пример #4
0
    #print h1.D(startPoint)
    #print h2.D(startPoint)
    #continue
    
    if solver =='algencan':
        p.gtol = 1e-2
    elif solver == 'ralg':
        pass
        #p.debug = 1
    
    #p.debug = 1
    
    r = p.solve(solver)
    for fn in ('h','c'):
        if not r.evals.has_key(fn): r.evals[fn]=0 # if no c or h are used in problem
    results[solver] = (r.ff, p.getMaxResidual(p.xk), r.elapsed['solver_time'], r.elapsed['solver_cputime'], r.evals['f'], r.evals['c'], r.evals['h'])
    if PLOT:
        subplot(2,1,1)
        F0 = ff(startPoint)
        lines.append(plot([0, 1e-15], [F0, F0], color= colors[j]))

if PLOT:
    for i in range(2):
        subplot(2,1,i+1)
        legend(lines, solvers)

    subplots_adjust(bottom=0.2, hspace=0.3)

    xl = ['Solver                              f_opt     MaxConstr   Time   CPUTime  fEvals  cEvals  hEvals']

    for i in range(len(results)):
Пример #5
0
#############
colors = colors[:len(solvers)]

lines, results = [], {}
for j in range(len(solvers)):
    solver = solvers[j]
    color = colors[j]
    p = NLP(objSIR.cost, theta, df=objSIR.sensitivity,lb = lb, ub = ub, ftol = 1e-6, maxFunEvals = 1e7, maxIter = 1220, plot = 1, color = color, iprint = 0, legend = [solvers[j]], show= False, xlabel='time', goal='minimum', name='nlp3')
    if solver == 'algencan':
        p.gtol = 1e-1
    elif solver == 'ralg':
        p.debug = 1

    r = p.solve(solver, debug=1)
    print 'c1 evals:', cc1, 'c2 evals:', cc2, 'c3 evals:', cc3
    results[solver] = (r.ff, p.getMaxResidual(r.xf), r.elapsed['solver_time'], r.elapsed['solver_cputime'], r.evals['f'], r.evals['c'], r.evals['h'])
    subplot(2,1,1)
    F0 = asscalar(p.f(p.x0))
    lines.append(plot([0, 1e-15], [F0, F0], color= colors[j]))

# for i in range(2):
#     subplot(2,1,i+1)
#     legend(solvers)

subplots_adjust(bottom=0.2, hspace=0.3)

xl = ['Solver                              f_opt     MaxConstr   Time   CPUTime  fEvals  cEvals  hEvals']
for i in range(len(results)):
    xl.append((expandtabs(ljust(solvers[i], 16)+' \t', 15)+'%0.2f'% (results[solvers[i]][0]) + '        %0.1e' % (results[solvers[i]][1]) + ('      %0.2f'% (results[solvers[i]][2])) + '    %0.2f      '% (results[solvers[i]][3]) + str(results[solvers[i]][4]) + '   ' + rjust(str(results[solvers[i]][5]), 5) + expandtabs('\t' +str(results[solvers[i]][6]),8)))

xl = '\n'.join(xl)