Changeset 1095

Show
Ignore:
Timestamp:
07/04/08 08:42:46 (3 months ago)
Author:
dmitrey.kroshko
Message:

minor changes

Files:

Legend:

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

    r1093 r1095  
    11from ooMisc import assignScript 
    22from BaseProblem import MatrixProblem 
    3 from numpy import asfarray, ones, inf, dot, nan, zeros, any 
     3from numpy import asfarray, ones, inf, dot, nan, zeros, any, all, isfinite 
    44from numpy.linalg import norm 
    55import NLP 
     
    1717    def objFunc(self, x): 
    1818        r = norm(dot(self.C, x) - self.d) ** 2  /  2.0 
    19         if self.damp != 0: r += self.damp * norm(x-self.xd)**2 / 2.0 
    20         if any(self.f): r += dot(self.f, x) 
     19        if not self.damp is None: r += self.damp * norm(x-self.xd)**2 / 2.0 
     20        if any(isfinite(self.f)): r += dot(self.f, x) 
    2121        return r 
    2222 
     
    2626        p.args.f = self # DO NOT USE p.args = self IN PROB ASSIGNMENT! 
    2727        self.inspire(p) 
    28         p.checkdf() 
     28        #p.checkdf() 
    2929        r = p.solve(solver, **kwargs) 
    3030        return r 
     
    4343    prob.lb = -inf * ones(prob.n) 
    4444    prob.ub =  inf * ones(prob.n) 
    45     if not kwargs.has_key('damp'): kwargs['damp'] = 0 
    46     if not kwargs.has_key('xd'): kwargs['xd'] = zeros(prob.n) 
    47     if not kwargs.has_key('f'): kwargs['f'] = zeros(prob.n) 
     45    if not kwargs.has_key('damp'): kwargs['damp'] = None 
     46    if not kwargs.has_key('xd'): kwargs['xd'] = nan*ones(prob.n) 
     47    if not kwargs.has_key('f'): kwargs['f'] = nan*ones(prob.n) 
    4848 
    4949    if prob.x0 is nan: prob.x0 = zeros(prob.n) 
     
    5757def dff(x, LLSPprob): 
    5858    r = dot(LLSPprob.C.T, dot(LLSPprob.C,x))  - dot(LLSPprob.C.T, LLSPprob.d) 
    59     if LLSPprob.damp != 0: r += LLSPprob.damp*(x - LLSPprob.xd) 
    60     r += LLSPprob.f 
     59    if not LLSPprob.damp is None: r += LLSPprob.damp*(x - LLSPprob.xd) 
     60    if all(isfinite(LLSPprob.f)) : r += LLSPprob.f 
    6161    return r 
    6262