Contents
Preface xvii
Acknowledgments xix
1 Introduction 1
1.1 A History 2
1.2 Optimization Process 4
1.3 Basic Optimization Problem 5
1.4 Constraints 6
1.5 Critical Points 7
1.6 Conditions for Local Minima 8
1.7 Contour Plots 11
1.8 Overview 11
1.9 Summary 17
1.10 Exercises 17
2 Derivatives and Gradients 19
2.1 Derivatives 19
viii c on te n ts
2.2 Derivatives in Multiple Dimensions 21
2.3 Numerical Differentiation 23
2.4 Automatic Differentiation 27
2.5 Summary 32
2.6 Exercises 33
3 Bracketing 35
3.1 Unimodality 35
3.2 Finding an Initial Bracket 35
3.3 Fibonacci Search 37
3.4 Golden Section Search 39
3.5 Quadratic Fit Search 43
3.6 Shubert-Piyavskii Method 45
3.7 Bisection Method 49
3.8 Summary 51
3.9 Exercises 51
4 Local Descent 53
4.1 Descent Direction Iteration 53
4.2 Line Search 54
4.3 Approximate Line Search 55
4.4 Trust Region Methods 61
4.5 Termination Conditions 63
4.6 Summary 66
4.7 Exercises 66
c on te n ts ix
5 First-Order Methods 69
5.1 Gradient Descent 69
5.2 Conjugate Gradient 70
5.3 Momentum 75
5.4 Nesterov Momentum 76
5.5 Adagrad 77
5.6 RMSProp 78
5.7 Adadelta 78
5.8 Adam 79
5.9 Hypergradient Descent 80
5.10 Summary 84
5.11 Exercises 84
6 Second-Order Methods 87
6.1 Newton’s Method 87
6.2 Secant Method 91
6.3 Quasi-Newton Methods 91
6.4 Summary 95
6.5 Exercises 95
7 Direct Methods 99
7.1 Cyclic Coordinate Search 99
7.2 Powell’s Method 100
7.3 Hooke-Jeeves 102
7.4 Generalized Pattern Search 103
x c on te n ts
7.5 Nelder-Mead Simplex Method 105
7.6 Divided Rectangles 108
7.7 Summary 120
7.8 Exercises 123
8 Stochastic Methods 125
8.1 Noisy Descent 125
8.2 Mesh Adaptive Direct Search 126
8.3 Simulated Annealing 128
8.4 Cross-Entropy Method 133
8.5 Natural Evolution Strategies 137
8.6 Covariance Matrix Adaptation 138
8.7 Summary 142
8.8 Exercises 142
9 Population Methods 147
9.1 Initialization 147
9.2 Genetic Algorithms 148
9.3 Differential Evolution 157
9.4 Particle Swarm Optimization 158
9.5 Firefly Algorithm 159
9.6 Cuckoo Search 161
9.7 Hybrid Methods 162
9.8 Summary 165
9.9 Exercises 165
c on te n ts xi
10 Constraints 167
10.1 Constrained Optimization 167
10.2 Constraint Types 168
10.3 Transformations to Remove Constraints 169
10.4 Lagrange Multipliers 171
10.5 Inequality Constraints 174
10.6 Duality 177
10.7 Penalty Methods 178
10.8 Augmented Lagrange Method 183
10.9 Interior Point Methods 183
10.10 Summary 186
10.11 Exercises 186
11 Linear Constrained Optimization 189
11.1 Problem Formulation 189
11.2 Simplex Algorithm 195
11.3 Dual Certificates 206
11.4 Summary 210
11.5 Exercises 210
12 Multiobjective Optimization 211
12.1 Pareto Optimality 211
12.2 Constraint Methods 216
12.3 Weight Methods 218
12.4 Multiobjective Population Methods 221
12.5 Preference Elicitation 228
12.6 Summary 232
12.7 Exercises 232
xii c on te n ts
13 Sampling Plans 235
13.1 Full Factorial 235
13.2 Random Sampling 236
13.3 Uniform Projection Plans 237
13.4 Stratified Sampling 238
13.5 Space-Filling Metrics 239
13.6 Space-Filling Subsets 244
13.7 Quasi-Random Sequences 245
13.8 Summary 251
13.9 Exercises 251
14 Surrogate Models 253
14.1 Fitting Surrogate Models 253
14.2 Linear Models 254
14.3 Basis Functions 255
14.4 Fitting Noisy Objective Functions 263
14.5 Model Selection 265
14.6 Summary 274
14.7 Exercises 274
15 Probabilistic Surrogate Models 275
15.1 Gaussian Distribution 275
15.2 Gaussian Processes 277
15.3 Prediction 280
15.4 Gradient Measurements 282
c on te n ts xiii
15.5 Noisy Measurements 285
15.6 Fitting Gaussian Processes 287
15.7 Summary 288
15.8 Exercises 288
16 Surrogate Optimization 291
16.1 Prediction-Based Exploration 291
16.2 Error-Based Exploration 292
16.3 Lower Confidence Bound Exploration 293
16.4 Probability of Improvement Exploration 293
16.5 Expected Improvement Exploration 294
16.6 Safe Optimization 296
16.7 Summary 305
16.8 Exercises 305
17 Optimization under Uncertainty 307
17.1 Uncertainty 307
17.2 Set-Based Uncertainty 309
17.3 Probabilistic Uncertainty 312
17.4 Summary 318
17.5 Exercises 318
18 Uncertainty Propagation 321
18.1 Sampling Methods 321
18.2 Taylor Approximation 322
18.3 Polynomial Chaos 323
xiv c on te n ts
18.4 Bayesian Monte Carlo 334
18.5 Summary 337
18.6 Exercises 337
19 Discrete Optimization 339
19.1 Integer Programs 340
19.2 Rounding 341
19.3 Cutting Planes 342
19.4 Branch and Bound 346
19.5 Dynamic Programming 351
19.6 Ant Colony Optimization 354
19.7 Summary 358
19.8 Exercises 358
20 Expression Optimization 361
20.1 Grammars 361
20.2 Genetic Programming 364
20.3 Grammatical Evolution 370
20.4 Probabilistic Grammars 375
20.5 Probabilistic Prototype Trees 377
20.6 Summary 382
20.7 Exercises 384
21 Multidisciplinary Optimization 387
21.1 Disciplinary Analyses 387
21.2 Interdisciplinary Compatibility 389
c on te n ts xv
21.3 Architectures 393
21.4 Multidisciplinary Design Feasible 393
21.5 Sequential Optimization 396
21.6 Individual Discipline Feasible 398
21.7 Collaborative Optimization 403
21.8 Simultaneous Analysis and Design 406
21.9 Summary 407
21.10 Exercises 408
A Julia 411
A.1 Types 411
A.2 Functions 420
A.3 Control Flow 422
A.4 Packages 423
B Test Functions 425
B.1 Ackley’s Function 425
B.2 Booth’s Function 426
B.3 Branin Function 427
B.4 Flower Function 428
B.5 Michalewicz Function 429
B.6 Rosenbrock’s Banana Function 430
B.7 Wheeler’s Ridge 431
B.8 Circle Function 432
xvi c on te n ts
C Mathematical Concepts 433
C.1 Asymptotic Notation 433
C.2 Taylor Expansion 435
C.3 Convexity 436
C.4 Norms 439
C.5 Matrix Calculus 439
C.6 Positive Definiteness 442
C.7 Gaussian Distribution 442
C.8 Gaussian Quadrature 443
D Solutions 447
Bibliography 483
Index 495