A guide to modern optimization applications and techniques in newly emerging areas spanning optimization, data science, machine intelligence, engineering, and computer sciences
Optimization Techniques and Applications with Examples introduces the fundamentals of all the commonly used techniques in optimization that encompass the broadness and diversity of the methods (traditional and new) and algorithms. The author - a noted expert in the field - covers a wide range of topics including mathematical foundations, optimization formulation, optimality conditions, algorithmic complexity, linear programming, convex optimization, and integer programming. In addition, the book discusses artificial neural network, clustering and classifications, constraint-handling, queueing theory, support vector machine and multi-objective optimization, evolutionary computation, nature-inspired algorithms and many other topics.
Designed as a practical resource, all topics are explained in detail with step-by-step examples to show how each method works. The book’s exercises test the acquired knowledge that can be potentially applied to real problem solving. By taking an informal approach to the subject, the author helps readers to rapidly acquire the basic knowledge in optimization, operational research, and applied data mining. This important resource:
- Offers an accessible and state-of-the-art introduction to the main optimization techniques
- Contains both traditional optimization techniques and the most current algorithms and swarm intelligence-based techniques
- Presents a balance of theory, algorithms, and implementation
- Includes more than 100 worked examples with step-by-step explanations
Written for upper undergraduates and graduates in a standard course on optimization, operations research and data mining, Optimization Techniques and Applications with Examples is a highly accessible guide to understanding the fundamentals of all the commonly used techniques in optimization.
Table of Contents
List of Figures xiii
List of Tables xvii
Preface xix
Acknowledgements xxi
Acronyms xxiii
Introduction xxv
Part I Fundamentals 1
1 Mathematical Foundations 3
1.1 Functions and Continuity 3
1.1.1 Functions 3
1.1.2 Continuity 4
1.1.3 Upper and Lower Bounds 4
1.2 Review of Calculus 6
1.2.1 Differentiation 6
1.2.2 Taylor Expansions 9
1.2.3 Partial Derivatives 12
1.2.4 Lipschitz Continuity 13
1.2.5 Integration 14
1.3 Vectors 16
1.3.1 Vector Algebra 17
1.3.2 Norms 17
1.3.3 2D Norms 19
1.4 Matrix Algebra 19
1.4.1 Matrices 19
1.4.2 Determinant 23
1.4.3 Rank of a Matrix 24
1.4.4 Frobenius Norm 25
1.5 Eigenvalues and Eigenvectors 25
1.5.1 Definiteness 28
1.5.2 Quadratic Form 29
1.6 Optimization and Optimality 31
1.6.1 Minimum and Maximum 31
1.6.2 Feasible Solution 32
1.6.3 Gradient and Hessian Matrix 32
1.6.4 Optimality Conditions 34
1.7 General Formulation of Optimization Problems 35
Exercises 36
Further Reading 36
2 Algorithms, Complexity, and Convexity 37
2.1 What Is an Algorithm? 37
2.2 Order Notations 39
2.3 Convergence Rate 40
2.4 Computational Complexity 42
2.4.1 Time and Space Complexity 42
2.4.2 Class P 43
2.4.3 Class NP 44
2.4.4 NP-Completeness 44
2.4.5 Complexity of Algorithms 45
2.5 Convexity 46
2.5.1 Linear and Affine Functions 46
2.5.2 Convex Functions 48
2.5.3 Subgradients 50
2.6 Stochastic Nature in Algorithms 51
2.6.1 Algorithms with Randomization 51
2.6.2 Random Variables 51
2.6.3 Poisson Distribution and Gaussian Distribution 54
2.6.4 Monte Carlo 56
2.6.5 Common Probability Distributions 58
Exercises 61
Bibliography 62
Part II Optimization Techniques and Algorithms 63
3 Optimization 65
3.1 Unconstrained Optimization 65
3.1.1 Univariate Functions 65
3.1.2 Multivariate Functions 68
3.2 Gradient-Based Methods 70
3.2.1 Newton’s Method 71
3.2.2 Convergence Analysis 72
3.2.3 Steepest Descent Method 73
3.2.4 Line Search 77
3.2.5 Conjugate Gradient Method 78
3.2.6 Stochastic Gradient Descent 79
3.2.7 Subgradient Method 81
3.3 Gradient-Free Nelder-Mead Method 81
3.3.1 A Simplex 81
3.3.2 Nelder-Mead Downhill Simplex Method 82
Exercises 84
Bibliography 84
4 Constrained Optimization 87
4.1 Mathematical Formulation 87
4.2 Lagrange Multipliers 87
4.3 Slack Variables 91
4.4 Generalized Reduced Gradient Method 94
4.5 KKT Conditions 97
4.6 PenaltyMethod 99
Exercises 101
Bibliography 101
5 Optimization Techniques: Approximation Methods 103
5.1 BFGS Method 103
5.2 Trust-Region Method 105
5.3 Sequential Quadratic Programming 107
5.3.1 Quadratic Programming 107
5.3.2 SQP Procedure 107
5.4 Convex Optimization 109
5.5 Equality Constrained Optimization 113
5.6 Barrier Functions 115
5.7 Interior-PointMethods 119
5.8 Stochastic and Robust Optimization 121
Exercises 123
Bibliography 123
Part III Applied Optimization 125
6 Linear Programming 127
6.1 Introduction 127
6.2 Simplex Method 129
6.2.1 Slack Variables 129
6.2.2 Standard Formulation 130
6.2.3 Duality 131
6.2.4 Augmented Form 132
6.3 Worked Example by Simplex Method 133
6.4 Interior-PointMethod for LP 136
Exercises 139
Bibliography 139
7 Integer Programming 141
7.1 Integer Linear Programming 141
7.1.1 Review of LP 141
7.1.2 Integer LP 142
7.2 LP Relaxation 143
7.3 Branch and Bound 146
7.3.1 How to Branch 153
7.4 Mixed Integer Programming 155
7.5 Applications of LP, IP, and MIP 156
7.5.1 Transport Problem 156
7.5.2 Product Portfolio 158
7.5.3 Scheduling 160
7.5.4 Knapsack Problem 161
7.5.5 Traveling Salesman Problem 161
Exercises 163
Bibliography 163
8 Regression and Regularization 165
8.1 Sample Mean and Variance 165
8.2 Regression Analysis 168
8.2.1 Maximum Likelihood 168
8.2.2 Regression 168
8.2.3 Linearization 173
8.2.4 Generalized Linear Regression 175
8.2.5 Goodness of Fit 178
8.3 Nonlinear Least Squares 179
8.3.1 Gauss-Newton Algorithm 180
8.3.2 Levenberg-Marquardt Algorithm 182
8.3.3 Weighted Least Squares 183
8.4 Over-fitting and Information Criteria 184
8.5 Regularization and Lasso Method 186
8.6 Logistic Regression 187
8.7 Principal Component Analysis 191
Exercises 195
Bibliography 196
9 Machine Learning Algorithms 199
9.1 Data Mining 199
9.1.1 Hierarchy Clustering 200
9.1.2 k-Means Clustering 201
9.1.3 Distance Metric 202
9.2 Data Mining for Big Data 202
9.2.1 Characteristics of Big Data 203
9.2.2 Statistical Nature of Big Data 203
9.2.3 Mining Big Data 204
9.3 Artificial Neural Networks 206
9.3.1 Neuron Model 207
9.3.2 Neural Networks 208
9.3.3 Back Propagation Algorithm 210
9.3.4 Loss Functions in ANN 212
9.3.5 Stochastic Gradient Descent 213
9.3.6 Restricted Boltzmann Machine 214
9.4 Support Vector Machines 216
9.4.1 Statistical Learning Theory 216
9.4.2 Linear Support Vector Machine 217
9.4.3 Kernel Functions and Nonlinear SVM 220
9.5 Deep Learning 221
9.5.1 Learning 221
9.5.2 Deep Neural Nets 222
9.5.3 Tuning of Hyper-Parameters 223
Exercises 223
Bibliography 224
10 Queueing Theory and Simulation 227
10.1 Introduction 227
10.1.1 Components of Queueing 227
10.1.2 Notations 228
10.2 Arrival Model 230
10.2.1 Poisson Distribution 230
10.2.2 Inter-arrival Time 233
10.3 Service Model 233
10.3.1 Exponential Distribution 233
10.3.2 Service Time Model 235
10.3.3 Erlang Distribution 235
10.4 Basic QueueingModel 236
10.4.1 M/M/1 Queue 236
10.4.2 M/M/s Queue 240
10.5 Little’s Law 242
10.6 Queue Management and Optimization 243
Exercises 245
Bibliography 246
Part IV Advanced Topics 249
11 Multiobjective Optimization 251
11.1 Introduction 251
11.2 Pareto Front and Pareto Optimality 253
11.3 Choice and Challenges 255
11.4 Transformation to Single Objective Optimization 256
11.4.1 Weighted Sum Method 256
11.4.2 Utility Function 259
11.5 The 𝜖-Constraint Method 261
11.6 Evolutionary Approaches 264
11.6.1 Metaheuristics 264
11.6.2 Non-Dominated Sorting Genetic Algorithm 265
Exercises 266
Bibliography 266
12 Constraint-Handling Techniques 269
12.1 Introduction and Overview 269
12.2 Method of Lagrange Multipliers 270
12.3 Barrier Function Method 272
12.4 PenaltyMethod 272
12.5 Equality Constraints via Tolerance 273
12.6 Feasibility Criteria 274
12.7 Stochastic Ranking 275
12.8 Multiobjective Constraint-Handling and Ranking 276
Exercises 276
Bibliography 277
Part V Evolutionary Computation and Nature-Inspired
Algorithms 279
13 Evolutionary Algorithms 281
13.1 Evolutionary Computation 281
13.3.1 Basic Procedure 284
13.3.2 Choice of Parameters 285
13.4 Simulated Annealing 287
13.5 Differential Evolution 290
Exercises 293
Bibliography 293
14 Nature-Inspired Algorithms 297
14.1 Introduction to SI 297
14.2 Ant and Bee Algorithms 298
14.3 Particle Swarm Optimization 299
14.3.1 Accelerated PSO 301
14.3.2 Binary PSO 302
14.4 Firefly Algorithm 303
14.5 Cuckoo Search 306
14.5.1 CS Algorithm 307
14.5.2 Lévy Flight 309
14.5.3 Advantages of CS 312
14.6 Bat Algorithm 313
14.7 Flower Pollination Algorithm 315
14.8 Other Algorithms 319
Exercises 319
Bibliography 319
Appendix A Notes on Software Packages 323
Appendix B Problem Solutions 329
Index 345