Changeset 1539

Show
Ignore:
Timestamp:
10/12/08 12:09:58 (2 months ago)
Author:
dmitrey.kroshko
Message:

some changes for oovar example and derivatives

Files:

Legend:

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

    r1530 r1539  
    223223                    for i, inp in enumerate(self.input): 
    224224                        if isinstance(inp, oovar): 
    225                             r[agregate_counter, inp.dep] = derivativeSelf[agregate_counter, inp.dep] 
     225                            r[agregate_counter, inp.dep] = derivativeSelf[agregate_counter]#, inp.dep] 
    226226                            agregate_counter += inp.size 
    227227                        else: 
  • trunk/openopt/scikits/openopt/examples/oofun/oovar.py

    r1524 r1539  
    2525# also, Python tuple or numpy ndarray or matrix can be used instead of Python list 
    2626 
    27 f0 = oofun(lambda z: z[0]**2 + z[0]  + 2*z[1] , input = v0) 
     27f0 = oofun(lambda z: z[0]**2 + z[0]  + 2*z[1]**2 , input = v0) 
    2828"""However, indexing (like above) is not recommended. 
    2929Try to create separate oovars instead: 
     
    3636f3 = oofun(lambda y, z, t: y.sum() ** 2 + 2*z.sum() + 4 * t, input = [f1, f2, f0]) 
    3737 
    38 p = NLP(f3
     38p = NLP(f3, gtol=1e-7
    3939r = p.solve('ralg') 
    40 #r = p.solve('ipopt') 
     40 
    4141print 'solution:', r.xf 
    4242print 'optim value:', r.ff 
    4343""" 
    44 solution: {'v0': array([ -0.50831887, -11.50831887]), 'v1': array([ 0.09999771,  0.199998  ]), 'v2': array([-1.50014798,  0.99994868])} 
    45 optim value: -84.2136911527 
     44solution: {'v0': array([ -5.00002645e-01,   3.52068631e-06]), 'v1': array([ 0.10000075,  0.20000047]), 'v2': array([-1.50000237,  0.9999997 ])} 
     45optim value: 7.85208138965 
    4646""" 
    4747