Changeset 1100

Show
Ignore:
Timestamp:
07/06/08 06:42:36 (5 months ago)
Author:
dmitrey.kroshko
Message:

some changes

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/openopt/scikits/openopt/Kernel/LLSP.py

    r1096 r1100  
    11from ooMisc import assignScript 
    22from BaseProblem import MatrixProblem 
    3 from numpy import asfarray, ones, inf, dot, nan, zeros, any, all, isfinite 
     3from numpy import asfarray, ones, inf, dot, nan, zeros, any, all, isfinite, eye 
    44from numpy.linalg import norm 
    55import NLP 
     
    2323 
    2424    def llsp2nlp(self, solver, **kwargs): 
    25         if hasattr(self,'x0'): p = NLP.NLP(ff, self.x0, df=dff
    26         else: p = NLP(ff, zeros(self.n), df=dff
     25        if hasattr(self,'x0'): p = NLP.NLP(ff, self.x0, df=dff, d2f=d2ff
     26        else: p = NLP(ff, zeros(self.n), df=dff, d2f=d2ff
    2727        p.args.f = self # DO NOT USE p.args = self IN PROB ASSIGNMENT! 
    2828        self.inspire(p) 
     
    6868    return r 
    6969 
    70  
     70def d2ff(x, LLSPprob): 
     71    r = dot(LLSPprob.C.T, LLSPprob.C) 
     72    if not LLSPprob.damp is None: r += LLSPprob.damp*eye(x.size) 
     73    return r 
     74# TODO: add 2nd derivatives 
  • trunk/openopt/scikits/openopt/Kernel/objFunRelated.py

    r1091 r1100  
    228228        p.nEvals['d2f'] += 1 
    229229        assert(len(p.user.d2f)==1) 
    230         r = p.user.d2f[0](x
     230        r = p.user.d2f[0](*(x, )+p.args.f
    231231        if p.invertObjFunc and userFunctionType=='f': r = -r 
    232232        return r 
  • trunk/openopt/scikits/openopt/Kernel/ooIter.py

    r1089 r1100  
    5050        if r is not False: 
    5151            p.stopdict[key] = 1 
    52             p.istop = key 
    53             if type(r) == tuple: 
    54                p.msg = r[1] 
     52            if p.istop >= 0: 
     53                p.istop = key 
     54                if type(r) == tuple: p.msg = r[1] 
    5555    for fun in p.callback: 
    5656        r =  fun(p) 
  • trunk/openopt/scikits/openopt/Kernel/runProbSolver.py

    r1091 r1100  
    210210 
    211211    r.solverInfo = dict() 
    212     for fn in ('homepage',  'alg',  'authors',  'license',  'info'): 
     212    for fn in ('homepage',  'alg',  'authors',  'license',  'info', 'name'): 
    213213        r.solverInfo[fn] =  getattr(p.solver,  '__' + fn + '__') 
    214214 
     
    240240    p.invertObjFunc = False 
    241241 
    242     if p.iprint < 0: 
     242    if p.iprint >= 0: 
     243        if p.msg is not '':  print "istop: ", r.istop , '(' + p.msg +')' 
     244        else: print "istop: ", r.istop 
     245 
     246        print 'Solver:   Time Elapsed = ' + str(r.elapsed['solver_time']) + ' \tCPU Time Elapsed = ' + str(r.elapsed['solver_cputime']) 
    243247        if p.plot: 
    244             pylab = __import__('pylab') 
    245             pylab.show() 
    246         return r #no final output 
    247     if p.msg is not '':  print "istop: ", r.istop , '(' + p.msg +')' 
    248     else: print "istop: ", r.istop 
    249  
    250  
    251     print 'Solver:   Time Elapsed = ' + str(r.elapsed['solver_time']) + ' \tCPU Time Elapsed = ' + str(r.elapsed['solver_cputime']) 
    252     if p.plot: 
    253         print 'Plotting: Time Elapsed = '+ str(r.elapsed['plot_time'])+ ' \tCPU Time Elapsed = ' + str(r.elapsed['plot_cputime']) 
    254     if not p.isFeasible: 
    255         print 'NO FEASIBLE SOLUTION is obtained (max residual = %0.2g, objFunc = %0.8g)' % (r.rf, r.ff) 
    256     else: 
    257         msg = "objFunValue: %0.8g" % r.ff 
    258         if not p.isUC: msg += ' (feasible, max constraint =  %g)' % r.rf 
    259         print msg 
     248            print 'Plotting: Time Elapsed = '+ str(r.elapsed['plot_time'])+ ' \tCPU Time Elapsed = ' + str(r.elapsed['plot_cputime']) 
     249        if not p.isFeasible: 
     250            print 'NO FEASIBLE SOLUTION is obtained (max residual = %0.2g, objFunc = %0.8g)' % (r.rf, r.ff) 
     251        else: 
     252            msg = "objFunValue: %0.8g" % r.ff 
     253            if not p.isUC: msg += ' (feasible, max constraint =  %g)' % r.rf 
     254            print msg 
     255 
    260256    if p.plot: 
    261257        pylab = __import__('pylab') 
  • trunk/openopt/scikits/openopt/solvers/scipy_optim/scipy_ncg_oo.py

    r1004 r1100  
    2121        else: fhess = None 
    2222 
    23         try: 
    24             iterfcn(p.x0) 
    25             xf = fmin_ncg(p.f, p.x0, p.df, fhess = fhess, maxiter = p.maxIter, disp = 0, callback=iterfcn) 
    26         except isSolved: 
    27             xf = p.xk 
     23        xf = fmin_ncg(p.f, p.x0, p.df, fhess = fhess, maxiter = p.maxIter, disp = 0, callback=iterfcn) 
    2824 
    2925        ff = p.f(xf) 
    3026        p.xk = p.xf = xf 
    3127        p.fk = p.ff = ff 
    32         p.istop = 1000 
    33         p.iterfcn() 
    3428