Presentation is loading. Please wait.

Presentation is loading. Please wait.

Results Matter. Trust NAG. Numerical Algorithms Group Mathematics and technology for optimized performance Optimisation and the NAG Toolbox for MATLAB.

Similar presentations


Presentation on theme: "Results Matter. Trust NAG. Numerical Algorithms Group Mathematics and technology for optimized performance Optimisation and the NAG Toolbox for MATLAB."— Presentation transcript:

1 Results Matter. Trust NAG. Numerical Algorithms Group Mathematics and technology for optimized performance Optimisation and the NAG Toolbox for MATLAB University of Warwick Mick Pont, John Holden - NAG

2 University of Warwick - January 31 st 20082The NAG Toolbox for MATLAB Agenda…  NAG licences at Warwick  NAG Toolbox for MATLAB  Optimization and other topics

3 University of Warwick - January 31 st 20083The NAG Toolbox for MATLAB Licences at the University of Warwick Site Licence for eight implementations: Site contact: patrick.ryan@warwick.ac.uk  NAG’s Serial Libraries (Fortran 77, 90, C & DMC)  REVIEW OF LICENCES UNDERWAY – PROBABLE CHANGES:  Windows (Fortran and C DLLs)  32-bit Linux (Fortran-g77 and C-gcc)  64-bit Linux (Fortran and C) NAG Toolbox for MATLAB  Licence upgrade “in progress”  Maple-NAG Connector  collaborative licence opportunities – contact NAG direct

4 University of Warwick - January 31 st 20084The NAG Toolbox for MATLAB What does the University licence cover?  Unlimited use for the licensed implementations  As long as for academic or research purposes  Installation may be on any university, staff or student machine  Full access to NAG Support support@nag.co.uksupport@nag.co.uk  Need to use an @xxxx.ac.uk e-mail address  Our software:  Includes online documentation - also www.nag.co.ukwww.nag.co.uk  Supplied with extensive example programs  data and results

5 University of Warwick - January 31 st 20085The NAG Toolbox for MATLAB Technical Agenda  The NAG Engine  Wrapper functionality  Algorithmic contents  Navigating around the NAG toolbox in MATLAB  NAG Optimization Chapters  Random numbers

6 University of Warwick - January 31 st 20086The NAG Toolbox for MATLAB The NAG Engine NAG Engine (algorithmic repository) NAG C Library NAG Fortran Library Other NAG Software NAG SMP Library User-callable library routines are thin wrappers NAG software is based on NAG Engine technology NAG Toolbox for MATLAB

7 University of Warwick - January 31 st 20087The NAG Toolbox for MATLAB NAG Libraries Ease of Integration  C++ (various)  C# /.NET  Visual Basic  Java  Borland Delphi  Python  …  and more  Excel  MATLAB  Maple  LabVIEW  R and S-Plus  SAS  Simfit  …  and more

8 University of Warwick - January 31 st 20088The NAG Toolbox for MATLAB NAG Toolbox for MATLAB  Built as MATLAB mex files  Auto-generated from XML documentation  Contains essentially all NAG functionality  not a subset  Currently runs under Windows (32-bit) or Linux (32/64-bit)  Installed under the usual MATLAB toolbox directory  Makes use of a DLL or shared version of the NAG Library

9 University of Warwick - January 31 st 20089The NAG Toolbox for MATLAB NAG Library Contents  Root Finding  Summation of Series  Quadrature  Ordinary Differential Equations  Partial Differential Equations  Numerical Differentiation  Integral Equations  Mesh Generation  Interpolation  Curve and Surface Fitting  Optimization  Approximations of Special Functions  Dense Linear Algebra  Sparse Linear Algebra  Correlation and Regression Analysis  Multivariate Analysis of Variance  Random Number Generators  Univariate Estimation  Nonparametric Statistics  Smoothing in Statistics  Contingency Table Analysis  Survival Analysis  Time Series Analysis  Operations Research

10 University of Warwick - January 31 st 200810The NAG Toolbox for MATLAB NAG naming scheme  Based on ACM modified SHARE classification  John Bolstad - A proposed classification scheme for computer program libraries. ACM SIGNUM Newsletter, November 1975  References: Nottingham (England) Algorithms Group, First Annual Report, June, 1974.  Routines separated into chapters  Each routine has a 5-letter base name for ease of classification, e.g. (MATLAB/Fortran / C)  c06eb / C06EBF / c06ebc  nag_fft_hermitian(long name for readability)  Each routine is independently documented, with complete example program

11 University of Warwick - January 31 st 200811The NAG Toolbox for MATLAB Chapter e04 – Minimization / Maximization Problem: minimize F(x 1, x 2, …, x n ) possibly subject to constraints The function F(x) is called the objective function. We wish to determine x, the n-vector of variables. May have:  No constraints  Bound constraints: l i <= x i <= u i  Linear or nonlinear constraints: l <= G(x) <= u

12 University of Warwick - January 31 st 200812The NAG Toolbox for MATLAB Unconstrained optimization

13 University of Warwick - January 31 st 200813The NAG Toolbox for MATLAB Linearly constrained optimization

14 University of Warwick - January 31 st 200814The NAG Toolbox for MATLAB Nonlinear constraints

15 University of Warwick - January 31 st 200815The NAG Toolbox for MATLAB Chapter e04 Problems categorized according to properties of objective function:  nonlinear  sum of squares of nonlinear functions  quadratic  sum of squares of nonlinear functions  linear Example – nonlinear objective and constraints: Minimize f(x,y) = (1 − x) 2 + 100(y − x 2 ) 2 subject to x 2 + y 2 <= 2 -2 <= x <= 2

16 University of Warwick - January 31 st 200816The NAG Toolbox for MATLAB E04WD  Sequential quadratic programming (SQP) algorithm  obtains search directions from a sequence of QP subproblems.  designed for problems with many variables and constraints  P. Gill (San Diego), W. Murray (Stanford) and M. Saunders (Stanford)

17 University of Warwick - January 31 st 200817The NAG Toolbox for MATLAB Chapter e04 It is important to choose a method appropriate to your problem type, for efficiency and the best chance of success. NAG documentation is comprehensive – for advice see the Chapter Introduction for e04: www.nag.co.uk/numeric/FL/manual/pdf/E04/e04_intro.pdf www.nag.co.uk/numeric/CL/nagdoc_cl08/pdf/E04/e04_intro.pdf

18 University of Warwick - January 31 st 200818The NAG Toolbox for MATLAB Some routines available in Chapter e04  e04ab: minimize a function of one variable  e04dg: minimization using conjugate gradients  e04mf: linear programming  e04nc: linear least-squares  e04nf: quadratic programming  e04nq: LP or QP (for sparse problems)  e04un: nonlinear least-squares  e04vh: general sparse constrained nonlinear  e04wd: general nonlinear all-purpose  etc.

19 University of Warwick - January 31 st 200819The NAG Toolbox for MATLAB New optimization coming at next Mark Currently many optimization routines in NAG, but these have all been for local optimization. No guarantee about which minimum (or maximum) is returned.

20 University of Warwick - January 31 st 200820The NAG Toolbox for MATLAB Local optimization

21 University of Warwick - January 31 st 200821The NAG Toolbox for MATLAB Global requirements Users often ask for global optimization methods. In next releases of NAG Libraries we will have software based on 'multilevel coordinate search' (MCS) method - Huyer and Neumaier: http://www.mat.univie.ac.at/~neum/ms/mcs.pdf Search space is recursively split into sub-boxes, looking for child boxes where gain in objective is expected. Boxes swept through in turn, perhaps being split, until a box with maximum level exists. Then a local search is performed. Already in NAG Engine - new Chapter e05 Beta available now on request

22 University of Warwick - January 31 st 200822The NAG Toolbox for MATLAB New NAG Chapter – E05  Main routine named E05JB  Plus initialization and option setting routines  Currently handles only bound constraints: Minimize f(x 1, x 2 … x n ) Subject to l i <= x i <= u i

23 University of Warwick - January 31 st 200823The NAG Toolbox for MATLAB Chapter g05 – Random Numbers Random numbers – used to model real-life processes. Humans are bad at choosing them.  e.g. faking a random sequence of coin tosses is very difficult: HTHHTHTTHTHHTTTHTTHHTTHTHHTHTH …  Most people would choose a sequence easily proved not to be random  (Do you play the lottery?) Therefore good algorithms are required.

24 University of Warwick - January 31 st 200824The NAG Toolbox for MATLAB Chapter g05 – Random Numbers Random numbers from non-uniform distributions  Generated from uniform numbers  Transformation methods  Rejection methods  Table search methods All the likely suspects are there:  Normal (Gaussian) distribution  Student’s t distribution  Beta and exponential  Chi-squared and binomial  Geometric, poisson, F, Gamma, …

25 University of Warwick - January 31 st 200825The NAG Toolbox for MATLAB Some routines available in Chapter g05  g05ca: pseudo-random from uniform distribution  g05cb / g05cc: initialize generator to repeatable or non-repeatable sequence respectively  g05db: exponential distribution  g05dd: normal distribution  g05fe: beta distribution  g05ff: gamma distribution  g05ya: quasi-random numbers  Other distributions, plus GARCH, copula, etc.

26 University of Warwick - January 31 st 200826The NAG Toolbox for MATLAB Pseudo- versus Quasi-Random Numbers Pseudo-random numbers:  generated systematically  e.g. multiplicative congruential n i = a n i-1 mod m  properties close to true random numbers  (assuming that a and m are chosen wisely)  negligible correlation between consecutive numbers Quasi-random numbers:  not statistically independent  give more even distribution in space (“looks more random”)  useful for Monte Carlo integration

27 University of Warwick - January 31 st 200827The NAG Toolbox for MATLAB Other NAG software We’d welcome contact on our other software:  Maple-NAG Connector  NAG's Excel related products  Fortran Builder (NAG’s Windows Fortran compiler)  New library functionality  NAG’s High Performance libraries ..

28 University of Warwick - January 31 st 200828The NAG Toolbox for MATLAB NAG Toolbox for MATLAB - summary  Runs under Windows and Linux  Currently on beta test  Downloadable from NAG web site  Can be used with MATLAB compiler  Release version coming soon Questions? sales@nag.co.uksales@nag.co.uk or support@nag.co.uksupport@nag.co.uk www.nag.co.uk/about/careers.asp


Download ppt "Results Matter. Trust NAG. Numerical Algorithms Group Mathematics and technology for optimized performance Optimisation and the NAG Toolbox for MATLAB."

Similar presentations


Ads by Google