Пример #1
0
print 'Initial point: ', x0[:max_n]
print 'Lower bounds on x: ', nlp.Lvar[:max_n]
print 'Upper bounds on x: ', nlp.Uvar[:max_n]
print 'f( x0 ) = ', nlp.obj(x0)
g0 = nlp.grad(x0)
print 'grad f( x0 ) = ', g0[:max_n]

if max_m > 0:
    print 'Initial multipliers: ', pi0[:max_m]
    print 'Lower constraint bounds: ', nlp.Lcon[:max_m]
    print 'Upper constraint bounds: ', nlp.Ucon[:max_m]
    c0 = nlp.cons(x0)
    print 'c( x0 ) = ', c0[:max_m]

J = nlp.jac(x0)
H = nlp.hess(x0, pi0)
print
print ' nnzJ = ', J.nnz
print ' nnzH = ', H.nnz

print
print ' Printing at most first 5x5 principal submatrix'
print

print 'J( x0 ) = ', J[:max_m, :max_n]
print 'Hessian (lower triangle):', H[:max_n, :max_n]

print
print ' Evaluating constraints individually, sparse gradients'
print
Пример #2
0
print 'Initial point: ', x0[:max_n]
print 'Lower bounds on x: ', nlp.Lvar[:max_n]
print 'Upper bounds on x: ', nlp.Uvar[:max_n]
print 'f( x0 ) = ', nlp.obj( x0 )
g0 = nlp.grad( x0 )
print 'grad f( x0 ) = ', g0[:max_n]

if max_m > 0:
    print 'Initial multipliers: ', pi0[:max_m]
    print 'Lower constraint bounds: ', nlp.Lcon[:max_m]
    print 'Upper constraint bounds: ', nlp.Ucon[:max_m]
    c0 = nlp.cons( x0 )
    print 'c( x0 ) = ', c0[:max_m]

J = nlp.jac( x0 )
H = nlp.hess( x0, pi0 )
print
print ' nnzJ = ', J.nnz
print ' nnzH = ', H.nnz

print
print ' Printing at most first 5x5 principal submatrix'
print

print 'J( x0 ) = ', J[:max_m,:max_n]
print 'Hessian (lower triangle):', H[:max_n,:max_n]

print
print ' Evaluating constraints individually, sparse gradients'
print
Пример #3
0
try:
    from nlpy.model import AmplModel
except:
    msg='NLPy is required to run this demo. See http://nlpy.sf.net'
    raise RuntimeError, msg

from pyorder.tools import coord2csc
from pyorder.pymc60 import sloan, rcmk
from pyorder.tools.spy import FastSpy
import numpy as np
import matplotlib.pyplot as plt

nlp = AmplModel('truss18bars.nl')
x = np.random.random(nlp.n)
y = np.random.random(nlp.m)
H = nlp.hess(x,y)
(val,irow,jcol) = H.find()
(rowind, colptr, values) = coord2csc(nlp.n, irow, jcol, val)  # Convert to CSC

perm1, rinfo1 = rcmk(nlp.n, rowind, colptr)   # Reverse Cuthill-McKee
perm2, rinfo2 = sloan(nlp.n, rowind, colptr)  # Sloan's method

left = plt.subplot(131)
FastSpy(nlp.n, nlp.n, irow, jcol, sym=True,
        ax=left.get_axes(), title='Original')

# Apply permutation 1 and plot reordered matrix
middle = plt.subplot(132)
FastSpy(nlp.n, nlp.n, perm1[irow], perm1[jcol], sym=True,
        ax=middle.get_axes(), title='Rev. Cuthill-McKee (semibandwidth=%d)' % rinfo1[2])