Midwest Optimization Seminar Western Michigan University October 6, 2001

NEOS Optimization Solutions for Scientific Computing Problems

Jorge J. Mor´e Joint work with Liz Dolan, Bob Fourer, Todd Munson www-neos.mcs.anl.gov

Mathematics and Computer Science Division Argonne National Laboratory Outline

 How do we solve optimization problems?  How do we solve optimization problems with NEOS?  NEOS users and uses  Data mining the NEOS database  Selected recent developments ? Kestrel ? Performance profiles ? GAMS to AMPL translator Solving Optimization Problems: The standard model

 Develop code to define the optimization problem  Decide on the software  Retrieve the software  Hand-code , Hessians, sparsity patterns.  Link the software.  Compile, debug, compile, debug, . . . , run  Solve. Solving Optimization Problems: The NEOS Model

Remote Solvers

NEOS Administration Server Tools

Web browser Email NST Kestrel (HTTP) (SMTP) (Sockets) (Corba)

Optimization Problem Solving Optimization Problems: The NEOS Model

 Develop code to define the optimization problem  Submit the problem to NEOS  Interpret the results  Repeat the process

Advantages ◦ Easy to use ◦ No need to retrieve the software ◦ Derivatives and sparsity patterns computed automatically ◦ Independent of computing resources NEOS Server Highlights

 November 1994 – Demo at SC94.  Version 1: September 1995  Version 2: May 1997  Version 3: March 4, 1999  Version 4: May 3, 2001

Processing rates  Version 1: 590 jobs per month  Version 2: 1280 jobs per month  Version 3: 2810 jobs per month  Version 4: 5750 jobs per month Design Guidelines for NEOS

 Minimal problem specification  Uniform and automated software registration  Fault tolerant  Minimal maintenance Research Issues for NEOS

 How do we add solvers?  How are problems specified?  How are problems submitted?  How are problems scheduled for solution?  How are the problems solved?  Where are the problems solved? Remote Solvers

◦ Argonne National Laboratory ◦ Arizona State University ◦ National Taiwan University ◦ Northwestern University ◦ Technical University Aachen ◦ University of Wisconsin Modeling Languages: Shape Optimization of a Cam

Maximize the area of the valve opening in a convex cam,

n ! 1 X f(r) = πr2 r , v n i i=1 subject to the constraints rmin ≤ ri ≤ rmax on the radii ri. The convexity constraint is expressed as

2ri−1ri+1 cos(θ) ≤ ri(ri−1 + ri+1), i = 0, . . . , n + 1, and the curvature requirement is expressed by r − r  −α ≤ i+1 i ≤ α, i = 0, . . . , n. θ NST: NEOS Submission Tool NST: Scheduling NST: Executing NST: Solution Shape Optimization of a Cam Uses of NEOS

 Optimization solutions for scientific computing problems  Education and information on optimization algorithms  Classroom projects (beware of deadlines)  Testing optimization software  Comparing optimization software  Prototype problem solving environment NEOS Users and Uses – 2000

 Estimating the value at risk of financial institutions  Optimal shift schedules for ground-handling activities  Unilateral contact problems in engineering mechanics  Distance geometry and multidimensional scaling  Portfolio selection and scheduling  Designing a yagi antenna  Resource requirements for broadband networks  Image reconstruction of space objects  Optimization of weights for routing in the Internet  Designing large, distributed communication networks  Circuit simulation at Philips Research Laboratories NEOS Users and Uses – 2001

 Optimizing design parameters for high-voltage power systems  Teaching network flow optimization  Predicting globular protein folding  Showing characteristics of multi-person co-operation  Studying the brain’s representation system  Modeling electricity markets  Designing fractional delay filters for LAN/WAN’s  Scheduling thermo and hydro energy resources  Building a crew-scheduling system for an airline in Indonesia  Solving the modified Cahn-Hilliard free energy equation  Applying optimization to farming in Switzerland Data Mining the NEOS Database

Question Is there any worthwhile information on the NEOS database?

 Number of jobs per time period  Number of jobs per solver area  Number of jobs per solver (in a given area) NEOS Solvers, part I

 Nonlinearly Constrained Optimization ◦ CONOPT, DONLP2, FILTER , KNITRO, ◦ LANCELOT, LOQO, MINOS, MOSEK, SNOPT  Mixed Integer Nonlinearly Constrained Optimization ◦ MINLP, SBB  Mixed Integer ◦ BonsaiG, FORTMP, GLPK, XPRESS  Semidefinite Programming ◦ CSDP, CirCut, DSDP, SDPA, SDPT3, SeDuMi  Linear Programming ◦ BDMLP, FORTMP, HOPDM, MOSEK, PCx, XPRESS NEOS Solvers, part II

 Bound Constrained Optimization ◦ BLMVM, L-BFGS-B, LANCELOT, TRON  Nondifferentiable Optimization ◦ ACCPM, APPS, DFO, NDA  Unconstrained Optimization ◦ CGplus, NMTR, VMLM  Linear Network Optimization ◦ NETFLO, RELAX4  Complementarity Problems ◦ MILES, PATH  Stochastic Linear Programming ◦ AUGMENTED, MSLIP NEOS: October 1999 – July 2001

8000

7000

6000 1999 2000 2001 5000

4000 Submissions 3000

2000

1000

0 1234567891011 12 Month NEOS Jobs: June 2000 – June 2001

21,629

15,082 Jobs

5,530

1,277 1,429 1,619 318 507 542 610 615

SLP NDO ADMIN CP SDP BCO UCO LNO LP IP NCO

SLP Stochastic Linear Programming SDP LP Linear Programming NDO Nondifferentiable Optimization BCO Bound Constrained Optimization IP ADMIN Administrative Solvers UCO Unconstrained Optimization NCO Nonlinearly Constrained CP Complementarity Problems LNO Linear Network Optimization Optimization Nonlinearly Constrained Optimization Solvers

6000

5000

4000

3000

2000

1000

0

L O L L T L L L L L S S S T P R P P O P P P P M M M P M P M M L M M M MP M A A A O A - A A E A A A A A G G N - L - - ------G - S P T O T 2 O K T T S S N P R P O M O Q A E L R E P P O IN A L O L O T IT S O O N E L N IL N O N N I M C S F O N S M N D K M O A C L Integer Programming Solvers

8000

7000

6000

5000

4000

3000

2000

1000

0 MINLP- XPRESS- XPRESS- FORTMP XPRESS- BONSAIG- BONSAIG- BONSAIG MIQP AMPL MPMODEL AMPL INTEGER AMPL LP Linear Programming Solvers

2500

2000

1500

1000

500

0

X S L L X L P L M D P L R C M P P E P -L P D P M E E P A M M L M M P T D I P D A M R -G -A -A -A P - O P R O R P S D IM X M K H B O M A L S P S C P E F P - P S -B M E M S B -M S D R P S O S S B P B E M S E X R E R P R P X P X X Research Challenges

 Metacomputing environments for optimization ◦ www.mcs.anl.gov/metaneos  Development of solvers with C input  solvers  An adaptive scheduler  Data mine the database  Benchmark solvers  Flexible interfaces  Application specific solvers  Increase computational capacity Selected Recent Developments

 Kestrel  Performance profiles  GAMS to AMPL translator

Notes ? Kestrel provides a flexible interface between NEOS, and the mathematical programming languages AMPL and GAMS ? Performance profiles provide a rational framework for comparing solvers ? The GAMS to AMPL translator is courtesy of GAMS Development Corp. Kestrel Kestrel Solvers (Partial Listing)

AMPL GAMS

◦ BPMPD ◦ BDMLD ◦ DONLP2 ◦ CONOPT ◦ FORTMP ◦ MILES ◦ KNITRO ◦ MINOS ◦ L-BFGS-B ◦ PATH ◦ LANCELOT ◦ SBB ◦ LOQO ◦ SNOPT ◦ MINOS ◦ SNOPT ◦ TRON Benchmarking

A benchmark is a set P of test problems, a termination criterion T , and a set of S of solvers.

Choose a performance measure tp,s for each problem p ∈ P and solver s ∈ S.

Performance Measures  Number of iterations  Number of function evaluations  Number of conjugate iterations  Computing time Performance Profiles

Definition. A performance profile is the distribution function of a performance metric.

 Compute the performance ratio

tp,s rp,s = . min{tp,s : 1 ≤ s ≤ ns}

 Compute the probability distribution function 1 n o ρs(τ) = size p ∈ P : rp,s ≤ τ np Properties of Performance Profiles

The performance profile ρs : R 7→ [0, 1] is a non-decreasing, piecewise constant function, continuous from the right at each breakpoint.

 Not sensitive to the data on a small number of problems  Not sensitive to small changes in the data  Information on the size of improvement is provided  Does not depend on the subjective choice of a parameter  Can be used to compare more than two solvers. Benchmarking Tools

 Compute average or cumulative totals of metric ◦ Sensitive to results on a small number of problems  Rank solvers by the number of k-th place entries. ◦ No information on the size of improvement  Compute the number of wins by a fixed amount or percentage ◦ Dependent on the subjective choice of a parameter  Compute medians or quartiles of a metric ◦ Information between quartiles is lost Performance Profile for the COPS optimal control problems

Log Scaled Performance Profile on Subset of COPS 2 1

0.9

0.8 )

s 0.7 n ≤ s

≤ 0.6 : 1 τ

≤ 0.5 )) p,s 0.4 (r 2

0.3 P( (log

0.2 LANCELOT LOQO MINOS SNOPT 0.1

0 0 2 4 6 8 10 ...r τ M Performance Profile for the full COPS problems

Log Scaled Performance Profile on Full COPS Set 2 1

0.9

0.8 )

s 0.7 n ≤

s 0.6 ≤ : 1 τ

≤ 0.5 ))

p,s 0.4 (r 2

0.3 P( (log

0.2 LANCELOT LOQO MINOS 0.1 SNOPT

0 0 2 4 6 8 10 ...r τ M Performance Profile for Mittleman’s LP Data

Log Scaled Performance Profile for LP Solvers 2 1

BPMPD−2.14 0.9

0.8 MOSEK

0.7 )

s PCx n ≤ 0.6 s SOPLEXC ≤

LPABO : 1

τ 0.5 BPMPD−2.11

)) COPL_LP

p,s 0.4 (r 2

0.3 P( (log

0.2

0.1

0 0 2 4 6 8 10 12 ...r τ M NEOS

A comprehensive guide to optimization algorithms and software

An environment for solving optimization problems over the Internet NEOS Team

? Michael Bussieck (GAMS) ? Chih-Jen Lin (Taiwan) ? Liz Dolan (Argonne/NU) ? Jeff Linderoth (Axioma) ? Steve Dirkse (GAMS) ? Sven Leyffer (Dundee) ? Michael Ferris (Wisconsin) ? Hans Mittelmann (Arizona) ? Bob Fourer (Northwestern) ? Todd Munson (Argonne) ? David Gay (Lucent) ? Jorge Nocedal (Northwestern) ? Philip Gill (UC San Diego) ? Michael Saunders (Stanford) ? Nick Gould (Rutherford) ? Bob Vanderbei (Princeton) ? Jean-Pierre Goux (Artelys) ? Steve Wright (Wisconsin)

Emeritus: Mike Mesnier (Intel) Selected References

 J. Czyzyk and M. Mesnier, and J. Mor´e, The NEOS Server, IEEE Journal on Computational Science and Engineering, 5 (1998), 68-75.  R. Fourer and J.-P. Goux, Optimization as an Internet resource, Interfaces 31 (2001), 130-150.  E. Dolan, NEOS Server 4.0 Administrative Guide, Technical Report ANL/MCS-TM-250, Mathematics and Computer Science Division, Argonne National Laboratory, May 2001.  E. Dolan and J. Mor´e,Benchmarking optimization software with performance profiles, to appear in Mathematical Programming, 2001.