# An Introduction to Optimization.pdf

An Introduction to Optimization

WILEY-INTERSCIENCE SERIES IN DISCRETE MATHEMATICS AND OPTIMIZATION ADVISORY EDITORS

RONALD L. GRAHAM University of California at San Diego, U.S.A.

JAN KAREL LENSTRA Department of Mathematics and Computer Science, Eindhoven University of Technology, Eindhoven, The Netherlands

JOEL H. SPENCER +

Institute, New York, New York, U.S.A.

A complete list of titles in this series appears at the end of this volume.

An Introduction to Optimization Second Edition

EDWIN K. P. CHONG STANISLAW H. ZAK

A Wiley-lnterscience Publication JOHN WILEY & SONS, INC. New York / Chichester / Weinheim / Brisbane / Singapore / Toronto

This text is printed on acid-free paper. @ Copyright © 2001 by John Wiley & Sons, Inc. All rights reserved. Published simultaneously in Canada. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4744. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 605 Third Avenue, New York, NY 10158-0012, (212) 850-6011, fax (212) 850-6008, E-Mail: PERMREQ @ W1LEY.COM. For ordering and customer service, call 1-800-CALL-W1LEY. Library of Congress Cataloging in Publication Data is available. ISBN: 0-471-39126-3 Printed in the United States of America 10 9 8 7 6 5 4 3

To my wife, Yat-Yee, and my parents, Paul and Julienne Chong. Edwin K. P. Chong

To JMJ, my wife, Mary Ann, and my parents, Janina and Konstanty Zak. Stanislaw H. Zak

Contents

Preface

xiii

Part I Mathematical Review 1 Methods of Proof and Some Notation 1.1 Methods of Proof 1.2 Notation Exercises

1 1 3 4

2 Vector Spaces and Matrices 2.1 Real Vector Spaces 2.2 Rank of a Matrix 2.3 Linear Equations 2.4 Inner Products and Norms Exercises

5 5 10 14 16 19

3 Transformations 3.1 Linear Transformations 3.2 Eigenvalues and Eigenvectors

21 21 22 vii

viii

CONTENTS

3.3 3.4 3.5

Orthogonal Projections Quadratic Forms Matrix Norms Exercises

25 26 31 35

4 Concepts from Geometry 4.1 Line Segments 4.2 Hyperplanes and Linear Varieties 4.3 Convex Sets 4.4 Neighborhoods 4.5 Poly topes and Polyhedra Exercises

39 39 39 42 44 45 47

5 Elements of Calculus 5.1 Sequences and Limits 5.2 Differentiability 5.3 The Derivative Matrix 5.4 Differentiation Rules 5.5 Level Sets and Gradients 5.6 Taylor Series Exercises

49 49 55 57 59 60 64 68

Part II Unconstrained Optimization 6 Basics of Set-Constrained and Unconstrained Optimization 6.1 Introduction 6.2 Conditions for Local Minimizers Exercises 7 One-Dimensional Search Methods 7.1 Golden Section Search 7.2 Fibonacci Search 7.3 Newton's Method 7.4 Secant Method 7.5 Remarks on Line Search Methods Exercises

73 73 75 83 91 91 95 103 106 108 109

CONTENTS

IX

8 Gradient Methods 8.1 Introduction 8.2 The Method of Steepest Descent 8.3 Analysis of Gradient Methods 8.3.1 Convergence 8.3.2 Convergence Rate Exercises

113 113 115 122 122 129 134

9 Newton's Method 9.1 Introduction 9.2 Analysis of Newton's Method 9.3 Levenberg-Marquardt Modification 9.4 Newton's Method for Nonlinear Least-Squares Exercises

139 139 142 145 146 149

10 Conjugate Direction Methods 10.1 Introduction 10.2 The Conjugate Direction Algorithm 10.3 The Conjugate Gradient Algorithm 10.4 The Conjugate Gradient Algorithm for Non-Quadratic Problems Exercises

151 151 153 158

11 Quasi-Newton Methods 11.1 Introduction 11.2 Approximating the Inverse Hessian 11.3 The Rank One Correction Formula 11.4 The DFP Algorithm 11.5 The BFGS Algorithm Exercises

167 167 168 171 176 180 184

12 Solving Ax = b 12.1 Least-Squares Analysis 12.2 Recursive Least-Squares Algorithm 12.3 Solution to Ax = b Minimizing ||x|| 12.4 Kaczmarz's Algorithm 12.5 Solving Ax = b in General Exercises

187 187 196 199 201 204 212

161 164

X

CONTENTS

13 Unconstrained Optimization and Neural Networks 13.1 Introduction 13.2 Single-Neuron Training 13.3 Backpropagation Algorithm Exercises

219 219 221 224 234

14 Genetic Algorithms 14.1 Basic Description 14.1.1 Chromosomes and Representation Schemes 14.1.2 Selection and Evolution 14.2 Analysis of Genetic Algorithms 14.3 Real-Number Genetic Algorithms Exercises

237 237 238 238 243 248 250

Part III Linear Programming 15 Introduction to Linear Programming 15.1 A Brief History of Linear Programming 15.2 Simple Examples of Linear Programs 15.3 Two-Dimensional Linear Programs 15.4 Convex Polyhedra and Linear Programming 15.5 Standard Form Linear Programs 15.6 Basic Solutions 15.7 Properties of Basic Solutions 15.8 A Geometric View of Linear Programs Exercises

255 255 257 263 264 267 272 276 279 282

16 Simplex Method 16.1 Solving Linear Equations Using Row Operations 16.2 The Canonical Augmented Matrix 16.3 Updating the Augmented Matrix 16.4 The Simplex Algorithm 16.5 Matrix Form of the Simplex Method 16.6 The Two-Phase Simplex Method 16.7 The Revised Simplex Method Exercises

287 287 294 295 297 303 307 310 315

CONTENTS

xi

17 Duality 17.1 Dual Linear Programs 17.2 Properties of Dual Problems Exercises

321 321 328 333

18 Non-Simplex Methods 18.1 Introduction 18.2 Khachiyan's Method 18.3 Affine Scaling Method 18.3.1 Basic Algorithm 18.3.2 Two-Phase Method 18.4 Karmarkar's Method 18.4.1 Basic Ideas 18.4.2 Karmarkar's Canonical Form 18.4.3 Karmarkar's Restricted Problem 18.4.4 From General Form to Karmarkar's Canonical Form 18.4.5 The Algorithm Exercises

339 339 340 343 343 347 348 348 349 351 352 356 360

Part IV Nonlinear Constrained Optimization 19 Problems with Equality Constraints 19.1 Introduction 19.2 Problem Formulation 19.3 Tangent and Normal Spaces 19.4 Lagrange Condition 19.5 Second-Order Conditions 19.6 Minimizing Quadratics Subject to Linear Constraints Exercises

365 365 366 368 374 384 387 391

20 Problems with Inequality Constraints 20.1 Karush-Kuhn-Tucker Condition 20.2 Second-Order Conditions Exercises

397 397 406 410

21 Convex Optimization Problems 21.1 Introduction

417 417

xii

CONTENTS

21.2 Convex Functions 21.3 Convex Optimization Problems Exercises

419 427 433

22 Algorithms for Constrained Optimization 22.1 Introduction 22.2 Projections 22.3 Projected Gradient Methods 22.4 Penalty Methods Exercises

439 439 439 441 445 451

References

455

Index

462

Preface

Optimization is central to any problem involving decision making, whether in engineering or in economics. The task of decision making entails choosing between various alternatives. This choice is governed by our desire to make the "best" decision. The measure of goodness of the alternatives is described by an objective function or performance index. Optimization theory and methods deal with selecting the best alternative in the sense of the given objective function. The area of optimization has received enormous attention in recent years, primarily because of the rapid progress in computer technology, including the development and availability of user-friendly software, high-speed and parallel processors, and artificial neural networks. A clear example of this phenomenon is the wide accessibility of optimization software tools such as the Optimization Toolbox of MATLAB1 and the many other commercial software packages. There are currently several excellent graduate textbooks on optimization theory and methods (e.g., [3], [26], [29], [36], [64], [65], [76], [93]), as well as undergraduate textbooks on the subject with an emphasis on engineering design (e.g., [1] and [79]). However, there is a need for an introductory textbook on optimization theory and methods at a senior undergraduate or beginning graduate level. The present text was written with this goal in mind. The material is an outgrowth of our lecture notes for a one-semester course in optimization methods for seniors and beginning 1 MATLAB is a registered trademark of The Math Works, Inc. For MATLAB product information, please contact: The MathWorks, Inc., 3 Apple Hill Drive, Natick, MA, 01760-2098 USA. Tel: 508-647-7000, Fax: 508-647-7101, E-mail: [email protected], Web: www.mathworks.com

xiii

XIV

PREFACE

graduate students at Purdue University, West Lafayette, Indiana. In our presentation, we assume a working knowledge of basic linear algebra and multivariable calculus. For the reader's convenience, a part of this book (Part I) is devoted to a review of the required mathematical background material. Numerous figures throughout the text complement the written presentation of the material. We also include a variety of exercises at the end of each chapter. A solutions manual with complete solutions to the exercises is available from the publisher to instructors who adopt this text. Some of the exercises require using MATLAB. The student edition of MATLAB is sufficient for all of the MATLAB exercises included in the text. The MATLAB source listings for the MATLAB exercises are also included in the solutions manual. The purpose of the book is to give the reader a working knowledge of optimization theory and methods. To accomplish this goal, we include many examples that illustrate the theory and algorithms discussed in the text. However, it is not our intention to provide a cookbook of the most recent numerical techniques for optimization; rather, our goal is to equip the reader with sufficient background for further study of advanced topics in optimization. The field of optimization is still a very active research area. In recent years, various new approaches to optimization have been proposed. In this text, we have tried to reflect at least some of the flavor of recent activity in the area. For example, we include a discussion of genetic algorithms, a topic of increasing importance in the study of complex adaptive systems. There has also been a recent surge of applications of optimization methods to a variety of new problems. A prime example of this is the use of descent algorithms for the training of feedforward neural networks. An entire chapter in the book is devoted to this topic. The area of neural networks is an active area of ongoing research, and many books have been devoted to this subject. The topic of neural network training fits perfectly into the framework of unconstrained optimization methods. Therefore, the chapter on feedforward neural networks provides not only an example of application of unconstrained optimization methods, but it also gives the reader an accessible introduction to what is currently a topic of wide interest. The material in this book is organized into four parts. Part I contains a review of some basic definitions, notations, and relations from linear algebra, geometry, and calculus that we use frequently throughout the book. In Part II we consider unconstrained optimization problems. We first discuss some theoretical foundations of set-constrained and unconstrained optimization, including necessary and sufficient conditions for minimizers and maximizers. This is followed by a treatment of various iterative optimization algorithms, together with their properties. A discussion of genetic algorithms is included in this part. We also analyze the least-squares optimization problem and the associated recursive least-squares algorithm. Parts III and IV are devoted to constrained optimization. Part III deals with linear programming problems, which form an important class of constrained optimization problems. We give examples and analyze properties of linear programs, and then discuss the simplex method for solving linear programs. We also provide a brief treatment of dual linear programming problems. We wrap up Part III by discussing some non-simplex algorithms for solving linear programs: Khachiyan's method, the affine scaling method,

PREFACE

XV

and Karmarkar's method. In Part IV we treat nonlinear constrained optimization. Here, as in Part II, we first present some theoretical foundations of nonlinear constrained optimization problems. We then discuss different algorithms for solving constrained optimization problems. While we have made every effort to ensure an error-free text, we suspect that some errors remain undetected. For this purpose, we provide on-line updated errata that can be found at the web site for the book, accessible via: http://www.wiley.com/mathematics We are grateful to several people for their help during the course of writing this book. In particular, we thank Dennis Goodman of Lawrence Livermore Laboratories for his comments on early versions of Part II, and for making available to us his lecture notes on nonlinear optimization. We thank Moshe Kam of Drexel University for pointing out some useful references on non-simplex methods. We are grateful to Ed Silverman and Russell Quong for their valuable remarks on Part I of the first edition. We also thank the students of EE 580 for their many helpful comments and suggestions. In particular, we are grateful to Christopher Taylor for his diligent proofreading of early manuscripts of this book. This second edition incorporates many valuable suggestions of users of the first edition, to whom we are grateful. Finally, we are grateful to the National Science Foundation for supporting us during the preparation of the second edition. E. K. P. CHONG AND S. H. ZAK Fort Collins, Colorado, and West Lafayette, Indiana

Part I

Mathematical Review

1 Methods of Proof and Some Notation 1.1

METHODS OF PROOF

Consider two statements, "A" and "B," which could be either true or false. For example, let "A" be the statement "John is an engineering student," and let "B" be the statement "John is taking a course on optimization." We can combine these statements to form other statements, like "A and B" or "A or B." In our example, "A and B" means "John is an engineering student, and he is taking a course on optimization." We can also form statements like "not A," "not B," "not (A and B)," and so on. For example, "not A" means "John is not an engineering student." The truth or falsity of the combined statements depend on the truth or falsity of the original statements, "A" and "B." This relationship is expressed by means of truth tables; see Tables 1.1 and 1.2. From Tables 1.1 and 1.2, it is easy to see that the statement "not (A and B)" is equivalent to "(not A) or (not B)" (see Exercise 1.3). This is called DeMorgan 's law. In proving statements, it is convenient to express a combined statement by a conditional, such as "A implies B," which we denote "A=>B." The conditional "A=>B" is simply the combined statement "(not A) or B," and is often also read "A only if B," or "if A then B," or "A is sufficient for B," or "B is necessary for A." We can combine two conditional statements to form a biconditional statement of the form "A B," which simply means "(A=>B) and (B=>A)." The statement "A B" reads "A if and only if B," or "A is equivalent to B," or "A is necessary and sufficient for B." Truth tables for conditional and biconditional statements are given in Table 1.3.

1

2

METHODS OF PROOF AND SOME NOTATION

Table 1.1

Truth Table for "A and B" and "A or B'

A

B

A and B

A or B

F F T T

F T F T

F F F T

F T T T

Table 1.2 Truth Table for "not A" A

not A

F T

T F

Table 1.3 Truth Table for Conditionals and Biconditionals A

B

A=>B

A<=B

F F T T

F T F T

T T F T

T F T T

A

B T F F T

It is easy to verify, using the truth table, that the statement "A=>B" is equivalent to the statement "(not B)=>(not A)." The latter is called the contrapositive of the former. If we take the contrapositive to DeMorgan's Law, we obtain the assertion that "not (A or B)" is equivalent to "(not A) and (not B)." Most statements we deal with have the form "A=>B." To prove such a statement, we may use one of the following three different techniques: 1. The direct method 2. Proof by contraposition 3. Proof by contradiction or reductio ad absurdum. In the case of the direct method, we start with "A," then deduce a chain of various consequences to end with "B."

NOTATION

3

A useful method for proving statements is proof by contraposition, based on the equivalence of the statements "A=>B" and "(not B)=>(not A)." We start with "not B," then deduce various consequences to end with "not A" as a conclusion. Another method of proof that we use is proof by contradiction, based on the equivalence of the statements "A=>B" and "not (A and (not B))." Here we begin with "A and (not B)" and derive a contradiction. Occasionally, we use the principle of induction to prove statements. This principle may be stated as follows. Assume that a given property of positive integers satisfies the following conditions: • The number 1 possesses this property; • If the number n possesses this property, then the number n + 1 possesses it too. The principle of induction states that under these assumptions any positive integer possesses the property. The principle of induction is easily understood using the following intuitive argument. If the number 1 possesses the given property then the second condition implies that the number 2 possesses the property. But, then again, the second condition implies that the number 3 possesses this property, and so on. The principle of induction is a formal statement of this intuitive reasoning. For a detailed treatment of different methods of proof, see [94].

1.2

NOTATION

Throughout, we use the following notation. If X is a set, then we write x € X to mean that x is an element of X. When an object x is not an element of a set X, we write x X. We also use the "curly bracket notation" for sets, writing down the first few elements of a set followed by three dots. For example, { x 1 , x 2 , x 3 , . . . } is the set containing the elements x1, x2, x3, and so on. Alternatively, we can explicitly display the law of formation. For example, {x : x € R, x > 5} reads "the set of all x such that x is real and x is greater than 5." The colon following x reads "such that." An alternative notation for the same set is {x € R : x > 5}. If X and Y are sets, then we write X C Y to mean that every element of X is also an element of Y. In this case, we say that X is a subset of Y. If X and Y are sets, then we denote by X \ Y ("X minus Y") the set of all points in X that are not in Y. Note that X \ Y is a subset of X. The notation / : X Y means "f is a function from the set X into the set Y" The symbol := denotes arithmetic assignment. Thus, a statement of the form x := y means "x becomes y." The symbol = means "equals by definition." Throughout the text, we mark the end of theorems, lemmas, propositions, and corollaries using the symbol . We mark the end of proofs, definitions, and examples by .

4

METHODS OF PROOF AND SOME NOTATION

We use the IEEE style when citing reference items. For example, [77] represents reference number 77 in the list of references at the end of the book.

EXERCISES 1.1 Construct the truth table for the statement "(not B)=>(not A)," and use it to show that this statement is equivalent to the statement "A=>B." 1.2 Construct the truth table for the statement "not (A and (not B))," and use it to show that this statement is equivalent to the statement "A=>B." 1.3 Prove DeMorgan's Law by constructing the appropriate truth tables. 1.4 Prove that for any statements A and B, we have "A (A and B) or (A and (not B))." This is useful because it allows us to prove a statement A by proving the two separate cases "(A and B)," and "(A and (not B))." For example, to prove that |x| > x for any x e R, we separately prove the cases "|x| > x and x > 0," and "|x| > x and x < 0." Proving the two cases turns out to be easier than directly proving the statement |x| > x (see Section 2.4 and Exercise 2.4). 1.5 (This exercise is adopted from [17, pp. 80-81]) Suppose you are shown four cards, laid out in a row. Each card has a letter on one side and a number on the other. On the visible side of the cards are printed the symbols:

S8

3

A

Determine which cards you should turn over to decide if the following rule is true or false: "If there is a vowel on one side of the card, then there is an even number on the other side."

2_ Vector Spaces and Matrices

2.1

REAL VECTOR SPACES

We define a column n-vector to be an array of n numbers, denoted

The number ai is called the ith component of the vector a. Denote by R the set of real numbers, and by Rn the set of column n-vectors with real components. We call Rn an n-dimensional real vector space. We commonly denote elements of Rn by lower-case bold letters, e.g., x. The components of x € Rn are denoted x 1 , . . . , xn. We define a row n-vector as

The transpose of a given column vector a is a row vector with corresponding elements, denoted aT. For example, if

then

5

5

VECTOR SPACES AND MATRICES

Equivalently, we may write a = [ a 1 , a 2 , . . . , an]T. Throughout the text, we adopt the convention that the term "vector" (without the qualifier "row" or "column") refers to a column vector. Two vectors a = [ a 1 , a 2 , . . . , an]T and b = [b1,b2,........,b n ] Tare equal if ai = bi, i = 1,2, . . . , n . The sum of the vectors a and b, denoted a + b, is the vector

The operation of addition of vectors has the following properties: 1. The operation is commutative:

2. The operation is associative:

3. There is a zero vector such that The vector is called the difference between a and 6, and is denoted a — b. The vector 0 — b is denoted —b. Note that

The vector 6 — a is the unique solution of the vector equation

Indeed, suppose x = [ x 1 , x2, .......,xn]T is a solution to a + x = b. Then,

and thus

REAL VECTOR SPACES

7

We define an operation of multiplication of a vector a € Rn by a real scalar a e R as

This operation has the following properties: 1. The operation is distributive: for any real scalars a and b,

2. The operation is associative:

3. The scalar 1 satisfies: 4. Any scalar a satisfies: 5. The scalar 0 satisfies: 6. The scalar —1 satisfies: Note that aa = 0 if and only if a = 0 or a — 0. To see this, observe that aa = 0 is equivalent to aa1 = aa2 = • • • = aan = 0. If a = 0 or a = 0, then aa = 0. If a 0, then at least one of its components ak 0. For this component, aak = 0, and hence we must have a = 0. Similar arguments can be applied to the case when a 0. A set of vectors (a 1 ,..., ak } is said to be linearly independent if the equality

implies that all coefficients ai, i = 1,... ,k, are equal to zero. A set of the vectors {a 1 ,..., ak} is linearly dependent if it is not linearly independent. Note that the set composed of the single vector 0 is linearly dependent, for if a 0 then a0 = 0. In fact, any set of vectors containing the vector 0 is linearly dependent. A set composed of a single nonzero vector a 0 is linearly independent since aa = 0 implies a = 0. A vector a is said to be a linear combination of vectors a1, a 2 , . . . , ak if there are scalars a 1 , . . . , ak such that

8

VECTOR SPACES AND MATRICES

Proposition 2.1 A set of vectors {a 1 , a 2 , . . . , ak } is linearly dependent if and only if one of the vectors from the set is a linear combination of the remaining vectors. Proof. =>: If {a1, a 2 , . . . , ak} is linearly dependent then

where at least one of the scalars ai 0, whence

<=: Suppose a1 =

a2a2+a3a3

+........+akak,

then (-l)a 1 + a2a2 +........+akak = 0. Because the first scalar is nonzero, the set of vectors {a1, a 2 , . . . , ak} is linearly dependent. The same argument holds if ai, i = 2 , . . . , k, is a linear combination of the remaining vectors. A subset V of Rn is called a subspace of Rn if V is closed under the operations of vector addition and scalar multiplication. That is, if a and 6 are vectors in V, then the vectors a + b and aa are also in V for every scalar a. Every subspace contains the zero vector 0, for if a is an element of the subspace, so is (—l)a = -a. Hence, a - a = 0 also belongs to the subspace. Let a1, a 2 , . . . , ak be arbitrary vectors in Rn. The set of all their linear combinations is called the span of a1, a2,..., ak and is denoted

Given a vector a, the subspace span [a] is composed of the vectors aa, where a is an arbitrary real number (a e R). Also observe that if a is a linear combination of a 1 ,a 2 , ........, a k then

The span of any set of vectors is a subspace. Given a subspace V, any set of linearly independent vectors {a1, a 2 , . . . , ak} C V such that V = span[a1, a 2 , . . . , ak] is referred to as a basis of the subspace V. All bases of a subspace V contain the same number of vectors. This number is called the dimension of V, denoted dim V. Proposition 2.2 If {a 1 , a2,..., ak} is a basis of V, then any vector a of V can be represented uniquely as

REAL VECTOR SPACES

9

where ai e R, i = 1,2,..., k. Proof. To prove the uniqueness of the representation of a in terms of the basis vectors, assume that and

We now show that ai = bi, i = 1,..., k. We have

or

Because the set {ai : i = 1,2,..., k} is linearly independent, a1 — b1 = a2 — b2 = • • • = ak - bk = 0, that is, ai = bi, i = 1,..., k.

Suppose we are given a basis {a 1 ,a 2 ,..., ak } of V and a vector a e V such that

The coefficients ai, i = 1,..., k, are called the coordinates of a with respect to the basis {a l ,a 2 ,... , ak}. The natural basis for Rn is the set of vectors

The reason for calling these vectors the natural basis is that

We can similarly define complex vector spaces. For this, let C denote the set of complex numbers, and Cn the set of column n-vectors with complex components. As the reader can easily verify, the set Cn has similar properties to Rn, where scalars can take complex values.

10

VECTOR SPACES AND MATRICES

2.2

RANK OF A MATRIX

A matrix is a rectangular array of numbers, commonly denoted by upper-case bold letters, e.g., A. A matrix with m rows and n columns is called an m x n matrix, and we write

Let us denote the kth column of A by ak, that is,

The maximal number of linearly independent columns of A is called the rank of the matrix A, denoted rank A. Note that rank A is the dimension of span [ a 1 , . . . , an]. Proposition 2.3 The rank of a matrix A is invariant under the following operations: 1. Multiplication of the columns of A by nonzero scalars, 2. Interchange of the columns, 3. Addition to a given column a linear combination of other columns.

Proof. 1. Let bk = akak , where ak 0, k = 1,..., n, and let B = [b1,b2, ......., bn]. Obviously span[a 1 ,a 2 ,...,a n ] = span[b 1 ,b 2 , • • • ,bn], and thus 2. The number of linearly independent vectors does not depend on their order.

3. Let

RANK OF A MATRIX

11

So, for any a 1 , . . . , an, a1b1 +a2b2+.........+anbn= a1a1 + (a2 + a 1 c 2 )a 2 +.......+ (an + a 1 c n )a n , and hence On the other hand

Hence, Therefore,

Associated with each square (n x n) matrix A is a scalar called the determinant of the matrix A, denoted det A or | A|. The determinant of a square matrix is a function of its columns and has the following properties: 1. The determinant of the matrix A = [a 1 ,a 2 ,... ,an] is a linear function of each column, that is,

for each a,b e R, ak(1), ak(2) e Rn. 2. If for some k we have ak = ak+1, then det A = det[a 1 ,..., ak, ak+1, ......, an] = det[a 1 ,..., ak, a k , . . . , an] = 0. 3. Let

where {e 1 ,..., en} is the natural basis for Rn. Then,

12

VECTOR SPACES AND MATRICES Note that if a = b = 0 in property 1, then

Thus, if one of the columns is 0, then the determinant is equal to zero. The determinant does not change its value if we add to a column another column multiplied by a scalar. This follows from properties 1 and 2 as shown below:

However, the determinant changes its sign if we interchange columns. To show this property note that

A pth-order minor of an m x n matrix A, with p < min(m, n), is the determinant of a p x p matrix obtained from A by deleting m— p rows and n — p columns. One can use minors to investigate the rank of a matrix. In particular, we have the following proposition. Proposition 2.4 If an m x n (m > n) matrix A has a nonzero nth-order minor, then the columns of A are linearly independent, that is, rank A = n. Proof. Suppose A has a nonzero nth-order minor. Without loss of generality, we assume that the nth-order minor corresponding to the first n rows of A is nonzero. Let xi, i = 1,..., n, be scalars such that

The above vector equality is equivalent to the following set of m equations:

RANK OF A MATRIX

13

Fori = 1,... ,n, let

Then, x1a1 +.....+ xnan = 0. The nth-order minor is det[a1, a 2 , . . . , an], assumed to be nonzero. From the properties of determinants it follows that the columns a1, a 2 , . . . , an are linearly independent. Therefore, all xi = 0, i = 1 , . . . , n. Hence, the columns a1, a 2 , . . . , an are linearly independent. From the above it follows that if there is a nonzero minor, then the columns associated with this nonzero minor are linearly independent. If a matrix A has an rth-order minor |M| with the properties (i) |M| 0 and (ii) any minor of A that is formed by adding a row and a column of A to M is zero, then rank A = r. Thus, the rank of a matrix is equal to the highest order of its nonzero minor(s). A nonsingular (or invertible) matrix is a square matrix whose determinant is nonzero. Suppose that A is an n x n square matrix. Then, A is nonsingular if and only if there is another n x n matrix B such that AB = BA = In,

where In denotes the n x n identity matrix:

We call the above matrix B the inverse matrix of A, and write B = A-1. Consider the m x n matrix

The transpose of A, denoted AT, is the n x m matrix

that is, the columns of A are the rows of AT, and vice versa. A matrix A is symmetric if A = AT.

14

VECTOR SPACES AND MATRICES

2.3

LINEAR EQUATIONS

Suppose we are given m equations in n unknowns of the form

We can represent the above set of equations as a vector equation

where

Associated with the above system of equations are the following matrices

and an augmented matrix

We can also represent the above system of equations as

where

Theorem 2.1 The system of equations Ax = 6 has a solution if and only if rank A = rank[A b].

Proof. =>: Suppose the system Ax = b has a solution. Therefore, b is a linear combination of the columns of A, that is, there exist x 1 , . . . , xn such that x1a1 + x2a2 + • • • + xnan = b. It follows that b belongs to span[a 1 ,..., an] and hence rank A

= dim span[a 1 ,..., an] = dim span[a 1 ,... ,an, b] = rank[A b].

LINEAR EQUATIONS

15

<=: Suppose that rank A = rank[Ab] = r. Thus, we have r linearly independent columns of A. Without loss of generality, let a 1 , a 2 , . . . ,ar be these columns. Therefore, a1, a 2 , . . . , ar are also linearly independent columns of the matrix [A b]. Because rank[A b] = r, the remaining columns of [A b] can be expressed as linear combinations of a1, a 2 , . . . , ar. In particular, b can be expressed as a linear combination of these columns. Hence, there exist x1, . . . , x n such that x1a1 + x2a2 + • • • + xnan = b. Let the symbol R m x n denote the set of m x n matrices whose elements are real numbers. Theorem 2.2 Consider the equation Ax = b, where A e R m x n , and rank A = m. A solution to Ax = b can be obtained by assigning arbitrary values for n — m variables and solving for the remaining ones. Proof. We have rank A = m, and therefore we can find m linearly independent columns of A. Without loss of generality, let a 1 , a 2 , . . . , am be such columns. Rewrite the equation Ax — b as

Assign to x m + 1 , x m + 2 , . . . , xn arbitrary values, say

and let Note that det B

0. We can represent the above system of equations as

The matrix B is invertible, and therefore we can solve for [x 1 , x2 ,........, xm]T. Specifically,

16

VECTOR SPACES AND MATRICES

2.4

INNER PRODUCTS AND NORMS

The absolute value of a real number a, denoted \a\, is defined as

The following formulas hold:

1. |a| =

|-a|;

2. -|a| < a < |a|; 3. |a + b| < |a| + |b|; 4. ||a| -Ib|| < |a - b| < |a| + |b|;

5. |ab| = |a||b|; 6. |a| < c and |b| < d imply |a + b| < c + d; 7. The inequality |a| < b is equivalent to — b < a < b (i.e., a < b and —a < 6). The same holds if we replace every occurrence of "<" by "<." 8. The inequality |a| > b is equivalent to a > b or — a > b. The same holds if we replace every occurrence of ">" by ">." For x, y e Rn, we define the Euclidean inner product by

The inner product is a real-valued function properties:

: Rn xRn

R

having the following

1. Positivity: > 0,< x , x >= 0 if and only if x = 0; 2. Symmetry:< x , y >= ; 3. Additivity: =< x , z >+ ; 4. Homogeneity: < r x , y > = r for every r e R. The properties of additivity and homogeneity in the second vector also hold, that

is,

INNER PRODUCTS AND NORMS

17

The above can be shown using properties 2 to 4. Indeed,

and

It is possible to define other real-valued functions on Rn x Rn that satisfy properties 1 to 4 above (see Exercise 2.5). Many results involving the Euclidean inner product also hold for these other forms of inner products. The vectors x and y are said to be orthogonal if = 0. The Euclidean norm of a vector x is defined as

Theorem 2.3 Cauchy-Schwarz Inequality. For any two vectors x and y in Rn, the Cauchy-Schwarz inequality

holds. Furthermore, equality holds if and only if x = ay for some a e R Proof. First assume that x and y are unit vectors, that is, \\x\\ = \\y\\ = 1. Then,

or

with equality holding if and only if x = y. Next, assuming that neither x nor y is zero (for the inequality obviously holds if one of them is zero), we replace x and y by the unit vectors x/||x|| and y//||y||. Then, apply property 4 to get

Now replace x by — x and again apply property 4 to get

The last two inequalities imply the absolute value inequality. Equality holds if and only if x/||x|| = ±y/||y||, that is, x = ay for someaeR The Euclidean norm of a vector ||x;|| has the following properties:

18

VECTOR SPACES AND MATRICES

1. Positivity: ||x|| > 0, ||x|| = 0 if and only if x = 0; 2. Homogeneity: ||rx|| = |r|||x||,r € R; 3. Triangle Inequality: ||x + y|| < ||x|| + ||y||. The triangle inequality can be proved using the Cauchy-Schwarz inequality, as follows. We have By the Cauchy-Schwarz inequality,

and therefore Note that if x and y are orthogonal, that is, (x, y) = 0, then

which is the Pythagorean theorem for Rn. The Euclidean norm is an example of a general vector norm, which is any function satisfying the above three properties of positivity, homogeneity, and triangle inequality. Other examples of vector norms on Rn include the 1-norm, defined by ||x||1 = |x1| +........+ |x n |, and the -norm, defined by ||x|| = maxi |xi|. The Euclidean norm is often referred to as the 2-norm, and denoted ||x||2. The above norms are special cases of the p-norm, given by

We can use norms to define the notion of a continuous function, as follows. A function f : Rn Rm is continuous at x if for all e > 0, there exists 6 > 0 such that ||y — x|| < d ||f(y) — f ( x ) | | < e. If the function / is continuous at every point in Rn, we say that it is continuous on Rn. Note that f = [ f 1 , . . . , fm]T is continuous if and only if each component fi, i = 1,..., m, is continuous. For the complex vector space C n , w e define an inner product to be xiyi, where the bar over yi denotes complex conjugation. The inner product on Cn is a complex valued function having the following properties: 1. > 0,= 0 if and only if x = 0; 2. < x , y > = ; 3. =< x , z >+ ; 4. = r, where r e C.

EXERCISES

19

From properties 1 to 4, we can deduce other properties, such as

where r 1 ,r 2 e C. For Cn, the vector norm can similarly be defined by ||x||2 = (x, x). For more information, consult Gel'fand [33].

EXERCISES 2.1 Let A e R m x n and rank A = m. Show that m < n. 2.2 Prove that the system Ax = b, A e R m x n , has a unique solution if and only if rank A = rank[A b] = n. 2.3 (Adapted from [25]) We know that if k > n +1, then the vectors a1, a 2 , . . , ak e Rn are linearly dependent, that is, there exist scalars a1 , . . . , ak such that at least one ai 0 and Ski=1 aiai = 0. Show that if k > n + 2, then there exist scalars a 1 , . . . , ak such that at least one a i 0, Ski=1 aiai =0 and Ski=1 ai = 0. Hint: Introduce the vectors ai = [1, aTi ]T e R n+1 , i = 1 , . . . , k, and use the fact that any n + 2 vectors in Rn+1 are linearly dependent. 2.4 Prove the seven properties of the absolute value of a real number. 2.5 Consider the function (., .)2 : R2 x R2 . R, defined by (x,y)2 = 2 x 1 y l + 3x2y1 + 3x1y2 + 5x2y2, where x = [x1,x2]T and y = [y 1 ,y 2 ] T . Show that (., .)2 satisfies conditions 1 to 4 for inner products. Note: This is a special case of Exercise 3.14. 2.6 Show that for any two vectors x, y € Rn, |||x|| — ||y||| < ||x — y||. Hint: Write x = (x — y) + y, and use the triangle inequality. Do the same for y. 2.7 Use Exercise 2.6 to show that the norm || • || is a uniformly continuous function, that is, for all e > 0, there exists d > 0 such that if ||x-y|| < d, then |||x|| — ||y|| < e.

3_ Transformations 3.1

LINEAR TRANSFORMATIONS

A function

: Rn Rm is called a linear transformation if

1.

(ax) = a (x) for every x € Rn and a e R; and

2.

(x + y) = (x) + (y) for every x, y e Rn.

If we fix the bases for Rn and Rm, then the linear transformation £ can be represented by a matrix. Specifically, there exists A e R m x n such that the following representation holds. Suppose x e Rn is a given vector, and x' is the representation of x with respect to the given basis for Rn. If y = (x), and y' is the representation of y with respect to the given basis for Rm, then

We call A the matrix representation of £ with respect to the given bases for Rn and Rm. In the special case where we assume the natural bases for Rn and Rm, the matrix representation A satisfies

Let {e1, e 2 , . . . , en} and {e'1, e'2,..., e'n} be two bases for Rn. Define the matrix

We call T the transformation matrix from {e 1 , e 2 , . . . , en} to {e' 1 , e'2,....... e'n}. It is clear that 21

22

TRANSFORMATIONS

that is, the ith column of T is the vector of coordinates of ei with respect to the basis {e'1,e'2,... ,e'n}. Fix a vector in Rn, and let x be the column of the coordinates of the vector with respect to {e1, e 2 , . . . , en}, and x' the coordinates of the same vector with respect to {e'1, e ' 2 , . . . , e'n}. Then, we can show that x' = Tx (see Exercise 3.1). Consider a linear transformation

and let A be its representation with respect to {e1, e 2 , . . . , en}, and B its representation with respect to {e'1, e' 2 ,..., e'n}. Let y = Ax and y' = Bx'. Therefore, y' = Ty = TAx = Bx' = BTx, and hence TA = BT, or A = T-1 BT. Two n x n matrices A and B are similar if there exists a nonsingular matrix T such that A = T-1 BT. In conclusion, similar matrices correspond to the same linear transformation with respect to different bases.

3.2 EIGENVALUES AND EIGENVECTORS Let A be an n x n square matrix. A scalar A (possibly complex) and a nonzero vector v satisfying the equation Av =lv are said to be, respectively, an eigenvalue and eigenvector of A. For A to be an eigenvalue it is necessary and sufficient for the matrix lI — A to be singular, that is, det[lI — A] = 0, where / is the n x n identity matrix. This leads to an nth-order polynomial equation

We call the polynomial det[lI — A] the characteristic polynomial of the matrix A, and the above equation the characteristic equation. According to the fundamental theorem of algebra, the characteristic equation must have n (possibly nondistinct) roots that are the eigenvalues of A. The following theorem states that if A has n distinct eigenvalues, then it also has n linearly independent eigenvectors. Theorem 3.1 Suppose the characteristic equation det[lI — A] = 0 has n distinct roots l1, l 2 ,..., ln. Then, there exist n linearly independent vectors v 1 , v 2 , • • • ,vn such that

Proof. Because det[liI — A] = 0, i — l , . . . , n , there exist nonzero vi, i = 1,..., n, such that Avi = l i v i ,i = l , . . . , n . We now prove linear independence of {v 1 , v2,..., vn}. To do this, let c1, . . . , cn be scalars such that Sni=1 civi = 0. We show that ci = 0, i = 1,..., n. Consider the matrix

EIGENVALUES AND EIGENVECTORS

23

We first show that c1 = 0. Note that

since l n v n — Avn = 0. Repeating the above argument, we get

But

Using the above equation, we see that

Because the li are distinct, it must follow that c1 = 0. Using similar arguments, we can show that all ci must vanish, and therefore the set of eigenvectors {v 1 ,v 2 ,... ,vn} is linearly independent. Consider a basis formed by a linearly independent set of eigenvectors {v1,v2, • • •, vn}. With respect to this basis, the matrix A is diagonal (i.e., if aij is the (i, j)th element of A, then aij = 0 for all i j). Indeed, let

Then,

24

TRANSFORMATIONS

because T-1T = I. Let us now consider symmetric matrices. Theorem 3.2 All eigenvalues of a symmetric matrix are real. Proof. Let where x

0. Taking the inner product of Ax with x yields

On the other hand

The above follows from the definition of the inner product on Cn. We note that (x, x) is real and (x, x) > 0. Hence,

and Because (x, x) > 0, Thus, A is real. Theorem 3.3 Any real symmetric n x n matrix has a set of n eigenvectors that are mutually orthogonal. Proof. We prove the result for the case when the n eigenvalues are distinct. For a general proof, see [43, p. 104]. Suppose Av1 = l1v1 ,Av2 = l2v2, where l1 l2. Then,

Because A = AT,

Therefore,

ORTHOGONAL PROJECTIONS

25

Because l1 l2, it follows that

If A is symmetric, then a set of its eigenvectors forms an orthogonal basis for Rn. If the basis {v 1 , v2,,.......,vn} is normalized so that each element has norm of unity, then defining the matrix we have and hence A matrix whose transpose is its inverse is said to be an orthogonal matrix.

3.3

ORTHOGONAL PROJECTIONS

Recall that a subspace V of Rn is a subset that is closed under the operations of vector addition and scalar multiplication. In other words, V is a subspace of Rn if x1, x2 e V ax1 + bx2 € V for all a, b e R. Furthermore, the dimension of a subspace V is equal to the maximum number of linearly independent vectors in V. If V is a subspace of Rn, then the orthogonal complement of V, denoted V , consists of all vectors that are orthogonal to every vector in V. Thus,

The orthogonal complement of V is also a subspace (see Exercise 3.3). Together, V and V span Rn in the sense that every vector x e Rn can be represented uniquely as where x1 e V and x2 e V . We call the above representation the orthogonal decomposition of x (with respect to V). We say that x1 and x2 are orthogonal projections of x onto the subspaces V and V , respectively. We write Rn = V V , and say that Rn is a direct sum of V and V . We say that a linear transformation P is an orthogonal projector onto V if for all x e Rn, we have Px € V and x - Px e V . In the subsequent discussion, we use the following notation. Let A € R m x n . Let the range, or image, of A be denoted

and the nullspace, or kernel, of A be denoted

26

TRANSFORMATIONS

Note that R(A) and N ( A ) are subspaces (see Exercise 3.4). Theorem 3.4 Let A be a given matrix. Then, R(A) = N(AT), and N(A) R(A T ).

=

Proof. Suppose x e R ( A ) . Then, yT(ATx) = (Ay}Tx = 0 for all y, so that ATx = 0. Hence, x e N(AT). This implies that R (A) C N(AT). If now x € N(A T ), then (Ay)Tx = yT(ATx) = 0 for all y, so that x e R(A) and consequently N(A T ) C R ( A } . Thus,R(A) =N(A T ). The equation N(A) = R(A T ) follows from what we have proved above, and the fact that for any subspace V, we have (V ) = V (see Exercise 3.6). Theorem 3.4 allows us to establish the following necessary and sufficient condition for orthogonal projectors. For this, note that if P is an orthogonal projector onto V, then Px = x for all x e V , and R ( P ) = V (see Exercise 3.9). Theorem 3.5 A matrix P is an orthogonal projector (onto the subspace V = R ( P ) ) if and only if P2 = P = PT. Proof. =>: Suppose P is an orthogonal projector onto V = R(P). Then, R(I — P) C R(P) . But, R(P) = N(PT) by Theorem 3.4. Therefore, R(I - P) C N(PT). Hence, PT(I - P)y = 0 for all y, which implies that PT(I - P) = O, where O is the matrix with all entries equal to zero. Therefore, PT = PTP, and thus P = PT = P2. : SupposeP2 = P = PT. For any x, we have(Py) T (I-P)x = yTPT(IP)x = yTP(I - P)x = 0 for all y. Thus, (I - P)x e R(P) , which means that P is an orthogonal projector.

3.4

A quadratic form f : Rn —> R is a function

where Q is an n x n real matrix. There is no loss of generality in assuming Q to be symmetric, that is, Q = QT. For if the matrix Q is not symmetric, we can always replace it with the symmetric matrix

Note that

A quadratic form xTQx, Q = QT, is said to be positive definite if xTQx > 0 for all nonzero vectors x. It is positive semidefinite if xTQx > 0 for all x. Similarly,

27

we define the quadratic form to be negative definite, or negative semidefinite, if xTQx < 0 for all nonzero vectors x, or xTQx < 0 for all x, respectively. Recall that the minors of a matrix Q are the determinants of the matrices obtained by successively removing rows and columns from Q. The principal minors are det Q itself and the determinants of matrices obtained by successively removing an ith row and an ith column. That is, the principal minors are:

The leading principal minors are det Q and the minors obtained by successively removing the last row and the last column. That is, the leading principal minors are:

We now prove Sylvester's criterion, which allows us to determine if a quadratic form xTQx is positive definite using only the leading principal minors of Q. Theorem 3.6 Sylvester's Criterion. A quadratic form xTQx, Q = QT, is positive definite if and only if the leading principal minors of Q are positive. Proof. The key to the proof of Sylvester's criterion is the fact that a quadratic form whose leading principal minors are nonzero can be expressed in some basis as a sum of squares

where xi are the coordinates of the vector x in the new basis, D0 1, and D1 , . . . , Dn are the leading principal minors of Q. To this end, consider a quadratic form f ( x ) = xTQx, where Q = QT. Let {e 1 , e 2 , . . . , en} be the natural basis for Rn, and let

be a given vector in Rn. Let {v 1 , v 2 , . . . , vn} be another basis for +n. Then, the vector x is represented in the new basis as x, where

Accordingly, the quadratic form can be written as

28

TRANSFORMATIONS

where

Note that qij = (v i , Qv+). Our goal is to determine conditions on the new basis {v 1 , v2,..., vn} such that qij = 0 for i j. We seek the new basis in the form

Observe that for j = 1,..., i - 1, if

then Our goal then is to determine the coefficients ai1, ai2, . . . , a i i , i = 1,..., n, such that the vector satisfies the i relations

In this case, we get

For each i = 1,..., n, the above i relations determine the coefficients a i 1 , . . . , aii in a unique way. Indeed, upon substituting the expression for vi into the above equations, we obtain the set of the equations

29

The above set of equations can be expressed in matrix form as

If the leading principal minors of the matrix Q do not vanish, then the coefficients aij can be obtained using Cramer's rule. In particular,

Hence,

In the new basis, the quadratic form can be expressed as a sum of squares

We now show that a necessary and sufficient condition for the quadratic form to be positive definite is Di > 0, i = 1,..., n. Sufficiency is clear, for if Di > 0, i = 1,..., n, then by the previous argument there is a basis such that for any x 0 (or, equivalently, any x 0). To prove necessity, we first show that for i = 1,..., n, we have Di 0. To see this, suppose that Dk = 0 for some k. Note that Dk = det Qk,

Then, there exists a vector v € Rk, v be given by x = [vT, 0T]T. Then,

0, such that vTQk = 0. Let now x € Rn

But x 0, which contradicts the fact that the quadratic form / is positive definite. Therefore, if xTQx > 0 then Di 0, i = 1,... ,n. Then, using our previous

30

TRANSFORMATIONS

argument, we may write

where x = [ v 1 , . . . , vn]x. Hence, if the quadratic form is positive definite, then all leading principal minors must be positive. Note that if Q is not symmetric, Sylvester's criterion cannot be used to check positive definiteness of the quadratic form xTQx. To see this, consider an example where

The leading principal minors of Q are D1 = 1 > 0 and A2 = det Q = 1 > 0. However, if x = [1,1]T, then xTQx = —2 < 0, and hence the associated quadratic form is not positive definite. Note that

The leading principal minors of Q0 are D1 = 1 > 0 and A2 = det Q0 = — 3 < 0, as expected. A necessary condition for a real quadratic form to be positive semidefinite is that the leading principal minors be nonnegative. However, this is not a sufficient condition (see Exercise 3.11). In fact, a real quadratic form is positive semidefinite if and only if all principal minors are nonnegative (for a proof of this fact, see [31, p. 307]). A symmetric matrix Q is said to be positive definite if the quadratic form xTQx is positive definite. If Q is positive definite, we write Q > 0. Similarly, we define a symmetric matrix Q to be positive semidefinite (Q > 0), negative definite (Q < 0), and negative semidefinite (Q < 0), if the corresponding quadratic forms have the respective properties. The symmetric matrix Q is indefinite if it is neither positive semidefinite nor negative semidefinite. Note that the matrix Q is positive definite (semidefinite) if and only if the matrix — Q is negative definite (semidefinite). Sylvester's criterion provides a way of checking the definiteness of a quadratic form, or equivalently a symmetric matrix. An alternative method involves checking the eigenvalues of Q, as stated below. Theorem 3.7 A symmetric matrix Q is positive definite (or positive semidefinite) if and only if all eigenvalues of Q are positive (or nonnegative). Proof. For any x, let y = T-1x = TTx, where T is an orthogonal matrix whose columns are eigenvectors of Q. Then, xTQx = yTTTQTy = Sni=1 liy2i. From this, the result follows.

MATRIX NORMS

31

Through diagonalization, we can show that a symmetric positive semidefinite matrix Q has a positive semidefinite (symmetric) square root Q1'2 satisfying Q1'2Q1'2 = Q. For this, we use T as above and define

which is easily verified to have the desired properties. Note that the quadratic form xTQx can be expressed as ||Q1//2x||2. In summary, we have presented two tests for definiteness of quadratic forms and symmetric matrices. We point out again that nonnegativity of leading principal minors is a necessary but not a sufficient condition for positive semidefiniteness.

3.5

MATRIX NORMS

The norm of a matrix may be chosen in a variety of ways. Because the set of matrices R m x n can be viewed as the real vector space R mn , matrix norms should be no different from regular vector norms. Therefore, we define the norm of a matrix A, denoted || A||,to be any function || • || that satisfies the conditions: 1. ||A|| > 0 if A equal to zero;

O, and ||O|| = 0, where O is the matrix with all entries

2. \\cA\\ = |c|||A||, for any c e R; 3. ||A + B||<||A|| + ||B||. An example of a matrix norm is the Frobenius norm, defined as

where A e Rm x n. Note that the Frobenius norm is equivalent to the Euclidean norm on + m n . For our purposes, we consider only matrix norms that satisfy the following additional condition:

4. ||AB|| < ||A|| ||B||. It turns out that the Frobenius norm above satisfies condition 4 as well. In many problems, both matrices and vectors appear simultaneously. Therefore, it is convenient to construct the norm of a matrix in such a way that it will be related with vector norms. To this end, we consider a special class of matrix norms, called

32

TRANSFORMATIONS

induced norms. Let || • ||(n) and || •||m(m)be vector norms on Rn and Rm, respectively. We say that the matrix norm is induced by, or is compatible with, the given vector norms if for any matrix A € R m x n and any vector x € Rn, the following inequality is satisfied: We can define an induced matrix norm as:

that is, || A|| is the maximum of the norms of the vectors Ax where the vector x runs over the set of all vectors with unit norm. When there is no ambiguity, we omit the subscripts (m) and (n) from || • ||(m) and || • ||(n). Because of the continuity of a vector norm (see Exercise 2.7), for each matrix A the maximum

is attainable, that is, a vector x0 exists such that ||x0|| = 1 and ||Ax0|| = \\A\\. This fact follows from the theorem of Weierstrass (see Theorem 4.2). The induced norm satisfies conditions 1 to 4, and the compatibility condition, as we prove below. Proof of Condition 1. Let A O. Then, a vector x, \\x\\ = 1, can be found such that Ax 0, and thus ||Ax|| 0. Hence, ||A|| = max||x||=1 ||Ax|| 0. If, on the other hand, A = O, then ||A|| = max^n-i \\Ox\\ = 0. Proof of Condition 2. By definition, ||cA|| = max||x||=1 ||cAx||. Obviously ||cAx|| = |c|||Ax||, and therefore ||cA|| = max ||x||=1 |c|||Ax|| = |c|max||x||=1 ||Ax|| = |c|||A||. Proof of Compatibility Condition. Let y 0 be any vector. Then, x = y/||y|| satisfies the condition |x| = 1. Consequently \\Ay\\ = ||A(||y||x)|| = ||y||||Ax|| <

||y||||A||. Proof of Condition 3. For the matrix A + B, we can find a vector x0 such that ||A + B|| = ||(A + B)x 0 || and ||x0|| = 1. Then, we have

MATRIX NORMS

33

Proof of Condition 4. For the matrix AB, we can find a vector x0 such that ||x0|| = 1 and ||ABx0|| = ||AB||. Then, we have

Theorem 3.8 Let

The matrix norm induced by this vector norm is

where l1 is the largest eigenvalue of the matrix A

A.

Proof. We have The matrix ATA is symmetric and positive semidefinite. Let l1 > l2 > ...... > ln > 0 be its eigenvalues and x1, x 2 , . . . , xn the orthonormal set of the eigenvectors corresponding to these eigenvalues. Now, we take an arbitrary vector x with ||x|| = 1 and represent it as a linear combination of xi, i = 1,..., n, that is:

Note that Furthermore,

For the eigenvector x1 of AT A corresponding to the eigenvalue l1 , we have

34

TRANSFORMATIONS

and hence

Using arguments similar to the above, we can deduce the following important inequality. Rayleigh's Inequality. If an n x n matrix P is real symmetric positive definite, then

where A m i n (P) denotes the smallest eigenvalue of P, and Xm&x(P) denotes the largest eigenvalue of P. Example 3.1 Consider the matrix

and let the norm in E2 be given by

Then,

and det[AJ2 - ATA] = A2 - 10A + 9 = (A - 1)(A - 9). Thus, \\A\\ = ^9 = 3. The eigenvector of AT A corresponding to AI — 9 is

Note that \\Axi\\ = \\A\\. Indeed,

Because A = AT in this example, we also have \\A\\ = maxi<;< n |Aj(A)|, where AI (A),..., \n(A) are the eigenvalues of A (possibly repeated). Warning: In general, max.i maxi
EXERCISES

35

Example 3.2 Let

then

and

Note that 0 is the only eigenvalue of A. Thus, for i = 1,2,

For a more complete but still basic treatment of topics in linear algebra as discussed in this and the previous chapter, see [33], [47], [69], [91]. For a treatment of matrices, we refer the reader to [31], [43]. Numerical aspects of matrix computations are discussed in [27], [37].

EXERCISES 3.1 Fix a vector in E n , and let x be the column of the coordinates of the vector with respect to the basis [e\, 6 2 , . . . , en}, and x1 the coordinates of the same vector with respect to the basis {e(, e'2,..., e'n}. Show that x' = Tx, where T is the transformation matrix from [e\, 6 2 , . . . , en} to {e{, e'2,..., e'n}. 3.2 Let AI , . . . , An be the eigenvalues of the matrix A € E n x n . Show that the eigenvalues of the matrix In — A are 1 — AI , . . . , 1 — A n . 3.3 Let V be a subspace. Show that V1- is also a subspace. 3.4 Let A 6 E w x n be a matrix. Show that K(A) is a subspace of Rm and M(A) is a subspace of lRn. 3.5 Prove that if A and B are two matrices with m rows, and J\f(AT} C JV(I?T), thenft(B) CU(A). Hint: Use the fact that for any matrix M with m rows, we have dim7£(M) + dimjV(MT) = m (this is one of the fundamental theorems of linear algebra (see [91, p. 75])). 3.6 Let V be a subspace. Show that (V^}-1 = V. Hint: Use Exercise 3.5.

36

TRANSFORMATIONS

3.7 Let V and W be subspaces. Show that if V C W, then W1- C V-1. 3.8 Let V be a subspace of Rn. Show that there exist matrices V and U such that V = ft(V) = JV(I7). 3.9 Let P be an orthogonal projector onto a subspace V. Show that a. Px = x for all x € V; b. ft(P) = V.

positive definite, positive semidefinite, negative definite, negative semidefinite, or indefinite?

3.11 Let

Show that although all leading principal minors of A are nonnegative, A is not positive semidefinite. 3.12 Consider the matrix

a. Is this matrix positive definite, negative definite, or indefinite? b. Is this matrix positive definite, negative definite, or indefinite on the subspace

Find the values of the parameter £ for which this quadratic form is positive definite. 3.14 Consider the function {-, ->Q : R n x R n -> R, defined by (a;, T/)Q = xTQy, where x, y € Mn and Q e M nxn is a symmetric positive definite matrix. Show that {, -}Q satisfies conditions 1 to 4 for inner products (see Section 2.4).

EXERCISES

37

3.15 Consider the vector norm || • ||oo on Rn given by ||aj||oo = maxf \Xi\, where x = [xi,..., xn]T. Similarly define the norm || • ||oo on M m . Show that the matrix norm induced by these vector norms is given by

where a^ is the (i, j)th element of A G R m x n . 3.16 Consider the vector norm || • ||i on Rn given by ||x||i = Y^i=i \xi\> where x = [xi,..., xn]T. Similarly define the norm || • ||i on R m . Show that the matrix norm induced by these vector norms is given by

where a*.,- is the (i, j)th element of A 6 R m x n .

4_ Concepts from Geometry 4.1

LINE SEGMENTS

In the following analysis, we concern ourselves only with E n . The elements of this space are the n-component vectors x = [xi, £2, • • • > xn]T. The line segment between two points x and y in W1 is the set of points on the straight line joining points x and y (see Figure 4.1). Note that if z lies on the line segment between x and y, then

where a is a real number from the interval [0,1]. The above equation can be rewritten as z = ax + (1 — a)y. Hence, the line segment between x and y can be represented as

4.2

HYPERPLANES AND LINEAR VARIETIES

Let 1/1,1/2,..., un, v G M, where at least one of the Ui is nonzero. The set of all points x = [xi, £2, • • • , xn]T that satisfy the linear equation

is called a hyperplane of the space W1. We may describe the hyperplane by

39

40

CONCEPTS FROM GEOMETRY

Figure 4.2 Translation of a hyperplane where A hyperplane is not necessarily a subspace of En since, in general, it does not contain the origin. For n = 2, the equation of the hyperplane has the form u\ x\ + 113X2 = v, which is the equation of a straight line. Thus, straight lines are hyperplanes in R 2 . In M3 (three-dimensional space), hyperplanes are ordinary planes. By translating a hyperplane so that it contains the origin of E n , it becomes a subspace of Mn (see Figure 4.2). Because the dimension of this subspace is n — 1, we say that the hyperplane has dimension n — 1. The hyperplane H = [x : u\x\ + • • • + unxn = v} divides Rn into two halfspaces. One of these half-spaces consists of the points satisfying the inequality uiXi + U-2.X-2 + • • • + unxn > v, denoted

HYPERPLANES AND LINEAR VARIETIES

41

Figure 4.3 The hyperplane H = {x € Kn : UT(X - a) = 0} where, as before, The other half-space consists of the points satisfying the inequality u\x\ + u^x^ + • • • + unxn < v, denoted

The half-space H+ is called the positive half-space, and the half-space H- is called the negative half-space. Let a = [ai,O2,... ,a n ] T be an arbitrary point of the hyperplane H. Thus, T u a — v = 0. We can write

The numbers (xi — a^), i = 1,..., n, are the components of the vector x — a. Therefore, the hyperplane H consists of the points x for which (u, x — a) = 0. In other words, the hyperplane H consists of the points x for which the vectors u and x — a are orthogonal (see Figure 4.3). We call the vector u the normal to the hyperplane H. The set H+ consists of those points x for which (u, x — a} > 0, and H- consists of those points x for which (u, x — a) < 0. A linear variety is a set of the form

for some matrix A e E m x n and vector b 6 E n . If dim N(A) = r, we say that the linear variety has dimension r. A linear variety is a subspace if and only if b = 0. If A = O, the linear variety is En. If the dimension of the linear variety is less than n, then it is the intersection of a finite number of hyperplanes.

42

CONCEPTS FROM GEOMETRY

Figure 4.4

Figure 4.5

4.3

Convex sets

Sets that are not convex

CONVEX SETS

Recall that the line segment between two points u, v £ En is the set {w E En : w = au + (I — o)v, a 6 [0,1]}. A point w = au 4- (1 — ot)v (where a € [0,1]) is called a convex combination of the points u and v. A set 0 C En is convex if for all w, v e 0, the line segment between u and v is in 0. Figure 4.4 gives examples of convex sets, whereas Figure 4.5 gives examples of sets that are not convex. Note that 0 is convex if and only if au + (1 — a)v e 0 for all u, v e 0 and a € (0,1). Examples of convex sets include: • the empty set • a set consisting of a single point • a line or a line segment • a subspace • ahyperplane • a linear variety

CONVEX SETS

43

• a half-space

• En. Theorem 4.1 Convex subsets ofW1 have the following properties: a . I f Q is a convex set and /3 is a real number, then the set

is also convex; b. If ©i and 02 are convex sets, then the set

is also convex; c. The intersection of any collection of convex sets is convex (see Figure 4.6 for an illustration of this result for two sets).

Proof. a. Let pv\,j3v-2 e /?©, where Vi,v2 € ©• Because 0 is convex, we have avi + (1 - a)v-2 6 9 for any a e (0,1). Hence,

and thus /30 is convex. b. Let vi,Vz € ©i + ©2- Then, Vi — v( + v", and v 2 = v'2 + v2', where v{,v'2 e ©i, and v^v'^ e ©2- Because ©i and ©2 are convex, for all a €(0,1),

Hence, ©i + @2 is convex. c. Let C be a collection of convex sets. Let x\, #2 € Heec ® (where Heec ® represents the intersection of all elements in (7). Then, #1, #2 € © for each 0 e C. Because each 0 € C is convex, ax\ + (I — a)#2 € 0 for all a e (0,1) and each 0 e C. Thus, axi + (1 - a)x2 G fleec ®-

44

CONCEPTS FROM GEOMETRY

Figure 4.6

Figure 4.7

Intersection of two convex sets

Examples of neighborhoods of a point in R2 and E3

A point a; in a convex set 0 is said to be an extreme point of 0 if there are no two distinct points u and v in 0 such that x = au + (1 — a)v for some a e (0,1). For example, in Figure 4.4, any point on the boundary of the disk is an extreme point, the vertex (corner) of the set on the right is an extreme point, and the endpoint of the half-line is also an extreme point.

4.4

NEIGHBORHOODS

A neighborhood of a point x G Rn is the set

where e is some positive number. The neighborhood is also called the ball with radius £ and center x. In the plane E2, a neighborhood of x = [x\, x-2\T consists of all the points inside of a disc centered at x. In R 3 , a neighborhood of x = [x\, x 2 , XS]T consists of all the points inside of a sphere centered at x (see Figure 4.7). A point x G S is said to be an interior point of the set S if the set 5 contains some neighborhood of x, that is, if all points within some neighborhood of x are also in 5 (see Figure 4.8). The set of all the interior points of 5 is called the interior of 5. A point x is said to be a boundary point of the set 5 if every neighborhood of x contains a point in S and a point not in 5 (see Figure 4.8). Note that a boundary point of 5 may or may not be an element of S. The set of all boundary points of 5 is called the boundary of S.

POLYTOPES AND POLYHEDRA

45

Figure 4.8 x is an interior point, while y is a boundary point

Figure 4.9 Open and closed sets A set 5 is said to be open if it contains a neighborhood of each of its points, that is, if each of its points is an interior point, or equivalently, if 5 contains no boundary points. A set 5 is said to be closed if it contains its boundary (see Figure 4.9). We can show that a set is closed if and only if its complement is open. A set that is contained in a ball of finite radius is said to be bounded. A set is compact if it is both closed and bounded. Compact sets are important in optimization problems for the following reason. Theorem 4.2 Theorem of Weierstrass. Let f : 1) —> E be a continuous function, where fi C W1 is a compact set. Then, there exists XQ € ffc such that /(XQ) < f ( x ) for all x 6 £1 In other words, f achieves its minimum on fl D Proof. See [82, p. 89] or [2, p. 154].

4.5 POLYTOPES AND POLYHEDRA Let 0 be a convex set, and suppose y is a boundary point of 0. A hyperplane passing through y is called a hyperplane of support (or supporting hyperplane) of the set

46

CONCEPTS FROM GEOMETRY

Figure 4.10 Polytopes

Figure 4.11

One-dimensional polyhedron

0, if the entire set 0 lies completely in one of the two half-spaces into which this hyperplane divides the space R™. Recall that by Theorem 4.1, the intersection of any number of convex sets is convex. In what follows, we are concerned with the intersection of a finite number of half-spaces. Because every half-space H+ or H- is convex in W1, the intersection of any number of half-spaces is a convex set. A set that can be expressed as the intersection of a finite number of half-spaces is called a convexpolytope (see Figure 4.10). A nonempty bounded polytope is called a polyhedron (see Figure 4.11). For every convex polyhedron 0 C W1, there exists a nonnegative integer k < n such that 0 is contained in a linear variety of dimension k, but is not entirely contained in any (k — 1)-dimensional linear variety of E n . Furthermore, there exists only one fc-dimensional linear variety containing 0, called the carrier of the polyhedron 0, and k is called the dimension of 0. For example, a zero-dimensional polyhedron is a point of W1, and its carrier is itself. A one-dimensional polyhedron is a segment, and its carrier is the straight line on which it lies. The boundary of any fc-dimensional polyhedron, k > 0, consists of a finite number of (k — 1)-dimensional polyhedra. For example, the boundary of a one-dimensional polyhedron consists of two points that are the endpoints of the segment. The (k — 1)-dimensional polyhedra forming the boundary of a fc-dimensional polyhedron are called the faces of the polyhedron. Each of these faces has, in turn, (k — 2)-dimensional faces. We also consider each of these (k — 2)-dimensional faces to be faces of the original fc-dimensional polyhedron. Thus, every fc-dimensional polyhedron has faces of dimensions k — 1, k — 2 , . . . , 1,0. A zero-dimensional face of a polyhedron is called a vertex, and a one-dimensional face is called an edge.

EXERCISES

47

EXERCISES

4.1 Show that a set 5 C Mn is a linear variety if and only if for all x, y £ S and a € R, we have ax + (1 — a)y € 5. 4.2 Show that the set [x € En : ||x|| < r} is convex, where r > 0 is a given real number, and ||x|| = VxTx is the Euclidean norm of x € M n . 4.3 Show that for any matrix A e E m x n and vector 6 e E m , the set (linear variety) {x 6 En : Ax = 6} is convex. 4.4 Show that the set {x € Mn : x > 0} is convex (where x > 0 means that every component of x is nonnegative).

5_ Elements of Calculus 5.1

SEQUENCES AND LIMITS

A sequence of real numbers is a function whose domain is the set of natural numbers 1 , 2 , . . . , & , . . . and whose range is contained in R Thus, a sequence of real numbers can be viewed as a set of numbers {x\, x^,..., Xk,...}, which is often also denoted as {xk} (or sometimes as {xk}^-i, to indicate explicitly the range of values that k can take). A sequence {xk} is increasing if x\ < x? < • • • < Xk • • •, that is, x/t < Xk+i for all k. Ifxk < Xk+i, then we say that the sequence is nondecreasing. Similarly, we can define decreasing and nonincreasing sequences. Nonincreasing or nondecreasing sequences are called monotone sequences. A number x* € M is called the limit of the sequence {xk } if for any positive e there is a number K (which may depend on e) such that for all k > K, \Xk — x* \ < e; that is, Xk lies between x* — e and x* + e for all k > K. In this case, we write

or A sequence that has a limit is called a convergent sequence. The notion of a sequence can be extended to sequences with elements in E n . Specifically, a sequence in Mn is a function whose domain is the set of natural numbers 1 , 2 , . . . , & , . . . and whose range is contained in E n . We use the notation {x^l\x(2\...} or {x^} for sequences in R n . For limits of sequences in E n , we need to replace absolute values with vector norms. In other words, x* is the limit of 49

50

ELEMENTS OF CALCULUS

{x^} if for any positive e there is a number K (which may depend on e) such that for all k > K, \\x^ — x*\\ < e. As before, if a sequence {x^} is convergent, we write x* = lim^oo x^ or x^ -» x*. Theorem 5.1 A convergent sequence has only one limit. Proof. We prove this result by contradiction. Suppose that a sequence {x^} has two different limits, say x\ and x2. Then, we have \\x\ — x2\\ > 0. Let

From the definition of a limit, there exist K\ and K2 such that for k > K\ we have ||X (A:) -XI|| < e, and for A; > K2 wehave||x (fc) -x 2 || < e. L&tK = max(Ki,K2). Then, if k > K, we have ||x^ - x i j j < £ and \\x^ - x2\\ < e. Adding IJa;^) — xi|| < e and \\x^ — x^\\ < £ yields

Applying the triangle inequality gives

Therefore, However, the above contradicts the assumption that 11xi — #211 = 2e, which completes the proof. A sequence {x^} in Rn is bounded if there exists a number B > 0 such that ||x<*>|| K

By the result of Exercise 2.6, we get

Therefore, Letting

SEQUENCES AND LIMITS

51

we have

which means that the sequence {x^ } is bounded. For a sequence {xk} in E, a number B is called an upper bound if Xk < B for all k = 1,2, In this case, we say that {xk} is bounded above. Similarly, B is called a lower bound if Xk > B for all k = 1,2, In this case, we say that {xk} is bounded below. Clearly, a sequence is bounded if it is both bounded above and bounded below. Any sequence {xk} in E that has an upper bound has a least upper bound (also called the supremuni), which is the smallest number B that is an upper bound of { x k } . Similarly, any sequence {x^ in E that has a lower bound has a greatest lower bound (also called the infimuni). If B is the least upper bound of the sequence { x k } , then Xk < B for all k, and, for any s > 0, there exists a number K such that XK > B — s. An analogous statement applies to the greatest lower bound: if B is the greatest lower bound of {xk}, then Xk > B for all k, and, for any e > 0, there exists a number K such that XK < B + e. Theorem 5.3 Every monotone bounded sequence in E is convergent. Proof. We prove the theorem for nondecreasing sequences. The proof for nonincreasing sequences is analogous. Let {xk} be a bounded nondecreasing sequence in E, and x* the least upper bound. Fix a number e > 0. Then, there exists a number K such that XK > x* — e. Because {xk} is nondecreasing, for any k > K,

Also, because x* is an upper bound of {xk}, we have

Therefore, for any k > K, which means that Xk —> x*. Suppose we are given a sequence {x^} and an increasing sequence of natural numbers {m^}. The sequence

is called a subsequence of the sequence {x^ }. A subsequence of a given sequence can thus be obtained by neglecting some elements of the given sequence. Theorem5.4 Consider a convergent sequence {x^} with limit x*. Then, any subsequence of{x^ } also converges to x*.

52

ELEMENTS OF CALCULUS

Proof. Let {x^™^} be a subsequence of {x^}, where {m^} is an increasing sequence of natural numbers. Observe that m^ > A; for all A; = 1,2, To show this, first note that mi > 1 because mi is a natural number. Next, we proceed by induction by assuming that rafc > A;. Then, we have m^+i > m* > k, which implies that mjfc+i > A; + 1. Therefore, we have shown that m^ > A; for all A; = 1,2, Let £ > 0 be given. Then, by definition of the limit, there exists K such that ||aj(*) -x*\\ < e for any A; > K. Because m* > A;, we also have Ho^™*1) -x*|| < e for any k > K. This means that

It turns out that any bounded sequence contains a convergent subsequence. This result is called the Bolzano-Weierstrass theorem (see [2, p. 70]). Consider a function / : Rn ->• Mm and a point XQ € E". Suppose that there exists /* such that for any convergent sequence {x^} with limit XQ, we have

Then, we use the notation

to represent the limit /*. It turns out that / is continuous at XQ if and only if, for any convergent sequence {x^ } with limit XQ, we have

(see [2, p. 137]). Therefore, using the notation introduced above, the function / is continuous at XQ if and only if

We end this section with some results involving sequences and limits of matrices. These results are useful in the analysis of algorithms (e.g., Newton's algorithm in Chapter 9). We say that a sequence {Ak} of m x n matrices converges to the m x n matrix A if

Lemma 5.1 Let A e R n x n . Then, limfc-^oo Ak = O if and only if the eigenvalues of A satisfy |Ai(A)| < 1, i = 1,..., n.

SEQUENCES AND LIMITS

53

Proof. To prove this theorem, we use the Jordan form (see, e.g., [33]). Specifically, it is well known that any square matrix is similar to the Jordan form, that is, there exists a nonsingular T such that

where «7r(A) is the r x r matrix:

The AI , . . . , \q above are distinct eigenvalues of A, the multiplicity of AI is mi + • • • + ms, and so on. We may rewrite the above as A = T~1JT. To complete the proof observe that

where

Furthermore, Hence,

if and only if | Aj| < l,i = 1,... , n. Lemma 5.2 The series ofnxn matrices

converges if and only iflimit^^ A

= O. In this case the sum of the series equals

(In ~ A}'1-

Proof. The necessity of the condition is obvious. To prove the sufficiency, suppose that lim^oo Ak = O. By Lemma 5.1, we deduce that |A;(A)| < 1, i - 1,..., n. This implies that det(/n - A) ^ 0, and hence (In — A)"1 exists. Consider now the following relation:

54

ELEMENTS OF CALCULUS

Postmultiplying the above equation by (In — A)"1 yields

Hence,

because lim^oo Ak+l = O. Thus,

A matrix-valued function A : W -> E nxn is continuous at a point £0 e W if

Lemma 5.3 Let A : W -»• E nxn be an n x n matrix-valued function that is continuous at£0. //"A(^ 0 )~ 1 emto, ^en A^)"1 exists for £ sufficiently close to ^0 an^/ A(-)" 1 is continuous at £0. Froo/ We follow [84]. We first prove the existence of A(£) -1 for all £ sufficiently close to £0 • We have

where Thus, and

Because A is continuous at £0, for all £ close enough to £0, we have

where 9 6 (0,1). Then, and

DIFFERENTIABILITY

55

exists. But then

which means that A(£) l exists for £ sufficiently close to £0. To prove the continuity of A(-)~l note that

However, since ||.K"(£)|| < 1, it follows from Lemma 5.2 that

Hence,

when \\K(£)\\ < 1- Therefore,

Because

we obtain

which completes the proof.

5.2

DIFFERENTIABILITY

Differential calculus is based on the idea of approximating an arbitrary function by an affine function. A function A : Rn -> Em is affine if there exists a linear function L : En -)• Rm and a vector y e Mm such that

for every x 6 E n . Consider a function / : Rn -» E m , and a point x0 E M n . We wish to find an affine function A that approximates / near the point XQ. First, it is natural to impose the condition

56

ELEMENTS OF CALCULUS

Because A(x) = £(x) + y, we obtain y = /(XQ) — £(XQ). By the linearity of £,

Hence, we may write Next, we require that A(x) approaches f ( x ) faster than x approaches XQ, that is,

The above conditions on A ensure that A approximates / near XQ in the sense that the error in the approximation at a given point is "small" compared with the distance of the point from XQ . In summary, a function / : fi -» E m , J7 C E n , is said to be differentiable at XQ 6 1) if there is an affine function that approximates / near XQ, that is, there exists a linear function £ : En ->• Em such that

The linear function C above is uniquely determined by / and XQ, and is called the derivative of / at XQ. The function / is said to be differentiable on fi if / is differentiable at every point of its domain ffc. In E, an affine function has the form ax 4- b, with a, b G E. Hence, a real-valued function f ( x ) of a real variable x that is differentiable at XQ can be approximated near XQ by a function Because /(XG) = A(x0) = axo + b, we obtain

The linear part of A(x), denoted earlier by £(x), is in this case just ax. The norm of a real number is its absolute value, so by the definition of differentiability,

which is equivalent to

The number a is commonly denoted /'(XQ), and is called the derivative of / at XQ. The affine function A is therefore given by

This affine function is tangent to / at XQ (see Figure 5.1).

THE DERIVATIVE MATRIX

Figure 5.1

5.3

57

Illustration of the notion of the derivative

THE DERIVATIVE MATRIX

Any linear transformation from Rn to R m , and in particular the derivative C of / : E." —>• E m , can be represented by an m x n matrix. To find the matrix representation L of the derivative L of a differentiable function / : En -> R m , we use the natural basis {e\,..., en} for E n . Consider the vectors

By the definition of the derivative, we have

for j = 1,..., n. This means that

for j = 1,..., n. But Lej is the jth column of the matrix L. On the other hand, the vector Xj differs from XQ only in the jth coordinate, and in that coordinate the difference is just the number t. Therefore, the left side of the last equation is the partial derivative

Because vector limits are computed by taking the limit of each coordinate function, it follows that if

58

ELEMENTS OF CALCULUS

then

and the matrix L has the form

The matrix L is called the Jacobian matrix, or derivative matrix, of / at XQ, and is denoted D f (XQ). For convenience, we often refer toDf(xo] simply as the derivative of / at XQ. We summarize the above discussion in the following theorem. Theorem 5.5 If a function f : E" —>• Rm is differentiable at XQ, then the derivative off at XQ is uniquely determined and is represented by them x n derivative matrix Df(xo). The best affine approximation to / near XQ is then given by

in the sense that andlimas-+as0 ||r(a:)||/||x ~ XQ\\ — 0- The columns of the derivative matrix Df(xo) are vector partial derivatives. The vector

is a tangent vector at XQ to the curve f obtained by varying only the jth coordinate ofx. If / : W1 ->• R is differentiable, then the function V/ defined by

is called the gradient of /. The gradient is a function from En to R n , and can be pictured as a vector field, by drawing the arrow representing V f ( x ) so that its tail starts at x. Given / : W1 -» M, if V/ is differentiable, we say that / is twice differentiable, and we write the derivative of V/ as

DIFFERENTIATION RULES

59

The matrix D2f(x) is called the Hessian matrix of / at x, and is often also denoted

F(x). 5.4

DIFFERENTIATION RULES

A function / : fi —>• R m , fi C R n , is said to be continuously differentiable on fi if it is differentiable (on 17), and Df : fJ -> R m x n is continuous, that is, the components of / have continuous partial derivatives. In this case, we write / € C1. If the components of / have continuous partial derivatives of order p, then we write / € Cp. Note that the Hessian matrix of a function / : Rn ->• E at x is symmetric if / is twice continuously differentiable at x. We now prove the chain rule for differentiating the composition g ( f ( t ) ) , of a function / : R ->• En and a function 5 : En -» K. Theorem 5.6 Let g :T> -> Rbe differentiable on an open set T> C Mn, and /e/ / : (a, 6) -t T> be differentiable on (a, 6). 77zen, the composite function h : (a, 6) —> R given fry /i(t) = g(f(t)) is differentiable on (a, 6), and

Proof. By definition,

if the limit exists. By Theorem 5.5, we write

where lims_>.t r ( s ) / ( s — t) = 0. Therefore,

Letting s —>• t yields

Next, we present the product rule. Let / : W1 -> Em and g : En -»• Em be two differentiable functions. Define the function /i : En —>• E by /i(x) = f(x)Tg(x). Then, /i is also differentiable, and

60

ELEMENTS OF CALCULUS

We end this section with a list of some useful formulas from multivariable calculus. In each case, we compute the derivative with respect to x. Let A 6 Mm xn be a given matrix, and y 6 Mm a given vector. Then,

It follows from the first formula above that if y € E n , then

It follows from the second formula above that if Q is a symmetric matrix, then

In particular,

5.5

The level set of a function / : En -> E at level c is the set of points

For / : E2 —> R, we are usually interested in 5 when it is a curve. For / : R3 ->• R, the sets 5 most often considered are surfaces. Example 5.1 Consider the following real-valued function on M 2 :

The above function is called Rosenbrock's function. A plot of the function / is shown in Figure 5.2. The level sets of / at levels 0.7, 7, 70, 200, and 700 are depicted in Figure 5.3. These level sets have a particular shape resembling bananas. For this reason, Rosenbrock's function is also called the "banana function." To say that a point XQ is on the level set 5 at level c means /(XQ) = c. Now suppose that there is a curve 7 lying in S and parameterized by a continuously differentiable function 0 : IR —»• En. Suppose also thatp(io) = XQ andDg(to) = v ^ 0, so that v is a tangent vector to 7 at XQ (see Figure 5.4). Applying the chain rule to the function h(t] = f ( g ( t ) ) at t0, gives

But since 7 lies on 5, we have

Figure 5.2

Figure 5.3

Graph of Rosenbrock's function

Level sets of Rosenbrock's (banana) function

61

62

ELEMENTS OF CALCULUS

Figure 5.4

Orthogonality of the gradient to the level set

that is, h is constant. Thus, h'(to] = 0 and

Hence, we have proved, assuming / continuously differentiable, the following theorem (see Figure 5.4). Theorem 5.7 The vector V/(XQ) is orthogonal to the tangent vector to an arbitrary smooth curve passing through XQ on the level set determined by f ( x ) = /(XQ). d It is natural to say that V/(XQ) is orthogonal or normal to the level set S corresponding to XQ, and to take as the tangent plane (or line) to S at XQ the set of all points x satisfying

As we shall see later, V/(XQ) is the direction of maximum rate of increase of / at XQ. Because V/(XQ) is orthogonal to the level set through XQ determined by f ( x ) = /(XQ), we deduce the following fact: the direction of maximum rate of increase of a real-valued differentiable function at a point is orthogonal to the level set of the function through that point. Figure 5.5 illustrates the above discussion for the case / : E2 —>• E. The curve on the shaded surface in Figure 5.5 running from bottom to top has the property that its projection onto the (x\, a^-plane is always orthogonal to the level curves, and is called a path of steepest ascent, because it always heads in the direction of maximum rate of increase for /.

Figure 5.5

63

Illustration of a path of steepest ascent

The graph of / : W1 -> R is the set {[XT, f ( x ) ] T : x e W1} C En+1. The notion of the gradient of a function has an alternative useful interpretation in terms of the tangent hyperplane to its graph. To proceed, let XQ G Mn and ZQ = f(xo). The point [XQ, ZQ]T € En+1 is a point on the graph of /. If / is differentiable at £, then the graph admits a nonvertical tangent hyperplane at £ = [XQ, ZQ]T. The hyperplane through £ is the set of all points [ x i , . . . , xn,z]T G Rn+1 satisfying the equation

where the vector [ w i , . . . , w n , v]T € Rn+1 is normal to the hyperplane. Assuming that this hyperplane is nonvertical, that is, v ^ 0, let

Thus, we can rewrite the hyperplane equation above as

We can think of the right side of the above equation as a function z : W1 —>• M. Observe that for the hyperplane to be tangent to the graph of /, the functions / and

64

ELEMENTS OF CALCULUS

z must have the same partial derivatives at the point XQ. Hence, if / is differentiable at XQ, its tangent hyperplane can be written in terms of its gradient, as given by the equation

5.6 TAYLOR SERIES The basis for many numerical methods and models for optimization is Taylor's formula, which is given by Taylor's theorem below. Theorem 5.8 Taylor's theorem. Assume that a function f : E -> E is m times continuously differentiable (i.e., f 6 Cm) on an interval [a, b]. Denote h = b — a. Then,

(called Taylor's formula) where f^ is the ith derivative off, and

with 0,6' e (0,1). Proof. We have

Denote by gm(x) an auxiliary function obtained from Rm by replacing a by x. Hence,

Differentiating gm (x) yields

TAYLOR SERIES

65

Observe that gm(b) = Oand# m (a) = Rm. Applying the mean-value theorem yields

where 9 6 (0,1). The above equation is equivalent to

Hence,

To derive the formula

see, e.g., [60] or [61]. An important property of Taylor's theorem arises from the form of the remainder Rm. To discuss this property further, we introduce the so-called order symbols, O ando. Let g be a real-valued function defined in some neighborhood of 0 € M n , with g(x) ^ 0 if x ^ 0. Let / : H -> Em be defined in a domain ft C En that includes 0. Then, we write 1. f ( x ) = O(g(x)} to mean that the quotient ||/(a:)||/|<7(a:)| is bounded near 0; that is, there exist numbers K > 0 and 6 > 0 such that if ||cc|| < S, x € fi, then||/(x)||/|p(*)|
The symbol O(g(x)) (read "big-oh of g(x)") is used to represent a function that is bounded by a scaled version of g in a neighborhood of 0. Examples of such a function are:

66

ELEMENTS OF CALCULUS

On the other hand, o(g(x}} (read "little-oh of g(x)") represents a function that goes to zero "faster" than g(x) in the sense that limaj^o ll°(5(a j ))il/lfl l (^)l = 0. Examples of such functions are:

Note that if f ( x ) = o(g(x}}, then f ( x ) = O(g(x}} (but the converse is not necessarily true). Also, if/(«) = O(||aj||p), then f ( x ) = o(||a;||p-e) for any e > 0. Suppose / € Cm. Recall that the remainder term in Taylor's theorem has the form

where 9 G (0,1). Substituting the above into Taylor's formula, we get

By the continuity of /< m ) , we have f(m)(a + 0ti) -» / (m) (a) as h -> 0, that is, /("0(a + eh] = fW(a) + o(l). Therefore,

since hmo(l] = o(hm). We may then write Taylor's formula as

If, in addition, we assume that / e Cm+1, we may replace the term o(hm) above by O(hm+1). To see this, we first write Taylor's formula with Rm+i:

where

with 9' G (0,1). Because /(m+1) is bounded on [a, b] (by Theorem 4.2),

TAYLOR SERIES

67

Therefore, if / € C m+1 , we may write Taylor's formula as

We now turn to the Taylor series expansion of a real-valued function / : W1 —> E about the point XQ G W1. Suppose / 6 C2. Let x and XQ be points in E n , and let z(a} = XQ + a(x — XQ}/\\X — XQ\\. Define 0 : E —> E by:

Using the chain rule, we obtain

and

where we recall that

and D2f = (D2f)T

since / 6 C2. Observe that

68

ELEMENTS OF CALCULUS

Hence,

If we assume that / G C3, we may use the formula for the remainder term R$to conclude that For further reading in calculus, consult [9], [60], [61], [85], [87], [97]. A basic treatment of real analysis can be found in [2], [ 82], whereas a more advanced treatment is provided in [66], [81]. For stimulating reading on the "big-oh" notation, see [56, pp. 104-108]. EXERCISES 5.1 Show that a sufficient condition for limfe-^ Ak = O is || A\\ < 1. 5.2 Show that for any matrix A e M n x n , Hint: Use Exercise 5.1. 5.3 Define the functions / : E2 -> E and g : E -)• M2 by f ( x ) = x?/6 + x|/4, g(t) = [3* + 5,2* - 6]T. Let F : R ->• E be given by F(t) = f ( g ( t ) } . Evaluate ^ (t) using the chain rule. 5.4 Consider f ( x ) = xix2/2, g(s, t) = [4s + 3i, 2s + i]T. Evaluate £f(g(s, t}) and -jtf(g(s,t)) using the chain rule. 5.5 Let x(t) = [e* + t3,t2,t + 1]T, t e R, and f ( x ] = xfx 2 ar| + Xix2 + x3, x = [xi,x2,x3]T € I3. Find ^f(x(t)) in terms of t. 5.6 Suppose that/(x) = o(g(x)). Show that for any given e > 0, there exists 6 > 0 such that if ||x|| < 6, then ||/(x)|| < e\g(x)\. 5.7 Use Exercise 5.6 to show that if functions / : W1 -» E and g : En -> R satisfy f ( x ) = —g(x] + o(g(x)) and g(x] > 0 for all x ^ 0, then for all x 7^ 0 sufficiently small, we have f ( x ) < 0. EXERCISES 69 5.8 Let Sketch the level sets associated with f i ( x i , X 2 ) — 12 and f i ( x i , X 2 ) = 16 on the same diagram. Indicate on the diagram the values of x = [xi,o;2]T for which /(x) = [/i(*i,* 2 ),/ 2 (*i,*2)] T - [12,16]T. 5.9 Write down the Taylor series expansion of the following functions about the given points XQ. Neglect terms of order three or higher. a. /(x) = xie~ X 2 + x-2 + 1, x0 = [1,0]T b. /(x) = x\ + 2x\xl + x\, x0 = [1,1]T c. /(x) = exi~x* + e X l + X 2 +xi+x2 + l,x0 = [1,0]T This page intentionally left blank Part II Unconstrained Optimization This page intentionally left blank 6_ Basics of Set-Constrained and Unconstrained Optimization 6.1 INTRODUCTION In this chapter, we consider the optimization problem minimize subject to f(x) x € fi. The function / : En -» E that we wish to minimize is a real-valued function, and is called the objective function, or cost function. The vector x is an n-vector of independent variables, that is, x = [x\,X2,... ,xn]T 6 E n . The variables x\,..., xn are often referred to as decision variables. The set fHs a subset of M n , called the constraint set or feasible set. The optimization problem above can be viewed as a decision problem that involves finding the "best" vector x of the decision variables over all possible vectors in £1. By the "best" vector we mean the one that results in the smallest value of the objective function. This vector is called the minimizer of / over 17. It is possible that there may be many minimizers. In this case, finding any of the minimizers will suffice. There are also optimization problems that require maximization of the objective function. These problems, however, can be represented in the above form because maximizing / is equivalent to minimizing —/. Therefore, we can confine our attention to minimization problems without loss of generality. The above problem is a general form of a constrained optimization problem, because the decision variables are constrained to be in the constraint set fi. If 1) = En, then we refer to the problem as an unconstrained optimization problem. In this chapter, we discuss basic properties of the general optimization problem above, 73 74 BASICS OF SET-CONSTRAINED AND UNCONSTRAINED OPTIMIZATION Figure 6.1 Examples of minimizers: x\: strict global minimizer; x%: strict local minimizer; #3: local (not strict) minimizer which includes the unconstrained case. In the remaining chapters of this part, we deal with iterative algorithms for solving unconstrained optimization problems. The constraint "x G fi" is called a set constraint. Often, the constraint set ft takes the form ft = {x : h(x) = 0, g ( x ) < 0}, where h and g are given functions. We refer to such constraints as functional constraints. The remainder of this chapter deals with general set constraints, including the special case where ft = E". The case where ft = En is called the unconstrained case. In Parts III and IV, we consider constrained optimization problems with functional constraints. In considering the general optimization problem above, we distinguish between two kinds of minimizers, as specified by the following definitions. Definition 6.1 Local minimizer. Suppose that/ : En —>• R is a real-valued function defined on some set f) C M n . A point x* G 17 is a local minimizer of / over ft if there exists £ > 0 such that/(x) > /(x*) for all x G ft \ {x*} and ||x — x*|| < e. Global minimizer. Apointx* G ft, is & global minimizer of f over ft if f (x) > /(x*) for all x G H\{x*}. If, in the above definitions, we replace ">" with ">", then we have a strict local minimizer and a strict global minimizer, respectively. In Figure 6.1, we graphically illustrate the above definitions for n = 1. Given a real-valued function /, the notation argmin /(x) denotes the argument that minimizes the function / (a point in the domain of /), assuming such a point is unique. For example, if / : E —> M. is given by f ( x ) =• (x + I) 2 + 3, then argmin f ( x ) = —1. If we write argmin^Q, then we treat ft as the domain of /. For example, for the function / above, argmin x>0 f ( x ) = 0. In general, we can think of argmina!€n /(x) as the global minimizer of / over fJ (assuming it exists and is unique). CONDITIONS FOR LOCAL MINIMIZERS 75 Strictly speaking, an optimization problem is solved only when a global minimizer is found. However, global minimizers are, in general, difficult to find. Therefore, in practice, we often have to be satisfied with finding local minimizers. 6.2 CONDITIONS FOR LOCAL MINIMIZERS In this section, we derive conditions for a point x* to be a local minimizer. We use derivatives of a function / : En -» R Recall that thefirst-orderderivative of /, denoted Df,is Note that the gradient V/ is just the transpose of D f ; that is, V/ = ( D f ) T . The second derivative of / : En -» E (also called the Hessian of /) is Example6.1 L e t f ( x i , x 2 } = 5xi + 8x2 + x\X2—x\ — 1x\. Then, and Given an optimization problem with constraint set ft, a minimizer may lie either in the interior or on the boundary of ft. To study the case where it lies on the boundary, we need the notion of feasible directions. Definition 6.2 Feasible direction. A vector d € E n , d ^ 0, is a feasible direction at x € ft if there exists a0 > 0 such that x + ad 6 ft for all a € [0, ao] • Figure 6.2 illustrates the notion of feasible directions. Let / : Mn -> E be a real-valued function and let d be a feasible direction at x € ft. The directional derivative of f in the direction d, denoted d f / d d , is the real-valued function defined by 76 BASICS OF SET-CONSTRAINED AND UNCONSTRAINED OPTIMIZATION Figure 6.2 Two-dimensional illustration of feasible directions; di is a feasible direction, d-i is not a feasible direction If \\d\\ = 1, then df/dd is the rate of increase of / at x in the direction d. To compute the above directional derivative, suppose that x and d are given. Then, f ( x + ad) is a function of a, and Applying the chain rule yields In summary, if d is a unit vector, that is, \\d\\ — 1, then (V/(x), d) is the rate of increase of / at the point x in the direction d. Example 6.2 Define / : E3 ->• E by f ( x ) = xix2x3, and let The directional derivative of / in the direction d is Note that because \\d\\ = 1, the above is also the rate of increase of / at x in the direction d. We are now ready to state and prove the following theorem. Theorem 6.1 First-Order Necessary Condition (FONC). Let fi be a subset ofW1 and f 6 Cl a real-valued function on$l. Ifx* is a local minimizer of f over £), then for any feasible direction d at x*, we have

CONDITIONS FOR LOCAL MINIMIZERS

77

Proof. Define Note that x(0) = a;*. Define the composite function

Then, by Taylor's theorem,

/(x* + ad) - /(x*) = (a) - 0(0) = 0'(0)a + o(a) = adTVf(x(Q)) + o(a), where a > 0 (recall the definition of o(a) ("little-oh of a") in Part I). Thus, if (j>(a) > 0(0), that is, f ( x * + ad) > /(x*) for sufficiently small values of a > 0 (x* is a local minimizer), then we have to have dTVf(x*) > 0 (see Exercise 5.7). The above theorem is graphically illustrated in Figure 6.3. An alternative way to express the FONC is:

for all feasible directions d. In other words, if x* is a local minimizer, then the rate of increase of/ at x* in any feasible direction d in fi is nonnegative. Using directional derivatives, an alternative proof of Theorem 6.1 is as follows. Suppose that x* is a local minimizer. Then, for any feasible direction d, there exists a > 0 such that for alia G (0,a), Hence, for all a € (0, a), we have

Taking the limit as a ->• 0, we conclude that

A special case of interest is when x* is an interior point of fi (see Section 4.4). In this case, any direction is feasible, and we have the following result. Corollary 6.1 Interior case. Let ft be a subset ofW1 and f G C1 a real-valued function on 17. 7/x* is a local minimizer off over fi and ifx* is an interior point of D, then

78

BASICS OF SET-CONSTRAINED AND UNCONSTRAINED OPTIMIZATION

Figure 6.3 Illustration of the FONC for the constrained case; x\ does not satisfy the FONC, X2 satisfies the FONC

Proof. Suppose that / has a local minimizer x* that is an interior point of fi. Because x* is an interior point of ft, the set of feasible directions at x* is the whole of E n . Thus, for any d G M n , d T V/(x*) > 0 and -d T V/(x*) > 0. Hence, d T V/(x*) = 0 for all d € R n , which implies that V/(x*) = 0. Example 6.3 Consider the problem minimize subject to

x\ + O.Sa;^ + 3^2 -f 4.5 x i , X 2 > 0.

Questions: a. Is the first-order necessary condition (FONC) for a local minimizer satisfied at x = [l,3p? b. Is the FONC for a local minimizer satisfied at x = [0,3]T? c. Is the FONC for a local minimizer satisfied at x = [1,0]r? d. Is the FONC for a local minimizer satisfied at x = [0,0]T? Answers: First, let / : E2 -» E be defined by f(x] = x\ 4- O.Sa^ + 3ar2 + 4.5, where x = [x\, X2J T . A plot of the level sets of / is shown in Figure 6.4. a. At x = [1,3]T, we have V/(x) = [2xi,x 2 + 3]T = [2,6]T. The point x = [1,3]T is an interior point of fi = {x : x\ > 0, x<± > 0}. Hence, the FONC requires V/(x) = 0. The point x = [1,3]T does not satisfy the FONC for a local minimizer.

CONDITIONS FOR LOCAL MINIMIZERS

Figure 6.4

79

Level sets of the function in Example 6.3

b. At x = [0,3]T, we have V/(x) = [0,6]T, and hence d T V/(x) = 6d2, where d = [d\,d2]T. For d to be feasible at x, we need d\ > 0, and d2 can take an arbitrary value in E. The point x = [0,3]T does not satisfy the FONC for a minimizer because d2 is allowed to be less than zero. For example, d = [1, -1]T is a feasible direction, but dTVf(x) = -6 < 0. c. At x = [1,0]T, we have V/(x) = [2,3]T, and hence dTVf(x) = 2di + 3d2. For d to be feasible, we need d2 > 0, and d\ can take an arbitrary value in R For example, d = [-5,1]T is a feasible direction. But dTVf(x) = — 7 < 0. Thus, x = [1,0]T does not satisfy the FONC for a local minimizer. d. Atx = [0,0]T, we have V/(x) = [0,3]T, and hence dTVf(x] = 3d2. For d to be feasible, we need d2 > 0 and d\ > 0. Hence, x = [0,0]T satisfies the FONC for a local minimizer.

Example 6.4 Figure 6.5 shows a simplified model of a cellular wireless system (the distances shown have been scaled down to make the calculations simpler). A mobile user (also called a "mobile") is located at position x (see Figure 6.5). There are two basestation antennas, one for the primary basestation and another for the neighboring basestation. Both antennas are transmitting signals to the mobile user, at equal power. However, the power of the received signal as measured by the mobile is the reciprocal of the squared distance from the associated antenna (primary or neighboring basestation). We are interested in finding the position of the mobile that maximizes the signal-to-interference ratio, which is the ratio of the received signal power from the primary basestation to the received signal power from the neighboring basestation.

80

BASICS OF SET-CONSTRAINED AND UNCONSTRAINED

OPTIMIZATION

Figure 6.5 Simplified cellular wireless system in Example 6.4 We use the FONC to solve this problem. The squared distance from the mobile to the primary antenna is 1 + x 2 , while the squared distance from the mobile to the neighboring antenna is 1 + (2 — re) 2 . Therefore, the signal-to-interference ratio is

We have

By the FONC, at the optimal position x*, we have /'(x*) = 0. Hence, either x* = 1 — \/2 or x* = 1 + \/2. Evaluating the objective function at these two candidate points, it easy to see that x* = 1 — -\/2 is the optimal position. We now derive a second-order necessary condition that is satisfied by a local minimizer. Theorem 6.2 Second-Order Necessary Condition (SONC). Let ft C Mn, / € C2 a function on J7, x* a local minimizer of f over D, and d a feasible direction at x*. If d T V/(z*) = 0, then where F is the Hessian of f. Proof. We prove the result by contradiction. Suppose that there is a feasible direction d at x* such that dTVf(x*) = 0 and dT F(x*]d < 0. Let x(a] = x* + ad and define the composite function 0(a) = f ( x * + ad) = f ( x ( a ) ) . Then, by Taylor's theorem

CONDITIONS FOR LOCAL MINIMIZERS

81

where by assumption 0'(0) = d T V/(x*) = 0, and "(0) = dTF(x*}d < 0. For sufficiently small a,

that is, which contradicts the assumption that x* is a local minimizer. Thus,

Corollary 6.2 Interior Case. Letx* be an interior point of ft C En. Ifx* is a local minimizer off : ft -t E, f e C2, then

and F(x*) is positive semidefinite (F(x*) > 0); that is, for all d G En,

Proof. If x* is an interior point then all directions are feasible. The result then follows from Corollary 6.1 and Theorem 6.2. In the examples below, we show that the necessary conditions are not sufficient. Example 6.5 Consider a function of one variable f(x] = x3, f : E —> E. Because /'(O) = 0, and /"(O) = 0, the point x = 0 satisfies both the FONC and SONC. However, x = 0 is not a minimizer (see Figure 6.6). Example 6.6 Consider a function / : E2 ->• E, where f ( x ) -x\-x\. The FONC requires that V/(x) = [2xi, -2x2]T = 0. Thus, x = [0,0]T satisfies the FONC. The Hessian matrix of / is

The Hessian matrix is indefinite; that is, for some d\ € E2 we have d^Fd\ > 0, e.g., d\ = [1,0]T; and, for some d-2, we have d^Fdi < 0, e.g., d% — [0,1]T. Thus, x = [0,0]T does not satisfy the SONC, and hence it is not a minimizer. The graph of/(x) — x\— x\ is shown in Figure 6.7. We now derive sufficient conditions that imply that x* is a local minimizer.

82

BASICS OF SET-CONSTRAINED AND UNCONSTRAINED OPTIMIZATION

Figure 6.6

The point 0 satisfies the FONC and SONC, but is not a minimizer

Figure 6.7 Graph of f ( x ) = x\- x\. The point 0 satisfies the FONC but not SONC; this point is not a minimizer

Theorem 6.3 Second-Order Sufficient Condition (SOSC), Interior Case. Let f 6 C2 be defined on a region in which x* is an interior point. Suppose that 1. V/(x*) = 0; and 2. F(x*) > 0.

Then, x* is a strict local minimizer off. Proof. Because / € C 2 , we have F(x*) = FT(x*). Using assumption 2 and Rayleigh's inequality it follows that if d £ 0, then 0 < A min (F(a;*))||d|| 2 < dTF(x*)d. By Taylor's theorem and assumption 1,

EXERCISES

83

Figure 6.8 Graph of }(x] = x\ + x\ Hence, for all d such that ||d|| is sufficiently small,

and the proof is completed.

I T

Example 6.7 Let f ( x ) = x\ + x\. We have V/(x) = [2xi, 2x2] = 0 if and only if x = [0,0]T. For all x € M 2 , we have

The point x = [0,0]T satisfies the FONC, SONC, and SOSC. It is a strict local minimizer. Actually x = [0,0]T is a strict global minimizer. Figure 6.8 shows the graph of f ( x ) = x\ + x\. In this chapter, we presented a theoretical basis for the solution of nonlinear unconstrained problems. In the following chapters, we are concerned with iterative methods of solving such problems. Such methods are of great importance in practice. Indeed, suppose that one is confronted with a highly nonlinear function of 20 variables. Then, the FONC requires the solution of 20 nonlinear simultaneous equations for 20 variables. These equations, being nonlinear, will normally have multiple solutions. In addition, we would have to compute 210 second derivatives (provided / 6 C 2 ) to use the SONC or SOSC. We begin our discussion of iterative methods in the next chapter with search methods for functions of one variable.

EXERCISES 6.1 Consider the problem minimize

/(#)

84

BASICS OF SET-CONSTRAINED AND UNCONSTRAINED

subject to

OPTIMIZATION

x € ft,

where / € C2. For each of the following specifications for ft, x*, and /, determine if the given point x* is: (i) definitely a local minimizer; (ii) definitely not a local minimizer; or (iii) possibly a local minimizer. Fully justify your answer. a. / : E2 -» E, ft = {x = [xi,x2]T : Xi > 1}, x* = [1,2]T, and gradient V/(*') = [l,l] r . b. / : R2 -> 1, ft = {x = [xi,x2]T : Xl > I,x2 > 2}, x* = [1,2]T, and gradient V/(x*) = [l,0]T. c. / : E2 -* K, 1) = {x = [zi,z2]T : xi > 0,x 2 > 0}, x* = [1,2]T, gradient V/(x*) = [0,0]T, and Hessian F(x*) = / (identity matrix). d. / : R2 ->• K, ft = {x = [zi,z2]T : zi > I,x 2 > 2}, x* = [1,2]T, gradient V/(x*) = [1,0]T, and Hessian

6.2 Show that if x* is a global minimizer of / over fi, and x* 6 H' C ft, then x* is a global minimizer of / over !)'. 6.3 Suppose that x* is a local minimizer of / over H, and 1) C ft'. Show that if x* is an interior point of ft, then x* is a local minimizer of / over ft'. Show that the same conclusion cannot be made if x* is not an interior point of ft. 6.4 Let / : En -> M, x0 € M n , and ft C W1. Show that

where ft' = {y : y — x0 6 ft}. 6.5 Consider the function / : E2 -> E given below:

a. Find the gradient and Hessian of / at the point [1,1]T. b. Find the directional derivative of / at [1,1]T with respect to a unit vector in the direction of maximal rate of increase. c. Find a point that satisfies the FONC (interior case) for /. Does this point satisfy the SONC (for a minimizer)?

EXERCISES

85

6.6 Consider the function / : E2 -» E given below:

a. Find the directional derivative of / at [0,1]T in the direction [1,0]T. b. Find all points that satisfy the first-order necessary condition for /. Does / have a minimizer? If it does, then find all minimizer(s); otherwise explain why it does not. 6.7 Consider the problem minimize subject to

— x\ |#21 < x\ xi > 0 ,

where x\, x^ G E. a. Does the point [ x i , x\]T — 0 satisfy the first-order necessary condition for a minimizer? That is, if / is the objective function, is it true that d T V/(0) > 0 for all feasible directions d at 0? b. Is the point [XI,XI]T = 0 a local minimizer, a strict local minimizer, a local maximizer, a strict local maximizer, or none of the above? 6.8 Consider the problem minimize subject to

f(x) x G fi,

where / : E2 —>• E is given by f ( x ) — 5x2 with x = [zi,#2] T , and ^ = {x = [zi,x 2 ] T : x\ +X2 > 1}. Answer each of the following questions, showing complete justification. a. Does the point x* — [0,1]T satisfy the first-order necessary condition? b. Does the point x* = [0,1]T satisfy the second-order necessary condition? c. Is the point x* = [0,1]T a local minimizer? 6.9 Consider the problem minimize subject to

f(x) x e fi,

86

BASICS OF SET-CONSTRAINED AND UNCONSTRAINED OPTIMIZATION

where x = [ari,X2] T , / : M2 -> R is given by /(a;) = 4xf — x|, and 1) = {x : xf + 2xi - z2 > 0, xi > 0, x2 > 0}. a. Does the point x* = 0 = [0,0]T satisfy the first-order necessary condition? b. Does the point x* = 0 satisfy the second-order necessary condition? c. Is the point x* = 0 a local minimizer of the given problem? 6.10 Suppose that we are given n real numbers, x\,..., xn. Find the number x 6 E such that the sum of the squared difference between x and the above numbers is minimized (assuming the solution x exists). 6.11 An art collector stands at distance of x feet from the wall where a piece of art (picture) of height a feet is hung, b feet above his eyes, as shown in Figure 6.9.

Figure 6.9 Art collector's eye position in Exercise 6.11 Find the distance from the wall for which the angle 6 subtended by the eye to the picture is maximized. Hint: (1) Maximizing 9 is equivalent to maximizing tan(0); (2) If 6 = 02 - 0i. then tan(0) = (tan(02) - tan(0i))/(l + tan(02) tan(0i)). 6.12 Figure 6.10 shows a simplified model of a fetal heart monitoring system (the distances shown have been scaled down to make the calculations simpler). A heartbeat sensor is located at position x (see Figure 6.10). The energy of the heartbeat signal measured by the sensor is the reciprocal of the squared distance from the source (baby's heart or mother's heart). Find the position of the sensor that maximizes the signal-to-interference ratio, which is the ratio of the signal energy from the baby's heart to the signal energy from the mother's heart. 6.13 An amphibian"vehicle needs to travel from point A (on land) to point B (in water), as illustrated in Figure 6.11. The speeds at which the vehicle travels on land and water are v\ and v
EXERCISES

87

Figure 6.10 Simplified fetal heart monitoring system for Exercise 6.12

Figure 6.11

Path of amphibian vehicle in Exercise 6.13

a. Suppose that the vehicle traverses a path that minimizes the total time taken to travel from A to B. Use the first-order necessary condition to show that for the above optimal path, the angles 9\ and #2 in the Figure 6.11 satisfy Snell's Law:

b. Does the minimizer for the problem in part a satisfies the second-order sufficient condition? 6.14 Let / : R2 -> E be defined by

88

BASICS OF SET-CONSTRAINED AND UNCONSTRAINED OPTIMIZATION

where x = [xi, £2]T. Suppose that we wish to minimize / over E2. Find all points satisfying the FONC. Do these points satisfy the SONG? 6.15 Show that if d is a feasible direction at a point x G f2, then for all J3 > 0, the vector j3d is also a feasible direction at x. 6.16 Let ft = {x e En : Ax = b}. Show that d € Kn is a feasible direction at x G ft if and only if Ad = 0. 6.17 Let / : E2 -4 E. Consider the problem minimize subject to

/(x) xi, £2 > 0,

where x = [x\, £2]T. Suppose that V/(0) ^ 0, and

Show that 0 cannot be a minimizer for the above problem. 6.18 Let c e E n , c ^ 0, and consider the problem of minimizing the function /(x) = CTX over a constraint set ft C E n . Show that we cannot have a solution lying in the interior of Q. 6.19 Consider the problem: maximize subject to

c\x\ + c2a;2 x\ + X2 < 1 zi,z 2 > 0,

where c\ and c2 are constants such that c\ > c2 > 0. The above is a linear programming problem (see Part III). Assuming that the problem has an optimal feasible solution, use the First-Order Necessary Conditions to show that the unique optimal feasible solution x* is [1,0]T. Hint: First show that x* cannot lie in the interior of the constraint set. Then, show that x* cannot lie on the line segments L\ = {x : x\ — 0,0 < x2 < 1}» L-i = {x : 0 < x\ < 1, x-i = 0}, L3 = {x : 0 < x\ < 1, x2 = 1 - x\}. 6.20 Line Fitting. Let [xi, yi]T,..., [rcn, yn]7\ n > 2, be points on the E2 plane (each Xi, yi € E). We wish to find the straight line of "best fit" through these points ("best" in the sense that the average squared error is minimized); that is, we wish to find a, 6 e E to minimize

EXERCISES

89

a. Let

Show that f ( a , b) can be written in the form zTQz — 2cTz + d, where z = [a,b]T, Q = QT e_E^x^,_c €_E2 and d € R, and find expressions for Q, c, and d in terms of X, F, X 2 , F2, and XF. b. Assume that the Xj, z = 1,..., n, are not all equal._Find the parameters a* and 6* for the line of best fit in terms of X, F, X* F2, and XF. Show that the point [a*, 6*]T is the only local minimizer of /. ffwr:*>-pf)2 = £E2 = i(*i-*) 2 .

c. Show that if a* and 6* are the parameters of the line of best fit, then Y = a*X + 6* (and hence once we have computed a*, we can compute b* using the formula 6* = F - a*X). 6.21 Suppose that we are given a set of vectors {x^l\... ,x^}, x^ 6 E n , i = 1,... ,p. Find the vector x £ En such that the average squared distance (norm) between x and x^,..., x^p\

is minimized. Use the SOSC to prove that the vector x found above is a strict local minimizer. 6.22 Consider a function / : fi —> E, where H C En is a convex set and / G C1. Given x* E fi, suppose there exists c > 0 such that dTV/(a;*) > c||d|| for all feasible directions d six*. Show that x* is a strict local minimizer of / over ffc. 6.23 Prove the following generalization of the second-order sufficient condition: Theorem: Let fi be a convex subset of E n , / 6 C2 a real-valued function on fi, and x* a point in fl. Suppose that there exists c G E, c > 0, such that for all feasible directions d at x* (d ^ 0), the following hold:

90

BASICS OF SET-CONSTRAINED AND UNCONSTRAINED OPTIMIZATION

1. d T V/(x*) >0;and 2. dTF(x*)d > c\\d\\2. Then, x* is a strict local minimizer of /. 6.24 Consider the quadratic function / : En ->• M. given by

where Q = QT > 0. Show that x* minimizes /if and only if x * satisfies the FONC. 6.25 Consider the linear system x k+i = axk+buk+i,k > 0, where Xi € M, U{ G M, and the initial condition is x0 = 0. Find the values of the control inputs u i , . . . , un to minimize

where q, r > 0 are given constants. The above can be interpreted as desiring to make xn as large as possible, but at the same time desiring to make the total input energy Z)[Li Mi as smaU as possible. The constants q and r reflect the relative weights of the above two objectives.

7_ One-Dimensional Search Methods 7.1

GOLDEN SECTION SEARCH

The search methods we discuss in this and the next section allow us to determine the minimizer of a function / : M —> R over a closed interval, say [ao, &o]- The only property that we assume of the objective function / is that it is unimodal, which means that / has only one local minimizer. An example of such a function is depicted in Figure 7.1. The methods we discuss are based on evaluating the objective function at different points in the interval [ao, 60]• We choose these points in such a way that an approximation to the minimizer of / may be achieved in as few evaluations as possible. Our goal is to progressively narrow the range until the minimizer is "boxed in" with sufficient accuracy. Consider a unimodal function / of one variable and the interval [ao, bo]. If we evaluate / at only one intermediate point of the interval, we cannot narrow the range within which we know the minimizer is located. We have to evaluate / at two intermediate points, as illustrated in Figure 7.2. We choose the intermediate points in such a way that the reduction in the range is symmetric, in the sense that

where We then evaluate / at the intermediate points. If /(ai) < /(&i), then the minimizer must lie in the range [ao, 61]. If, on the other hand,/(ai) > /(61), then the minimizer is located in the range [ai, &o] (see Figure 7.3). 91

92

ONE-DIMENSIONAL SEARCH METHODS

Figure 7.1

A unimodal function

Figure 7.2 Evaluating the objective function at two intermediate points

Figure 7.3 The case where /(oi) < /(&i); the minimizer x* e [ao, 61]

GOLDEN SECTION SEARCH

93

Starting with the reduced range of uncertainty we can repeat the process and similarlyfindtwo new points, say 0,3 and 6 2 > using the same value of p < | as before. However, we would like to minimize the number of the objective function evaluations while reducing the width of the uncertainty interval. Suppose, for example, that /(oi) < /(bi), as in Figure 7.3. Then, we know that x* G [ao,6i]. Because a\ is already in the uncertainty interval and f ( a \ ) is already known, we can make a\ coincide with 62 • Thus, only one new evaluation of / at 02 would be necessary. To find the value of p that results in only one new evaluation of /, see Figure 7.4. Without loss of generality, imagine that the original range [ao, 60] is of unit length. Then, to have only one new evaluation of / it is enough to choose p so that

Because 61 — do = 1 — p and b\ — 62 = 1 — 2p, we have

We write the above quadratic function of p as

The solutions are

Because we require p < ~, we take

Observe that

and

that is,

Thus, dividing a range in the ratio of p to 1 — p has the effect that the ratio of the shorter segment to the longer equals the ratio of the longer to the sum of the two. This rule was referred to by ancient Greek geometers as the Golden Section. Using this Golden Section rule means that at every stage of the uncertainty range reduction (except the first one), the objective function / need only be evaluated at one new point. The uncertainty range is reduced by the ratio 1 — p « 0.61803 at every stage. Hence, N steps of reduction using the Golden Section method reduces the range by the factor (1 - p)N « (0.61803)^.

94

ONE-DIMENSIONAL SEARCH METHODS

Figure 7.4 Finding value of p resulting in only one new evaluation of / Example 7.1 Use the Golden Section search to find the value of x that minimizes

in the range [0,2] (this function comes from an example in [16]). Locate this value of x to within a range of 0.3. After N stages the range [0,2] is reduced by (0.61803)^. So, we choose N so that Four stages of reduction will do; that is, N = 4. Iteration 1. We evaluate / at two intermediate points ai and b\. We have

where p = (3 — \/5)/2. We compute

Thus, /(ai) < /(&i), and so the uncertainty interval is reduced to

Iteration 2. We choose 62 to coincide with ai, and / need only be evaluated at one new point We have

Now, 7(62) < 7(^2), so the uncertainty interval is reduced to

FIBONACCI SEARCH

95

Iteration 3. We set 03 = 62 > and compute 63:

We have

So /(6a) > /(as). Hence, the uncertainty interval is further reduced to

Iteration 4. We set 64 = 03, and

We have

Hence, f(a^} > f(b±). Thus, the value of x that minimizes / is located in the interval Note that 63 - a4 = 0.292 < 0.3.

7.2

FIBONACCI SEARCH

Recall that the Golden Section method uses the same value of p throughout. Suppose now that we are allowed to vary the value p from stage to stage, so that at the fcth stage in the reduction process we use a value pk, at the next stage we use a value pk+i, and so on. As in the Golden Section search, our goal is to select successive values of pk, 0 < Pk < 1/2, such that only one new function evaluation is required at each stage. To derive the strategy for selecting evaluation points, consider Figure 7.5. From Figure 7.5, we see that it is sufficient to choose the pk such that

After some manipulations, we obtain

96

ONE-DIMENSIONAL SEARCH METHODS

Figure 7.5 Selecting evaluation points

There are many sequences pi,p2, • • • that satisfy the above law of formation, and the condition that 0 < pk < 1/2. For example, the sequence pl = p2 = p3 = • • • = (3 — \/5)/2 satisfies the above conditions, and gives rise to the Golden Section method. Suppose that we are given a sequence p i , p 2 , - - • satisfying the above conditions, and we use this sequence in our search algorithm. Then, after N iterations of the algorithm, the uncertainty range is reduced by a factor of

Depending on the sequence p\, p2,..., we get a different reduction factor. The natural question is as follows: What sequence p\, p2,... minimizes the above reduction factor? This problem is a constrained optimization problem that can be formally stated:

Before we give the solution to the above optimization problem, we first need to introduce the Fibonacci sequence, FI,F 2 ,F 3 , — This sequence is defined as follows. First, let F_i = 0 and F0 = 1 by convention. Then, for k > 0,

Some values of elements in the Fibonacci sequence are as follows:

FIBONACCI SEARCH

97

It turns out that the solution to the above optimization problem is:

where the Fk are the elements of the Fibonacci sequence. The resulting algorithm is called the Fibonacci search method. We present a proof for the optimality of the Fibonacci search method later in this section. In the Fibonacci search method, the uncertainty range is reduced by the factor

Because the Fibonacci method uses the optimal values of pi,p%, • • •» the above reduction factor is less than that of the Golden Section method. In other words, the Fibonacci method is better than the Golden Section method in that it gives a smaller final uncertainty range. We point out that there is an anomaly in the final iteration of the Fibonacci search method, because

Recall that we need two intermediate points at each stage, one that comes from a previous iteration and another that is a new evaluation point. However, with pN = 1/2, the two intermediate points coincide in the middle of the uncertainty interval, and therefore we cannot further reduce the uncertainty range. To get around this problem, we perform the new evaluation for the last iteration using PN = 1/2 - e, where e is a small number. In other words, the new evaluation point is just to the left or right of the midpoint of the uncertainty interval. This modification to the Fibonacci method is, of course, of no significant practical consequence. As a result of the above modification, the reduction in the uncertainty range at the last iteration may be either or

98

ONE-DIMENSIONAL SEARCH METHODS

depending on which of the two points has the smaller objective function value. Therefore, in the worst case, the reduction factor in the uncertainty range for the Fibonacci method is

Example 7.2 Consider the function

Use the Fibonacci search method to find the value of x that minimizes / over the range [0,2]. Locate this value of x to within a range 0.3. After N steps the range is reduced by (1 + 2e}/F^+i in the worst case. We need to choose N such that

Thus, we need If we choose e < 0.1, then N = 4 will do. Iteration 1. We start with

We then compute

The range is reduced to

Iteration 2. We have

FIBONACCI SEARCH

99

So the range is reduced to

Iteration 3. We compute

The range is reduced to

Iteration 4. We choose e = 0.05. We have

The range is reduced to Note 63 - a4 = 0.275 < 0.3. For the diligent reader, we now turn to a proof of the optimality of the Fibonacci search method. Skipping the rest of this section does not affect the continuity of the presentation. To begin, recall that we wish to prove that the values of p\, p2,..., PN used in the Fibonacci method, where pk = 1 — FM-k+\IFN-k+i* solve the optimization problem:

100

ONE-DIMENSIONAL SEARCH METHODS

It is easy to check that the values of p\, />2, • • • above for the Fibonacci search method satisfy the feasibility conditions in the optimization problem above (see Exercise 7.4). Recall that the Fibonacci method has an overall reduction factor of (1 — p\ ) • • • ( ! — PN) = I/FN+I. To prove that the Fibonacci search method is optimal, we show that for any feasible values of p\,..., PN, we have (1 — pi) • • • (1 — pjv) > 1/Fjv+iIt is more convenient to work with r^ = 1 — pk rather than pk. The optimization problem stated in terms of r* is:

Note that if ri, TI ,... satisfy rjt+i = ^— 1, then r^ > 1/2 if and only if rk+i < 1. Also, rfc > 1/2 if and only if r^-i < 2/3 < 1. Therefore, in the above constraints, we may remove the constraint r^ < 1, because it is implicitly implied by r* > 1/2 and the other constraints. Therefore, the above constraints reduce to

To proceed, we need the following technical lemmas. In the statements of the lemmas, we assume that ri, TI , . . . is a sequence that satisfies

Lemma 7.1 For k>2,

Proof. We proceed by induction. For k = 2, we have

and hence the lemma holds for k = 2. Suppose now that the lemma holds for k > 2. We show that it also holds for k + 1. We have

FIBONACCI SEARCH

101

where we used the formation law for the Fibonacci sequence. Lemma 7.2 For k>2,

Proof. We proceed by induction. For k — 2, we have

But ri = 1/(1 + r 2 ) < 2/3, and hence 1 - ri > 0. Therefore, the result holds for k = 2. Suppose now that the lemma holds for A; > 2. We show that it also holds for k + 1. We have

By Lemma 7.1,

Substituting for 1/rfc+i, we obtain

and the proof is completed Lemma 7.3 For k>2,

Proof. Because rfc+i = ±- — 1 and r* > |, we have r^+i < 1. Substituting for rk+i from Lemma 7.1, we get

Multiplying the numerator and denominator by (—1)* yields

By Lemma 7.2, ( — l ) k ( F k - 2 — ^fc-if"i) > 0, and therefore we can multiply both sides of the above inequality by (—l) fc (Ffc_2 — Fk-iri) to obtain

102

ONE-DIMENSIONAL SEARCH METHODS

Rearranging the above yields

Using the law of formation of the Fibonacci sequence, we get

which upon dividing by Fk+i on both sides gives the desired result. We are now ready to prove the optimality of the Fibonacci search method, and the uniqueness of this optimal solution. Theorem 7.1 Let TI , . . . , r^, N >2, satisfy the constraints

Then,

Furthermore,

if and only ifrk = FN-k+i/FN-k+2> k = 1,..., N. In other words, the values ofr\,..., ryv used in the Fibonacci search method form the unique solution to the optimization problem. Proof. By substituting expressions for r\,..., r^v from Lemma 7.1 and performing the appropriate cancellations, we obtain

Using Lemma 7.3,

By Exercise 7.5, (-l)N(FN-2FN+l

- FN-iFN) = 1. Hence,

NEWTON'S METHOD

103

From the above, we see that

if and only if

The above is simply the value of ri for the Fibonacci search method. Note that fixing 7*1 uniquely determines r < z , . . . , rjy. For further discussion on the Fibonacci search method and its variants, see [96].

7.3

NEWTON'S METHOD

Suppose again that we are confronted with the problem of minimizing a function / of a single real variable x. We assume now that at each measurement point x^ we can calculate f(x^}, f'(x^}, and f'(x^). We can fit a quadratic function through x^ that matches its first and second derivatives with that of the function /. This quadratic has the form

Note that g(z<*>) = /(z<*>), q'(x^} = /'(z< f c ) ). andg"(z<* } ) = /"(z<*>). Then, instead of minimizing /, we minimize its approximation q. The first-order necessary condition for a minimizer of q yields

Setting x — x^k+l\ we obtain

Example 7.3 Using Newton's method, find the minimizer of

The initial value is 2^°) = 0.5. The required accuracy is e = 10 5, in the sense that we stop when |z(*+1) — x^ \ < e. We compute

104

ONE-DIMENSIONAL SEARCH METHODS

Figure 7.6 Newton's algorithm with /" (x) > 0 Hence,

Proceeding in a similar manner, we obtain

Note that \x^ - x^\ < e = 1(T5. Furthermore, /'(z (4) ) = -8.6 x 10~6 * 0. Observe that f"(x^) = 1.673 > 0, so we can assume that x* « x^ is a strict minimizer. Newton's method works well if f " ( x ) > 0 every where (see Figure 7.6). However, if f"(x) < 0 for some x, Newton's method may fail to converge to the minimizer (see Figure 7.7). Newton's method can also be viewed as a way to drive the first derivative of / to zero. Indeed, if we set g(x) = f ' ( x ) , then we obtain a formula for iterative solution of the equation g(x) = 0:

NEWTON'S METHOD

105

Figure 7.7 Newton's algorithm with /"(x) < 0 Example 7.4 We apply Newton's method to improve a first approximation, x^ = 12, to the root of the equation

We have g'(x) = 3x2 - 24.4x + 7.45. Performing two iterations yields

Newton's method for solving equations of the form g(x] = 0 is also referred to as Newton's method of tangents. This name is easily justified if we look at a geometric interpretation of the method when applied to the solution of the equation g(x) = 0 (see Figure 7.8). If we draw a tangent to g(x) at the given point x( fc ), then the tangent line intersects the x-axis at the point x( fe+1 ), which we expect to be closer to the root x* of g(x) = 0. Note that the slope of g(x) at x^ is

Hence,

Newton's method of tangents may fail if the first approximation to the root is such that the ratio g(x^)/g'(x^) is not small enough (see Figure 7.9). Thus, an initial approximation to the root is very important.

106

ONE-DIMENSIONAL SEARCH METHODS

Figure 7.8

Figure 7.9

Newton's method of tangents

Example where Newton's method of tangents fails to converge to the root x* of

g(x) = o 7.4

SECANT METHOD

Newton's method for minimizing / uses second derivatives of /:

If the second derivative is not available, we may attempt to approximate it using first derivative information. In particular, we may approximate f"(x^} above with

SECANT METHOD

107

Using the above approximation of the second derivative, we obtain the algorithm

The above algorithm is called the secant method. Note that the algorithm requires two initial points to start it, which we denote o^"1) and x^0\ The secant algorithm can be represented in the following equivalent form:

Observe that, like Newton's method, the secant method does not directly involve values of f(x^). Instead, it tries to drive the derivative /' to zero. In fact, as we did for Newton's method, we can interpret the secant method as an algorithm for solving equations of the form g(x) =Q. Specifically, the secant algorithm for finding a root of the equation g(x) = 0 takes the form

or, equivalently,

The secant method for root finding is illustrated in Figure 7.10 (compare this with Figure 7.8). Unlike Newton's method, which uses the slope of g to determine the next point, the secant method uses the "secant" between the (k — l)st and kth points to determine the (A; + l)st point. Example 7.5 We apply the secant method to find the root of the equation

We perform two iterations, with starting points x^ ^ = 13 and x^ = 12. We obtain

Example 7.6 Suppose the voltage across a resistor in a circuit decays according to the model V(t) = e~Rt, where V(t) is the voltage at time t, and R is the resistance value. Given measurements V\,..., Vn of the voltage at times ti,..., tn, respectively, we wish to find the best estimate of R. By the "best estimate" we mean the value

108

ONE-DIMENSIONAL SEARCH METHODS

Figure 7.10 Secant method for root finding of R that minimizes the total squared error between the measured voltages and the voltages predicted by the model. We derive an algorithm to find the best estimate of R using the secant method. The objective function is:

Hence, we have

The secant algorithm for the problem is:

For further reading on the secant method, see [20].

7.5

REMARKS ON LINE SEARCH METHODS

One-dimensional search methods play an important role in multidimensional optimization problems. In particular, iterative algorithms for solving such optimization

EXERCISES

109

problems (to be discussed in the following chapters) typically involve a "line search" at every iteration. To be specific, let / : W1 -4 R be a function that we wish to minimize. Iterative algorithms for finding a minimizer of / are of the form

where x^ is a given initial point, and ctk > 0 is chosen to minimize 0fc(a) = f(x^ + ad^k'). The vector d^ is called the search direction. Note that choice of ctk involves a one-dimensional minimization. This choice ensures that, under appropriate conditions, We may, for example, use the secant method to find a^. In this case, we need the derivative of 0fc, which is

The above is obtained using the chain rule. Therefore, applying the secant method for the line search requires the gradient V/, the initial line search point x^k\ and the search direction dsk' (see Exercise 7.9). Of course, other one-dimensional search methods may be used for line search (see, e.g., [29] and [64]). Line search algorithms used in practice are much more involved than the onedimensional search methods presented in this chapter. The reason for this stems from several practical considerations. First, determining the value of otk that exactly minimizes & may be computationally demanding; even worse, the minimizer of $k may not even exist. Second, practical experience suggests that it is better to allocate more computational time on iterating the optimization algorithm rather than performing exact line searches. These considerations led to the development of conditions for terminating line search algorithms that would result in low-accuracy line searches while still securing a decrease in the value of the / from one iteration to the next. For more information on practical line search methods, we refer the reader to [29, pp. 26-40], [34], and [35]l. EXERCISES 7.1 Suppose that we have a unimodal function over the interval [5,8]. Give an example of a desired final uncertainty range where the Golden Section method requires at least 4 iterations, whereas the Fibonacci method requires only 3. You may choose an arbitrarily small value of e for the Fibonacci method. 7.2 Let f ( x ) = x2 + 4 cos x, x £ E. We wish to find the minimizer x* of / over the interval [1,2]. (Calculator users: Note that in cos x, the argument x is in radians). 1 We thank Dennis M. Goodman for furnishing us with references [34] and [35]. 110 ONE-DIMENSIONAL SEARCH METHODS a. Plot f ( x ) versus x over the interval [1,2]. b. Use the Golden Section method to locate x* to within an uncertainty of 0.2. Display all intermediate steps using a table as follows: Iteration/: a,k bk f(ak) f(bk) New uncertainty interval 1 2 ? ? ? ? ? ? ? ? [?,?] [?,?] c. Repeat part b using the Fibonacci method, with e = 0.05. Display all intermediate steps using a table as follows: Iteration k pk ak bk f(o>k) S(bk) New uncertainty interval 1 2 ? ? ? ? ? ? ? ? ? ? [?,?] [?,?] d. Apply Newton's method, using the same number of iterations as in part b, with *<°> = 1. 7.3 Let f ( x ) = Sel~x + 71og(x), where log(-) represents the natural logarithm function. a. Use MATLAB to plot f ( x ) versus x over the interval [1,2], and verify that / is unimodal over [1,2]. b. Write a simple MATLAB routine to implement the Golden Section method that locates the minimizer of / over [1, 2] to within an uncertainty of 0.23. Display all intermediate steps using a table as in Exercise 7.2. c. Repeat part b using the Fibonacci method, with e = 0.05. Display all intermediate steps using a table as in Exercise 7.2. 7.4 Suppose that p\,..., px are the values used in the Fibonacci search method. Show that for each k = 1,..., N, 0 < pk < 1/2, and for each A; = 1,..., N - 1, EXERCISES 111 7.5 Show that if FQ, FI , . . . is the Fibonacci sequence, then for each A; = 2,3,..., 7.6 Show that the Fibonacci sequence can be calculated using the formula 7.7 Suppose that we have an efficient way of calculating exponentials. Based on this, use Newton's method to devise a method to approximate log(2) (where log(-) is the natural logarithm function). Use an initial point of x^ = 1, and perform 2 iterations. 7.8 The objective of this exercise is to implement the secant method using MATLAB. a. Write a simple MATLAB routine to implement the secant method to locate the root of the equation g(x) = 0. For the stopping criterion, use the condition |x( fc+1 ) — a;(*) I < |x( fc ) |e, where e > 0 is a given constant. b. Let g(x] = (2x - I) 2 + 4(4 - 1024x)4. Find the root of g(x) = 0 using the secant method with a^"1) = 0, x^ = 1, and e = 10~5. Also determine the value of g at the obtained solution. 7.9 Write a MATLAB function that implements a line search algorithm using the secant method. The arguments to this function are the name of the M-file for the gradient, the current point, and the search direction. For example, the function may be called linesearch_secant, and used by the function call alpha=linesearch_secant ( 'grad' , x , d ) , where grad.m is the M-file containing the gradient, x is the starting line search point, d is the search direction, and alpha is the value returned by the function (which we use in the following chapters as the step size for iterative algorithms (see, e.g., Exercises 8.18, 10.8)). Note: In the solutions manual, we used the stopping criterion \dTVf(x + ad) \ < £\dTVf(x)\, where e > 0 is a prespecified number, V/ is the gradient, x is the starting line search point, and d is the search direction. The rationale for the above stopping criterion is that we want to reduce the directional derivative of / in the direction d by the specified fraction e. We used a value of e — 10~4, and initial conditions of 0 and 0.001. This page intentionally left blank 8_ Gradient Methods 8.1 INTRODUCTION In this chapter, we consider a class of search methods for real-valued functions on E n . These methods use the gradient of the given function. In our discussion, we use terms like level sets, normal vectors, tangent vectors, and so on. These notions were discussed in some detail in Part I. Recall that a level set of a function / : W1 —> R is the set of points x satisfying f ( x ) = c for some constant c. Thus, a point XQ G Mn is on the level set corresponding to level c if /(XQ) = c. In the case of functions of two real variables, / : M2 -» K, the notion of the level set is illustrated in Figure 8.1. The gradient of / at XQ, denoted V/(a?o), if it is not a zero vector, is orthogonal to the tangent vector to an arbitrary smooth curve passing through XQ on the level set f ( x ] = c. Thus, the direction of maximum rate of increase of a real-valued differentiable function at a point is orthogonal to the level set of the function through that point. In other words, the gradient acts in such a direction that for a given small displacement, the function / increases more in the direction of the gradient than in any other direction. To prove this statement, recall that (V/(x),d), ||d|| = 1, is the rate of increase of / in the direction d at the point x. By the Cauchy-Schwarz inequality, because ||d|| = 1. But if d = V/(x)/||V/(x)||,then 113 114 GRADIENT METHODS Figure 8.1 Constructing a level set corresponding to level c for / Thus, the direction in which V/(oj) points is the direction of maximum rate of increase of / at x. The direction in which —V/(x) points is the direction of maximum rate of decrease of / at x. Hence, the direction of negative gradient is a good direction to search if we want to find a function minimizer. We proceed as follows. Let x^ be a starting point, and consider the point oj(°) — aV/(x(°)). Then, by Taylor's theorem we obtain Thus, if V/(z (0) ) ^ 0, then for sufficiently small a > 0, we have This means that the point aj(°) — aVf(x^) is an improvement over the point x^ if we are searching for a minimizer. To formulate an algorithm that implements the above idea, suppose that we are given a point x^. To find the next point z( fc+1 ), we start at x^ and move by an amount —akVf(x^), where a.k is a positive scalar called the step size. The above procedure leads to the following iterative algorithm: We refer to the above as a gradient descent algorithm (or simply a gradient algorithm}. The gradient varies as the search proceeds, tending to zero as we approach the minimizer. We have the option of either taking very small steps and re-evaluating the gradient at every step, or we can take large steps each time. The first approach results in a laborious method of reaching the minimizer, whereas the second approach may result in a more zigzag path to the minimizer. The advantage of the second approach is THE METHOD OF STEEPEST DESCENT Figure 8.2 115 Typical sequence resulting from the method of steepest descent a possibly fewer number of the gradient evaluations. Among many different methods that use the above philosophy the most popular is the method of steepest descent, which we discuss next. Gradient methods are simple to implement and often perform well. For this reason, they are widely used in practical applications. For a discussion of applications of the steepest descent method to the computation of optimal controllers, we recommend [62, pp. 481-515]. In Chapter 13, we apply a gradient method to the training of a class of neural networks. 8.2 THE METHOD OF STEEPEST DESCENT The method of steepest descent is a gradient algorithm where the step size a* is chosen to achieve the maximum amount of decrease of the objective function at each individual step. Specifically, a& is chosen to minimize /fc(a) = f(x^ — aVf(x^)). In other words, To summarize, the steepest descent algorithm proceeds as follows: at each step, starting from the point x^k\ we conduct a line search in the direction —Vf(x^) until a minimizer, x^k+1^, is found. A typical sequence resulting from the method of steepest descent is depicted in Figure 8.2. Observe that the method of steepest descent moves in orthogonal steps, as stated in the following proposition. 116 GRADIENT METHODS Proposition 8.1 If {jc^}£L0 is a steepest descent sequence for a given function f : W1 —> 1, then for each k the vector x(k+1^ — x^ is orthogonal to the vector x(*+2) _ x(k+i\ D Proof. From the iterative formula of the method of steepest descent it follows that To complete the proof it is enough to show that To this end, observe that ck (a) = f(x^ — aVf(xW)). Hence, using the FONC and the chain rule, and the proof is completed. The above proposition implies that Vf(x^) is parallel to the tangent plane to the level set {f(x) = f(x^k+1^)} at x^k+l^. Note that as each new point is generated by the steepest descent algorithm, the corresponding value of the function / decreases in value, as stated below. Proposition 8.2 If{x^}^LQ is the steepest descent sequence for f : En —» E and ifVf(x^) ^ 0, then /(x^ +1 )) < /(z<*>). O Proof. First recall that where a* > 0 is the minimizer of over all a > 0. Thus, for a > 0, we have By the chain rule, THE METHOD OF STEEPEST DESCENT 117 because Vf(x^) ^ 0 by assumption. Thus, 0jk(0) < 0 and this implies that there is an a > 0 such that 0^(0) > 0jt(a:) for all a G (0, a]. Hence, and the proof of the statement is completed. In the above, we proved that the algorithm possesses the descent property: /(x( fc+1 )) < /(x<*)) if V/(x<*>) ^ 0. If for some A;, we have V/(x(*>) = 0, then the point a;^ satisfies the FONC. In this case, x(*+1) = x^. We can use the above as the basis for a stopping (termination) criterion for the algorithm. The condition V/(x^ +1 ^) = 0, however, is not directly suitable as a practical stopping criterion, because the numerical computation of the gradient will rarely be identically equal to zero. A practical stopping criterion is to check if the norm ||V/(jc(*))|| of the gradient is less than a prespecified threshold, in which case we stop. Alternatively, we may compute the absolute difference \f(x^h+1^) — f(x^}\ between objective function values for every two successive iterations, and if the difference is less than some prespecified threshold, then we stop; that is, we stop when where e > 0 is a prespecified threshold. Yet another alternative is to compute the norm ||o;(fc+1) — x^ \\ of the difference between two successive iterates, and we stop if the norm is less than a prespecified threshold: Alternatively, we may check "relative" values of the above quantities; for example, or The above two (relative) stopping criteria are preferable to the previous (absolute) criteria because the relative criteria are "scale-independent." For example, scaling the objective function does not change the satisfaction of the criterion \ f ( x ^ k + l ^ } — f(x^)\/\f(x^)\ < e. Similarly, scaling the decision variable does not change the satisfaction of the criterion ||x( fc+1 )—a:^||/||x( fc ))|| < e. To avoid dividing by very small numbers, we can modify these stopping criteria as follows: or 118 GRADIENT METHODS Note that the above stopping criteria are relevant to all the iterative algorithms we discuss in this part. Example 8.1 We use the method of steepest descent to find the minimizer of The initial point is x^ = [4,2, -1]T. We perform three iterations. We find Hence, To compute x^l\ we need Using the secant method from the previous chapter, we obtain For illustrative purpose, we show a plot of (j>o(a) versus a in Figure 8.3, obtained using MATLAB. Thus, To find x( 2 ), we first determine Next, we find ot\, where Using the secant method again, we obtain a\ = 0.5000. Figure 8.4 depicts a plot of 0i (a) versus a. Thus, To find x(3\ we first determine THE METHOD OF STEEPEST DESCENT Figure 8.3 Plot of 00 (a) versus a Figure 8.4 Plot of 0i (a) versus a 119 120 GRADIENT METHODS Figure 8.5 Plot of 02 (a) versus a and We proceed as in the previous iterations to obtain a2 = 16.29. A plot of Note that the minimizer of / is [4,3, —5] T , and hence it appears that we have arrived at the minimizer in only three iterations. The reader should be cautioned not to draw any conclusions from this example about the number of iterations required to arrive at a solution in general. It goes without saying that numerical computations, such as those in this example, are performed in practice using a computer (rather than by hand). The above calculations were written out explicitly, step by step, for the purpose of illustrating the operations involved in the steepest descent algorithm. The computations themselves were, in fact, carried out using a MATLAB routine (see Exercise 8.18). Let us now see what the method of steepest descent does with a quadratic function of the form THE METHOD OF STEEPEST DESCENT 121 where Q e M nxn is a symmetric positive definite matrix, b e M n , and x € M n . The unique minimizer of / can be found by setting the gradient of / to zero, where because!) (xTQx) = xT(Q + QT) = 2zTQ,andD(6Tz) = 6T. There is no loss of generality in assuming Q to be a symmetric matrix. For if we are given a quadratic form XT Ax and A ^ AT, then because the transposition of a scalar equals itself, we obtain Hence, Note that The Hessian of / is F(x) = Q = QT > 0. To simplify the notation we write g( ) — V/^*)). Then, the steepest descent algorithm for the quadratic function can be represented as k where In the quadratic case, we can find an explicit formula for otk. We proceed as follows. Assume gW ^ 0, for if g^> = 0, then x^ = x* and the algorithm stops. Because a/t > 0 is a minimizer of$k(ot) = f(x^ — ag^), we apply the FONC to (f>k(a) to obtain Therefore, 'k(a) = 0 ifag^TQg^ = (x^TQ - bT)g(k\ But

Hence,

722

Figure 8.6 Steepest descent method applied to f ( x \ , x-z) = x\ + x\ In summary, the method of steepest descent for the quadratic takes the form

where Example 8.2 Let Then, starting from an arbitrary initial point x^ G M2 we arrive at the solutio x* = 0 € M2 in only one step. See Figure 8.6. However, if

then the method of steepest descent shuffles ineffectively back and forth when searching for the minimizer in a narrow valley (see Figure 8.7). This example illustrates a major drawback in the steepest descent method. More sophisticated methods that alleviate this problem are discussed in subsequent chapters. To understand better the method of steepest descent we examine its convergence properties in the next section.

8.3 ANALYSIS OF GRADIENT METHODS 8.3.1

Convergence

The method of steepest descent is an example of an iterative algorithm. This means that the algorithm generates a sequence of points, each calculated on the basis of

Figure 8.7

123

Steepest descent method in search for minimizer in a narrow valley

the points preceding it. The method is a descent method because as each new point is generated by the algorithm, the corresponding value of the objective function decreases in value (i.e., the algorithm possesses the descent property). We say that an iterative algorithm is globally convergent if for any arbitrary starting point the algorithm is guaranteed to generate a sequence of points converging to a point that satisfies the FONC for a minimizer. When the algorithm is not globally convergent, it may still generate a sequence that converges to a point satisfying the FONC, provided the initial point is sufficiently close to the point. In this case, we say that the algorithm is locally convergent. How close to a solution point we need to start for the algorithm to converge depends on the local convergence properties of the algorithm. A related issue of interest pertaining to a given locally or globally convergent algorithm is the rate of convergence; that is, how fast the algorithm converges to a solution point. In this section, we analyze the convergence properties of descent gradient methods, including the method of steepest descent and gradient methods with fixed step size. We can investigate important convergence characteristics of a gradient method by applying the method to quadratic problems. The convergence analysis is more convenient if instead of working with / we deal with

where Q = QT > 0. The solution point x* is obtained by solving Qx = 6, that is, x* = Q~lb. The function V differs from / only by a constant |x*TQx*. We begin our analysis with the following useful lemma that applies to a general gradient algorithm. Lemma 8.1 The iterative algorithm

with gW = Qx^ — b satisfies

124

where, ifg^ = 0 then 7* = 1, and if g^ ^ 0 then

Proof. The proof is by direct computation. Note that if gW — o, then the desired result holds trivially. In the remainder of the proof, assume g^ ^ 0. We first evaluate the expression

To facilitate computations, let j/ fe > = x<*> - x*. Then, V(x^} = |y<*> T Qy<*>. Hence,

Therefore,

Because we have

Therefore, substituting the above, we get

Note that 7* < 1 for all k, because 7* = 1 - V(x^k+l^/V(x^) and V is a nonnegative function. If 7* = 1 for some k, then V(aj(fc+1)) = 0, which is equivalent to x(k+l) = x*. In this case, we also have that for all i > k + 1, x^ = x* and 7i = 1. It turns out that 7jfc = 1 if and only if either gW = Qorg^ is an eigenvector of Q (see Lemma 8.3).

125

We are now ready to state and prove our key convergence theorem for gradient methods. The theorem gives a necessary and sufficient condition for the sequence {a;(fc)} generated by a gradient method to converge to x*; that is, x^ -> x*, or limjfc^oo x (fc) = x*. Theorem8.1 Let {x^} be the sequence resulting from a gradient algorithm — x(k) _ afc0(*0 i^t 7fc be as defined in Lemma 8.1, and suppose that 7fc > 0 far all k. Then, {x^} converges to x* for any initial condition x^ if and only if x (fc+i)

Proof. From Lemma 8.1, we have V(x^k+l^) = (1 — 7*) V(x^), from which we obtain

Assume that 7* < 1 for all k, for otherwise the result holds trivially. Note that x^ -> x* if and only if V(x^) ->• 0. By the above equation, we see that this occurs if and only if Oi^o(l ~ 7») = ^, which, in turn, holds if and only if Z)°^0 ~~ l°g(l ~ 7i) — °° (we §et tms simply by taking logs). Note that by Lemma 8.1, 1 - 7; > 0 and log(l - 7*) is well defined (log(O) is taken to be oo). Therefore, it remains to show that X^o ~ l°s(l — 7i) = oo if and only if

We first show that £)^0 7^ = 00 implies that £°^.0 ~~ l°s(l ~~ 7») = °°- F°r this, first observe that for any x G M, x > 0, we have log(x) < x — 1 (this is easy to see simply by plotting log(x) and x - 1 versus x). Therefore, log(l - 7^) < 1 - 7i - 1 = -7;, and hence - log(l - 7^) > 7^. Thus, if XlSo ^ = °°' men clearly X)£0 ~ los(l ~ 7i) = ooFinally, we show that ][3°^o — log(l — 7^) = oo implies that ^^0 "ft = °°We proceed by contraposition. Suppose that X^i^o 7* ^ °°- Then, it must be that 7i -> 0. Now observe that for x e E, x < 1 and x sufficiently close to 1, we have log(:r) > 2(x — 1) (as before, this is easy to see simply by plotting log(x) and 2(x — 1) versus x). Therefore, for sufficiently large i, log(l — 7*) > 2(1 — 7^ — 1) = —27j, which implies that — log(l — 7^) < 27^. Hence, J^i^o 7i < °° implies that ££o-l°g(l-7i) 0 for all k is significant in that it corresponds to the algorithm having the descent property (see Exercise 8.16). Furthermore, the result of the theorem does not hold in general if we do not assume that 7fc > 0 for all k, as shown in the following example.

126

Example 8.3 We show, using a counterexample, that the assumption that 7* > 0 in Theorem 8.1 is necessary for the result of the theorem to hold. Indeed, for each k = 0,1,2,..., choose a^ in such a way that 72* = 1/2 and 72fc+i = —1/2 (we can always do this if, for example, Q = In). From Lemma 8.1, we have

Therefore, V(x^ -» 0. Because V(x^k+1^ = (3/2)V(a;( 2fc )), we also have that V(x(2k+V) -> 0. Hence, V(x^) -» 0, which implies that x<*> -> 0 (for all x^). On the other hand, it is clear that

for all k. Hence, the result of the theorem does not hold if jk < 0 for some k. Using the above general theorem, we can now establish the convergence of specific cases of the gradient algorithm, including the steepest descent algorithm and algorithms with fixed step size. In the analysis to follow, we use Rayleigh's inequality, which states that for any Q = QT > 0, we have

where A m j n (Q) denotes the minimal eigenvalue of Q, and A max (Q) denotes the maximal eigenvalue of Q. For Q = QT > 0, we also have

and Lemma 8.2 Let Q = Q > 0 be ann x n real symmetric positive definite matrix. Then, for any x 6 En, we have

Proof. Applying Rayleigh's inequality and using the previously listed properties of symmetric positive definite matrices, we get

127

and

We are now ready to establish the convergence of the steepest descent method. Theorem 8.2 In the steepest descent algorithm, we have x^ —>• x* for any x^°\ Proof. If gW = 0 for some k, then a;^ = x* and the result holds. So assume that 0(fc) -£ 0 for all k. Recall that for the steepest descent algorithm,

Substituting the above expression for o^ in the formula for 7^ yields

Note that in this case, 7^ > 0 for all k. Furthermore, by Lemma 8.2, we have 7* > (Amin(Q)/A m ax(Q)) > 0. Therefore, we have ££L0 7* = oo, and hence by Theorem 8.1, we conclude that x^ -> x*, Consider now a gradient method with fixed step size; that is, o^ = o: E E for all k. The resulting algorithm is of the form

We refer to the above algorithm as a fixed step size gradient algorithm. The algorithm is of practical interest because of its simplicity. In particular, the algorithm does not require a line search at each step to determine a*, because the same step size a is used at each step. Clearly, the convergence of the algorithm depends on the choice of a, and we would not expect the algorithm to work for arbitrary a. The following theorem gives a necessary and sufficient condition on a for convergence of the algorithm. Theorem 8.3 For the fixed step size gradient algorithm, x^ —» x* for any x^ if and only if

Proof. •$=: By Rayleigh's inequality, we have 128 GRADIENT METHODS and Therefore, substituting the above into the formula for 7*., we get Therefore, 7^ > 0 for all k, and X^fcLoTfc = °°- Hence, by Theorem 8.1, we conclude that x^ —> x*. =>: We use contraposition. Suppose that either a < 0 or a > 2/A max (Q). Let 2j(°) be chosen such that x^ - x* is an eigenvector of Q corresponding to the eigenvalue A max (Q). Because we obtain where in the last line we used the property that x^ — x* is an eigenvector of Q. Taking norms on both sides, we get Because a < 0 or o: > 2/A max (Q), Hence, ||o;(*+1) — x*|| cannot converge to 0, and thus the sequence {x^} does not converge to x*. Example 8.4 Let the function / be given by We wish to find the minimizer of / using a fixed step size gradient algorithm where a 6 M is a fixed step size. To apply Theorem 8.3, we first symmetrize the matrix in the quadratic term of / to get The eigenvalues of the matrix in the quadratic term are 6 and 12. Hence, using Theorem 8.3, the above algorithm converges to the minimizer for all aj(°) if and only if a lies in the range 0 < a < 2/12. ANALYSIS OF GRADIENT METHODS 8.3.2 129 Convergence Rate We now turn our attention to the issue of convergence rates of gradient algorithms. In particular, we focus on the steepest descent algorithm. We first present the following theorem. Theorem 8.4 In the method of steepest descent applied to the quadratic function, at every step k, we have Proof. In the proof of Theorem 8.2, we showed that 7^ > A m i n (Q)/A max (Q)Therefore, and the result follows. The above theorem is relevant to our consideration of the convergence rate of the steepest descent algorithm as follows. Let the so-called condition number of Q. Then, it follows from Theorem 8.4 that The term (1 — 1/r) plays an important role in the convergence of {V(x^k')} toO (and hence of {x^ } to x*). We refer to (1 — 1/r) as the convergence ratio. Specifically, we see that the smaller the value of (1 - 1/r), the smaller V(x^k+^) will be relative to V(x^), and hence the "faster" V(x^) converges to 0, as indicated by the inequality above. The convergence ratio (1 — 1/r) decreases as r decreases. If r — 1, then Amax(Q) = A m i n (Q), corresponding to circular contours of / (see Figure 8.6). In this case, the algorithm converges in a single step to the minimizer. As r increases, the speed of convergence of {V(x^}} (and hence of {x^}) decreases. The increase in r reflects that fact that the contours of / are more eccentric (see, e.g., Figure 8.7). We refer the reader to [64, pp. 218, 219] for an alternative approach to the above analysis. To investigate further the convergence properties of {x^ }, we need the following definition. Definition8.1 Given a sequence {x^} that converges to x*, that is, lirrifc-j.oo \\x^ —x*\\ = 0, we say that the order ofconvergence is p, where p 6 M, if 130 GRADIENT METHODS Ifforallp>0, then we say that the order of convergence is oo. Note that in the above definition, 0/0 should be understood to be 0. The order of convergence of a sequence is a measure of its rate of convergence; the higher the order, the faster the rate of convergence. The order of convergence is sometimes also called the rate of convergence (see, e.g., [70]). If p = 1 (firstorder convergence), we say that the convergence is linear. If p = 2 (second-order convergence), we say that the convergence is quadratic. Example 8.5 1. Suppose that x^ = l/k, and thus x^ ->• 0. Then, If p < 1, the above sequence converges to 0, whereas if p > 1, it grows to oo. If p — 1, the sequence converges to 1. Hence, the order of convergence is 1 (i.e., we have linear convergence). 2. Suppose that z(A:) = 7*, where 0 < 7 < 1, and thus x (fc) -> 0. Then, If p < 1, the above sequence converges to 0, whereas if p > 1, it grows to oo. If p = 1, the sequence converges to 7 (in fact, remains constant at 7). Hence, the order of convergence is 1. 3. Suppose that x^ = 7^ ), where q > 1 and 0 < 7 < 1, and thus x^ ->• 0. Then, If p < q, the above sequence converges to 0, whereas if p > q, it grows to oo. If p = q, the sequence converges to 1 (in fact, remains constant at 1). Hence, the order of convergence is q. 4. Suppose that x^ = I for all k, and thus x^ -> 1 trivially. Then, for all p. Hence, the order of convergence is oo. The order of convergence can be interpreted using the notion of the order symbol O, as follows. Recall that a = O(h) ("big-oh of /i") if there exists a constant c such ANALYSIS OF GRADIENT METHODS 131 that |a| < c\h\ for sufficiently small h. Then, the order of convergence is at least p if (see Theorem 8.5 below). For example, the order of convergence is at least 2 if (this fact is used in the analysis of Newton's algorithm in Chapter 9). Theorem 8.5 Let {x^ } be a sequence that converges to x*. If then the order of convergence (if it exists) is at least p. Proof. Let s be the order of convergence of {xW }. Suppose Then, there exists c such that for sufficiently large k, Hence, Taking limits yields Because by definition s is the order of convergence, Combining the above two inequalities, we get Therefore, because limfc_>oo \\x^ — x*\\ = 0, we conclude that s > p, that is, the order of convergence is at least p. 132 GRADIENT METHODS It turns out that the order of convergence of any convergent sequence cannot be less than 1 (see Exercise 8.2). In the following, we provide an example where the order of convergence of a fixed step size gradient algorithm exceeds 1. Example 8.6 Consider the problem of finding a minimizer of the function/ : E -> E given by Suppose we use the algorithm x(k+1^ = x^ — af'(x^} with step size a = 1/2 and initial condition x^ = 1. (The notation /' represents the derivative of /.) We first show that the algorithm converges to a local minimizer of /. Indeed, we have f ' ( x ) = 2x — x2. The fixed step size gradient algorithm with step size a = 1/2 is therefore given by Withx^ 0 ) = 1, we can derive the expressions;^ = (1/2)2 converges to 0, a strict local minimizer of /. Next, we find the order of convergence. Note that 1 . Hence, the algorithm Therefore, the order of convergence is 2. Finally, we show that the steepest descent algorithm has an order of convergence of 1 in the worst case; that is, there are cases for which the order of convergence of the steepest descent algorithm is equal to 1. To proceed, we will need the following simple lemma. Lemma 8.3 In the steepest descent algorithm, ifg^ and only ifg^ is an eigenvector ofQ. ^ Qfor all k, then 7* = 1 if D Proof. SuDoose a^ ^ 0 for all k. Recall that for the steepest descent algorithm. Sufficiency is easy to show by verification. To show necessity, suppose that 7^ = 1. Then, V(x^k+l^) = 0, which implies that aj( fc+1 ) = x*. Therefore, Premultiplying by Q and subtracting b from both sides yields ANALYSIS OF GRADIENT METHODS 133 which can be rewritten as Hence, g^k' is an eigenvector of Q. By the above lemma, if gW is not an eigenvector of Q, then 7^ < 1 (recall that 7fc cannot exceed 1). We use this fact in the proof of the following result on the worst-case order of convergence of the steepest descent algorithm. Theorem 8.6 Let [x^ } be a convergent sequence of iterates of the steepest descent algorithm applied to a function f . Then, the order of convergence of {x^} is 1 in the worst case; that is, there exist a function f and an initial condition x^ such that the order of convergence of{x^ } is equal to I. D Proof. Let / : En -> E be a quadratic function with Hessian Q. Assume that the maximum and minimum eigenvalues of Q satisfy A max (Q) > A m j n (Q). To show that the order of convergence of {x^ } is 1, it suffices to show that there exists x^ such that for some c > 0 (see Exercise 8.1). Indeed, by Rayleigh's inequality, Similarly, Combining the above inequalities with Lemma 8.1, we obtain Therefore, it suffices to choose x^ such that 7^ < d for some d < 1. Recall that for the steepest descent algorithm, assuming gW ^ 0 for all k, 7^ depends on gW according to First consider the case where n = 2. Suppose that x^ ^ x* is chosen such that x (o) _ x* js not an eigenvector of Q. Then, g^ — Q(x^ — x*) ^ 0 is also not an eigenvector of Q. By Proposition 8.1, gW = (x^k+l^ — x^)/ak is not an eigenvector of Q for any k (because any two eigenvectors corresponding to Amax (Q) and A m in(Q) are mutually orthogonal). Also, g^ lies in one of two mutually 734 GRADIENT METHODS orthogonal directions. Therefore, by Lemma 8.3, for each k, the value of 7* is one of two numbers, both of which are strictly less than 1. This proves the n = 2 case. For the general n case, let vi and v? be mutually orthogonal eigenvectors corresponding to A max (Q) and A m i n (Q). Choose x^ such that x^ — x* ^ 0 lies in the span of v\ and u 2 but is not equal to either. Note that g^ — Q(x^ — x*} also lies in the span of v\ and v^, but is not equal to either. By manipulating k k+1 ) = (I — ctkQ}g^. Any x(*+i) — 3j(fc) _ akg( ) as before, we can write g( eigenvector of Q is also an eigenvector of I —a/tQ. Therefore,*;^) lies inthespanof v\ and v^ for all k; that is, the sequence {g^ } is confined within the 2-dimensional subspace spanned by v\ and v^- We can now proceed as in the n — 2 case. In the next chapter, we discuss Newton's method, which has order of convergence at least 2 if the initial guess is near the solution. EXERCISES 8.1 Let {#(*)} be a sequence that converges to x*. Show that if there exists c > 0 such that for sufficiently large k, then the order of convergence (if it exists) is at most p. 8.2 Let {x^} be a sequence that converges to x*. Show that there does not exist p < 1 such that 8.3 Suppose that we use the Golden Section algorithm to find the minimizer of a function. Let Uk be the uncertainty range at the fcth iteration. Find the order of convergence of \Uk } • 8.4 Suppose that we wish to minimize a function / : M —>• E that has a derivative /'. A simple line search method, called derivative descent search (DDS), is described as follows: given that we are at a point x^, we move in the direction of the negative derivative with step size a; that is, x^k+1^ — x^ — af'(x^}, where a > 0 is a constant. In the following parts, assume that / is quadratic: f ( x ) = |ax2 — bx + c (where a, 6, and c are constants, and a > 0). a. Write down the value of x* (in terms of a, b, and c) that minimizes /. b. Write down the recursive equation for the DDS algorithm explicitly for this quadratic /. EXERCISES 135 c. Assuming the DDS algorithm converges, show that it converges to the optimal value x* (found in part a). d. Find the order of convergence of the algorithm, assuming it does converge. e. Find the range of values of a for which the algorithm converges (for this particular /) for all starting points x^. 8.5 Consider the function where x = [x\, x-2\T € E2. Suppose we use a fixed step size gradient algorithm to find the minimizer of /: Find the largest range of values of a for which the algorithm is globally convergent. 8.6 Consider the function / : E2 -» E given by where a and b are some unknown real-valued parameters. a. Write the function / in the usual multivariable quadratic form. b. Find the largest set of values of a and b such that the unique global minimizer of / exists, and write down the minimizer (in terms of the parameters a and 6). c. Consider the following algorithm: Find the largest set of values of a and b for which the above algorithm converges to the global minimizer of / for any initial point x^. 8.7 Consider the function / : E -» E given by f ( x ) = |(z - c) 2 , c 6 E. We are interested in computing the minimizer of / using the iterative algorithm where /' is the derivative of / and a^ is a step size satisfying 0 < a* < 1. a. Derive a formula relating /(x^ +1 ) with /(rcfc), involving ajt. 136 GRADIENT METHODS b. Show that the algorithm is globally convergent if and only if Hint: Use part a and the fact that for any sequence {&k} C (0,1), we have 8.8 Consider the function / : R —» R given by /(re) = x3 — x. Suppose we use a fixed step size algorithm x^+1^ = x^ — af'(x^) to find a local minimizer of /. Find the largest range of values of a such that the algorithm is locally convergent (i.e., for all x(0) sufficiently close to a local minimizer x*, we have x^ -> x*). 8.9 Consider the function / given by f ( x ) = (x - I) 2 , x G R. We are interested in computing the minimizer of / using the iterative algorithm Xk+i = X k — a 2 ~ k f ' ( x k ) , where /' is the derivative of /, and 0 < a < 1. Does the algorithm have the descent property? Is the algorithm globally convergent? 8.10 Let / : R ->• R, / e C3, with first derivative /' and second derivative /", and unique minimizer x*. Consider a fixed step size gradient algorithm Suppose /"(x*) ^ 0 and a = l//"(x*). Assuming the algorithm converges to x*, show that the order of convergence is at least 2. 8.11 Consider the optimization problem: minimize \\Ax — b\\2, where A e R m x n , m > n, and b 6 M m . a. Show that the objective function for the above problem is a quadratic function, and write down the gradient and Hessian of this quadratic. b. Write down the fixed step size gradient algorithm for solving the above optimization problem. c. Suppose Find the largest range of values for a such that the algorithm in part b converges to the solution of the problem. EXERCISES 137 8.12 Consider a function/ : En ->• En given by f ( x ) = Ax + 6, where A € E nxn and 5 6 E n . Suppose A is invertible, and x* is the zero of / (i.e., f ( x * } = 0). We wish to compute x* using the iterative algorithm where a G E, a > 0. We say that the algorithm is globally monotone if for any x^°', ||X(*+D _ x*|| < ||x(*) _ x*|| for all k. a. Assume that all the eigenvalues of A are real. Show that a necessary condition for the algorithm above to be globally monotone is that all the eigenvalues of A are nonnegative. Hint: Use contraposition. b. Suppose Find the largest range of values of a for which the algorithm is globally convergent (i.e., x^ -> x* for all x^). 8.13 Let / : En ->• E be given by /(x) = \xTQx - xTb, where 6 € En and Q is a real symmetric positive definite n x n matrix. Suppose that we apply the steepest descent method to this function, with x^ 0 ) 7^ Q""1^. Show that the method converges in one step, that is, x^ 1 ) = Q~1b, if and only if x^ 0 ) is chosen such that 0(°) = Qx(°) — b is an eigenvector of Q. 8.14 Suppose we apply a fixed step size gradient algorithm to minimize a. Find the range of values of the step size for which the algorithm converges to the minimizer. b. Suppose we use a step size of 1000 (which is too large). Find an initial condition that will cause the algorithm to diverge (not converge). 8.15 Let / : En -> E be given by /(x) = |xTQx - xT6, where 6 € En, and Q is a real symmetric positive definite n x n matrix. Consider the algorithm where g^ = Qz<*> - 6, ak = g(k)Tg(k)/g(k)TQg(k), and 0 e E is a given constant. (Note that the above reduces to the steepest descent algorithm if J3 — 1.) 138 GRADIENT METHODS Show that {x^} converges to x* = Q~1b for any initial condition x^ if and only if 0 < (3 < 2. 8.16 Let / : Rn ->• E be given by f ( x ) = \XTQx - xTb, where b € M n , and Q is a real symmetric positive definite n x n matrix. Consider a gradient algorithm where g^ = Qx^ — b is the gradient o f / at x ( / c ) , and o.k is some step size. Show that the above algorithm has the descent property (i.e., f(x^k+l'>) < f(x^) whenever g^ =£ 0) if and only if 7^ > 0 for all k. 8.17 Given / : W1 -» E, consider the general iterative algorithm where d^\d^\ . . . are given vectors in M n , and a^ is chosen to minimize f(x^ + ad(k)}; that is, Show that for each k, the vector x^k+1^ —x^ is orthogonal to Vf(x^k+l^) the gradient exists). (assuming 8.18 Write a simple MATLAB routine for implementing the steepest descent algorithm using the secant method for the line search (e.g., the MATLAB function of Exercise 7.9). For the stopping criterion, use the condition ||<7^|| < £, where £ = 10~6. Test your routine by comparing the output with the numbers in Example 8.1. Also test your routine using an initial condition of [—4, 5,1]T, and determine the number of iterations required to satisfy the above stopping criterion. Evaluate the objective function at the final point to see how close it is to 0. 8.19 Apply the MATLAB routine from Exercise 8.18 to Rosenbrock's function: Use an initial condition of o^0) = [—2, 2]T. Terminate the algorithm when the norm of the gradient of / is less than 10~4. 9_ Newton's Method 9.1 INTRODUCTION Recall that the method of steepest descent uses only first derivatives (gradients) in selecting a suitable search direction. This strategy is not always the most effective. If higher derivatives are used, the resulting iterative algorithm may perform better than the steepest descent method. Newton's method (sometimes called the NewtonRaphson method) uses first and second derivatives and indeed does perform better than the steepest descent method if the initial point is close to the minimizer. The idea behind this method is as follows. Given a starting point, we construct a quadratic approximation to the objective function that matches the first and second derivative values at that point. We then minimize the approximate (quadratic) function instead of the original objective function. We use the minimizer of the approximate function as the starting point in the next step and repeat the procedure iteratively. If the objective function is quadratic, then the approximation is exact, and the method yields the true minimizer in one step. If, on the other hand, the objective function is not quadratic, then the approximation will provide only an estimate of the position of the true minimizer. Figure 9.1 illustrates the above idea. We can obtain a quadratic approximation to the given twice continuously differentiable objection function / : En —> E using the Taylor series expansion of / about the current point x^, neglecting terms of order three and higher. We obtain 139 140 NEWTON'S METHOD Figure 9.1 Quadratic approximation to the objective function using first and second derivatives where, for simplicity, we use the notation gW = Vf(x^). q yields Applying the FONC to If F(x^ ') > 0, then q achieves a minimum at This recursive formula represents Newton's method. Example 9.1 Use Newton's method to minimize the Powell function: Use as the starting point a;^ = [3, —1,0, l]T. Perform three iterations. Note that /(x (0) ) = 215. We have and F(x) is given by INTRODUCTION 141 Iteration 1. Hence, Iteration 2. Hence, Iteration 3. Observe that the fcth iteration of Newton's method can be written in two steps as 142 NEWTON'S METHOD 1. Solve F(xW)d(k} = -0<*> ford w ; 2. Setx<* +1 > = x W + d ( * J . Step 1 requires the solution of an n x n system of linear equations. Thus, an efficient method for solving systems of linear equations is essential when using Newton's method. As in the one-variable case, Newton's method can also be viewed as a technique for iteratively solving the equation g(x) = 0, where x € E n , and g : En ->• Rn. In this case, F(x) is the Jacobian matrix of g at x, that is, F(x) is the n x n matrix whose (z,j) entry is ( d g i / d x j } ( x ) , ij = l , 2 , . . . , n . 9.2 ANALYSIS OF NEWTON'S METHOD As in the one-variable case, there is no guarantee that Newton's algorithm heads in the direction of decreasing values of the objective function if F(x^) is not positive definite (recall Figure 7.7 illustrating Newton's method for functions of one variable when /" < 0). Moreover, even if F(x^} > 0, Newton's method may not be a descent method; that is, it is possible that f ( x ^ k + 1 ^ } > f(x^). For example, this may occur if our starting point x^ is far away from the solution. See the end of this section for a possible remedy to this problem. Despite the above drawbacks, Newton's method has superior convergence properties when the starting point is near the solution, as we shall see in the remainder of this section. The convergence analysis of Newton's method when / is a quadratic function is straightforward. In fact, Newton's method reaches the points:* such that V/(x*) = 0 in just one step starting from any initial point x^. To see this, suppose that Q = QT is invertible, and Then, and Hence, given any initial point x^,by Newton's algorithm ANALYSIS OF NEWTON'S METHOD 143 Therefore, for the quadratic case, the order of convergence of Newton's algorithm is oo for any initial point x^ (compare the above with Exercise 8.13, which deals with the steepest descent algorithm). To analyze the convergence of Newton's method in the general case, we use results from Section 5.1. Let {x^} be the Newton's method sequence for minimizing a function / : En —>• E. We show that {x^} converges to the minimizer x* with order of convergence at least 2. Theorem 9.1 Suppose that f € C3, andx* € En is a point such that V f (x*} = 0 and F(x*} is invertible. Then, for all x^ sufficiently close to x*, Newton's method is well defined for all k, and converges to x* with order of convergence at least 2. D Proof. The Taylor series expansion of V/ about x^ yields Because by assumption / G C3 and F(x*) is invertible, there exist constants e > 0, GI > 0 andc2 > 0 such that if a;(0), x 6 {x : \\x - x*\\ < e}, we have and by Lemma 5.3, F(x) 1 exists and satisfies The first inequality above holds because the remainder term in the Taylor series expansion contains third derivatives of / that are continuous and hence bounded on {x : \\x — x*\\ < e}. Suppose that x^ £ {x : \\x-x* \\ < e}. Then, substituting x = x* in the above inequality and using the assumption that V/(x*) = 0, we get Now, subtracting x* from both sides of Newton's algorithm and taking norms yields Applying the above inequalities involving the constants c\ and c^ gives Suppose that x^ is such that 144 NEWTON'S METHOD where a € (0,1). Then, By induction, we obtain Hence, and therefore the sequence {x^} converges to x*. The order of convergence is at least 2 because \\x^+^ - x*|| < cic2||z<*> - x*||2, that is, ||x<*+1> - x*|| = 0(||zW-z*|| 2 ). As stated in the above theorem, Newton's method has superior convergence properties if the starting point is near the solution. However, the method is not guaranteed to converge to the solution if we start far away from it (in fact, it may not even be well defined because the Hessian may be singular). In particular, the method may not be a descent method; that is, it is possible that /(o;(fc+1)) > f(x^). Fortunately, it is possible to modify the algorithm such that the descent property holds. To see this, we need the following result. Theorem 9.2 Let {x^} be the sequence generated by Newton's method for minimizing a given objective function /(x). If the Hessian F(x^) > 0 and g(V = V/(x (A;) ) ^ 0, then the direction from x^*) to x( fc+1 ) is a descent direction for f in the sense that there exists an a > 0 such that for all a G (0, a), Proof. Let Then, using the chain rule, we obtain Hence, LEVENBERG-MARQUARDT MODIFICATION 145 because F(x^)~l > 0 and g^ ^ 0. Thus, there exists an a > 0 so that for all a e (0, a), 0(a) < 0(0). This implies that for all a € (0, a), and the proof is completed. The above theorem motivates the following modification of Newton's method: where that is, at each iteration, we perform a line search in the direction —F(x^) 1g^• By Theorem 9.2, we conclude that the above modified Newton's method has the descent property; that is, whenever g^ ^ 0. A drawback of Newton's method is that evaluation of F(x^) for large n can be computationally expensive. Furthermore, we have to solve the set of n linear equations F(x^)d^ = —g^. In Chapters 10 and 11, we discuss methods that alleviate this difficulty. Another source of potential problems in Newton's method arises from the Hessian matrix not being positive definite. In the next section, we describe a simple modification to Newton's method to overcome this problem. 9.3 LEVENBERG-MARQUARDT MODIFICATION If the Hessian matrix F(x^) is not positive definite, then the search direction (rk' = —F(x(k))~lgW may not point in a descent direction. A simple technique to ensure that the search direction is a descent direction is to introduce the so-called Levenberg-Marquardt modification to Newton's algorithm: where //* > 0. The idea underlying the Levenberg-Marquardt modification is as follows. Consider a symmetric matrix F, which may not be positive definite. Let AI , . . . , An be the eigenvalues of F with corresponding eigenvectors vi,... ,vn. The eigenvalues AI , . . . , An are real, but may not all be positive. Next, consider the matrix G = F + fj,I, where /z > 0. Note that the eigenvalues of G are AI + ^ / , . . . , An + /z. Indeed, 746 NEWTON'S METHOD which shows that for alH = 1 , . . . , n, Vi is also an eigenvector of G with eigenvalue \i + IJL. Therefore, if p, is sufficiently large, then all the eigenvalues of G are positive, and G is positive definite. Accordingly, if the parameter ^ in the LevenbergMarquardt modification of Newton's algorithm is sufficiently large, then the search direction d^ = —(F(x^) + Hkl}~l9^ always points in a descent direction (in the sense of Theorem 9.2). In this case, if we further introduce a step size o^ as described in the previous section, then we are guaranteed that the descent property holds. The Levenberg-Marquardt modification of Newton's algorithm can be made to approach the behavior of the pure Newton's method by letting //& -> 0. On the other hand, by letting ^ -* °o, the algorithm approaches a pure gradient method with small step size. In practice, we may start with a small value of p,*., and then slowly increase it until we find that the iteration is descent, that is, f(x^h+i^) < f(x^}. 9.4 NEWTON'S METHOD FOR NONLINEAR LEAST-SQUARES We now examine a particular class of optimization problems and the use of Newton's method for solving them. Consider the following problem: where n : En —>• E, i = 1,..., m, are given functions. This particular problem is called a nonlinear least-squares problem. The special case where the TI are linear is discussed in Section 12.1. Example 9.2 Suppose we are given m measurements of a process at m points in time, as depicted in Figure 9.2 (here, m = 21). Let t\,..., tm denote the measurement times, and yi,... ,ym the measurement values. Note that t\ — 0 while £21 = 10. We wish to fit a sinusoid to the measurement data. The equation of the sinusoid is with appropriate choices of the parameters A, ui, and 0. To formulate the data-fitting problem, we construct the objective function NEWTON'S METHOD FOR NONLINEAR LEAST-SQUARES Figure 9.2 147 Measurement data for Example 9.2. representing the sum of the squared errors between the measurement values and the function values at the corresponding points in time. Let x — [A, u, 4>]T represent the vector of decision variables. We therefore obtain a nonlinear least-squares problem with Defining r — [ri,... ,r m ] T , we write the objective function as f ( x ) = r(x)Tr(x). To apply Newton's method, we need to compute the gradient and the Hessian of /. The jth component of V/(x) is Denote the Jacobian matrix of r by Then, the gradient of / can be represented as 148 NEWTON'S METHOD Next, we compute the Hessian matrix of /. The (&, j)th component of the Hessian is given by Letting S(x) be the matrix whose (k, j)th component is we write the Hessian matrix as Therefore, Newton's method applied to the nonlinear least-squares problem is given by In some applications, the matrix S(x) involving the second derivatives of the function r can be ignored because its components are negligibly small. In this case, the above Newton's algorithm reduces to what is commonly called the Gauss-Newton method: Note that the Gauss-Newton method does not require calculation of the second derivatives of r. Example 9.3 Recall the data fitting problem in Example 9.2, with The Jacobian matrix J(x) in this problem is a 21 x 3 matrix with elements given by: Using the above expressions, we apply the Gauss-Newton algorithm to find the sinusoid of best fit, given the data pairs ( i i , y i ) , . . . , (£ m ,2/m)- Figure 9.3 shows a plot of the sinusoid of best fit obtained from the Gauss-Newton algorithm. The parameters of this sinusoid are: A = 2.01, uj = 0.992, and = 0.541. EXERCISES Figure 9.3 149 Sinusoid of best fit in Example 9.3. A potential problem with the Gauss-Newton method is that the matrix J(x)T J(x) may not be positive definite. As described before, this problem can be overcome using a Levenberg-Marquardt modification: The above is referred to in the literature as the Levenberg-Marquardt algorithm, because the original Levenberg-Marquardt modification was developed specifically for the nonlinear least-squares problem. An alternative interpretation of the LevenbergMarquardt algorithm is to view the term pkl as an approximation to S(x) in Newton's algorithm. EXERCISES 9.1 Let / : M —•>• E. be given by f ( x ) — (x — x 0 ) 4 , where XQ 6 M is a constant. Suppose that we apply Newton's method to the problem of minimizing /. a. Write down the update equation for Newton's method applied to the problem. b. Let 7/fc) = \x^ — XQ\, where x^ is thefcthiterate in Newton's method. Show that the sequence {y^} satisfies y(k+1) — |y( fc ). c. Show that x^ —> XQ for any initial guess a;^ 0 '. 750 NEWTON'S METHOD d. Show that the order of convergence of the sequence {x^ } in part b is 1. e. Theorem 9.1 states that under certain conditions, the order of convergence of Newton's method is at least 2. Why does that theorem not hold in this particular problem? 9.2 Consider the problem of minimizing f ( x ) — x* = (v/x) 4 , x e E. Note that 0 is the global minimizer of /. a. Write down the algorithm for Newton's method applied to this problem. b. Show that as long as the starting point is not 0, the algorithm in part a does not converge to 0 (no matter how close to 0 we start). 9.3 Consider "Rosenbrock's Function": f ( x ) — 100(x2 — x 2 ) 2 + (1 — £i) 2 , where x — [xi,z 2 ] T (known to be a "nasty" function—often used as a benchmark for testing algorithms). This function is also known as the banana function because of the shape of its level sets. a. Prove that [1, l]T is the unique global minimizer of / over 1R2. b. With a starting point of [0,0] T , apply two iterations of Newton's method. Hint: c. Repeat part b using a gradient algorithm with a fixed step size of a.k = 0.05 at each iteration. 9.4 Consider the modified Newton's algorithm where a& = argmin Q>0 f(x^ — aF(x^) lg^}- Suppose that we apply the algorithm to a quadratic function f ( x ) — ^xTQx — xTb, where Q — QT > 0. Recall that the standard Newton's method reaches the point x* such that V/(x*) = 0 in just one step starting from any initial point x^. Does the above modified Newton's algorithm possess the same property? Justify your answer. 10 Conjugate Direction Methods 10.1 INTRODUCTION The class of conjugate direction methods can be viewed as being intermediate between the method of steepest descent and Newton's method. The conjugate direction methods have the following properties: 1. Solve quadratics of n variables in n steps; 2. The usual implementation, the conjugate gradient algorithm, requires no Hessian matrix evaluations; 3. No matrix inversion and no storage of an n x n matrix required. The conjugate direction methods typically perform better than the method of steepest descent, but not as well as Newton's method. As we saw from the method of steepest descent and Newton's method, the crucial factor in the efficiency of an iterative search method is the direction of search at each iteration. For a quadratic function of n variables f ( x ) = \xTQx - xTb, x e M n , Q = QT > 0, the best direction of search, as we shall see, is in the so-called Q-conjugate direction. Basically, two directions d(1) and d (2) in En are said to be Q-conjugate if d (1)T Qd (2) = 0. In general, we have the following definition. Definition 10.1 Let Q be a real symmetric n x n matrix. The directions d (0) , d (1) , d ( 2 ) , . . . , d (w) are Q-conjugate if, for all i ^ j, we have d(i)TQd(j} = 0. 151 752 CONJUGATE DIRECTION METHODS Lemma 10.1 Let Q be a symmetric positive definite n x n matrix. If the directions (TQ$$rl\ . . . , d>k' € Mn, k < n — 1, are nonzero and Q-conjugate, then they are linearly independent. Proof. Let ao5 • • • > «& be scalars such that Premultiplying the above equality by d^TQ, 0 < j < k, yields because all other terms d(j)TQd(i) = 0, i ^ j, by Q-conjugacy. But O = QT > 0 and d (j) ^ 0; hence a, = 0, j = 0,1,..., k. Therefore, d (0) ,/ 1} ,... ,d (fc) , A; < n — 1, are linearly independent. Example 10.1 Let Note that Q = QT > 0. The matrix Q is positive definite because all its leading principal minors are positive: Our goal is to construct a set of Q-conjugate vectors d^, d'1', d^2'. LetdW = [l,0,0r, d(1) = [diMM1']1". <*(2) - [^2),42),42)]T. We require d(0)TQd(1) = 0. We have Letd^ = 1,41} = 0,4 X) - -3. Then,d(1) = [1,0, -3]T, and thus d^TQd^ = 0. To find the third vector dP\ which would be Q-conjugate with d^ and S-l\ we require d (0)T Qd (2) = 0 and d(1)TQd(2) = 0. We have If we take d^2' = [1,4, —3]T, then the resulting set of vectors is mutually conjugate. The above method of finding Q-conjugate vectors is inefficient. A systematic procedure for finding Q-conjugate vectors can be devised using the idea underlying the Gram-Schmidt process of transforming a given basis of En into an orthonormal basis of En (see Exercise 10.1). THE CONJUGATE DIRECTION ALGORITHM 10.2 153 THE CONJUGATE DIRECTION ALGORITHM We now present the conjugate direction algorithm for minimizing the quadratic function of n variables where Q — QT > 0, x e M n . Note that because Q > 0, the function / has a global minimizer that can be found by solving Qx = b. Basic Conjugate Direction Algorithm. Given a starting point x^°\ and Qconjugate directions d(0), d ( 1 ) ,..., d(n-1); for k > 0, Theorem 10.1 For any starting point x^°\ the basic conjugate direction algorithm converges to the unique x* (that solves Qx = b) in n steps; that is, x^ = x*. Proof. Consider x* — x^ e E n . Because the cP^ are linearly independent, there exist constants &,i = 0 , . . . , n — 1, such that Now premultiply both sides of the above equation by d^k'TQ, 0 < k < n, to obtain where the terms d^TQd^ = 0, k ^ i, by the Q-conjugate property. Hence, Now, we can write Therefore, So writing and premultiplying the above by d^k'TQ we obtain 154 CONJUGATE DIRECTION METHODS because g^ = Qx^ - b and Qx* = b. Thus, and x* = x(n\ which completes the proof. Example 10.2 Find the minimizer of using the conjugate direction method with the initial point x^ = [0,0]T, and Qconjugatedirections d (0) = [1,0]T and d(1) = [-|,|]TWe have and hence Thus, To find #( 2 ), we compute and Therefore, Because / is a quadratic function in two variables, x^ = x*. For a quadratic function of n variables, the conjugate direction method reaches the solution after n steps. As we shall see below, the method also possesses a certain THE CONJUGATE DIRECTION ALGORITHM 155 desirable property in the intermediate steps. To see this, suppose that we start at x^ and search in the direction d^ to obtain We claim that To see this, The equation g^Td^ = 0 implies that QQ has the property that a0 = argmin0o(aO> where 0(0.) — f(x^ + ad^). To see this, apply the chain rule to get Evaluating the above at a = &Q, we get Because 0o is a quadratic function of a, and the coefficient of the a2 term in o is a^'TQa^' > 0, the above implies that QO = ar g mm a eR 0o(oOUsing a similar argument, we can show that for all k, and hence In fact, an even stronger condition holds, as given by the following lemma. Lemma 10.2 In the conjugate direction algorithm, for allk,Q 755 CONJUGATE DIRECTION METHODS because gW = QxW - b. Thus, We prove the lemma by induction. The result is true for A; = 0 because g^Td^ = 0, as shown before. We now show that if the result is true for k — I (i.e., g^Td^ = 0, i < fc-l)thenitistrueforfc(i.e.,p(A:+1)Td(i) = 0,« < k). Fixfc > OandO < i < k. By the induction hypothesis, g^Td^ = 0. Because and d^k'TQd^1' = 0 by Q-conjugacy, we have It remains to be shown that Indeed, because Qx^ - b = g^. Therefore, by induction, for all 0 < k < n — 1 and 0 < i < k, By the above lemma, we see that p( fc+1 ) is orthogonal to any vector from the subspace spanned by d^°\d^\ ..., d^. Figure 10.1 illustrates this statement. The above lemma can be used to show an interesting optimal property of the conjugate direction algorithm. Specifically, we now show that not only does f(x^k+l^) satisfy f(x^k+1^) = mina f(x^ + ad^), as indicated before, but also, In other words, f(x^k+1^) = min ze v fc f ( x ) , where Vjt = a;(0) + (0) (1) (fc) span[d , d ,...,d ]. As k increases, the subspace span[d(0), d ( 1 ) ,...,d ( f c ) ] THE CONJUGATE DIRECTION ALGORITHM 157 Figure 10.1 Illustration of Lemma 10.2 "expands," and will eventually fill the whole of En (provided the vectors d'0', ds1',..., are linearly independent). Therefore, for some sufficiently large k, x* will lie in Vk • For this reason, the above result is sometimes called the "expanding subspace" theorem (see, e.g., [64, p. 241]). To prove the expanding subspace theorem, define the matrix D^k' by that is, d(i} is the zth column of D(k}. Note that x^ + U(D(k)} = V*. Also, where a = [ao, • • •, <*fc]T- Hence, Now, consider any vector x € Vk- There exists a vector a such that x = x^ + £> (fc) a. Let fc(a) = /(ce(0) + D (fc) a). Note that (j)k is a quadratic function and has a unique minimizer that satisfies the FONC (see Exercises 6.24 and 10.6). By the chain rule, Therefore, 158 CONJUGATE DIRECTION METHODS By Lemma 10.2, g(k+VTD(k) = 0. Therefore, a satisfies the FONC for the quadratic function fik, and hence a is the minimizer of 0^; that is, and the proof of our result is completed. The conjugate direction algorithm is very effective. However, to use the algorithm, we need to specify the Q-conjugate directions. Fortunately there is a way to generate Q-conjugate directions as we perform iterations. In the next section, we discuss an algorithm that incorporates the generation of Q-conjugate directions. 10.3 THE CONJUGATE GRADIENT ALGORITHM The conjugate gradient algorithm does not use prespecified conjugate directions, but instead computes the directions as the algorithm progresses. At each stage of the algorithm, the direction is calculated as a linear combination of the previous direction and the current gradient, in such a way that all the directions are mutually Qconjugate—hence the name conjugate gradient algorithm. This calculation exploits the fact that for a quadratic function of n variables, we can locate the function minimizer by performing n searches along mutually conjugate directions. As before, we consider the quadratic function where Q = QT > 0. Our first search direction from an initial point x^ is in the direction of steepest descent; that is, Thus, where In the next stage, we search in a direction d^1' that is Q-conjugate to d^°'. We choose d^ as a linear combination of g^ and The coefficients/?£,& = 1,2,..., are chosen in such a way that d^k+l> is Q-conjugate to d^, d^,..., d^. This is accomplished by choosing /?& to be THE CONJUGATE GRADIENT ALGORITHM 159 The conjugate gradient algorithm is summarized below. 1. Set A; :— 0; select the initial point x^. 2. 0(°) = V/(x<°>). If0<°) = 0, stop, else set d(0) = -0(°>. ,3J a ' ak ~ (k)T (k) a(k)T d (k) d Qd ' 4. x ( * + 1 ) = z W + a f c d ( * ) . 5. 0(fc+1) = V/(aj<* +1 >). If0( fc+1 ) = O.stop. _ g^*Qd(k) °- P* - dWTQd(k} ' 7. d<*+1) = - p ( * + D + ^ d W . 8. Set A; := A; + 1; go to step 3. Proposition 10.1 7n ?/ie conjugate gradient d(0\d(l\ . . . , d (n ~ 1} are Q-conjugate. algorithm, the directions D Froo/ We use induction. We first show d^TQd^ = 0. To this end, we write Substituting for in the above equation, we see that d^°'TQd^1' = 0. We now assume that d^, d^,..., d^k', k < n — 1, are Q-conjugate directions. From Lemma 10.2, we have g(k+VTd(j) = 0, j = 0,1,..., k. Thus, 0( fe+1 > is orthogonal to each of the directions d^, d^\ ..., d^. We now show that Fix .7 € {0,...,fc}. We have Substituting this equation into the previous one yields Because g(k+^Td(j~l} = 0, it follows that g(k+VTgW =Q. We are now ready to show that d(k+l)TQd(i) - 0, j - 0 , . . . , k. We have 160 CONJUGATE DIRECTION METHODS If j < k, then d^TQd^ = 0, by virtue of the induction hypothesis. Hence, we have ButtftH- 1 ) = g(i) + ajQd(j). Because g(k+VTgW = 0, i = 0 , . . . , k, Thus, It remains to be shown that d (fc+1)T Qd (fc) = 0. We have Using the expression for fa, we get d^k+l^TQd^ = 0, which completes the proof. Example 10.3 Consider the quadratic function We find the minimizer using the conjugate gradient algorithm, using the starting point jc(°) = [0,0,0]T. We can represent / as where We have Hence, and THE CONJUGATE GRADIENT ALGORITHM FOR NON-QUADRATIC PROBLEMS 161 The next stage yields We can now compute Hence, and To perform the third iteration, we compute Hence, and Note that as expected, because / is a quadratic function of three variables. Hence, x* = x^. 10.4 THE CONJUGATE GRADIENT ALGORITHM FOR NON-QUADRATIC PROBLEMS In the previous section, we showed that the conjugate gradient algorithm is a conjugate direction method, and therefore minimizes a positive definite quadratic function of n variables in n steps. The algorithm can be extended to general nonlinear functions by interpreting f ( x ) = ^xTQx — xTb as a second-order Taylor series approximation of the objective function. Near the solution such functions behave approximately as 162 CONJUGATE DIRECTION METHODS quadratics, as suggested by the Taylor series expansion. For a quadratic, the matrix Q, the Hessian of the quadratic, is constant. However, for a general nonlinear function the Hessian is a matrix that has to be reevaluated at each iteration of the algorithm. This can be computationally very expensive. Thus, an efficient implementation of the conjugate gradient algorithm that eliminates the Hessian evaluation at each step is desirable. Observe that Q appears only in the computation of the scalars o^ and /3k- Because the closed form formula for a^ in the algorithm can be replaced by a numerical line search procedure. Therefore, we only need to concern ourselves with the formula for /3k • Fortunately, elimination of Q from the formula is possible and results in algorithms that depend only on the function and gradient values at each iteration. We now discuss modifications of the conjugate gradient algorithm for a quadratic function for the case in which the Hessian is unknown but in which objective function values and gradients are available. The modifications are all based on algebraically manipulating the formula /?& in such a way that Q is eliminated. We discuss three well-known modifications. The Hestenes-Stiefel formula. Recall that The Hestenes-Stiefel formula is based on replacing the term Qd^ by the term (0(fc+!) _ g ( k ) ) / a k - The two terms are equal in the quadratic case, as we now show. Now, x^+1) = x^ + akd^. Premultiplying both sides by Q, and recognizing that gW = Qx (fe) - 6, we get which is called the Hestenes-Stiefel formula. The Polak-Ribiere formula. Starting from the Hestenes-Stiefel formula, we multiply out the denominator to get By Lemma 10.2, d(*):V*+1) = 0. Also, since d(k) = -gW + /3k^d(k~l\ and premultiplying this by g^T, we get THE CONJUGATE GRADIENT ALGORITHM FOR NON-QUADRATIC PROBLEMS 163 where once again we used Lemma 10.2. Hence, we get This expression for /?& is known as the Polak-Ribiere formula. The Fletcher-Reeves formula. Starting with the Polak-Ribiere formula, we multiply out the numerator to get We now use the fact that g(k+l)Tg(k) = 0, which we get by using the equation and applying Lemma 10.2. This leads to which is called the Fletcher-Reeves formula. The above formulas give us conjugate gradient algorithms that do not require explicit knowledge of the Hessian matrix Q. All we need are the objective function and gradient values at each iteration. For the quadratic case, the three expressions for /3k are exactly equal. However, this is not the case for a general nonlinear objective function. We need a few more slight modifications to apply the algorithm to general nonlinear functions in practice. First, as mentioned in our discussion of the steepest descent algorithm (Section 8.2), the termination criterion V/(x ( f c + 1 ^) = 0 is not practical. A suitable practical stopping criterion, such as those discussed in Section 8.2, needs to be used. For nonquadratic problems, the algorithm will not usually converge in n steps, and as the algorithm progresses, the "Q-conjugacy" of the direction vectors will tend to deteriorate. Thus, a common practice is to reinitialize the direction vector to the negative gradient after every few iterations (e.g., n or n + 1), and continue until the algorithm satisfies the stopping criterion. A very important issue in minimization problems of nonquadratic functions is the line search. The purpose of the line search is to minimize 0fc(a) = f(x^ + a 0. A typical approach is to bracket or box in the minimizer and then estimate it. The accuracy of the line search is a critical factor in the performance of the conjugate gradient algorithm. If the line search is known to be inaccurate, the Hestenes-Stiefel formula for 0k is recommended [50]. In general, the choice of which formula for 0k to use depends on the objective function. For example, the Polak-Ribiere formula is known to perform far better than the Fletcher-Reeves formula in some cases but not in others. In fact, there are cases 164 CONJUGATE DIRECTION METHODS in which the g^, k = 1,2,..., are bounded away from zero when the Polak-Ribiere formula is used (see [77]). In the study by Powell in [77], a global convergence analysis suggests that the Fletcher-Reeves formula for j3k is superior. Powell further suggests another formula for fik '• For general results on the convergence of conjugate gradient methods, we refer the reader to [98]. EXERCISES 10.1 (Adopted from [64, Exercise 8.8(1)]) Let Q be a real symmetric positive definite n x n matrix. Given an arbitrary set of linearly independent vectors {p(°\... ,p^ n-1 ^} in R n , the Gram-Schmidt procedure generates a set of vectors {d^,...,^""1*} as follows: Show that the vectors d ( 0 ) ,..., d (n x) are Q-conjugate. 10.2 Let / : Rn -> E be the quadratic function where Q = QT > 0. Given a set of directions {d(0), d (1) ,...} C M n , consider the algorithm where otk is the step size. Suppose that g(k+l)Td^ = 0 for all k = 0 , . . . , n - 1 and i = 0 , . . . , A;, where 0( fc+1 > = V/(x(* +1 )). Show that if g^Td(k) ^ 0 for all k = 0 , . . . , n - 1, then d ( 0 ) ,..., d(n~1} are Q-conjugate. 10.3 Let / : W1 -»• E be given by /(x) = |ajTQx - xT6, where 6 e M n , and Q is a real symmetric positive definite n x n matrix. Show that in the conjugate gradient method for this /, d<*> T Qd<*> - -d^TQg^. 10.4 Let Q be a real n x n symmetric matrix. a. Show that there exists a Q-conjugate set {cr * ' , . . . , dsn>} such that each EXERCISES 165 Hint: Use the fact that for any real symmetric n x n matrix, there exists a set { • U j , . . . ,vn} of its eigenvectors such that vjvj — 0 for all i,j = 1,... , n, « ^ jb. Suppose that Q is positive definite. Show that if {d ( 1 ) ,... ,d ( n ) } is a Qconjugate set that is also orthogonal (i.e., d^Td^ = Qfora\\i,j = l , . . . , n , i ^ j), and ds1' ^ 0, i = 1 , . . . , n , then each tr 2 ', i = 1,... ,n, is an eigenvector of Q. 10.5 Consider the following algorithm for minimizing a function /: where a fc = argmin a f(x^ + ad^). Lelg^ = Vf(x^) (as usual). Suppose / is quadratic with Hessian Q. We choose d^k+l^ ~ jk9^k+1^ + d^h\ and we wish the directions er ' and d^ +l' to be Q-conjugate. Find a formula for 7it in terms of d(k), g(k+l">, and Q. 10.6 Consider the quadratic function / : En -> E given by where Q - QT > 0. Let D € IR nxr be of rank r, and x0 G M n . Define the function 0 : Er -> E by Show that 0 is a quadratic function with a positive definite quadratic term. 10.7 Let f ( x ) , x=[xi,x2]T G E 2 , be given by a. Express f ( x ) in the form of/(x) = ^xTQx — xTb. b. Find the minimizer of / using the conjugate gradient algorithm. Use a starting point of x<°) =[0,0] T . c. Calculate the minimizer of / analytically from Q and b, and check it with your answer in part b. 10.8 Write a MATLAB routine to implement the conjugate gradient algorithm for general functions. Use the secant method for the line search (e.g., the MATLAB function of Exercise 7.9). Test the different formulas for /?*. on Rosenbrock's function (see Exercise 9.3), with an initial condition x^ — [—2,2] T . For this exercise, reinitialize the update direction to the negative gradient every 6 iterations. This page intentionally left blank 11 Quasi-Newton Methods 11.1 INTRODUCTION Newton's method is one of the more successful algorithms for optimization. If it converges, it has a quadratic order of convergence. However, as pointed out before, for a general nonlinear objective function, convergence to a solution cannot be guaranteed from an arbitrary initial point x^. In general, if the initial point is not sufficiently close to the solution, then the algorithm may not possess the descent property (i.e., f(x^k+l^} •£ f(x^) for some k). Recall that the idea behind Newton's method is to locally approximate the function / being minimized, at every iteration, by a quadratic function. The minimizer for the quadratic approximation is used as the starting point for the next iteration. This leads to Newton's recursive algorithm We may try to guarantee that the algorithm has the descent property by modifying the original algorithm as follows: where a^ is chosen to ensure that For example, we may choose ajt = argmin a>0 f(x^ — aF(x^k^) l g ^ k ^ ) (see Theorem 9.2). We can then determine an appropriate value of o^ by performing a line 167 168 QUASI-NEWTON METHODS search in the direction —F(x^)~1g^. Note that although the line search is simply the minimization of the real variable function 0fc(a) = f(x^ — aF(x^)"lg^), it is not a trivial problem to solve. A computational drawback of Newton's method is the need to evaluate F(x^) and solve the equation F(x^)d^ = -g^ (i.e., compute Sk) = —F(x^)~1g^). To avoid the computation of F(x^)~l, the quasi-Newton methods use an approximation to F(x^)~l in place of the true inverse. This approximation is updated at every stage so that it exhibits at least some properties of F(x^)~1. To get some idea about the properties that an approximation to F(x^)~1 should satisfy, consider the formula where Hk is an n x n real matrix, and a is a positive search parameter. Expanding / about x^ yields As a tends to zero, the second term on the right-hand side of the above equation dominates the third. Thus, to guarantee a decrease in / for small a, we have to have A simple way to ensure this is to require that H k be positive definite. We have proved the following result. Proposition 11.1 Let f e Cl, z<*> e R n , 0<*> = V/(z<*>) ^ 0, andHk annxn real symmetric positive definite matrix. Ifwesetx^k+l^ — x^ — akHkg^k\ where ak = argmin a > 0 f(xW - aHkg(k)), then ak > 0, and /(x<* +1 >) < /(z (A;) ). D In constructing an approximation to the inverse of the Hessian matrix, we should use only the objective function and gradient values. Thus, if we can find a suitable method of choosing Hk, the iteration may be carried out without any evaluation of the Hessian and without the solution of any set of linear equations. 11.2 APPROXIMATING THE INVERSE HESSIAN Let HQ, HI, HZ, . . . be successive approximations of the inverse F(x^)~l of the Hessian. We now derive a condition that the approximations should satisfy, which forms the starting point for our subsequent discussion of quasi-Newton algorithms. To begin, suppose first that the Hessian matrix F(x) of the objective function / is constant and independent of x. In other words, the objective function is quadratic, with Hessian F(x] = Q for all x, where Q = QT. Then, APPROXIMATING THE INVERSE HESSIAN 169 Let and Then, we may write We start with a real symmetric positive definite matrix HQ. Note that given k, the matrix Q~l satisfies Therefore, we also impose the requirement that the approximation Hk+i of the Hessian satisfy If n steps are involved, then moving in n directions Ax^°\ Aar 1 ),..., Aorn l> yields The above set of equations can be represented as Note that Q satisfies and Therefore, if [A#(0), A0 ( 1 ) ,..., A0(n uniquely after n steps, via x) ] is nonsingular, then Q 1 is determined As a consequence, we conclude that if Hn satisfies the equations HnAg^ = Ax (z) , 0 < i < n - 1, then the algorithm a;(fc+1) = x^ - akHkgW, a* = argmin a>0 f(x^ — aH^g^}, is guaranteed to solve problems with quadratic objective functions in n + 1 steps, because the update x(n+1) = x^ — anHng^ 770 QUASI-NEWTON METHODS is equivalent to Newton's algorithm. In fact, as we shall see below (Theorem 11.1), such algorithms solve quadratic problems of n variables in at most n steps. The above considerations illustrate the basic idea behind the quasi-Newton methods. Specifically, quasi-Newton algorithms have the form where the matrices HQ, HI, . . . are symmetric. In the quadratic case, the above matrices are required to satisfy where Az (i) = x^+^ - x& = a{d(i\ and A0(i) = 0 where Hk+i = Hl+1. If a{ ^ 0, 0 < i < k + I, then d ( 0 ) ,... ,d(*+1) are Q-conjugate. Proof. We proceed by induction. For k = 0, the result holds trivially. Assume the result is true for k < n — I. We now prove the result for k + 1; that is, that d(0\ ..., d (fc+1) are Q-conjugate. It suffices to show that d(k+l}TQd(i} = 0, 0 < i < k. To this end, note that because a:; ^ 0, we can write d^ = Ax^/o^. So, given i, 0 < i < k, we have Because d^,..., d^ are Q-conjugate by assumption, we conclude from Lemma 10.2 thatg(* +1 ) T d (i) = 0. Hence, d(k+l)TQd^ = 0, which completes the proof. THE RANK ONE CORRECTION FORMULA 171 By the above theorem, we conclude that a quasi-Newton algorithm solves a quadratic of n variables in at most n steps. Note that the equations that the matrices Hk are required to satisfy do not determine those matrices uniquely. Thus, we have some freedom in the way we compute the Hk- In the methods we describe, we compute H^+i by adding a correction to H k- In the following sections, we consider three specific updating formulas. 11.3 THE RANK ONE CORRECTION FORMULA In the rank one correction formula, the correction term is symmetric, and has the form akZ^z^T, where a* € R and z^ € M n . Therefore, the update equation is Hk+l=Hk+akz^z^T. Note that and hence the name "rank one" correction (it is also called the single-rank symmetric (SRS) algorithm). The product z^z^T is sometimes referred to as the dyadic product or outer product. Observe that if H k is symmetric, then so is Hk+i • Our goal now is to determine ak and z^k\ given Hk, Ag \ Aar*', so that the required relationship discussed in the previous section is satisfied, namely, Hk+i&g^ = Ax^, i = 1,..., k. To begin, let us first consider the condition Hjk+iA0 (fe) = Ao3 (fc) . In other words, given Hk, A# (fc) , and Ax (fc) , we wish to find dk and z^ to ensure that First note that z( fc ) T Ag (fc) is a scalar. Thus, and hence We can now determine Hence, 172 QUASI-NEWTON METHODS The next step is to express the denominator of the second term on the right-hand side of the above equation as a function of the given quantities H^, A = (akz^TAgw)z^ by A0(*)T to obtain Observe that ak is a scalar and so is A#(*)7Vfc) = z(*) T A0 w . Thus, Taking the above relation into account yields We summarize the above development in the following algorithm. Rank One Algorithm 1. Set k := 0; select x^°\ and a real symmetric positive definite H0. 2. If0(*> = 0, stop; else dw = -HkgW. 3. Compute 4. Compute 5. Set k := k + 1; go to step 2. The rank one algorithm is based on satisfying the equation However, what we want is It turns out that the above is, in fact, automatically true, as stated in the following theorem. THE RANK ONE CORRECTION FORMULA 173 Theorem 11.2 For the rank one algorithm applied to the quadratic with Hessian Q = QT, we have Hk+i&g(i) = Az(i), 0 < i < k. Proof. We prove the result by induction. From the discussion before the theorem it is clear that the claim is true for k = 0. Suppose now that the theorem is true for A; - 1 > 0; that is, Hk&9^ = Aa;(t), i < k. We now show that the theorem is true for k. Our construction of the correction term ensures that So we only have to show To this end, fix i < k. We have By the induction hypothesis, Hk A Indeed, since by the induction hypothesis, and because Ag^ = QAa^fc\ we have Hence, which completes the proof. Example 11.1 Let Apply the rank one correction algorithm to minimize /. Use x^ = [1,2]T and Ho = 12 (2 x 2 identity matrix). We can represent / as 774 QUASI-NEWTON METHODS Thus, Because HQ = 12, The objective function is quadratic, and hence and thus We then compute Because we obtain Therefore, and THE RANK ONE CORRECTION FORMULA 175 We now compute Note that g^ — 0, and therefore x^ = x*. As expected, the algorithm solves the problem in two steps. Note that the directions d^°' and cr1' are Q-conjugate, in accordance with Theorem 11.1. The rank one correction algorithm works well for the case of constant Hessian matrix; that is, the quadratic case. Our analysis was, in fact, done for this case. However, ultimately we wish to apply the algorithm to general functions, not just quadratics. Unfortunately, for the nonquadratic case, the rank one correction algorithm is not very satisfactory for several reasons. For a nonquadratic objective function, H^+i may not be positive definite (see Example 11.2 below) and thus d(-k+1' may not be a descent direction. Furthermore, if is close to zero, then there may be numerical problems in evaluating H^+i • Example 11.2 Assume that Hk > 0. It turns out that if A# (/j)T (A:r (A;) Hkkg(k]] > 0, then Hk+i > 0 (see Exercise 11.3). However, if Ap (fc)T (Aa; (fc) Hk &-Q } < 0, then Hk+i may not be positive definite. As an example of what might happen if Ap ( / j ) T (Ax ( / c ) - Hk&g^} < 0, consider applying the rank one algorithm to the function with an initial point and initial matrix Note that H0 > 0. We have and It is easy to check that Hi is not positive definite (it is indefinite, with eigenvalues 0.96901 and -1.3030). Fortunately, alternative algorithms have been developed for updating Hk. In particular, if we use a "rank two" update, then Hk is guaranteed to be positive definite for all k, provided the line search is exact. We discuss this in the next section. 776 11.4 QUASI-NEWTON METHODS THE DFP ALGORITHM The rank two update was originally developed by Davidon in 1959 and was subsequently modified by Fletcher and Powell in 1963; hence the name DFP algorithm. The DFP algorithm is also known as the variable metric algorithm. We summarize the algorithm below. DFP Algorithm 1. Set k := 0; select x(0\ and a real symmetric positive definite H0. 2. If 0<*) = 0, stop; else d(k} = -HkgW. 3. Compute 4. Compute 5. Set k := k + 1; go to step 2. We now show that the DFP algorithm is a quasi-Newton method, in the sense that when applied to quadratic problems, we have Hk+iAg^ — Ax^, 0 < i < k. Theorem 11.3 In the DFP algorithm applied to the quadratic with Hessian Q = QT, we have Hk+i&g(i) = Az w , 0 < i < k. Proof. We use induction. For k = 0, we have Assume the result is true for k - 1; that is, Hk&g^ = Az (t) , 0 < i < k - 1. We now show that Hk+i A THE DFP ALGORITHM 177 It remains to consider the case i < k. To this end, Now, by the induction hypothesis and Theorem 11.1. A0(*)TAa(i) = 0. Hence, The same arguments yield and the proof is completed. By the above theorem and Theorem 11.1, we conclude that the DFP algorithm is a conjugate direction algorithm. Example 11.3 Locate the minimizer of Use the initial point x<°) = [0,0]T and HQ = 72. Note that in this case, Hence, Because / is a quadratic function, 178 QUASI-NEWTON METHODS Therefore, We then compute and Observe that Thus, and Using the above, we now compute HI : We now compute d(1) = -Jf iflr (1) = [0,1]T, and Hence, because / is a quadratic function of two variables. THE DFP ALGORITHM 179 Note that we have d(0)TQd(1) = d(l)TQd(0) = 0; that is, d(0) and d{1) are Q-conjugate directions. We now show that in the DFP algorithm, Hk+i inherits positive definiteness from Hk. Theorem 11.4 Suppose that gW ^ 0. In the DFP algorithm, if Hk is positive definite, then so is Hk+iProof. We first write the following quadratic form Define where Note that because Hk > 0, its square root is well defined; see Section 3.4 for more information on this property of positive definite matrices. Using the definitions of a and 6, we obtain and Hence, We also have since Ax (fe)T ^( fc+1 ) = akd(k)Tg^+^ = 0 by Lemma 10.2 (see also Exercise 11.1). Because 180 QUASI-NEWTON METHODS we have The above yields Both terms on the right-hand side of the above equation are nonnegative—the first term is nonnegative because of the Cauchy-Schwarz inequality, and the second term is nonnegative because Hk > 0 and ctk > 0 (by Proposition 11.1). Therefore, to show that xTHk+ix > 0 for x ^ 0, we only need to demonstrate that these terms do not both vanish simultaneously. The first term vanishes only if a and b are proportional; that is, if a = /3b for some scalar /3. Thus, to complete the proof it is enough to show that if a = /3b, then (xT&x(k})2/(akgWTHkgW) > 0. Indeed, first observe that Hence, Using the above expression for x and the expression Aor^A*/*' —ctk9^ T Hk9^ k \ we obtain = Thus, for all x ± 0, and the proof is completed. The DFP algorithm is superior to the rank one algorithm in that it preserves the positive definiteness of Hk. However, it turns out that in the case of larger nonquadratic problems the algorithm has the tendency of sometimes getting "stuck." This phenomenon is attributed to Hk becoming nearly singular [14]. In the next section, we discuss an algorithm that alleviates this problem. 11.5 THE BFGS ALGORITHM In 1970, an alternative update formula was suggested independently by Broyden, Fletcher, Goldfarb, and Shanno. The method is now called the BFGS algorithm, which we discuss in this section. To derive the BFGS update, we use the concept of duality, or complementarity, as presented in [29] and [64]. To discuss this concept, recall that the updating formulas THE BFGS ALGORITHM 181 for the approximation of the inverse of the Hessian matrix were based on satisfying the equations which were derived from A Notice that the above set of equations is similar to the previous set of equations for Hk+i, the only difference being that the roles of Ax^ and A Using the complementarity concept, we can easily obtain an update equation for the approximation Bk of the Hessian: This is the BFGS update of Bk. Now, to obtain the BFGS update for the approximation of the inverse Hessian, we take the inverse of Bk+i to obtain To compute H^^s by inverting the right-hand side of the above equation, we apply the following formula for a matrix inverse, known as the Sherman-Morrison formula (see [44, p. 123] or [37, p. 3]). Lemma 11.1 Let Abe a nonsingular matrix. Let u and v be column vectors such that 1 + VT A~lu 7^ 0. Then, A + UVT is nonsingular, and 182 QUASI-NEWTON METHODS Proof. We can prove the result easily by verification. From the above lemma it follows that if A"1 is known, then the inverse of the matrix A augmented by a rank one matrix can be obtained by a modification of the matrix A~l. Applying the above lemma twice to Bk+i yields The above represents the BFGS formula for updating Hk • Recall that for the quadratic case, the DFP algorithm satisfies H%+-fAg^ = Az (i) , 0 < i < k. Therefore, the BFGS update for Bk satisfies Bk+i&x^ = A# (i) , 0 < i < k. By construction of the BFGS formula for HJ+f3, we conclude that H%£fs&g(i) = Az (i) , 0 < i < k. Hence, the BFGS algorithm enjoys all the properties of quasi-Newton methods, including the conjugate directions property. Moreover, the BFGS algorithm also inherits the positive definiteness property of the DFP algorithm; that is, if gW ^ 0 and Hk > 0, then HJ+^S > 0. The BFGS update is reasonably robust when the line searches are sloppy (see [14]). This property allows us to save time in the line search part of the algorithm. The BFGS formula is often far more efficient than the DFP formula (see [77] for further discussion). We conclude our discussion of the BFGS algorithm with the following numerical example. Example 11.4 Use the BFGS method to minimize where Take H0 = J2 and x<°> = [0,0]T. Verify that H2 = Q~l. We have The objective function is a quadratic, and hence we can use the following formula to compute a0: Therefore, THE BFGS ALGORITHM To compute Hi = HfFGS, We 183 need the following quantities: Therefore, Hence, we have Therefore, Because our objective function is a quadratic on M 2 , x^ is the minimizer. Notice that the gradient at x (2) is 0; that is, 0 (2) = 0. To verify that H^ = Q~l, we compute: Hence, 184 QUASI-NEWTON METHODS Note that indeed H2Q = QH^ = Ii, and hence H? = Q~l. For nonquadratic problems, quasi-Newton algorithms will not usually converge in n steps. As in the case of the conjugate gradient methods, here too some modifications may be necessary to deal with nonquadratic problems. For example, we may reinitialize the direction vector to the negative gradient after every few iterations (e.g., n or n + 1), and continue until the algorithm satisfies the stopping criterion. EXERCISES 11.1 Given / : En -»• R, / 6 Cl, consider the algorithm where tr1', k > 0 is chosen to minimize f(x^ + ad (fc) );thatis, Note that the above general algorithm encompasses almost all algorithms that we discussed in this part, including the steepest descent, Newton, conjugate gradient, and quasi-Newton algorithms. Let0<*> = V/(x<*>), and assume that d(k}Tg^ < 0. a. Show that d^ is a descent direction for /, in the sense that there exists a > 0 such that for all a 6 (0, a], b. Show that ak > 0. c. Show that d (fc) V*+1) = 0. d. Show that the following algorithms all satisfy the condition d^k'Tg^ < 0, if 0<*> ? 0: 1. Steepest descent algorithm; 2. Newton's method, assuming the Hessian is positive definite; 3. Conjugate gradient algorithm; 4. Quasi-Newton algorithm, assuming H * > 0. e. For the case where f ( x ) = ^xTQx — xTb, with Q = QT > 0, derive an expression for ak in terms of Q, dsk', and gW. EXERCISES 185 11.2 Consider the algorithm where / : E2 -»> E, / 6 C1, Mk e E 2x2 is given by with a 6 E, and Suppose at some iteration k we have Vf(x^) — [1,1]T. Find the largest range of values of a that guarantees that ak > 0 for any /. 11.3 Consider the rank one algorithm. Assume that Hk > 0. Show that if A0 WT (Az (fc) - Hk&g(k)) > 0, then Hk+1 > 0. 11.4 Based on the rank one update equation, derive an update formula using complementarity and the matrix inverse formula. 11.5 Consider the DFP algorithm applied to the quadratic function where Q = QT > 0. a. Write down a formula for ak in terms of Q, g^, and d^. b. Show that if gW ^ 0, then ak > 0. 11.6 Assuming exact line search, show that if H0 = In (n x n identity matrix), then the first two steps of the BFGS algorithm yield the same points x^ and x^ as conjugate gradient algorithms with the Hestenes-Stiefel, the Polak-Ribiere, as well as the Fletcher-Reeves formulas. 11.7 Given a function / : Rn -> E, consider an algorithm x^k+1^ = x^ akHkg(k} forfindingthe minimizer of/, where g^ = Vf(x^} andHk € E n x n is symmetric. Suppose Hk = 0Hf FP + (1 - 4>)H%FGS, where 0 € M, and Jff F P and HkFGS are matrices generated by the DFP and BFGS algorithms, respectively. a. Show that the above algorithm is a quasi-Newton algorithm. Is the above algorithm a conjugate direction algorithm? 186 QUASI-NEWTON METHODS b. Suppose 0 < 0 < 1. Show that if HQFP > OandH^FGS > 0, then Hk > 0 for all k. What can you conclude from this about whether or not the algorithm has the descent property? 11.8 Consider the following simple modification to the quasi-Newton family of algorithms. In the quadratic case, instead of the usual quasi-Newton condition Hk+i&g(i} = Ax ( i ) , 0 < i < k, suppose that we have Hk+i&g(l} - p;Az (i) , 0 < i < k, where pi > 0. We refer to the set of algorithms that satisfy the above condition as the symmetric Huang family. Show that the symmetric Huang family algorithms are conjugate direction algorithms. 11.9 Write a MATLAB routine to implement the quasi-Newton algorithm for general functions. Use the secant method for the line search (e.g., the MATLAB function of Exercise 7.9). Test the different update formulas for Hk on Rosenbrock's function (see Exercise 9.3), with an initial condition x^ = [—2,2] T . For this exercise, reinitialize the update direction to the negative gradient every 6 iterations. 11.10 Consider the function a. Use MATLAB to plot the level sets of / at levels -0.72, -0.6, -0.2, 0.5, 2. Locate the minimizers of / from the plots of the level sets. b. Apply the DFP algorithm to minimize the above function with the following starting initial conditions: (i) [0,0]T; (ii) [1.5,1]T. Use H0 = / 2 . Does the algorithm converge to the same point for the two initial conditions? If not, explain. 12 Solving Ax =b 12.1 LEAST-SQUARES ANALYSIS Consider a system of linear equations Ax — 6, where A e R m x n , b e M m , m > n, and rank A = n. Note that the number of unknowns, n, is no larger than the number of equations, m. If 6 does not belong to the range of A; that is, if b g 7£(A), then this system of equations is said to be inconsistent or overdetermined. In this case, there is no solution to the above set of equations. Our goal then is to find the vector (or vectors) x minimizing \\Ax — b\\2. This problem is a special case of the nonlinear least-squares problem discussed in Section 9.4. Let x* be a vector that minimizes \\Ax — 6||2; that is, for all x € IRn, We refer to the vector x* as a least-squares solution to Ax = b. In the case where Ax = b has a solution, then the solution is a least-squares solution. Otherwise, a least-squares solution minimizes the norm of the difference between the left- and right-hand sides of the equation Ax = b. To characterize least-squares solutions, we need the following lemma. Lemma 12.1 Let A 6 R m x n , m > n. Then, rank A = n if and only if rank A A = n (i.e., the square matrix A A is nonsingular). D 187 188 SOLVING Ax = b Proof. =•: Suppose that rank A = n. To show rank ATA = n, it is equivalent to show M(ATA] = {0}. To proceed, let x 6 N(ATA); that is, ATAx = 0. Therefore, which implies that Ax — 0. Because rank A = n, we have x = 0. <=: Suppose that rank A T A = n; that is, J\f(ATA) = {0}. To show rank A = n, it is equivalent to show that J\f(A) = {0}. To proceed, let x € N(A}\ that is, Ax = 0. Then, ATAx = 0, and hence x = 0. Recall that we assume throughout that rank A = n. By the above lemma, we conclude that (ATA)~1 exists. The following theorem characterizes the leastsquares solution. Theorem 12.1 The unique vector x* that minimizes \\Ax — b\\2 is given by the solution to the equation A Ax = A b; that is, x* = (A A)"1 ATb. Proof. Lets* = (ATA)~1ATb. First observe that We now show that the last term in the above equation is zero. Indeed, substituting the above expression for x*, Hence, If x -£ x*, then \\A(x - x*)\\2 > 0, because rank A = n. Thus, if x ^ x*, we have Thus, x* = (A T A) l ATb is the unique minimizer of \\Ax — 6||2. We now give a geometric interpretation of the above theorem. First note that the columns of A span the range 7£(A) of A, which is a n-dimensional subspace of R m . The equation Ax — b has a solution if and only if b lies in this n-dimensional subspace K(A). Ifm = n, then b 6 7£(A) always, and the solution is x* = A"16. Suppose now that m > n. Intuitively, we would expect the "likelihood" of b e 7?.(A) to be small, because the subspace spanned by the columns of A is very "thin." Therefore, let us suppose that b does not belong to 7£(A). We wish to find a point LEAST-SQUARES ANALYSIS 189 Figure 12.1 Orthogonal projection of 6 on the subspace H(A) h G H(A) that is "closest" to 6. Geometrically, the point h should be such that the vector e = h - b is orthogonal to the subspace K(A) (see Figure 12.1). Recall that a vector e G Em is said to be orthogonal to the subspace 'R(A) if it is orthogonal to every vector in this subspace. We call h the orthogonal projection of b onto the subspace K(A). It turns out that h = Ax* = A(ATA)~1ATb. Hence, the vector h G Tl(A) minimizing \\b — h\\ is exactly the orthogonal projection of b onto 'R.(A). In other words, the vector x* minimizing || Ax — b\\ is exactly the vector that makes Ax — b orthogonal to K(A). To proceed further, we write A = [ai,..., an], where a\,..., an are the columns of A. The vector e is orthogonal to 7£(A) if and only if it is orthogonal to each of the columns a\,..., an of A, To see this, note that if and only if for any set of scalars {x\, :r 2 ,..., xn}, we also have Any vector in K(A) has the form x\a\ H 1- xnan. Proposition 12.1 Let h G 7£(A) be such that h — bis orthogonal to 7l(A). Then, h = Ax* = A(ATA)~lATb. Proof. Because h G 7£(A) = spanfai,..., an], it has the form h = xia\ -f • • • + xnan, where xi,...,xn G E. To find z i , . . . , x n , we use the assumption that e = h — b is orthogonal to spanfai, • • • , an]; that is, for alH = 1,..., n, we have or, equivalently, Substituting h into the above equations, we obtain a set of n linear equations of the form 190 SOLVING Ax ~ b In matrix notation this system of n equations can be represented as Note that we can write We also note that Because rank A = n, A A is nonsingular, and thus we conclude that Notice that the matrix plays an important role in the least-squares solution. This matrix is often called the Gram matrix (or Grammian). An alternative method of arriving at the least-squares solution is to proceed as follows. First, we write Therefore, / is a quadratic function. The quadratic term is positive definite because rank A — n. Thus, the unique minimizer of / is obtained by solving the FONC (see Exercise 6.24); that is, LEAST-SQUARES ANALYSIS 191 Table 12.1 Experimental data for Example 12.1 i ti Vi 0 1 2 2 3 4 3 4 15 The only solution to the equation V f ( x ) = 0 is x* = (A T A) -1 AT6. We now give an example in which least-squares analysis is used to fit measurements by a straight line. Example 12.1 Line Fitting. Suppose that a process has a single input t e E and a single output?/ G E. Suppose that we perform an experiment on the process, resulting in a number of measurements, as displayed in Table 12.1. The ith measurement results in the input labeled t{ and the output labeled y{. We would like to find a straight line given by that fits the experimental data. In other words, we wish to find two numbers, m and c, such that yi = mti + c,i = 0,1,2. However, it is apparent that there is no choice of m and c that results in the above requirement; that is, there is no straight line that passes through all three points simultaneously. Therefore, we would like to find the values of m and c that "best fit" the data. A graphical illustration of our problem is shown in Figure 12.2. We can represent our problem as a system of three linear equations of the form: We can write the above system of equations as where Note that since the vector 6 does not belong to the range of A. Thus, as we have noted before, the above system of equations is inconsistent. 192 SOLVING Ax = b Figure 12.2 Fitting a straight line to experimental data The straight line of "best fit" is the one that minimizes Therefore, our problem lies in the class of least-squares problems. Note that the above function of m and c is simply the total squared vertical distance (squared error) between the straight line defined by m and c and the experimental points. The solution to our least-squares problem is Note that the error vector e = Ax* — b is orthogonal to each column of A. Next, we give an example of the use of least-squares in wireless communications. Example 12.2 Attenuation Estimation. A wireless transmitter sends a discrete-time signal {SQ, «i, 2} (of duration 3) to a receiver, as shown in Figure 12.3. The real number Si is the value of the signal at time i. The transmitted signal takes two paths to the receiver: a direct path, with delay 10 and attenuation factor 01, and an indirect (reflected) path, with delay 12 and attenuation factor 02- The received signal is the sum of the signals from these two paths, with their respective delays and attenuation factors. LEAST-SQUARES ANALYSIS Figure 12.3 193 Wireless transmission in Example 12.2 Suppose the received signal is measured from times 10 through 14 as r i O j f i i j • • • 5 ri4» as shown in the figure. We wish to compute the least-squares estimates of ai and a2, based on the following values: so si s2 rw 1 2 1 4 TII ri2 7 8 n 3 r i4 6 3 The problem can be posed as a least-squares problem with The least-squares estimate is given by We now give a simple example where the least-squares method is used in digital signal processing. 194 SOLVING Ax = b Example 12.3 Discrete Fourier Series. Suppose that we are given a "discrete-time signal," represented by the vector We wish to approximate the above signal by a sum of sinusoids. Specifically, we approximate 6 by the vector where yo, y\,..., yn, z\,..., zn e E, and the vectors c^ and s^ are given by We call the above sum of sinusoids a discrete Fourier series (although, strictly speaking, it is not a series but a finite sum). We wish to find yo, y\,..., yn, z\,..., zn such that is minimized. To proceed, we define Our problem can be reformulated as minimizing We assume that ra > In + 1. To find the solution, we first compute ATA. We make use of the following trigonometric identities: for any nonzero integer k that is not an integral multiple of m, we have LEAST-SQUARES ANALYSIS 195 With the aid of the above identities, we can verify that Hence, which is clearly nonsingular, with inverse Therefore, the solution to our problem is We represent the above solution as We call the above discrete Fourier coefficients. Finally, we show how least-squares analysis can be used to derive formulas for orthogonal projectors. Example 12.4 Orthogonal Projectors. Let V C Mn be a subspace. Given a vector x 6 M n , we write the orthogonal decomposition of x as where x\? € V is the orthogonal projection of x onto V and xvs. 6 V1 is the orthogonal projection of x onto V1- (see Section 3.3; also recall that V1- is the 196 SOLVING Ax = b orthogonal complement of V.) We can write x\> — Px for some matrix P called the orthogonal projector. In the following, we derive expressions for P for the case where V = 7?.(A) and the case where V = A/^A). Consider a matrix A € E m x n , m > n, and rank A = n. Let V = n(A) be the range of A (note that any subspace can be written as the range of some matrix). In this case, we can write an expression for P in terms of A, as follows. By Proposition 12.1, we have xv = A(ATA)~1ATx, whence P = A(ATA)~1AT. Note that by Proposition 12.1, we may also write Next, consider a matrix A € E m x n , m < n, and rank A = m. Let V = M(A) be the nullspace of A (note that any subspace can be written as the nullspace of some matrix). To derive an expression for the orthogonal projector P in terms of A for this case, we use the formula derived above and the identity M(A)-1 = K(AT) (see Theorem 3.4). Indeed, if U = 7£(AT), then the orthogonal decomposition with respect to U is x = xu + Xy±, where xy = AT(AAT)~lAx (using the formula derived above). Because M(A)1- = K(AT), we deduce that xv± = xu = AT(AAT}~lAx. Hence, Thus, the orthogonal projector in this case is P = I — A T (AA T ) 12.2 l A. RECURSIVE LEAST-SQUARES ALGORITHM Consider again the example in the last section. We are given experimental points (^o? 2/o)» (ti > 2/i )> and (^2? 2/2)> and we find the parameters m* and c* of the straight line that best fits these data in the least-squares sense. Suppose that we are now given an extra measurement point (£3, ?/3), so that we now have a set of four experimental data points, (*o,2/o), (*i,yi)i (^2,2/2), and (£3,2/3)- We can similarly go through the procedure for finding the parameters of the line of best fit for this set of four points. However, as we shall see, there is a more efficient way: we can use previous calculations of m* and c* for the three data points to calculate the parameters for the four data points. In effect, we simply "update" our values of m* and c* to accommodate the new data point. This procedure is called the recursive least-squares (RLS) algorithm, which is the topic of this section. To derive the RLS algorithm, first consider the problem of minimizing || AQX — 6(0)||2. We know that the solution to this is given by x(0) = G^A^b^, where GO = AQ AQ. Suppose now that we are given more data, in the form of a matrix AI and a vector b^1'. Consider now the problem of minimizing RECURSIVE LEAST-SQUARES ALGORITHM 197 The solution is given by where Our goal is to write x^ as a function of a;(0), GO, and the new data AI and b^. To this end, we first write GI as Next, we write To proceed further, we write A^V0^ as Combining the above formulas, we see that we can write o^1) as where G\ can be calculated using We note that with the above formula, x^ can be computed using only x^Q\ A\, b^1', and GO- Hence, we have a way of using our previous efforts in calculating x^ to compute x^, without having to directly compute x^ from scratch. The solution 198 SOLVING Ax = b x^ is obtained from x^ by a simple update equation that adds to x^ a "correction term" G?f l A^ (b^ — AIX^ J. Observe that if the new data are consistent with the old data, that is, AIX^ = b^l\ then the correction term is 0, and the updated solution x^ is equal to the previous solution x^. We can generalize the above argument to write a recursive algorithm for updating the least-squares solution as new data arrive. At the (A; + l)st iteration, we have The vector b^k+l^ - Ak+iX^ is often called the innovation. As before, observe that if the innovation is zero, then the updated solution x^k+l^ is equal to the previous solution x^). We can see from the above that, to compute x^k+1^ from x^k\ we need G^, rather than Gk+i. It turns out that we can derive an update formula for G^ itself. To do so, we need the following technical lemma, which is a generalization of the Sherman-Morrison formula (Lemma 11.1), due to Woodbury (see [44, p. 124] or [37, P- 3]). Lemma 12.2 Let Abe a nonsingular matrix. Let U and V be matrices such that I + VA~ U is nonsingular. Then, A + UV is nonsingular, and Proof. We can prove the result easily by verification. Using the above lemma, we get For simplicity of notation, we rewrite Gk l as P&. We summarize by writing the RLS algorithm using Pk: In the special case where the new data at each step are such that Ak+i is a matrix consisting of a single row, A^+i = o%+1, and 6^ +1^ is a scalar, 6' +1^ = 6^+1» we get SOLUTION TO Ax = b MINIMIZING \\X\\ 199 Example 12.5 Let First compute the vector jc(°) minimizing \\AQX — b^°'\\2. Then, use the RLS algorithm tofindx^ minimizing We have Applying the RLS algorithm twice, we get: We can easily check our solution by directly computing x^ using the formula B< 2 > = (A T A)- 1 A T 6,where 12.3 SOLUTION TO Ax = b MINIMIZING ||x|| Consider now a system of linear equations 200 SOLVING Ax = b where A 6 R m x n , b € M m , m < n, and rank A = m. Note that the number of equations is no larger than the number of unknowns. There may exist an infinite number of solutions to this system of equations. However, as we shall see, there is only one solution that is closest to the origin: the solution to Ax — b whose norm \\x\\ is minimal. Let x* be this solution; that is, Ax* = b and \\x*\\ < \\x\\ for any x such that Ax = 6. In other words, x* is the solution to the problem In Part IV, we study problems of the above type in more detail. Theorem 12.2 The unique solution x* to Ax = b that minimizes the norm \\x\\ is given by Proof. Let a* = AT(AAT)~1b. Note that We now show that Indeed, Therefore, Because \\x — x*\\2 > 0 for all x ^ x*, it follows that for all x ^ x*, which implies Example 12.6 Find the point closest to the origin of E3 on the line of intersection of the two planes defined by the following two equations: KACZMARZ'S ALGORITHM 201 Note that the above problem is equivalent to the problem where Thus, the solution to the problem is In the next section, we discuss an iterative algorithm for solving Ax = b. 12.4 KACZMARZ'S ALGORITHM As in the previous section, let A 6 M m x n , b € R m , m < n, and rank A = m. We now discuss an iterative algorithm for solving Ax — b, originally analyzed by Kaczmarzin 1937 [51]. The algorithm converges to the vectors* = AT(AAT)~1b without having to explicitly invert the matrix A A . This is important from a practical point of view, especially when A has many rows. Let aj denote the jth row of A, and bj the jth component of b, and p, a positive scalar, 0 < n < 2. With this notation, Kaczmarz's algorithm is: 1. Set i := 0, initial condition o;(0). 2. Forj = 1,... ,ra, Set X(im+J) = x(im+j-l) +p Q. _ aTx(im+j-l) J 3. Set i := i + 1; go to step 2. In words, Kaczmarz's algorithm works as follows. For the first m iterations (k = 0 , . . . , m — 1), we have where, in each iteration, we use rows of A and corresponding components of b successively. For the (m + l)st iteration, we revert back to the first row of A and the first component of b; that is, 202 SOLVING Ax = b We continue with the (m + 2)nd iteration using the second row of A and second component of b, and so on, repeating the cycle every m iteration. We can view the scalar \i as the step size of the algorithm. The reason for requiring that ^ be between 0 and 2 will become apparent from the convergence analysis. We now prove the convergence of Kaczmarz's algorithm, using ideas from Kaczmarz's original paper [51] and subsequent exposition by Parks [74]. Theorem 12.3 In Kaczmarz's algorithm, if x^ = 0, then x^ ->• x* = AT(AAT)-1bask-^oo. Proof. We may assume without loss of generality that ||a;|| = l,i = 1,..., m. For if not, we simply replace each a* by aj/||a|| and each &i by &i/||a,||. We first introduce the following notation. For each j = 0,1,2,..., let R( j) denote the unique integer in {0,..., m — 1} satisfying j = Im + R(j) for some integer /; that is, R(j) is the remainder that results if we divide j by ra. Using the above notation, we can write Kaczmarz's algorithm as Using the identity \\x + y\\2 = \\x\\2 + \\y\\2 + 2(x, y), we obtain Substituting o,^k^+lx* = bR^+i into the above equation, we get Because 0 < (j, < 2, the second term on the right-hand side is nonnegative, and hence Therefore, {||aj^ — a?*||2} is a nonincreasing sequence that is bounded below, because \\x^ — x*\\2 > 0 for all A;. Hence, {||x^^ — x*||2} converges (see Theorem 5.3). Furthermore, we may write Because {||x^^ — x*||2} converges, we conclude that KACZMARZ'S ALGORITHM 203 which implies that Observe that and therefore ||z(fc+1) - zW||2 -» 0. Note also that because {||x<*> - z*||2} converges, {x^ } is a bounded sequence (see Theorem 5.2). Following Kaczmarz [51], we introduce the notation x^r^ = x^rm+s\ r = 0,1,2,..., s = 0 , . . . , m — 1. With this notation, we have, for each s = 0 , . . . , m — 1, as r —>• oo. Consider now the sequence {x^r'°^ : r > 0). Because this sequence is bounded, we conclude that it has a convergent subsequence—this follows from the Bolzano-Weierstrass theorem (see [2, p. 70]; see also Section 5.1 for a discussion of sequences and subsequences). Denote this convergent subsequence by {x^r'°^ : r € 8}, where £ is a subset of {0,1,...}. Let z* be the limit of {x^r'°^ : r 6 £}. Hence, Next, note that because ||x^+1^ — x( fe )|| 2 -» 0 as k —> oo, we also have ||aj(r)1) — x( r '°)|| 2 —>• Oasr -> oo. Therefore, the subsequence {x^r^ : r 6 8} also converges to z*. Hence, Repeating the argument, we conclude that for each i = 1,..., m, In matrix notation, the above equations take the form Now, x (fc) € n(AT] for all k because x^ - 0 (see Exercise 12.19). Therefore, z* € 7l(AT), because 7£(AT) is closed. Hence, there exists y* such that z* = ATy*. Thus, Because rank A = m, y* = (AAT) lb and hence z* = x*. Therefore, the subsequence {||a;r'0—x* ||2 : r e £} converges to 0. Because {||a;r'0—ic*||2 : r € 8} is a subsequence of the convergent sequence {||a;^ — #*||2}, we conclude that the sequence {||x^) — x*||2} converges to 0; that is, x^ —> x*. 204 SOLVING Ax = b For the case where x^ ^ 0, Kaczmarz's algorithm converges to the unique point on {x : Ax = b} minimizing the distance ||x — x(°)|| (see Exercise 12.20). If we set n = 1, Kaczmarz's algorithm has the property that at each iteration k, the "error" &R( fc ) +1 — o/^,k^+lx^k+1^ satisfies (see Exercise 12.22). Substituting 6 fi ( fc ) +1 = o^^+1x*, we may write Hence, the difference between x^k+l^ and the solution x* is orthogonal to aR(k)+i. This property is illustrated in following example. Example 12.7 Let In this case, x* = [5,3]T. Figure 12.4 shows a few iterations of Kaczmarz's algorithm with p = 1 and a?< 0 > = 0. We have a[ = [1, -1], a% = [0,1], 61 = 2, 62 = 3. In Figure 12.4, the diagonal line passing through the point [2,0]T corresponds to the set {x : a^x = 61}, and the horizontal line passing through the point [0,3]T corresponds to the set {x : a%x = 62}- To illustrate the algorithm, we perform three iterations: As Figure 12.4 illustrates, the property holds at every iteration. Note the convergence of the iterations of the algorithm to the solution. 12.5 SOLVING Ax = b IN GENERAL Consider the general problem of solving a system of linear equations SOLVING Ax = b IN GENERAL 205 Figure 12.4 Iterations of Kaczmarz's algorithm in Example 12.7 where A 6 E m x n , and rank A = r. Note that we always have r < min(m,n). In the case where A e E nxn and rank A = n, the unique solution to the above equation has the form x* = A~lb. Thus, to solve the problem in this case it is enough to know the inverse A"1. In this section, we analyze a general approach to solving Ax = b. The approach involves defining a pseudoinverse or generalized inverse of a given matrix A 6 E m x n , which plays the role of A"1 when A does not have an inverse (e.g., when A is not a square matrix). In particular, we discuss the Moore-Penrose inverse of a given matrix A, denoted A . In our discussion of the Moore-Penrose inverse, we use the fact that a nonzero matrix of rank r can be expressed as the product of a matrix of full column rank r and a matrix of full row rank r. Such a factorization is referred to as the fullrank factorization. The term full-rank factorization in this context was proposed by Gantmacher [30] and Ben-Israel and Greville [4]. We state and prove the above result in the following lemma. Lemma 12.3 Full-rank factorization. Let A e E m x n , rank A = r < min(m,n). Then, there exist matrices B € Rmxr andC 6 E rxn such that where Proof. Because rank A = r, we can find r linearly independent columns of A. Without loss of generality, let a\, 0 , % , . . . , ar be such columns, where a^ is the ith column of A. The remaining columns of A can be expressed as linear combinations of ai, 0 2 , . . . , ar. Thus, a possible choice for the full-rank matrices B and C are 206 SOLVING Ax = b where the entries Cjj are such that for each j = r + 1,... , n, we have dj = i,jQ>i + 1- crjar. Thus, A = BC. c Note that if m < n and rank A = m, then we can take where Im is the m x m identity matrix. If, on the other hand, m > n and rank A = n, then we can take Example 12.8 Let A be given by Note that rank A = 2. We can write a full-rank factorization of A based on the proof of Lemma 12.3: We now introduce the Moore-Penrose inverse and discuss its existence and uniqueness. For this, we first consider the matrix equation where A G E mxn is a given matrix, and X e ^nxm js a matrix we wjsh to determine. Observe that if A is a nonsingular square matrix, then the above equation has the unique solution X = A~1. We now define the Moore-Penrose inverse, also called the pseudoinverse or generalized inverse. Definition 12.1 Given A 6 R m x n , a matrix A f e R n x m is called a pseudoinverse of the matrix A if and there exist matrices U G M n x n , V 6 R m x m such that SOLVING Ax = b IN GENERAL 207 The requirement A* — UAT = ATV can be interpreted as follows. Each row of the pseudoinverse matrix A* of A is a linear combination of the rows of A , and each column of AT is a linear combination of the columns of A . For the case in which a matrix A € M m x n with m > n and rank A = n, we can easily check that the following is a oseudoinverse of A: I rri Indeed, A(A T A)~ 1 A T A = A, and if we define U = (A^A)" 1 and V = A(A T A)- 1 (A T A)- 1 A T , then Af = UAT = ATV. Note that, in fact, we have A* A = In. For this reason, (A A)"1 A is often called the left pseudoinverse of A. This formula also appears in least-squares analysis (see Section 12.1). For the case in which a matrix A € M m x n with m < n and rank A = m, we can easily check, as we did in the previous case, that the following is a pseudoinverse of A: Note that in this case, we have AA* = Im. For this reason, A T (AA T ) l is often called the right pseudoinverse of A. This formula also appears in the problem of minimizing ||aj|| subject to Ax — b (see Section 12.3). Theorem 12.4 Let A 6 E m x n . If a pseudoinverse A* of A exists, then it is unique. n Proof. Let A\ and A\ be pseudoinverses of A. We show that A\ = A\. By definition, and there are matrices C71? C/2 6 E n x n , Vi, V2 € M m x m such that Let Then, we have Therefore, using the above two equations, we have which implies that 208 SOLVING Ax = b On the other hand, because DA — 0, we have which implies that and hence From the above theorem, we know that, if a pseudoinverse matrix exists, then it is unique. Our goal now is to show that the pseudoinverse always exists. In fact, we show that the pseudoinverse of any given matrix A is given by the formula where B^ and C^ are the pseudoinverses of the matrices B and C that form a full-rank factorization of A; that is, A = BC where B and C are of full rank (see Lemma 12.3). Note that we already know how to compute B^ and C^, namely, and Theorem 12.5 Let a matrix A G R m x n have a full-rank factorization A = BC, with rank A = rankB = rankC = r, B € Wnxr, C € E rxn . Then, Proof. We show that satisfies the conditions of Definition 12.1 for a pseudoinverse. Indeed, first observe that Next, define and It is easy to verify that the matrices U and V above satisfy SOLVING Ax = b IN GENERAL 209 Hence, is the pseudoinverse of A. Example 12.9 Continued from Example 12.8. Recall that We compute and Thus, We emphasize that the formula A* = C^B^ does not necessarily hold if A = BC is not a full-rank factorization. The following example, which is taken from [30], illustrates this point. Example 12.10 Let Obviously, A' = A = A = [1]. Observe that A can be represented as The above is not a full-rank factorization of A. Let us now compute B^ and C*. We have (Note that the formulas for B^ and C* here are different from those in Example 12.9 because of the dimensions of B and C in this example.) Thus, 210 SOLVING Ax = b which is not equal to A*. We can simplify the expression to The above expression is easily verified simply by substituting A = BC. This explicit formula for A* is attributed to C. C. MacDuffee by Ben-Israel and Greville [4]. Ben-Israel and Greville report that around 1959, MacDuffee was the first to point out that a full-rank factorization of A leads to the above explicit formula. However, they mention that MacDuffee did it in a private communication, so there is no published work by MacDuffee that contains the result. We now prove two important properties of A' in the context of solving a system of linear equations Ax = b. Theorem 12.6 Consider a system of linear equations Ax = b, A 6 R m x n , rank A = r. The vector x* — A^b minimizes \\Ax — 6||2 on W1. Furthermore, among all vectors in W1 that minimize \\Ax — b\\2, the vector x* — A'6 is the unique vector with minimal norm. d Proof. We first show that x* = A^b minimizes \\Ax — 6||2 over E n . To this end, observe that for any x e E n , We now show that Indeed However, Hence, Thus, we have SOLVING Ax = b IN GENERAL 211 Because we obtain and thus x* minimizes \\Ax — 6||2. We now show that among all x that minimize \\Ax — 6||2, the vector x* = A^b is the unique vector with minimum norm. So let x be a vector minimizing \\Ax — b\\2. We have Observe that To see this, note that where the superscript — T denotes the transpose of the inverse. Now, \\Ax — b\\2 = \\B(Cx) — b\\2. Because x minimizes \\Ax — b\\2 and C is of full rank, then y* — Cx minimizes \\By — 6||2 over W (see Exercise 12.23). Because B is of full rank, by Theorem 12.1, we have Cx = y* - (BTB}~lBTb. Substituting this into the above equation, we get x*T(x — x*) — 0. Therefore, we have For all x ^ x*, we have and hence or equivalently Hence, among all vectors minimizing \\Ax — fe||2, the vector x* = A^b is the unique vector with minimum norm. The generalized inverse has the following useful properties (see Exercise 12.24): a. (A T )t = (A^)T; 212 SOLVING Ax = b b. (A*)t = A. The above two properties are similar to those that are satisfied by the usual matrix inverse. However, we point out that the property (AiA2^ = >^Aj does not hold in general (see Exercise 12.26). Finally, it is important to note that we can define the generalized inverse in an alternative way, following the definition of Penrose. Specifically, the Penrose definition of the generalized inverse of a matrix A € R m x n is the unique matrix A* € E nxm satisfying the following properties: 1. AA*A = A; 2. A f AA f = A f ; 3. (AA*)T = AA*\ 4. (A f A) T = A^A. The Penrose definition above is equivalent to Definition 12.1 (see Exercise 12.25). For more information on generalized inverses and their applications, we refer the reader to the books by Ben-Israel and Greville [4], and Campbell and Meyer [18]. EXERCISES 12.1 A rock is accelerated to 3, 5, and 6 m/s2 by applying forces of 1, 2, and 3 N, respectively. Assuming Newton's law F = ma, where F is the force and a is the acceleration, estimate the mass m of the rock using the least squares method. 12.2 A spring is stretched to lengths L = 3,4, and 5 cm under applied forces F = 1, 2, and 4 N, respectively. Assuming Hooke's law L = a -f bF, estimate the normal length a and spring constant b using the least squares approach. 12.3 Suppose that we perform an experiment to calculate the gravitational constant g as follows. We drop a ball from a certain height, and measure its distance from the original point at certain time instants. The results of the experiment are shown in the following table. Time (seconds) Distance (meters) 1.00 2.00 3.00 5.00 19.5 44.0 The equation relating the distance s and the time t at which s is measured is given by EXERCISES 213 a. Find a least-squares estimate of g using the experimental results from the above table. b. Suppose that we take an additional measurement at time 4.00, and obtain a distance of 78.5. Use the recursive least-squares algorithm to calculate an updated least-squares estimate of g. 12.4 Suppose we wish to estimate the value of the resistance R of a resistor. Ohm's Law states that if V is the voltage across the resistor, and / is the current through the resistor, then V = IR. To estimate R, we apply a 1 amp current through the resistor and measure the voltage across it. We perform the experiment on n voltage measuring devices, and obtain measurements of Vi,..., Vn. Show that the least squares estimate of R is simply the average of V\,..., Vn. 12.5 The table below shows the stock prices for three companies, X, Y, and Z, tabulated over three days: Day 1 2 3 X Y Z 6 1 2 4 5 1 3 1 2 Suppose an investment analyst proposes a model for the predicting the stock price of X based on those of Y and Z: where px, PY , and pz are the stock prices of X, Y, and Z, respectively, and a, b are real-valued parameters. Calculate the least squares estimate of the parameters a and b based on the data in the above table. 12.6 We are given two mixtures, A and B. Mixture A contains 30% gold, 40% silver, and 30% platinum, whereas mixture B contains 10% gold, 20% silver, and 70% platinum (all percentages of weight). We wish to determine the ratio of the weight of mixture A to the weight of mixture B such that we have as close as possible to a total of 5 ounces of gold, 3 ounces of silver, and 4 ounces of platinum. Formulate and solve the problem using the linear least-squares method. 12.7 Background: If Ax + w = b, where w is a "white noise" vector, then define the least-squares estimate of x given b to be the solution to the problem 274 SOLVING Ax = b Application: Suppose a given speech signal {uk : k = 1,..., n} (with Uk G E) is transmitted over a telephone cable with input-output behavior given by yk = ayjc-i + buk + Vk, where, at each time k, yk € M. is the output, Uk G K is the input (speech signal value), and Vk represents white noise. The parameters a and b are fixed known constants, and the initial condition is yo = 0. We can measure the signal {yk } at the output of the telephone cable, but we cannot directly measure the desired signal {uk} or the noise signal {vk}. Derive a formula for the linear least-squares estimate of the signal {uk ' k = 1,..., n} given the signal {yk :k=l,...,n}. Note: Even though the vector v = [vi,..., vn]T is a white noise vector, the vector Dv (where D is a matrix) is, in general, not. 12.8 Line Fitting. Let [x\, yi]T,..., [xp, yp]T, p > 2, be points in R 2 . We wish to find the straight line of best fit through these points ("best" in the sense that the total squared error is minimized); that is, we wish to find a*, b* G M to minimize Assume that the Xi, i = 1,... ,p, are not all equal. Show that there exist unique parameters a* and b* for the line of best fit, and find the parameters in terms of the following quantities: 12.9 Suppose that we take measurements of a sinusoidal signal y(t) = s'm(ut + 9} at times t\,..., tp, and obtain values y\,..., yp, where — 7r/2 < uti + 9 < ?r/2, i — l,...,p, and the ti are not all equal. We wish to determine the values of the frequency u; and phase 6. a. Express the problem as a system of linear equations. EXERCISES 215 b. Find the least-squares estimate of u; and 9 based on part a. Use the following notation: 12.10 We are given a point [xo,yo]T e E 2 . Consider the straight line on the IR2 plane given by the equation y — mx. Using a least squares formulation, find the point on the straight line that is closest to the given point [XQ, yo], where the measure of closeness is in terms of the Euclidean norm on E2. Hint: The given line can be expressed as the range of the matrix A = [1, m]T. 12.11 Consider the affine function / : W1 -4 E of the form f(x] = aTx + c, where a e En and c € E. a. We are given a set of p pairs (xi, y i ) , . . . , (xp, yp), where Xi 6 E n , yi e E, i = 1,... ,p. We wish to find the affine function of best fit to these points, where "best" is in the sense of minimizing the total square error Formulate the above as an optimization problem of the form: minimize || Az — 6||2 with respect to z. Specify the dimensions of A, z, and 6. b. Suppose that the points satisfy and Find the affine function of best fit in this case, assuming it exists and is unique. 12.12 For the system shown in Figure 12.5, consider a set of input-output pairs ( u i , j / i ) , . . . , ( u n , y n ) , where uk € E, yk G E, k = 1,... ,n. 216 SOLVING Ax = b Figure 12.5 Input-output system in Exercise 12.12 a. Suppose we wish to find the best linear estimate of the system based on the above input-output data. In other words, we wish to find a 9n e R to fit the model yk = OnUk, k = 1,..., n. Using the least squares approach, derive a formula for Sn based on MI , . . . , un and y\,..., yn. b. Suppose the data in part a is generated by where 9 € E and Uk = 1 for all k. Show that the parameter On in part a converges to 9 as n —> oo if and only if 12.13 Consider a discrete-time linear system Xk+i = axk + buk, where Uk is the input at time k, Xk is the output at time k, and a, b € M are system parameters. Suppose that we apply a constant input Uk = 1 for all k > 0, and measure the first 4 values of the output to be XQ — 0, xi = 1, x% = 2, x = 8. Find the least-squares estimate of a and b based on the above data. 12.14 Consider a discrete-time linear system Xk+i = axk + buk, where Uk is the input at time k, Xk is the output at time k, and a, b € E are system parameters. Given the first n +1 values of the impulse response ho,..., hn, find the least squares estimate of a and b. You may assume that at least one hk is nonzero. Note: The impulse response is the output sequence resulting from an input of UQ — 1, Uk = 0 for k 7^ 0, and zero initial condition XQ = 0. 12.15 Consider a discrete-time linear system Xk+i = axk + biik, where Uk is the input at time k, Xk is the output at time k, and a, b e R are system parameters. Given the first n + 1 values of the step response SQ, . . . , sn, where n > 1, find the least squares estimate of a and b. You may assume that at least one Sk is nonzero. Note: The step response is the output sequence resulting from an input of Uk = 1 for k > 0, and zero initial condition ar0 = 0 (i.e., SQ = XQ = 0). 12.16 Let A e E m x n , b € E m , m < n, rank A = m, and XQ e M n . Consider the problem minimize subject to \\x — XQ\\ Ax = b. EXERCISES 217 Show that the above problem has a unique solution given by 12.17 Given A e R m x n , m < n, rank A = m, and 61,..., bp e M m , consider the problem Suppose that a;* is the solution to the problem where i = 1,... ,p. Write the solution to (12.1) in terms of x j , . . . , x*. 12.18 Let A € R m x n , b G E m , m < n, and rank A = m. Show that x* = AT(AAT)-16 is the only vector in Tl(AT} satisfying Ax* = 6. 12.19 Show that in Kaczmarz's algorithm, if x (0) = 0, then x (fc ) e ft(AT) for all k. 12.20 Consider Kaczmarz's algorithm with x(°) ^ 0. a. Show that there exists a unique point minimizing ||x — x(°) || subject to {x : Ax = b}. b. Show that Kaczmarz's algorithm converges to the point in part a. 12.21 Consider Kaczmarz's algorithm with x^ = 0, where m = 1; that is, A = [aT] e R l x n and a ^ 0, and 0 < // < 2. Show that there exists 0 < 7 < 1 such that ||x(fc+1) - x*|| < 7||x< fc ) - x*|| for all jfe > 0. 12.22 Show that in Kaczmarz's algorithm, if n = I,then6^( fc ) +1 —a^ fc s +1 x^ i:+1 ) = 0 for each k. 12.23 Consider the problem of minimizing || Ax - b\\2 over E n , where A 6 R m x n , b G M m . Let x* be a solution. Suppose that A = BC is a full-rank factorization of A; that is, rank A = rankB = rankC = r, and B G R m x r , C e E r x n . Show that the minimizer of \\By — b\\ over Er is Cx*. 12.24 Prove the following properties of generalized inverses: a. (AT)t = (A*)T; b. (A f )t = A. 12.25 Show that the Penrose definition of the generalized inverse is equivalent to Definition 12.1. 12.26 Construct matrices A\ and A2 such that (A 1 A 2 ) t ^ A^AJ. This page intentionally left blank 13 Unconstrained Optimization and Neural Networks 13.1 INTRODUCTION In this chapter, we apply the techniques of the previous chapters to the training of feedforward neural networks. Neural networks have found numerous practical applications, ranging from telephone echo cancellation to aiding in the interpretation of EEG data (see, e.g., [78] and [53]). The essence of neural networks lies in the connection weights between neurons. The selection of these weights is referred to as training or learning. For this reason, we often refer to the weights as the learning parameters. A popular method for training a neural network is called the backpropagation algorithm, based on an unconstrained optimization problem, and an associated gradient algorithm applied to the problem. This chapter is devoted to a description of neural networks and the use of techniques we have developed in preceding chapters for the training of neural networks. An artificial neural network is a circuit composed of interconnected simple circuit elements called neurons. Each neuron represents a map, typically with multiple inputs and a single output. Specifically, the output of the neuron is a function of the sum of the inputs, as illustrated in Figure 13.1. The function at the output of the neuron is called the activation function. We use the symbol given in Figure 13.2 to pictorially represent a single neuron. Note that the single output of the neuron may be applied as inputs to several other neurons, and therefore the symbol for a single neuron shows multiple arrows emanating from it. A neural network may be implemented using an analog circuit. In this case, inputs and outputs may be represented by currents and voltages. 219 220 UNCONSTRAINED OPTIMIZATION AND NEURAL NETWORKS Figure 13.1 A single neuron Figure 13.2 Symbol for a single neuron Figure 13.3 Structure of a feedforward neural network A neural network consists of interconnected neurons, where the inputs to each neuron consists of weighted outputs of other neurons. The interconnections allow exchange of data or information between neurons. In a feedforward neural network, the neurons are interconnected in layers, so that the data flow only in one direction. Thus, each neuron receives information only from neurons in the previous layer: the inputs to each neuron are weighted outputs of neurons in the previous layer. Figure 13.3 illustrates the structure of feedforward neural networks. The first layer in the network is called the input layer, and the last layer is called the output layer. The layers in between the input and output layers are called hidden layers. We can view a neural network as simply a particular implementation of a map from Mn to E m , where n is the number of inputs x\,..., xn, and m is the number of outputs 2/i, • • • , Vm • The map that is implemented by a neural network depends on the weights of the interconnections in the network. Therefore, we can change the mapping that is implemented by the network by adjusting the values of the weights in the network. The information about the mapping is "stored" in the weights over all the neurons, and SINGLE-NEURON TRAINING 221 thus the neural network is a distributed representation of the mapping. Moreover, for any given input, the computation of the corresponding output is achieved through the collective effect of individual input-output characteristics of each neuron; therefore, the neural network can be considered as a parallel computation device. We point out that the ability to implement or approximate a map encompasses many important practical applications. For example, pattern recognition and classification problems can be viewed as function implementation or approximation problems. Suppose that we are given a map F : W1 —>• Rm that we wish to implement using a given neural network. Our task boils down to appropriately selecting the interconnection weights in the network. As mentioned earlier, we refer to this task as training of the neural network, or learning by the neural network. We use inputoutput examples of the given map to train the neural network. Specifically, let (xd,i, y d ) 1 ),..., (xd,p, yd,p) £ ^n x ^ m » where each ydi is the output of the map F corresponding to the input Xd,i', that is, ydi — F(xd,i). We refer to the set {(ajrf.i, J/d ( i), • • • , (xd,P,2/d,p)} as me training set. We train the neural network by adjusting the weights such that the map that is implemented by the network is close to the desired map F. For this reason, we can think of neural networks as function approximators. The form of learning described above can be thought of as learning with a teacher. The teacher supplies questions to the network in the form of Xd,i,... , X d , p , and also tells the network the correct answers y d > 1 , . . . , yd)P. Training of the network then comprises applying a training algorithm that adjusts weights based on the error between the computed output and the desired output; that is, the difference between ydi = F(xd,i} and the output of the neural network corresponding to Xd,i- Having trained the neural network, our hope is that the network correctly "generalizes" the examples used in the training set. By this we mean that the network should correctly implement the mapping F and produce the correct output corresponding to any input, include those that were not a part of the training set. As we shall see in the remainder of this chapter, the training problem can be formulated as an optimization problem. We can then use optimization techniques and search methods (e.g., steepest descent, conjugate gradients [50], and quasiNewton) for selection of the weights. The training algorithms are based on such optimization algorithms. In the literature, the form of learning described above is referred to as supervised learning, for obvious reasons. The term supervised learning suggests that there is also a form of learning called unsupervised learning. Indeed, this is the case. However, unsupervised learning does not fit into the framework described above. Therefore, we do not discuss the idea of unsupervised learning any further. We refer the reader interested in unsupervised learning to [41]. 13.2 SINGLE-NEURON TRAINING Consider a single neuron, as shown in Figure 13.4. For this particular neuron, the activation function is simply the identity (linear function with unit slope). The neuron 222 UNCONSTRAINED OPTIMIZATION AND NEURAL NETWORKS Figure 13.4 A single linear neuron implements the following (linear) map from En to E: where x = [xi,..., xn]T € En is the vector of inputs, y 6 E is the output, and w = [wi,..., wn]T e En is the vector of weights. Suppose that we are given a map F : En —» E We wish to find the value of the weights w\,..., wn such that the neuron approximates the map F as closely as possible. To do this, we use a training set consisting of p pairs {(xd,i, Vd,i), • • • , (xd,P,yd,P)}, where xdji € En and yd,i € E, i = 1,... ,p. For each i, ya,i = F(xd,i) is the "desired" output corresponding to the given input Xd,i- The training problem can then be formulated as the following optimization problem: where the minimization is taken over all to = [wi,... ,wn]T e E n . Note that the objective function represents the sum of the squared errors between the desired outputs yd,i and the corresponding outputs of the neuron x^{w. The factor of 1/2 is added for notational convenience and does not change the minimizer. The above objective function can be written in matrix form as follows. First define the matrix Xd 6 E nxp and vector yd e W by Then, the optimization problem becomes SINGLE-NEURON TRAINING 223 Figure 13.5 Adaline There are two cases to consider in the above optimization problem: p < n and p > n. We first consider the case where p < n, that is, where we have at most as many training pairs as the number of weights. For convenience, we assume that rankXj = p. In this case, there are an infinitely many points satisfying yd = X^w. Hence, there are infinitely many solutions to the above optimization problem, with the optimal objective function value of 0. Therefore, we have a choice of which optimal solution to select. A possible criterion for this selection is that of minimizing the solution norm. This is exactly the problem considered in Section 12.3. Recall that the minimum norm solution is w* — Xd(X^Xd)~1y(iAn efficient iterative algorithm for finding this solution is Kaczmarz's algorithm (discussed in Section 12.4). Kaczmarz's algorithm in this setting takes the form where w^ = 0, and Recall that R(k) is the unique integer in {0,... ,p — 1} satisfying k = Ip + R(k) for some integer /; that is, R(k) is the remainder that results if we divide k by p (see Section 12.4 for further details on the algorithm). The above algorithm was applied to the training of linear neurons by Widrow and Hoff (see [95] for some historical remarks). The single neuron together with the above training algorithm is illustrated in Figure 13.5, and is often called Adaline, an acronym for "adaptive linear element." We now consider the case where p > n. Here, we have more training points than the number of weights. We assume that rankXj = n. In this case, the objective function |||j/d — Xjiy|| 2 is simply a strictly convex quadratic function of w, because the matrix XjX^ is a positive definite matrix. To solve this optimization problem, 224 UNCONSTRAINED OPTIMIZATION AND NEURAL NETWORKS we have at our disposal the whole slew of unconstrained optimization algorithms considered in the previous chapters. For example, we can use a gradient algorithm, which in this case takes the form where eW =yd-X^w^. The above discussion assumed that the activation function for the neuron is the identity map. The derivation and analysis of the algorithms can be extended to the case of a general differentiable activation function fa. Specifically, the output of the neuron in this case is given by The algorithm for the case of a single training pair (xj, yd) has the form where the error is given by For a convergence analysis of the above algorithm, see [45]. 13.3 BACKPROPAGATION ALGORITHM In the previous section, we considered the problem of training a single neuron. In this section, we consider a neural network consisting of many layers. For simplicity of presentation, we restrict our attention to networks with three layers, as depicted in Figure 13.6. The three layers are referred to as the input, hidden, and output layers. There are n inputs xi, where i = 1,..., n. We have m outputs ys, s = 1,..., m. There are / neurons in the hidden layer. The outputs of the neurons in the hidden layer are Zj, where j = 1,...,/. The inputs x\,..., xn are distributed to the neurons in the hidden layer. We may think of the neurons in the input layer as single-inputsingle-output linear elements, with each activation function being the identity map. In Figure 13.6, we do not explicitly depict the neurons in the input layer; instead, we illustrate the neurons as signal spliters. We denote the activation functions of the neurons in the hidden layer by /j1, where j = 1,...,/, and the activation functions of the neurons in the output layer by f°, where s = 1,..., m. Note that each activation function is a function from E to R. We denote the weights for inputs into the hidden layer by uA, i = 1,..., n, j = 1,...,/. We denote the weights for inputs from the hidden layer into the output layer by w°j,j = 1,..., /, s = 1,..., m. Given the weights w^ and w°^ the neural BACKPROPAGATION ALGORITHM 225 Figure 13.6 A three-layered neural network network implements a map from W1 to E m . To find an explicit formula for this map, let us denote the input to the jth neuron in the hidden layer by Vj, and the output of the jth neuron in the hidden layer by Zj. Then, we have The output from the sth neuron of the output layer is Therefore, the relationship between the inputs #i, i = 1,..., n, and the sth output ys is given by 226 UNCONSTRAINED OPTIMIZATION AND NEURAL NETWORKS The overall mapping that the neural network implements is therefore given by We now consider the problem of training the neural network. As for the single neuron considered in the last section, we analyze the case where the training set consists of a single pair ( x j , y where ys, s = 1,..., m, are the actual outputs of the neural network in response to the inputs Xdi, • • • , £<*„, as given by The above minimization is taken over all w^, w°j, i = 1,..., n, j = 1 , . . . , / , s = 1,..., m. For simplicity of notation, we use the symbol w for the vector and the symbol E for the objective function to be minimized; that is, To solve the above optimization problem, we use a gradient algorithm with fixed step size. To formulate the algorithm, we need to compute the partial derivatives of E with respect to each component of w. For this, let us first fix the indices i, j and s. We first compute the partial derivative of E with respect to w°sj. For this, we write BACKPROPAGATION ALGORITHM 227 where, for each q = 1 , . . . , / , Using the chain rule, we obtain where f° : E -> E is the derivative of f°. For simplicity of notation, we write We can think of each Ss as a scaled output error, because it is the difference between the actual output ys of the neural network and the desired output yds-, scaled by fs \52q=i wsqzq)• Using the 6S notation, we have We next compute the partial derivative of E with respect to w^. We start with the equation Using the chain rule once again, we get where /j1' : M ->• E is the derivative of /j1. Simplifying the above yields We are now ready to formulate the gradient algorithm for updating the weights of the neural network. We write the update equations for the two sets of weights w°j and w^ separately. We have 228 UNCONSTRAINED OPTIMIZATION AND NEURAL NETWORKS where 77 is the (fixed) step size, and The update equation for the weights w°j of the output layer neurons is illustrated in Figure 13.7, whereas the update equation for the weights w^ of the hidden layer neurons is illustrated in Figure 13.8. The above update equations are referred to in the literature as the backpropagation algorithm. The reason for the name "backpropagation" is that the output errors 6[ ,...,6m are propagated back from the output layer to the hidden layer, and are used in the update equation for the hidden layer weights, as illustrated in Figure 13.8. In the above discussion, we assumed only a single hidden layer. In general, we may have multiple hidden layers—in this case, the update equations for the weights will resemble the equations derived above. In the general case, the output errors are propagated backward from layer to layer and are used to update the weights at each layer. We summarize the backpropagation algorithm qualitatively as follows. Using the (k) ( k) inputs Xdi and the current set of weights, we first compute the quantities v\ , Zj ', ys ' and 63 , in turn. This is called the forward pass of the algorithm, because it involves propagating the input forward from the input layer to the output layer. Next, we compute the updated weights using the quantities computed in the forward pass. This is called the reverse pass of the algorithm, because it involves propagating the computed output errors Sg backwards through the network. We illustrate the backpropagation procedure numerically in the following example. Example 13.1 Consider the simple feedforward neural network shown in Figure 13.9. The activation functions for all the neurons are given by f(v] = l/(l + e~ v ). This particular activation function has the convenient property that f ' ( v ) = f ( v ) ( l - f ( v ) ) . Therefore, using this property, we can write BACKPROPAGATION ALGORITHM Figure 13.7 229 Illustration of the update equation for the output layer weights Suppose that the initial weights are w;n = 0.1, w^ — 0.3, iu2i = 0.3, w^0) = 0.4, w°(°] = 0.4, and wffi = 0.6. Let xd = [0.2,0.6]T and yd = 0.7. Perform one iteration of the backpropagation algorithm to update the weights of the network. Use a step size of 77 = 10. To proceed, we first compute Next, we compute 230 UNCONSTRAINED OPTIMIZATION AND NEURAL NETWORKS Figure 13.8 Illustration of the update equation for the hidden layer weights We then compute which gives an output error of This completes the forward pass. To update the weights, we use BACKPROPAGATION ALGORITHM 231 Figure 13.9 Neural network for Example 13.1 and, using the fact that j'(vf}) = f ( v ( 0 ) ) ( l - /(vj- 0) )) = zf\l - ^ 0) ), we get Thus, we have completed one iteration of the backpropagation algorithm. We can easily check that y [ l ) = 0.6588, and hence \yd - y [ l } \ < \yd - y(^\; that is, the actual output of the neural network has become closer to the desired output as a result of updating the weights. After 15 iterations of the backpropagation algorithm, we get The resulting value of the output corresponding to the input xj — [0.2,0.6]T is y[l5) = 0.6997. In the above example, we considered an activation function of the form 232 UNCONSTRAINED OPTIMIZATION AND NEURAL NETWORKS Figure 13.10 The sigmoid function The above function is called a sigmoid, and is a popular activation function used in practice. The sigmoid function is illustrated in Figure 13.10. It is possible to use a more general version of the sigmoid function, of the form The parameters ft and 9 represent scale and shift parameters, respectively. The parameter 9 is often interpreted as a threshold. If such an activation function is used in a neural network, we would also want to adjust the values of the parameters ft and 9, which also affect the value of the objective function to be minimized. However, it turns out that these parameters can be incorporated into the backpropagation algorithm simply by treating them as additional weights in the network. Specifically, we can represent a neuron with activation function g as one with activation function / with the addition of two extra weights, as shown in Figure 13.11. Example 13.2 Consider the same neural network as in Example 13.1. We introduce shift parameters #1, #2* and 9% to the activation functions in the neurons. Using the the configuration illustrated in Figure 13.11, we can incorporate the shift parameters into the backpropagation algorithm. We have where / is the sigmoid function: BACKPROPAGATION ALGORITHM 233 Figure 13.11 The above two configurations are equivalent The components of the gradient of the objective function E with respect to the shift parameters are: In the next example, we apply the network discussed in Example 13.2 to solve the celebrated Exclusive OR (XOR) problem (see [83]). Example 13.3 Consider the neural network of Example 13.2. We wish to train the neural network to approximate the Exclusive OR (XOR) function, defined in Table 13.1. Note that the XOR function has two inputs and one output. To train the neural network, we use the following training pairs: We now apply the backpropagation algorithm to train the network using the above training pairs. To do this, we apply the above pairs one per iteration, in a cyclic 234 UNCONSTRAINED OPTIMIZATION AND NEURAL NETWORKS Table 13.1 Xi 0 0 1 1 Truth table for XOR function X2 F(xi,X2) 0 1 0 1 0 1 1 0 fashion. In other words, in the fcth iteration of the algorithm, we apply the pair (xd,R(k),yd,R(k))> where, as in Kaczmarz's algorithm, R(k) is the unique integer in {0,1,2,3} satisfying k = 41 + R(k] for some integer I; that is, R(k) is the remainder that results if we divide k by 4 (see Section 12.4). The experiment yields the following weights (see Exercise 13.5): Table 13.2 shows the output of the neural network with the above weights corresponding to the training input data. Figure 13.12 shows a plot of the function that is implemented by this neural network. For a more comprehensive treatment of neural networks, see [39], [40], or [100]. For applications of neural networks to optimization, signal processing, and control problems, see [19] and [48]. EXERCISES 13.1 Consider a single linear neuron, with n inputs (see Figure 13.4). Suppose that we are given Xd e E nxp and yd € W representing p training pairs, where p > n. The objective function to be minimized in the training of the neuron is EXERCISES Table 13.2 235 Response of the trained network of Example 13.3 xi x-2 yi 0 0 1 1 0 1 0 1 0.007 0.99 0.99 0.009 Figure 13.12 Plot of the function implemented by the trained network of Example 13.3 a. Find the gradient of the objective function. b. Write the conjugate gradient algorithm for training the neuron. c. Suppose that we wish to approximate the function F : E2 ->• E given by Use the conjugate gradient algorithm from part b to train the linear neuron, using the following training points: It may helpful to use the MATLAB routine from Exercise 10.8. d. Plot the level sets of the objective function for the problem in part c, at levels 0.01, 0.1, 0.2, and 0.4. Check if the solution in part c agrees with the level sets. 236 UNCONSTRAINED OPTIMIZATION AND NEURAL NETWORKS e. Plot the error function e(x) = F(x) — w*Tx versus x\ and X2, where w* is the optimal weight vector obtained in part c. 13.2 Consider the Adaline, depicted in Figure 13.5. Assume we have a single training pair (XCL, yd), where Xd i=- 0. Suppose that we use the Widrow-Hoff algorithm to adjust the weights: where ek = yd — x^w^. a. Write an expression for CK+I as a function of ek and //. b. Find the largest range of values for/z for which efc —>• 0 (for any initial condition w<°>). 13.3 As in Exercise 13.2, consider the Adaline. Consider the case in which there are multiple pairs in the training set {(xd,i, 2/d,i), • • • , (&d,p, y where e^ = yd~ X^w^k\ and n is a given constant p x p matrix. a. Find an expression for e(fc+1) as a function of e^ and p,. b. Find a necessary and sufficient condition on p, for which e^ —>• 0 (for any initial condition w^). 13.4 Consider the three-layered neural network described in Example 13.1 (see Figure 13.9). Implement the backpropagation algorithm for this network in MATLAB. Test the algorithm for the training pair Xd = [0,1]T and yd = 1. Use a step size of 77 = 50 and initial weights as in the Example 13.1. 13.5 Consider the neural network of Example 13.3, with the training pairs for the XOR problem. Use MATLAB to implement the training algorithm described in Example 13.3, with a step size of 77 = 10.0. Tabulate the outputs of the trained network corresponding to the training input data. 14 Genetic Algorithms 14.1 BASIC DESCRIPTION In this chapter, we discuss genetic algorithms and their application to solving optimization problems. Genetic algorithms are radically different from the optimization algorithms discussed in previous chapters. For example, genetic algorithms do not use gradients or Hessians. Consequently, they are applicable to a much wider class of optimization problems. A genetic algorithm is a probabilistic search technique that has its roots in the principles of genetics. The beginnings of genetic algorithms is credited to John Holland, who developed the basic ideas in the late 1960s and early 1970s. Since its conception, genetic algorithms have been used widely as a tool in computer programming and artificial intelligence (e.g., [42], [58], and [68]), optimization (e.g., [24], [48], and [92]), neural network training (e.g., [59]), and many other areas. Suppose that we wish to solve an optimization problem of the form maximize subject to /(#) x 6 fi. The underlying idea of genetic algorithms applied to the above problem is as follows. We start with an initial set of points in fi, denoted P(0). We call P(0) the initial population. We then evaluate the objective function at points in P(0). Based on this evaluation, we create a new set of points P(l). The creation of P(l) involves certain operations on points in P(0), called crossover and mutation, to be discussed later. We repeat the above procedure iteratively, generating populations P(2), P(3),..., until an appropriate stopping criterion is reached. The purpose of the crossover and 237 238 GENETIC ALGORITHMS mutation operations is to create a new population with an average objective function value that is higher than the previous population. To summarize, the genetic algorithm iteratively performs the operations of crossover and mutation on each population to produce a new population until a chosen termination criterion is met. The terminology used in describing genetic algorithms is adopted from genetics. To proceed with describing the details of the algorithm, we need the additional ideas and terms described below. 14.1.1 Chromosomes and Representation Schemes First, we point out that, in fact, genetic algorithms do not work directly with points in the set O, but rather with an encoding of the points in O. Specifically, we need first to map J7 onto a set consisting of strings of symbols, all of equal length. These strings are called chromosomes. Each chromosome consists of elements from a chosen set of symbols, called the alphabet. For example, a common alphabet is the set (0,1}, in which case the chromosomes are simply binary strings. We denote by L the length of chromosomes (i.e., the number of symbols in the strings). To each chromosome there corresponds a value of the objective function, referred to as the fitness of the chromosome. For each chromosome x, we write f ( x ) for its fitness. Note that, for convenience, we use / to denote both the original objective function as well as the fitness measure on the set of chromosomes. The choice of chromosome length, alphabet, and encoding (i.e., the mapping from fj onto the set of chromosomes), is called the representation scheme for the problem. Identification of an appropriate representation scheme is the first step in using genetic algorithms to solve a given optimization problem. Once a suitable representation scheme has been chosen, the next phase is to initialize the first population P(0) of chromosomes. This is usually done by a random selection of a set of chromosomes. After we form the initial population of chromosomes, we then apply the operations of crossover and mutation on the population. During each iteration k of the process, we evaluate the fitness f(x^) of each member x^ of the population P(k). After the fitness of the whole population has been evaluated, we then form a new population P(k + 1) in two stages. 14.1.2 Selection and Evolution In the first stage, we apply an operation called selection, where we form a set M(fc) with the same number of elements as P(k). This number is called the population size, which we denote by N. The set M(k], called the mating pool, is formed from P(k) using a random procedure as follows: each point m^ in M(k] is equal to XW m P(k) with probability where BASIC DESCRIPTION 239 and the sum is taken over the whole of P(k). In other words, we select chromosomes into the mating pool with probabilities proportional to their fitness. The above selection scheme is also called the roulette-wheel scheme, for the following reason. Imagine a roulette wheel in which each slot is assigned to a chromosome in P(k); some chromosomes may be assigned multiple slots. The number of slots associated with each chromosome is in proportion to its fitness. We then spin the roulette wheel and select (for inclusion in M(k}) the chromosome on whose slot the ball comes to rest. This procedure is repeated TV times, so that the mating pool M(k) contains N chromosomes. An alternative selection scheme is the tournament scheme, which proceeds as follows. First, we select a pair of chromosomes at random from P(k}. We then compare the fitness values of these two chromosomes, and place the fitter of the two into M(k). We repeat this operation until the mating pool M(k] contains N chromosomes. The second stage is called evolution: in this stage, we apply the crossover and mutation operations. The crossover operation takes a pair of chromosomes, called the parents, and gives a pair of offspring chromosomes. The operation involves exchanging substrings of the two parent chromosomes, described below. Pairs of parents for crossover are chosen from the mating pool randomly, such that the probability that a chromosome is chosen for crossover is pc. We assume that whether a given chromosome is chosen or not is independent of whether or not any other chromosome is chosen for crossover. We can pick parents for crossover in several ways. For example, we may randomly choose two chromosomes from the mating pool as parents. In this case, if N is the number of chromosomes in the mating pool, then pc = 1/N. Similarly, if we randomly pick Ik chromosomes from the mating pool (where k < N/2), forming k pairs of parents, we have pc = 2k/N. In the above two examples, the number of pairs of parents is fixed and the value of pc is dependent on this number. Yet another way of choosing parents is as follows: given a value of pc, we pick a random number of pairs of parents such that the average number of pairs is pcN/1. Once the parents for crossover have been determined, we apply the crossover operation to the parents. There are many types of possible crossover operations. The simplest crossover operation is the one-point crossover. In this operation, we first choose a number randomly between 1 and L — 1 according to a uniform distribution, where L is the length of chromosomes. We refer to this number as the crossing site. Crossover then involves exchanging substrings of the parents to the left of the crossing site, as illustrated in Figure 14.1 and in the following example. Example 14.1 Suppose that we have chromosomes of length L = 6 over the binary alphabet {0,1}. Consider the pair of parents 000000 and 111111. Suppose that the crossing site is 4. Then, the crossover operation applied to the above parent chromosomes yields the two offspring 000011 and 111100. We can also have crossover operations with multiple crossing sites, as illustrated in Figure 14.2 and in the following example. 240 GENETIC ALGORITHMS Figure 14.2 Illustration of two-point crossover operation Example 14.2 Consider two chromosomes, 000000000 and 111111111, of length L = 9. Suppose that we have two crossing sites, at 3 and 7. Then, the crossover operation applied to the above parent chromosomes yields the two offspring 000111100 and 111000011. After the crossover operation, we replace the parents in the mating pool by their offspring. The mating pool has therefore been modified, but still maintains the same number of elements. Next, we apply the mutation operation. The mutation operation takes each chromosome from the mating pool and randomly changes each symbol of the chromosome with a given probability pm- In the case of the binary alphabet, this change corresponds to complementing the corresponding bits; that is, we replace each bit with probability pm from 0 to 1, or vice versa. If the alphabet contains more than two symbols, then the change involves randomly substituting the symbol with another symbol from the alphabet. Typically, the value of pm is very small (e.g., 0.01), so that only a few chromosomes will undergo a change due to mutation, and of those that are affected, only a few of the symbols are modified. Therefore, the mutation operation plays only a minor role in the genetic algorithm relative to the crossover operation. After applying the crossover and mutation operations to the mating pool M(k), we obtain the new population P(k + 1). We then repeat the procedure of evaluation, selection, and evolution, iteratively. We summarize the genetic algorithm as follows. BASIC DESCRIPTION 241 Genetic Algorithm 1. Set k := 0; form initial population F(0); 2. Evaluate P(k); 3. If stopping criterion satisfied, then stop; 4. Select M(k) from P(fc); 5. Evolve M(fc) to form P(fc + 1); 6. Set A; := k + 1, go to step 2. A flow chart illustrating the above algorithm is shown in Figure 14.3 Figure 14.3 Flow chart for the genetic algorithm During the execution of the genetic algorithm, we keep track of the best-so-far chromosome; that is, the chromosome with the highest fitness of all the chromosomes 242 GENETIC ALGORITHMS evaluated. After each iteration, the best-so-far chromosome serves as the candidate for the solution to the original problem. Indeed, we may even copy the best-sofar chromosome into each new population, a practice referred to as elitism. The elitist strategy may result in domination of the population by "super chromosomes." However, practical experience suggests that elitism often improves the performance of the algorithm. The stopping criterion can be implemented in a number of ways. For example, a simple stopping criterion is to stop after a prespecified number of iterations. Another possible criterion is to stop when the fitness for the best-so-far chromosome does not change significantly from iteration to iteration. The genetic algorithm differs from the algorithms discussed in previous chapters in several respects: 1. It works with an encoding of the feasible set rather than the set itself; 2. It searches from a set of points rather than a single point at each iteration; 3. It does not use derivatives of the objective function; 4. It uses operations that are random within each iteration. Application of the genetic algorithm to an optimization problem is illustrated in the following example. Example 14.3 Consider the MATLAB "peaks" function / : R2 ->• E given by (see also [48, pp. 178-180] for an example involving the same function). We wish to maximize / over the set fi = {[x,y]T 6 E2 : — 3 < x,y < 3}. A plot of the objective function / over the feasible set S7 is shown in Figure 14.4. Using the MATLAB function fminunc (from the Optimization Toolbox), we found the optimal point to be [-0.0093,1.5814]T, with objective function value 8.1062. To apply the genetic algorithm to solve the above optimization problem, we use a simple binary representation scheme with length L = 32, where the first 16 bits of each chromosome encode the x component, whereas the remaining 16 bits encode the y component. Recall that x and y take values in the interval [—3,3]. We first map the interval [—3,3] onto the interval [0,216 — 1], via a simple translation and scaling. The integers in the interval [0,216 — 1] are then expressed as binary 16 bit strings. This defines the encoding of each component x and y. The chromosome is obtained by juxtaposing the two 8 bit strings. For example, the point [x, y]T = [—1,3]T is encoded as (see Exercise 14.1 for a simple algorithm for converting from decimal into binary) Using a population size of 20, we apply 50 iterations of the genetic algorithm on the above problem. We used parameter values of pc — 0.75 and pm = 0.0075. ANALYSIS OF GENETIC ALGORITHMS 243 Figure 14.4 Plot of / for Example 14.3 Figure 14.5 shows plots of the best, average, and worst objective function values in the population for every iteration (generation) of the algorithm. The best-so-far solution obtained at the end of the 50 iterations is [0.0615,1.5827]T, with objective function value 8.1013. Note that this solution and objective function value are very close to those obtained using MATLAB. 14.2 ANALYSIS OF GENETIC ALGORITHMS In this section, we use heuristic arguments to describe why genetic algorithms work. As pointed out before, the genetic algorithm was motivated by ideas from natural genetics [42]. Specifically, the notion of "survival of the fittest" plays a central role. The mechanisms used in the genetic algorithm mimic this principle. We start with a population of chromosomes, and selectively pick the fittest ones for reproduction. From these selected chromosomes, we form the new generation by combining information encoded in them. In this way, the goal is to ensure that the fittest members of the population survive, and their information content is preserved and combined to produce even better offspring. To further analyze the genetic algorithm in a more quantitative fashion, we need to define a few terms. For convenience, we only consider chromosomes over the binary alphabet. We introduce the notion of a schema (plural: schemata) as a set of chromosomes with certain common features. Specifically, a schema is a set of chromosomes that contain Is and Os in particular locations. We represent a schema 244 GENETIC ALGORITHMS Figure 14.5 The best, average, and worst objective function values in the population for every iteration (generation) of the genetic algorithm in Example 14.3 using a string notation over an extended alphabet {0,1,*}. For example, the notation 1*01 represents the schema and the notation 0 * 101* represents the schema In the schema notation, the numbers 0 and 1 denote the fixed binary values in the chromosomes that belong to the schema. The symbol *, meaning "don't care", matches either 0 or 1 at the positions it occupies. Thus, a schema describes a set of chromosomes that have certain specified similarities. A chromosome belongs to a particular schema if for all positions j = 1,..., L the symbol found in the j th position of the chromosome matches the symbol found in the j th position of the schema, with the understanding that any symbol matches *. Note that if a schema has r "don't care" symbols, then it contains 2r chromosomes. Moreover, any chromosome of length L belongs to 2L schemata. Given a schema that represents good solutions to our optimization problem, we would like the number of matching chromosomes in the population P(k) to grow as k increases. This growth is affected by several factors, which we analyze in the following discussion. We assume throughout that we are using the roulette-wheel selection method. The first key idea in explaining why the genetic algorithm works is the observation that if a schema has chromosomes with better-than-average fitness, then the expected ANALYSIS OF GENETIC ALGORITHMS 245 (mean) number of chromosomes matching this schema in the mating pool M(k) is larger than the number of chromosomes matching this schema in the population P(k). To quantify this assertion, we need some additional notation. Let H be a given schema, and let e(H, k) be the number of chromosomes in P(k) that match H; that is, e(H, k} is the number of elements in the set P(k) n H. Let f ( H , k) be the average fitness of chromosomes in P(k) that match schema H. This means that if H n P(k) = {xi,..., xe(H>k)}, then Let N be the number of chromosomes in the population, and F(k) be the sum of the fitness values of chromosomes in P(k), as before. Denote by F(k) the average fitness of chromosomes in the population; that is, Finally, let m(H, k} be the number of chromosomes in M(k] that match H, in other words, the number of elements in the set M(k) C\ H. Lemma 14.1 Let H be a given schema, and M (H, k) the expected value ofm(H, k) given P(k). Then, Proof. Let P(k) D H — {xi,..., xe(H,k)}' In me remainder of the proof, the term "expected" should be taken to mean "expected, given P(k)." For each element fc m ( ) £ M(k) and each i = 1,..., e(H, k), the probability that ra^ = Xi is given by f ( x i } / F ( k } . Thus, the expected number of chromosomes in M(k] equal to x^ is Hence, the expected number of chromosomes in P(k] n H that are selected into M(k) is Because any chromosome in M(k] is also a chromosome in P(k), the chromosomes in M(k) n H are simply those in P(k) n H that are selected into M(k}. Hence, 246 GENETIC ALGORITHMS The above lemma quantifies our assertion that if a schema H has chromosomes with better than average fitness (i.e., f ( H , k ) / F ( k ) > 1), then the expected number of chromosomes matching H in the mating pool M(k) is larger than the number of chromosomes matching H in the population P(k). We now analyze the effect of the evolution operations on the chromosomes in the mating pool. For this, we need to introduce two parameters that are useful in the characterization of a schema, namely, its order and length. The order o(S) of a schema 5 is the number of fixed symbols (non-* symbols) in its representation (the notation o(S) is standard in the literature on genetic algorithms, and should not be confused with the "little-oh" symbol defined in Section 5.6). If the length of chromosomes in 5 is L, then o(5) is L minus the number of * symbols in 5. For example, whereas The length l(S) of a schema S is the distance between the first and last fixed symbols (i.e., the difference between the positions of the rightmost fixed symbol and the leftmost fixed symbol). For example, whereas Note that for a schema 5 with chromosomes of length L, the order o(S] is a number between 0 and L, and the length l(S) is a number between 0 in L — 1. The order of a schema with all * symbols is 0; its length is also 0. The order of a schema containing only a single element (i.e., its representation has no * symbols) is L, e.g., o(1011) = 4 — 0 = 4. The length of a schema with fixed symbols in its first and last positions is L — 1, e.g., /(O * *1) = 4 — 1 = 3. We first consider the effect of the crossover operation on the mating pool. The basic observation in the following lemma is that given a chromosome in M(k) n H, the probability that it leaves H after crossover is bounded above by a quantity that is proportional to pc and l(H). Lemma 14.2 Given a chromosome in M(k) H H, the probability that it is chosen for crossover and neither of its offspring is in H is bounded above by Proof. Consider a given chromosome in M(k) fl H. The probability that it is chosen for crossover is pc. If neither of its offspring is in H, then the crossover point must be between the corresponding first and last fixed symbols of H. The probability of ANALYSIS OF GENETIC ALGORITHMS 247 this is l(H)/(L — 1). Hence, the probability that the given chromosome is chosen for crossover and neither of its offspring is in H is bounded above by From the above lemma, we conclude that given a chromosome in M(k) n H, the probability that either it is not selected for crossover, or at least one of its offspring is in H after the crossover operation, is bounded below by Note that if a chromosome in H is chosen for crossover, and the other parent chromosome is also in H, then both offspring are automatically in H (see Exercise 14.2). Hence, for each chromosome in M(k) n H, there is a certain probability that it will result in an associated chromosome in H (either itself or one of its offspring) after going through crossover (including selection for crossover), and that probability is bounded below by the above expression. We next consider the effect of the mutation operation on the mating pool M(k}. Lemma 14.3 Given a chromosome in M(k) D H, the probability that it remains in H after the mutation operation is given by Proof. Given a chromosome in M(k) n H, it remains in H after the mutation operation if and only if none of the symbols in this chromosome that correspond to fixed symbols in H is changed by the mutation operation. The probability of this event is (1 -p m ) o(//) . Note that if pm is small, the expression (1 — pm)°^ above is approximately equal to The following theorem combines the results of the preceding lemmas. Theorem 14.1 Let H be a given schema, and £(H, k + 1) the expected value of e(H, k + l) given P(k). Then, 248 GENETIC ALGORITHMS Proof. Consider a given chromosome in M(k) r\H. If, after the evolution operations, it has a resulting chromosome that is in H, then that chromosome is in P(k + l)nH. By Lemmas 14.2 and 14.3, the probability of this event is bounded below by Therefore, because each chromosome in M(k] fl H results in a chromosome in P(k + 1) D H with a probability bounded below by the above expression, the expected value of e(H, k + 1) given M(k] is bounded below by Taking the expectation given P(k), we get Finally, using Lemma 14.1, we arrive at the desired result. The above theorem indicates how the number of chromosomes in a given schema changes from one population to the next. Three factors influence this change, reflected by the three terms on the right-hand side of inequality in the above theorem, namely, 1 - pcl(H)/(L - 1), (1 - pm}o(H\ and f ( H , k)/F(k). Note that the larger the values of these terms, the higher the expected number of matches of the schema H in the next population. The effect of each term is summarized as follows: • The term f ( H , k)/F(k) reflects the role of average fitness of the given schema H—the higher the average fitness, the higher the expected number of matches in the next population. • The term 1 — pcl(H)/(L — 1) reflects the effect of crossover—the smaller the term pcl(H}/(L — 1), the higher the expected number of matches in the next population. • The term (1 — pm)°(H^ reflects the effect of mutation—the larger the term, the higher the expected number of matches in the next population. In summary, we see that a schema that is short, low order, and has above average fitness will have on average an increasing number of its representatives in the population from iteration to iteration. Observe that the encoding is relevant to the performance of the algorithm. Specifically, a good encoding is one that results in high-fitness schemata having small lengths and orders. 14.3 REAL-NUMBER GENETIC ALGORITHMS The genetic algorithms described thus far operate on binary strings, representing elements of the feasible set fi. Binary encodings allow us to use the schema theory, REAL-NUMBER GENETIC ALGORITHMS 249 described in the previous section, to analyze genetic algorithms. However, there are some disadvantages to operating on binary strings. To see this, let g : {0,1} L —> fi represent the binary "decoding" function; that is, if x is a binary chromosome, g(x) € fi is the point in the feasible set fi C W1 whose encoding is x. Therefore, the objective function being maximized by the genetic algorithm is not / itself but rather the composition of / and the decoding function g. In other words, the optimization problem being solved by the genetic algorithm is This optimization problem may be more complex than the original optimization problem. For example, it may have extra maximizers, making the search for a global maximizer more difficult. The above motivates a consideration of genetic algorithms that operate directly on the original optimization problem. In other words, we wish to implement a genetic algorithm that operates directly on E n . The steps of this algorithm will be the same as before (see Figure 14.3), except that the elements of the population are points in the feasible set fl, rather than binary strings. We will need to define appropriate crossover and mutation operations for this case. For crossover, we have several options. The simplest is to use averaging: for a pair of parents x and y, the offspring is z = (x + j/)/2 (this type of crossover operation is used, e.g., in [75]). This offspring can then replace one of the parents. Alternatively, we may produce two offspring as follows: z\ = (x + y)/2 + Wi and z2 — (x + y)/2 -I- io2, where w\ and w<2 are two randomly generated vectors (with zero mean). If either offspring lies outside fi, we have to bring the offspring back into fi, using for example a projection (see Section 22.2). A third option for crossover is to take random convex combinations of the parents. Specifically, given a pair of parents x and y, we generate a random number a G (0,1), and then produce two offspring z\ = ax + (1 — a)y and z2 — (1 — oc)x + ay. This method of crossover ensures that the offspring are always in the feasible set, provided the feasible set is convex. A fourth option is to perturb the above two points by some random amount: z\ = ax + (1 — a)y + w\ and zi — (\.— a)x + ay + w?, where w\ and w? are two randomly generated vectors (with zero mean). In this case, we have to check for feasibility of the offspring, and use projections if needed. For mutation, a simple implementation is to add a random vector to the chromosome. Specifically, given a chromosome x, we produce its mutation as x' = x + w where w is a random vector with zero mean. This mutation operation is also called a "real number creep" (see, e.g., [75]). As before, we have to ensure that the mutated chromosome is feasible. If not, we may use a projection. An alternative method for mutation is to replace the chosen chromosome with a random convex combination of the chromosome with a random point in the feasible set; that is, we generate a random number a 6 (0,1) and a random point w € ft, and set x1 — ax + (1 — a)w. Provided the feasible set is convex, the mutated chromosom will always be feasible. 250 GENETIC ALGORITHMS Example 14.4 Consider again the function / : E2 -> R from Example 14.3. We apply a real-number genetic algorithm to find a maximizer of /, using a crossover operation of the fourth type described above, and a mutation operation of the second type above. With a population size of 20, we apply 50 iterations of the genetic algorithm. As before, we used parameter values of pc = 0.75 and pm = 0.0075. Figure 14.6 shows plots of the best, average, and worst objective function values in the population for every iteration (generation) of the algorithm. The best-so-far solution obtained at the end of the 50 iterations is [—0.0096,1.5845]T, with objective function value 8.1061, which is close with the result of Example 14.3. Figure 14.6 The best, average, and worst objective function values in the population for every iteration (generation) of the real-number genetic algorithm in Example 14.4 EXERCISES 14.1 This problem has four parts. a. Let (/)io be the decimal representation for a given integer, and let amam-i • • • ao be its binary representation; that is, each a^ is either 0 or 1, and Verify that the following is true: EXERCISES 251 b. The second expression in part a suggests a simple algorithm for converting from decimal representation to equivalent binary representation, as follows. Dividing both sides of the expression in part a by 2, the remainder is OQ. Subsequent divisions by two yield the remaining bits 0 1 , 0 2 , . . . , a m as remainders. Use this algorithm to find the binary representation of the integer (/)io = 1995. c. Let (-F)io be the decimal representation for a given number in [0,1], and let O.a_io_ 2 • • • be its binary representation, that is, If the above expression is multiplied by 2, the integer part of the product is a_i. Subsequent multiplications yield the remaining bits a_ 2 , a_3, — As in part b, the above gives a simple algorithm for converting from a decimal fraction to its binary representations. Use this algorithm to find the binary representation of (-F)io = 0.7265625. Note that we can combine the algorithms from parts b and c to convert an arbitrary positive decimal representation into its equivalent binary representation. Specifically, we apply the algorithms in parts b and c separately to the integer and fraction parts of the given decimal number, respectively. d. The procedure in part c may yield an infinitely long binary representation. If this is the case, we need to determine the number of bits required to keep at least the same accuracy as the given decimal number. If we have a d-digit decimal fraction, then the number of bits b in the binary representation must satisfy 2~ b < W~d, which yields b > 3.32d. Convert 19.95 to its equivalent binary representation with at least the same degree of accuracy (i.e., to two decimal places). 14.2 Given two chromosomes in a schema H, suppose that we swap some (or all) of the symbols between them at corresponding positions. Show that the resulting two chromosomes are also in H. From this fact, we conclude that given two chromosomes in H, both offspring after the crossover operation are also in H. In other words, the crossover operation preserves membership in H. 14.3 Consider a two-point crossover scheme (see Example 14.2), described as follows. Given a pair of binary chromosomes of length L, we independently choose two random numbers, uniform over 1,..., L — 1. We call the two numbers c\ and c2, where c\ < c2. If GI = c2, we do not swap any symbols (i.e., leave the two given parent chromosomes unchanged). If c\ < c2, we interchange the (c\ + l)st through c2th bits in the given parent chromosomes. Prove the analog of Lemma 14.2 for this case, given below. 252 GENETIC ALGORITHMS Lemma: Given a chromosome in M(k] D H, the probability that it is chosen for crossover and neither of its offspring is in H is bounded above by Hint: Note that the two-point crossover operation is equivalent to a composition of two one-point crossover operations (i.e., doing two one-point crossover operations in succession). 14.4 State and prove the analog of Lemma 14.2 for an n-point crossover operation. Hint: See Exercise 14.3. 14.5 Implement the roulette-wheel selection scheme using MATLAB. Hint: Use the MATLAB functions sum, cumsum, and find. 14.6 Implement the crossover operation (one-point) using the MATLAB, assuming we are given two binary parent chromosomes. 14.7 Implement the mutation operation using the MATLAB function xor, assuming that the chromosomes in the mating pool are binary vectors. 14.8 Write a MATLAB routine to implement a genetic algorithm using a binary encoding. Test your implementation on the following functions: a. /(z) = -15sm2(2z) - (z - 2)2 + 160, |z| < 10. b. / ( x , y ) - 3 ( l - x ) 2 e - a ; 2 - ( y + 1 ) 2 - 1 0 ( f - x 3 - y 5 ) e -« a -y a _.«- ( ^> a -» a , N) \y\ < 3 (considered in Example 14.3). 14.9 Write a MATLAB routine to implement a real-number genetic algorithm. Test your implementation on the function f ( x ) = x\ sin(xi) + x^ sin(5x2) with the constraint set fJ = {x : 0 < xi < 10,4 < x-2 < 6}. Part III Linear Programming This page intentionally left blank 15 Introduction to Linear Programming 15.1 A BRIEF HISTORY OF LINEAR PROGRAMMING The goal of linear programming is to determine the values of decision variables that maximize or minimize a linear objective function, where the decision variables are subject to linear constraints. A linear programming problem is a special case of a general constrained optimization problem. In the general setting, the goal is to find a point that minimizes the objective function and at the same time satisfies the constraints. We refer to any point that satisfies the constraints as a feasible point. In a linear programming problem, the objective function is linear, and the set of feasible points is determined by a set of linear equations and/or inequalities. In this part, we study methods for solving linear programming problems. Linear programming methods provide a way of choosing the best feasible point among the many possible feasible points. In general, the number of feasible points is infinitely large. However, as we shall see, the solution to a linear programming problem can be found by searching through a particular finite number of feasible points, known as basic feasible solutions. Therefore, in principle, we can solve a linear programming problem simply by comparing the finite number of basic feasible solutions and finding one that minimizes or maximizes the objective function—we refer to this approach as the "brute-force approach." For most practical decision problems, even this finite number of basic feasible solutions is so large that the method of choosing the best solution by comparing them to each other is impractical. To get a feel for the amount of computation needed in a brute-force approach, consider the following example. Suppose that we have a small factory with 20 different machines producing 20 different parts. Assume that any of the machines can produce any part. We 255 256 INTRODUCTION TO LINEAR PROGRAMMING also assume that the time for producing each part on each machine is known. The problem then is to assign a part to each machine so that the overall production time is minimized. We see that there are 20! (20 factorial) possible assignments. The bruteforce approach to solving this assignment problem would involve writing down all the possible assignments and then choosing the best one by comparing them. Suppose that we have at our disposal a computer that takes 1 ^isec (10~6 seconds) to determine each assignment. Then, to find the best (optimal) assignment this computer would need 77,147 years (working 24 hours a day, 365 days a year) to find the best solution. An alternative approach to solving this problem is to use experienced planners to optimize this assignment problem. Such an approach relies on heuristics. Heuristics come close, but give suboptimal answers. Heuristics that do reasonably well, with an error of, say, 10%, may still not be good enough. For example, in a business that operates on large volumes and a small profit margin, a 10% error could mean the difference between loss and profit. Efficient methods for solving linear programming problems became available in the late 1930s. In 1939, Kantorovich presented a number of solutions to some problems related to production and transportation planning. During World War II, Koopmans contributed significantly to the solution of transportation problems. Kantorovich and Koopmans were awarded a Nobel Prize in economics in 1975 for their work on the theory of optimal allocation of resources. In 1947, Dantzig developed a new method for solving linear programs, known today as the simplex method (see [22] for Dantzig's own treatment of the algorithm). In the following chapters, we discuss the simplex method in detail. The simplex method is efficient and elegant. However, it has the undesirable property that, in the worst case, the number of steps (and hence total time) required to find a solution grows exponentially with the number of variables. Thus, the simplex method is said to have exponential worst-case complexity. This led to an interest in devising algorithms for solving linear programs that have polynomial complexity, that is, algorithms that find a solution in an amount of time that is bounded by a polynomial in the number of variables. Khachiyan, in 1979, was the first to devise such an algorithm. However, his algorithm gained more theoretical than practical interest. Then, in 1984, Karmarkar proposed a new linear programming algorithm that has polynomial complexity, and appears to solve some complicated, real-world problems of scheduling, routing and planning more efficiently than the simplex method. Karmarkar's work led to the development of many other non-simplex methods commonly referred to as interiorpoint methods. This approach is currently still an active research area. For more details on Karmarkar's and related algorithms, see [28], [38], [52], [86], and [89]. Some basic ideas illustrating Khachiyan's and Karmarkar's algorithms are presented in Chapter 18. SIMPLE EXAMPLES OF LINEAR PROGRAMS 15.2 257 SIMPLE EXAMPLES OF LINEAR PROGRAMS Formally, a linear program is an optimization problem of the form: where c 6 E n , b € R m , and A € R m x n . The vector inequality x > 0 means that each component of x is nonnegative. Several variations to the above problem are possible; for example, instead of minimizing, we can maximize, or the constraints may be in the form of inequalities, such as Ax > b, or Ax < b. We also refer to these variations as linear programs. In fact, as we shall see later, these variations can all be rewritten into the standard form shown above. The purpose of this section is to give some simple examples of linear programming problems illustrating the importance and the various applications of linear programming methods. Example 15.1 This example is adapted from [88]. A manufacturer produces four different products Xi, Xi, X, and X±. There are three inputs to this production process: labor in man weeks, kilograms of raw material A, and boxes of raw material B. Each product has different input requirements. In determining each week's production schedule, the manufacturer cannot use more than the available amounts of manpower and the two raw materials. The relevant information is presented in Table 15.1. Every production decision must satisfy the restrictions on the availability of inputs. These constraints can be written using the data in Table 15.1. In particular, we have Because negative production levels are not meaningful, we must impose the following nonnegativity constraints on the production levels: Now, suppose that one unit of product X\ sells for 6, and X^ X^, and X± sell for 4, 7, and 5, respectively. Then, the total revenue for any production decision ( X l , X 2 , X 3 , X 4 ) IS The problem is then to maximize /, subject to the given constraints (the three inequalities and four nonnegativity constraints). Note that the above problem can be 258 INTRODUCTION TO LINEAR PROGRAMMING Table 15.1 Data for Example 15.1 Inputs Xi m a n weeks kilograms o f material A boxes of material B production levels 6 3 x\ Products X-2 X3 1 2 1 2 5 3 2 4 9 12 x2 x3 x4 Input Availabilities 2 0 100 75 written in the compact form: where I subject to the nutritional constraints SIMPLE EXAMPLES OF LINEAR PROGRAMS Table 15.2 Machine MI M2 M3 Total Data for Example 15.3 Production time (hours/unit) X\ X^ 1 1 2 4 259 Available time (hours) 1 3 1 5 8 18 14 and the nonnegativity constraints In the more compact vector notation, this problem becomes: where x is an n-dimensional column vector, that is, x = [xi,x2,... ,xn]T, CT is an n-dimensional row vector, A is an m x n matrix, and b is an m-dimensional column vector. We call the above problem the diet problem, and will return to it in Chapter 17. In the next example, we consider a linear programming problem that arises in manufacturing. Example 15.3 A manufacturer produces two different products X\ and X^ using three machines MI, M2, and M3. Each machine can be used only for a limited amount of time. Production times of each product on each machine are given in Table 15.2. The objective is to maximize the combined time of utilization of all three machines. Every production decision must satisfy the constraints on the available time. These restrictions can be written down using data from Table 15.2. In particular, we have 260 INTRODUCTION TO LINEAR PROGRAMMING where x\ and x2 denote the production levels. The combined production time of all three machines is Thus, the problem in compact notation has the form where In the following example, we discuss an application of linear programming in transportation. Example 15.4 A manufacturing company has plants in cities A, B, and C. The company produces and distributes its product to dealers in various cities. On a particular day, the company has 30 units of its product in A, 40 in B, and 30 in C. The company plans to ship 20 units to D, 20 to E, 25 to F, and 35 to G, following orders received from dealers. The transportation costs per unit of each product between the cities are given in Table 15.3. In the table, the quantities supplied and demanded appear at the right and along the bottom of the table. The quantities to be transported from the plants to different destinations are represented by the decision variables. This problem can be stated in the form: SIMPLE EXAMPLES OF LINEAR PROGRAMS Table 15.3 261 Data for Example 15.4 To From D E F G Supply A B C Demand 7 7 5 20 10 11 8 20 14 12 15 25 8 6 9 35 30 40 30 100 and In this problem, one of the constraint equations is redundant because it can be derived from the rest of the constraint equations. The mathematical formulation of the transportation problem is then in a linear programming form with twelve (3x4) decision variables and six (3 + 4 — 1 ) linearly independent constraint equations. Obviously, we also require nonnegativity of the decision variables, since a negative shipment is impossible and does not have any valid interpretation. Next, we give an example of a linear programming problem arising in electrical engineering. Example 15.5 This example is adapted from [72]. Figure 15.1 shows an electric circuit that is designed to use a 30 V source to charge 10 V, 6 V, and 20 V batteries connected in parallel. Physical constraints limit the currents I\, /2, Is, /4, and 1 to a maximum of 4 A, 3 A, 3 A, 2 A, and 2 A, respectively. In addition, the batteries must not be discharged, that is, the currents I\, /2, /3, /4, and /5 must not be negative. We wish to find the values of the currents I\,..., I§ such that the total power transferred to the batteries is maximized. The total power transferred to the batteries is the sum of the powers transferred to each battery, and is given by 10/2 + 6/4 + 20/s W. From the circuit in Figure 15.1, we observe that the currents satisfy the constraints I\ = I? + 1%, and /s = /4 + 1. Therefore, the problem can be posed as the following linear program: 262 INTRODUCTION TO LINEAR PROGRAMMING Figure 15.1 Battery charger circuit for Example 15.5 Figure 15.2 Wireless communication system in Example 15.6 Finally, we present an example from wireless communications. Example 15.6 Consider a wireless communication system as shown in Figure 15.2. There are n "mobile" users. For each i — 1,..., n, user i transmits a signal to the base station with power pi and an attenuation factor of hi (i.e., the actual received signal power at the base station from user i is hipi). When the base station is receiving from user i, the total received power from all other users is considered "interference" (i.e., the interference for user i is Z^i hjpj). For the communication with user i to be reliable, the signal-to-interference ratio must exceed a threshold 7^, where the "signal" is the received power for user i. We are interested in minimizing the total power transmitted by all the users subject to having reliable communications for all users. We can formulate the problem as a TWO-DIMENSIONAL LINEAR PROGRAMS 263 linear programming problem of the form We proceed as follows. The total power transmitted is p\ + • • • + pn. The signal-tointerference ratio for user i is Hence, the problem can be written as We can write the above as the linear programming problem In matrix form, we have For more examples of linear programming and their applications in a variety of engineering problems, we refer the reader to [1], [22], [23], [32], and [79]. For applications of linear programming to the design of control systems, see [21]. Linear programming also provides the basis for theoretical applications, as, for example, in matrix game theory (discussed in [13]). 15.3 TWO-DIMENSIONAL LINEAR PROGRAMS Many fundamental concepts of linear programming are easily illustrated in twodimensional space. Therefore, we first consider linear problems in R2 before discussing general linear programming problems. 264 INTRODUCTION TO LINEAR PROGRAMMING Consider the following linear program (adapted from [88]): where First, we note that the set of equations {CTX = x\ + 5x2 = /, / G ^} specifies a family of straight lines in 1R2. Each member of this family can be obtained by setting / equal to some real number. Thus, for example, x\ + 5x2 = —5, x\ + 5x2 = 0, and xi + 5x2 = 3 are three parallel lines belonging to the family. Now, suppose that we try to choose several values for xi and #2 and observe how large we can make /, while still satisfying the constraints on x\ and x^. We first try x\ = 1 and x2 = 3. This point satisfies the constraints. For this point, / = 16. If we now select xi = 0 and x2 = 5 then / = 25, and this point yields a larger value for / than does x = [1,3]T. There are infinitely many points [xi,X2J T satisfying the constraints. Therefore, we need a better method than "trial-and-error" to solve the problem. In the following sections, we develop a systematic approach that considerably simplifies the process of solving linear programming problems. In the case of the above example, we can easily solve the problem using geometric arguments. First let us sketch the constraints in E 2 . The region of feasible points (the set of points x satisfying the constraints Ax < b, x > 0) is depicted by the shaded region in Figure 15.3. Geometrically, maximizing CTX = x\ + 5x2 subject to the constraints can be thought of as finding the straight line / = x\ 4- 5x2 that intersects the shaded region and has the largest /. The coordinates of the point of intersection will then yield a maximum value of CTX. In our example, the point [0,5]T is the solution (see Figure 15.3). In some cases, there may be more than one point of intersection; all of them will yield the same value for the objective function CTX, and therefore any one of them is a solution. 15.4 CONVEX POLYHEDRA AND LINEAR PROGRAMMING The goal of linear programming is to minimize (or maximize) a linear objective function CONVEX POLYHEDRA AND LINEAR PROGRAMMING Figure 15.3 265 Geometric solution of a linear program in R2 subject to constraints that are represented by linear equalities and/or inequalities. For the time being, let us only consider constraints of the form Ax < b, x > 0. In this section, we discuss linear programs from a geometric point of view (for a review of geometric concepts used in the section, see Chapter 4). The set of points satisfying these constraints can be represented as the intersection of a finite number of closed half-spaces. Thus, the constraints define a convex polytope. We assume, for simplicity, that this polytope is nonempty and bounded. In other words, the equations of constraints define a polyhedron M in W1. Let H be a hyperplane of support of this polyhedron. If the dimension of M is less than n, then the set of all points common to the hyperplane H and the polyhedron M coincides with M. If the dimension of M is equal to n, then the set of all points common to the hyperplane H and the polyhedron M is a face of the polyhedron. If this face is (n — 1)-dimensional, then there exists only one hyperplane of support, namely, the carrier of this face. If the dimension of the face is less than n — 1, then there exists an infinite number of hyperplanes of support whose intersection with this polyhedron yields this face (see Figure 15.4). The goal of our linear programming problem is to maximize a linear objective function f ( x ] = CTX = c\x\ H h cnxn on the convex polyhedron M. Next, let H be the hyperplane defined by the equation Draw a hyperplane of support H to the polyhedron M, which is parallel to H and positioned in such a way that the vector c points in the direction of the halfspace that does not contain M (see Figure 15.5). The equation of the hyperplane H has the 266 INTRODUCTION TO LINEAR PROGRAMMING Figure 15.4 Hyperplanes of support at different boundary points of the polyhedron M Figure 15.5 Maximization of a linear function on the polyhedron M form and for all a; 6 M, we have CTX < (3. Denote by M the convex polyhedron that is the intersection of the hyperplane of support H with the polyhedron M. We now show that / is constant on M and that M is the set of all points in M for which / attains its maximum value. To this end, let y and z be two arbitrary points in M. This implies that both y and z belong to H. Hence, which means that / is constant on M. Let y be a point of M, and let a; be a point of M \ M, that is, x is a point of M that does not belong to M (see Figure 15.5). Then, which implies that STANDARD FORM LINEAR PROGRAMS Figure 15.6 267 Unique maximum point of / on the polyhedron M Thus, the values of / at the points of M that do not belong to M are smaller than the values at points of M. Hence, / achieves its maximum on M at points in M. It may happen that M contains only a single point, in which case / achieves its maximum at a unique point. This occurs when the the hyperplane of support passes through an extreme point of M (see Figure 15.6). 15.5 STANDARD FORM LINEAR PROGRAMS We refer to a linear program of the form as a linear program in standard form. Here A is an m x n matrix composed of real entries, m < n, rank A — m. Without loss of generality, we assume b > 0. If a component of 6 is negative, say the ith component, we multiply the zth constraint by — 1 to obtain a positive right-hand side. Theorems and solution techniques for linear programs are usually stated for problems in standard form. Other forms of linear programs can be converted to the standard form, as we now show. If a linear program is in the form then by introducing so-called surplus variables T/J, we can convert the original problem into the standard form 268 INTRODUCTION TO LINEAR PROGRAMMING In more compact notation, the above formulation can be represented as where Im is the m x m identity matrix. If, on the other hand, the constraints have the form then we introduce slack variables T/J to convert the constraints into the form where y is the vector of slack variables. Note that neither surplus nor slack variables contribute to the objective function CTX. At first glance, it may appear that the two problems and are different, in that the first problem refers to intersection of half-spaces in the n-dimensional space, whereas the second problem refers to an intersection of halfspaces and hyperplanes in the (n + m)-dimensional space. It turns out that both formulations are algebraically equivalent in the sense that a solution to one of the problems implies a solution to the other. To illustrate this equivalence, we consider the following examples. STANDARD FORM LINEAR PROGRAMS 269 Figure 15.7 Projection of the set C onto the x\-axis Example 15.7 Suppose that we are given the inequality constraint We convert this to an equality constraint by introducing a slack variable #2 > 0 to obtain Consider the sets C\ = {xi : x\ < 7} and C? = [x\ : x\ + x-2 — 7, x^ > 0}. Are the sets C\ and C^ equal? It is clear that indeed they are; in this example, we give a geometric interpretation for their equality. Consider a third set Cs — {[a;i,:r2]T : xi + X2 — 7, #2 > 0}. From Figure 15.7, we can see that the set 63 consists of all points on the line to the left and above the point of intersection of the line with the x\ axis. This set, being a subset of M 2 , is of course not the same set as the set C\ (a subset of K). However, we can project the set 63 onto the Xi-axis (see Figure 15.7). We can associate with each point x\ € C\ a point [a?i, 0]T on the orthogonal projection of 63 onto the #1-axis, and vice versa. Note that €-2 = {x\ : [xi,X2]T G 63} = C\. Example 15.8 Consider the inequality constraints where ai, 02, and b are positive numbers. Again, we introduce a slack variable £3 > 0 to get 270 INTRODUCTION TO LINEAR PROGRAMMING Figure 15.8 Projection of the set C onto the (x\, x2)-plane Define the sets We again see that €3 is not the same as C\. However, the orthogonal projection of Cz onto the (xi,x2)-plane allows us to associate the resulting set with the set C\. We associate the points [xi,x2,0]T resulting from the orthogonal projection of 63 onto the (£1,3:2)-plane with the points in C\ (see Figure 15.8). Note that C2 = {[xi,x2]T : [xi,x2,x3]T G C3} = Ci. Example 15.9 Suppose that we wish to maximize subject to the constraint where, for simplicity, we assume that each ajj > 0 and &i, b2 > 0. The set of feasible points is depicted in Figure 15.9. Let C\ C E2 be the set of points satisfying the above constraints. STANDARD FORM LINEAR PROGRAMS 271 Figure 15.9 The feasible set for Example 15.9 Introducing a slack variable, we convert the above constraints into standard form: Let C<2 C M3 be the set of points satisfying the above constraints. As illustrated in Figure 15.10, this set is a line segment (in E3). We now project €2 onto the (x\, £2)plane. The projected set consists of the points [xi, x%, 0]T, with [xi, Z2> %3]T £ Ci for some xj, > 0. In Figure 15.10 this set is marked by a heavy line in the (xi,xz)plane. We can associate the points on the projection with the corresponding points in the set C\. The following is an example of converting an optimization problem into a standard form linear programming problem. Example 15.10 Consider the following optimization problem To convert the problem into a standard form linear programming problem, we perform the following steps: 1. Change objective function to: minimize x\ — x2. 272 INTRODUCTION TO LINEAR PROGRAMMING Figure 15.10 Projection of Cs onto the (xi, x2)-plane 2. Substitutex\ = —x(. 3. Write |x2| < 2 as x2 < 2 and -x2 < 2. 4. Introduce slack variables £3 and £4, and convert the above inequalities to %2 + #3 = 2 and — £2 + x± = 1. 5. Write x^ = u — v, u, v > 0. Hence, we obtain 15.6 BASIC SOLUTIONS We have seen in Section 15.5 that any linear programming problem involving inequalities can be converted to standard form, that is, a problem involving linear equations BASIC SOLUTIONS 273 with nonnegative variables: where c G R n , A £ E m x n , b 6 R m , m < n, rankA = m, and 6 > 0. In the following discussion, we only consider linear programming problems in standard form. Consider the system of equalities where rank A = m. In dealing with this system of equations, we frequently need to consider a subset of columns of the matrix A. For convenience, we often reorder the columns of A so that the columns we are interested in appear first. Specifically, let B be a square matrix whose columns are m linearly independent columns of A. If necessary, we reorder the columns of A so that the columns in B appear first: A has the form A = [B, D], where D is an m x (n — m) matrix whose columns are the remaining columns of A. The matrix B is nonsingular, and thus we can solve the equation for the m-vector XB • The solution is XB = B lb. Let x be the n-vector whose first m components are equal to XB, and the remaining components are equal to zero, that is, x — [x^, 0T]T. Then, a; is a solution to Ax = b. Definition 15.1 We call [oTg, 0T]T a basic solution to Ax = b with respect to the basis B. We refer to the components of the vector XB as basic variables, and the columns of B as basic columns. If some of the basic variables of a basic solution are zero, then the basic solution is said to be a degenerate basic solution. A vector x satisfying Ax = b, x > 0, is said to be a feasible solution. A feasible solution that is also basic is called a basic feasible solution. If the basic feasible solution is a degenerate basic solution, then it is called a degenerate basic feasible solution. Note that in any basic feasible solution, XB > 0. Example 15.11 Consider the equation Ax = 6 with 274 INTRODUCTION TO LINEAR PROGRAMMING where Oj denotes the zth column of the matrix A. Then, x = [6,2,0,0] T is a basic feasible solution with respect to the basis B — [GI, 0,2], x = [0,0,0,2] T is a degenerate basic feasible solution with respect to the basis B = [03,04] (as well as [01,04] and [02,04]), x = [3,1,0,1]T is a feasible solution that is not basic, and x = [0,2, —6,0] T is a basic solution with respect to the basis B = [o2,03], but is not feasible. Example 15.12 As another example, consider the system of linear equations Ax = b, where We now find all solutions of this system. Note that every solution x of Ax = b has the form x = v + h, where v is a particular solution of Ax = b and h is a solution to Ax - 0. We form the augmented matrix [A, b] of the system: Using elementary row operations, we transform the above matrix into the form (see the next chapter) given by The corresponding system of equations is given by Solving for the leading unknowns x\ and x2, we obtain where #3 and x\ are arbitrary real numbers. If [#i, #2, £3, £4] is a solution, then we have BASIC SOLUTIONS 275 where we have substituted s and t for z3 and #4, respectively, to indicate that they are arbitrary real numbers. Using vector notation, we may write the above system of equations as Note that we have infinitely many solutions, parameterized by s,t € R For the choice s = t = 0 we obtain a particular solution to Ax = b, given by Any other solution has the form v + h, where The total number of possible basic solutions is at most To find basic solutions that are feasible, we check each of the basic solutions for feasibility. Our first candidate for a basic feasible solution is obtained by setting x3 = x± = 0, which corresponds to the basis B = [01,02]. Solving BXB = b, we obtain XB = [14/5, —11/5] , and hence x — [14/5, —11/5,0,0] is a basic solution that is not feasible. For our second candidate basic feasible solution, we set x? = x± = 0. We have the basis B = [ai,a 3 j. Solving BXB = b yields XB — [4/3,11/3] . Hence, x = [4/3,0,11/3,0] is a basic feasible solution. A third candidate basic feasible solution is obtained by setting x% = x = 0. However, the matrix r-r\ is singular. Therefore, B cannot be a basis, and we do not have a basic solution corresponding to B — [ai, 04]. We get our fourth candidate for a basic feasible solution by setting x\ = £4 =0. We have a basis B = [a-2, as], resulting in x = [0,2, 7,0]T, which is a basic feasible solution. 276 INTRODUCTION TO LINEAR PROGRAMMING Our fifth candidate for a basic feasible solution corresponds to setting x\ — x3 = 0, with the basis B = [a2, a4]. This results in x = [0, -11/5,0, -28/5]T, which is a basic solution that is not feasible. Finally, the sixth candidate for a basic feasible solution is obtained by setting Xl = x-2 - 0. This results in the basis B = [a3, a4], and x = [0,0,11/3, -8/3] , which is a basic solution but is not feasible. 15.7 PROPERTIES OF BASIC SOLUTIONS In this section, we discuss the importance of basic feasible solutions in solving linear programming (LP) problems. We first prove the fundamental theorem of LP, which states that when solving an LP problem, we need only consider basic feasible solutions. This is because the optimal value (if it exists) is always achieved at a basic feasible solution. We need the following definitions. Definition 15.2 Any vector x that yields the minimum value of the objective function CTX over the set of vectors satisfying the constraints Ax = b, x > 0, is said to be an optimal feasible solution. An optimal feasible solution that is basic is said to be an optimal basic feasible solution. Theorem 15.1 Fundamental Theorem ofLP. Consider a linear program in standard form. 1. If there exists a feasible solution, then there exists a basic feasible solution; 2. If there exists an optimal feasible solution, then there exists an optimal basic feasible solution. Proof. We first prove part 1. Suppose that x = [xi,..., xn]T is a feasible solution, and it has p positive components. Without loss of generality, we can assume that the first p components are positive, whereas the remaining components are zero. Then, in terms of the columns of A = [ai,..., a p , . . . , an] this solution satisfies There are now two cases to consider. Case 1: If ai, a?,..., ap are linearly independent, then p < m. If p = m, then the solution x is basic and the proof is completed. If, on the other hand, p < m, then, since rank A = m, we can find m—p columns of A from the remaining n — p PROPERTIES OF BASIC SOLUTIONS 277 columns so that the resulting set of m columns forms a basis. Hence, the solution x is a (degenerate) basic feasible solution corresponding to the above basis. Case 2: Assume that ai, 02,..., ap are linearly dependent. Then, there exist numbers T/J, i = 1, ...,/>, not all zero, such that We can assume that there exists at least one yi that is positive, for if all the yi are nonpositive, we can multiply the above equation by —1. Multiply the above equation by a scalar e and subtract the resulting equation from x\a\ -f #202 H 1~ xpap = b to obtain Let Then, for any e, we can write Let e = min{xi/yi : i = 1,..., p, yi > 0}. Then, the first p components o f x — ey are nonnegative, and at least one of these components is zero. We then have a feasible solution with at most p — 1 positive components. We can repeat this process until we get linearly independent columns of A, after which we are back to Case 1. Therefore, part 1 is proved. We now prove part 2. Suppose that x = [ x ± , . . . , xn]T is an optimal feasible solution, and only the first p variables are nonzero. Then, we have two cases to consider. The first case (Case 1) is exactly the same as in part 1. The second case (Case 2) follows the same arguments as in part 1, but in addition we must show that x — ey is optimal for any e. We do this by showing that cTy = 0. To this end, assume cTy ^ 0. Note that for E of sufficiently small magnitude (\e\ < mm{\Xi/yi\ : i = 1,... ,p, yi ^ 0}), the vector x — ey is feasible. We can choose e such that CTX > CTX — ecTy — CT(X — ey}. This contradicts the optimality o f x . We can now use the procedure from part 1 to obtain an optimal basic feasible solution from a given optimal feasible solution. Example 15.13 Consider the system of equations given in the previous example (Example 15.12). Find a nonbasic feasible solution to this system, and then use the method in the proof of the fundamental theorem of LP to find a basic feasible solution. Recall that solutions for the system given in the previous example have the form 275 INTRODUCTION TO LINEAR PROGRAMMING where s, t e E. Note that if s = 4 and t = 0 then is a nonbasic feasible solution. There are constants y^, i = 1,2,3, such that For example, let Note that where lfe = 1/3, then is a basic feasible solution. Observe that the fundamental theorem of LP reduces the task of solving a linear programming problem to that of searching over a finite number of basic feasible solutions. That is, we need only check basic feasible solutions for optimality. As mentioned before, the total number of basic solutions is at most Although this number is finite, it may be quite large. For example, if m — 5 and n — 50, then A GEOMETRIC VIEW OF LINEAR PROGRAMS 279 This is potentially the number of basic feasible solutions to be checked for optimality. Therefore, a more efficient method of solving linear programs is needed. To this end, in the next section, we analyze a geometric interpretation of the fundamental theorem of LP. This leads us to the simplex method for solving linear programs, which we discuss in the following chapter. 15.8 A GEOMETRIC VIEW OF LINEAR PROGRAMS Recall that a set 0 C En is said to be convex if, for every z, y 6 0 and every real number a, 0 < a < 1, the point ax + (1 — a)y € 0. In other words, a set is convex if, given two points in the set, every point on the line segment joining these two points is also a member of the set. Note that the set of points satisfying the constraints is convex. To see this, let x\ and x% satisfy the constraints, that is, Axi = b, X{ > 0, i = 1,2. Then, for all a e (0,1), A(axi + (l-a)x2} = aAxi + (l-a}Ax2 = b. Also, for a € (0,1), we have ax\ + (1 — a)x2 > 0. Recall that a point x in a convex set 0 is said to be an extreme point of 0 if there are no two distinct points x\ and x2 in 0 such that x — ax\ 4- (1 — a)x2 for some a G (0,1). In other words, an extreme point is a point that does not lie strictly within the line segment connecting two other points of the set. Therefore, if x is an extreme point, and x = ax\ + (1 — a)x2 for some x\, x2 e 0 and a € (0,1), then Xi = x<2. In the following theorem, we show that extreme points of the constraint set are equivalent to basic feasible solutions. Theorem 15.2 Let 1 be the convex set consisting of all feasible solutions, that is, all n-vectors x satisfying where A e R m x n , m < n. Then, x is an extreme point ofQ, if and only if x is a basic feasible solution to Ax = b, x > 0. Proof. =>: Suppose that x satisfies Ax = 6, x > 0, and it hasp positive components. As before, without loss of generality, we can assume that the first p components are positive, and the remaining components are zero. We have Let yi, i = 1,... ,p, be numbers such that We show that each yi — 0. To begin, multiply this equation by e > 0, then add and subtract the result from the equation x\a\ + x^a^ + (- xpap = b to get 280 INTRODUCTION TO LINEAR PROGRAMMING Because each Xi > 0, e > 0 can be chosen such that each X{ + eyi,Xi — eyi > 0 (e.g., £ = min{\Xi/yi\ : i = 1,... ,p, T/J ^ 0}). For such a choice of e, the vectors belong to fJ. Observe that x — \z\ 4-\Zi- Because x is an extreme point, z\ = z%. Hence, each yi — 0, which implies that the a,{ are linearly independent. <=: Let x G fl be a basic feasible solution. Let ?/, 2 € fi be such that for some a 6 (0,1). We show that y = z, and conclude that x is an extreme point. Because y, z > 0, and the last ra — m components of x are zero, the last n — m components of j/ and z are zero as well. Furthermore, since Ay = Az = b, and Combining the above two equations yields Because the columns a i , . . . ,a m are linearly independent, we have yi = Zi, i = 1,..., ra. Therefore, y = z, and hence x is an extreme point of fi. From the above two theorems, it follows that the set of extreme points of the constraint set fJ = {x : Ax — 6, x > 0} is equal to the set of basic feasible solutions to Ax = b, x > 0. Combining the above observation with the fundamental theorem of LP, we can see that in solving linear programming problems we need only examine the extreme points of the constraint set. Example 15.14 Consider the following LP problem: We introduce slack variables £3, x±, x to convert the above LP problem into standard form: A GEOMETRIC VIEW OF LINEAR PROGRAMS 281 In the remainder of the example, we consider only the problem in standard form. We can represent the above constraints as that is, x\a\ + x^a^ + x^a^ + x^a^ + £505 = 6, x > 0. Note that is a feasible solution. But, for this x, the value of the objective function is zero. We already know that the minimum of the objective function (if it exists) is achieved at an extreme point of the constraint set fi defined by the above constraints. The point [0,0,40,20,12] T is an extreme point of the set of feasible solutions, but it turns out that it does not minimize the objective function. Therefore, we need to seek the solution among the other extreme points. To do this, we move from one extreme point to an adjacent extreme point such that the value of the objective function decreases. Here, we define two extreme points to be adjacent if the corresponding basic columns differ by only one vector. We begin with x = [0,0,40,20,12]T. We have To select an adjacent extreme point, let us choose to include a\ as a basic column in the new basis. We need to remove either 03,04 or a from the old basis. We proceed as follows. We first express ai as a linear combination of the old basic columns: Multiplying both sides of this equation by e\ > 0, we get We now add the above equation to the equation Oai + Oa2 + 40as+20a4 + I2a = b. Collecting terms yields We want to choose e\ in such a way that each of the above coefficients is nonnegative, and at the same time one of the coefficients of either as, 04, or 0,5 becomes zero. Clearly e\ = 10 does the job. The result is The corresponding basic feasible solution (extreme point) is 282 INTRODUCTION TO LINEAR PROGRAMMING For this solution, the objective function value is —30, which is an improvement relative to the objective function value at the old extreme point. We now apply the same procedure as above to move to another adjacent extreme point, which hopefully further decreases the value of the objective function. This time, we choose a^ to enter the new basis. We have and Substituting £2 = 4, we obtain The solution is [8,4,12,0,0] T and the corresponding value of the objective function is -44, which is smaller than the value at the previous extreme point. To complete the example, we repeat the procedure once more. This time, we select 0,4 and express it as a combination of the vectors in the previous basis, ai, a-2, and 03: and hence The largest permissible value for £3 is 3. The corresponding basic feasible solution is [5, 7,0,3,0] T , with an objective function value of -50. The solution [5, 7,0,3,0] T turns out to be an optimal solution to our problem in standard form. Hence, the solution to the original problem is [5, 7]T, which we can easily obtain graphically (see Figure 15.11). The technique used in the above example for moving from one extreme point to an adjacent extreme point is also used in the simplex method for solving LP problems. The simplex method is essentially a refined method of performing these manipulations. EXERCISES 15.1 Convert the following linear programming problem to standard form: EXERCISES 283 Figure 15.11 A graphical solution to the LP problem in Example 15.14 15.2 Consider a discrete-time linear system Xk+\ = axk + buk, where Uk is the input at time k, Xk is the output at time A;, and a, b 6 E are system parameters. Given an initial condition x0 = 1, consider the problem of minimizing the output x where Cj 7^ 0,i — 1 , . . . , n. Convert the above problem into an equivalent standard form linear programming problem. Hint: Given any x G E, we can find unique numbers x+, x~ G M, x+, x~ > 0, such that x\= x+ + x~ and x = x+ — x~. 15.4 Does every linear programming problem in standard form have a nonempty feasible set? If yes, prove. If no, give a specific example. Does every linear programming problem in standard form (assuming a nonempty feasible set) have an optimal solution? If yes, prove. If no, give a specific example. 284 INTRODUCTION TO LINEAR PROGRAMMING 15.5 A cereal manufacturer wishes to produce 1000 pounds of a cereal that contains exactly 10% fiber, 2% fat, and 5% sugar (by weight). The cereal is to be produced by combining four items of raw food material in appropriate proportions. These four items have certain combinations of fiber, fat, and sugar content, and are available at various prices per pound, as shown below: Item 1 2 3 % fiber 3 %fat 6 % sugar 20 8 46 5 16 4 9 9 4 0 Price/lb. 4 1 2 4 2 The manufacturer wishes to find the amounts of each of the above items to be used to produce the cereal in the least expensive way. Formulate the problem as a linear programming problem. What can you say about the existence of a solution to this problem? 15.6 Suppose a wireless broadcast system has n transmitters. Transmitter j broadcasts at a power of PJ > 0. There are m locations where the broadcast is to be received. The "path gain" from transmitter j to location i is gij; that is, the power of the signal transmitted from transmitter j received at location i is g i j p j . The total received power at location i is the sum of the received powers from all the transmitters. Formulate the problem of finding the minimum sum of the transmit powers subject to the requirement that the received power at each location is at least P. 15.7 Consider the system of equations: Check if the system has basic solutions. If yes, find all basic solutions. 15.8 Solve the following linear program graphically: EXERCISES 285 15.9 The optimization toolbox in MATLAB provides a function, linprog, for solving linear programming problems. Use the function linprog to solve the problem in Example 15.5. Use the initial condition 0. This page intentionally left blank 16 Simplex Method 16.1 SOLVING LINEAR EQUATIONS USING ROW OPERATIONS The examples in the previous chapters illustrate that solving linear programs involves the solution of systems of linear simultaneous algebraic equations. In this section, we describe a method for solving a system of n linear equations in n unknowns, which we use in subsequent sections. The method uses elementary row operations and corresponding elementary matrices. For a discussion of numerical issues involved in solving a system of simultaneous linear algebraic equations, we refer the reader to [27] and [37]. An elementary row operation on a given matrix is an algebraic manipulation of the matrix that corresponds to one of the following: 1. Interchanging any two rows of the matrix; 2. Multiplying one of its rows by a real nonzero number; 3. Adding a scalar multiple of one row to another row. An elementary row operation on a matrix is equivalent to premultiplying the matrix by a corresponding elementary matrix, which we define next. Definition 16.1 We call E an elementary matrix of the first kind if E is obtained from the identity matrix / by interchanging any two of its rows. 257 288 SIMPLEX METHOD An elementary matrix of the first kind formed from / by interchanging the z'th and the jth rows has the form Note that E is invertible and E = E l. Definition 16.2 We call E an elementary matrix of the second kind if E is obtained from the identity matrix I by multiplying one of its rows by a real number a ^ 0. The elementary matrix of the second kind formed from J by multiplying the zth row by a ^ 0 has the form Note that E is invertible and Definition 16.3 We call E an elementary matrix of the third kind if E is obtained from the identity matrix / by adding f3 times one row to another row of /. SOLVING LINEAR EQUATIONS USING ROW OPERATIONS 289 An elementary matrix of the third kind obtained from / by adding ft times the j th row to the ith row has the form Observe that E is the identity matrix with an extra ft in the (z, j)th location. Note that E is invertible and Definition 16.4 An elementary row operation (of first, second, or third kind) on a given matrix is a premultiplication of the given matrix by a corresponding elementary matrix of the respective kind. Because elementary matrices are invertible, we can define the corresponding inverse elementary row operations. Consider a system of n linear equations in n unknowns x\, z 2 , • • • > %n with righthand sides 61,62, • • • > bn. In matrix form, this system may be written as where If A is invertible then Thus, the problem of solving the system of equations Ax — b, with A e E nxn invertible is related to the problem of computing A~l. We now show that A~l can be effectively computed using elementary row operations. In particular, we prove the following theorem. 290 SIMPLEX METHOD Theorem 16.1 Let A € E nxn be a given matrix. Then, Aisnonsingular(invertible) if and only if there exist elementary matrices Ei, i = !,...,£, such that Proof. =>: If A is nonsingular then its first column must have at least one nonzero element, say o/i ^ 0. Premultiplying A by an elementary matrix of the first kind of the form brings the nonzero element 0,1 to the location (1,1). Hence, in the matrix EI A, the element an ^ 0. Note that since EI is nonsingular, E\A is also nonsingular. Next, we premultiply E\ A by an elementary matrix of the second kind of the form The result of this operation is the matrix E^E\A with unity in the location (1,1). We next apply a sequence of elementary row operations of the third kind on the matrix E where r = 2 + n — 1 = n + 1. The result of these operations is the nonsingular matrix SOLVING LINEAR EQUATIONS USING ROW OPERATIONS 291 Because the matrix Er • • • E\ A is nonsingular, its submatrix must be nonsingular too. The above implies that there is a nonzero element a^, where 2 < j < n. Using an elementary operation of the first kind, we bring this element to the location (2,2). Thus, in the matrix the (2,2)th element is nonzero. Premultiplying the above matrix by an elementary matrix of the second kind yields the matrix in which the element in the location (2,2) is unity. As before, we premultiply this matrix by n — 1 elementary row operations of the third kind, to get a matrix of the form where s = r + 2 + n— 1 — 2(n + 1). The above matrix is nonsingular. Hence, there is a nonzero element 0^3, 3 < j < n. Proceeding in a similar fashion as before, we obtain where* = n(n 4- 1). <=: If there exist elementary matrices E\,..., Et such that then clearly A is invertible, with The above theorem suggests the following procedure for finding A We first form an augmented matrix 1 , if it exists. We then apply elementary row operations to [A, 7] so that A is transformed into /, that is, we obtain 292 SIMPLEX METHOD It then follows that Example 16.1 Let Find A"1. We form an augmented matrix and perform row operations on this matrix. Applying row operations of the first and third kinds yields We then interchange the second and fourth rows and apply elementary row operations of the second and third kinds to get Now multiply the third row by 1/2 and then perform a sequence of the elementary operations of the third kind to obtain Hence, SOLVING LINEAR EQUATIONS USING ROW OPERATIONS 293 We now return to the general problem of solving the system of equations Ax — b, A G E n x n . If A"1 exists then the solution is x = A"1 b. However, we do not need an explicit expression for A"1 to find the solution. Indeed, let A"1 be expressed as a product of elementary matrices Thus, and hence The above discussion leads to the following procedure for solving the system Ax = b. Form an augmented matrix Then, perform a sequence of row elementary operations on this augmented matrix until we obtain From the above, we have that if a; is a solution to Ax = b, then it is also a solution to EAx = Eb, where E = Et---Ei represents a sequence of elementary row operations. Because EA — I, and Eb = b, it follows that x — b is the solution to Ax = b, A G R n x n invertible. Suppose now that A G ]R mxn where m < n, and rank A — m. Then, A is not a square matrix. Clearly in this case the system of equations Ax = b has infinitely many solutions. Without loss of generality, we can assume that the first m columns of A are linearly independent. Then, if we perform a sequence of elementary row operations on the augmented matrix [A, b] as before, we obtain where D is an m x (n — m) matrix. Let x G Rn be a solution to Ax — b, and write x = [xj, zJ] T , where XB € E m , XD € R( n ~ m ) . Then, [I, D]x = b, which we can rewrite as XB + DXD = b, or XB = b — DXD- Note that for an arbitrary XD G R( n ~ m ), if XB = b — DXD, then the resulting vector x = [x'g, a^]T is a —T solution to Ax — b. In particular, [b ,0T]T is a solution to Ax — b. We often T refer to the basic solution [b , 0T]T as a particular solution to Ax = b. Note that [— (Dxo)Ti ^I)]7 is a solution to Ax = 0. Any solution to Ax — b has the form for some XD G R( n ~ m ). 294 SIMPLEX METHOD 16.2 THE CANONICAL AUGMENTED MATRIX Consider the system of simultaneous linear equations Ax = b, rank A = m. Using a sequence of elementary row operations, and reordering the variables if necessary, we transform the system Ax = b into the following "canonical form": The above can be represented in matrix notation as Formally, we define the canonical form as follows. Definition 16.5 A system Ax = b is said to be in canonical form if, among the n variables, there are m variables with the property that each appears in only one equation, and its coefficient in that equation is unity. A system is in canonical form if by some reordering of the equations and the variables it takes the form [/m, V m j n _ m ]x = T/ O . If a system of equations Ax = 6 is not in canonical form, we can transform the system into canonical form by a sequence of elementary row operations. The system in canonical form has the same solution as the original system Ax = b, and is called the canonical representation of the system with respect to the basis a i , . . . , am. There are, in general, many canonical representations of a given system, depending on which columns of A we transform into the columns of Im (i.e., basic columns). We call the augmented matrix [Jm, y m , n -m»2/o] °f the canonical representation of a given system the canonical augmented matrix of the system with respect to the basis a i , . . . , am. Of course, there may be many canonical augmented matrices of a given system, depending on which columns of A are chosen as basic columns. The variables corresponding to basic columns in a canonical representation of a given system are the basic variables, whereas the other variables are the nonbasic variables. In particular, in the canonical representation [7m, Y mjTl _ m ]x = yQ of a given system, the variables x\,..., xm are the basic variables, and the other variables are the nonbasic variables. Note that in general the basic variables need not be the first m variables. However, in the following discussion we assume, for convenience and without loss of generality, that the basic variables are indeed the first m variables in the system. Having done so, the corresponding basic solution is UPDATING THE AUGMENTED MATRIX 295 that is, Given a system of equations Ax = b, consider the associated canonical augmented matrix From the arguments above, we conclude that In other words, the entries in the last column of the canonical augmented matrix are the coordinates of the vector 6 with respect to the basis { a i , . . . , am}. The entries of all the other columns of the canonical augmented matrix have a similar interpretation. Specifically, the entries of the jth column of the canonical augmented matrix, j = 1 , . . . , n, are the coordinates of a,j with respect to the basis {ai,..., a m }. To see this, note that the first m columns of the augmented matrix form a basis (the standard basis). Every other vector in the augmented matrix can be expressed as a linear combination of these basis vectors by reading the coefficients down the corresponding column. Specifically, let a'^ i = 1 , . . . , n + 1, be the ith column in the above augmented matrix. Clearly, since a(,..., a'm form the standard basis, then for m < j < n, Let a,i, i = 1,... ,n be the ith column of A, and a n+ i = b. Now, a[ = Edi, i — l , . . . , n + l, where E is a nonsingular matrix that represents the elementary row operations needed to transform [A, b] into [Im,Ym>n-m,yo]- Therefore, for m < j < n, we also have 16.3 UPDATING THE AUGMENTED MATRIX To summarize the previous section, the canonical augmented matrix of a given system Ax — b specifies the representations of the columns a,, m < j < n, in terms of the 296 SIMPLEX METHOD basic columns a\,..., am. Thus, the elements of the jth column of the canonical augmented matrix are the coordinates of the vector dj with respect to the basis a\,..., a m . The coordinates of 6 are given in the last column. Suppose that we are given the canonical representation of a system Ax = b. We now consider the following question: If we replace a basic variable by a nonbasic variable, what is the new canonical representation corresponding to the new set of basic variables? Specifically, suppose that we wish to replace the basis vector ap, 1 < p < m, by the vector aq, m < q < n. Provided the first m vectors with ap replaced by aq are linearly independent, these vectors constitute a basis and every vector can be expressed as a linear combination of the new basic columns. Let us now find the coordinates of the vectors a\,..., an with respect to the new basis. These coordinates form the entries of the canonical augmented matrix of the system with respect to the new basis. In terms of the old basis, we can express aq as Note that the set of vectors {ai,... ,ap-i,aq,ap+i,... ,am} is linearly independent if and only if ypq ^ 0. Solving the above equation for ap, we get Recall that in terms of the old augmented matrix, any vector a,j,m < j < n, can be expressed as Combining the last two equations yields Denoting the entries of the new augmented matrix by y'^, we obtain Therefore, the entries of the new canonical augmented matrix can be obtained from the entries of the old canonical augmented matrix via the above formulas. The above equations are often called the pivot equations, and ypq the pivot element. We refer to the operation on a given matrix by the above formulas as pivoting about the (p, q)th element. Note that pivoting about the (p, q}th element results in a matrix whose gth column has all zero entries, except the (p, g)th entry, which is unity. The pivoting operation can be accomplished via a sequence of elementary row operations, as was done in the proof of Theorem 16.1. THE SIMPLEX ALGORITHM 297 16.4 THE SIMPLEX ALGORITHM The essence of the simplex algorithm is to move from one basic feasible solution to another until an optimal basic feasible solution is found. The canonical augmented matrix discussed in the previous section plays a central role in the simplex algorithm. Suppose that we are given the basic feasible solution or equivalently In the previous section, we saw how to update the canonical augmented matrix if we wish to replace a basic column by a nonbasic column, that is, if we wish to change from one basis to another by replacing a single basic column. The values of the basic variables in a basic solution corresponding to a given basis are given in the last column of the canonical augmented matrix with respect to that basis, that is, X{ = yio, i = 1,... ,m. Basic solutions are not necessarily feasible, that is, the values of the basic variables may be negative. In the simplex method, we want to move from one basic feasible solution to another. This means that we want to change basic columns in such a way that the last column of the canonical augmented matrix remains nonnegative. In this section, we discuss a systematic method for doing this. In the remainder of this chapter, we assume that every basic feasible solution of is a nondegenerate basic feasible solution. We make this assumption primarily for convenience—all arguments can be extended to include degeneracy. Let us start with the basic columns ai,..., am, and assume that the corresponding basic solution x = [yi 0 ,. - . , ymo, 0 , . . . , 0]T is feasible, that is, the entries yw, i = 1,..., m, in the last column of the canonical augmented matrix are positive. Suppose that we now decide to make the vector aq, q > m, a basic column. We first represent aq in terms of the current basis as Multiplying the above by e > 0 yields We combine the above equation with to get 298 SIMPLEX METHOD Note that the vector where e appears in the qth position, is a solution to Ax = b. If e = 0, then we obtain the old basic feasible solution. As e is increased from zero, the qth component of the above vector increases. All other entries of this vector will increase or decrease linearly as e is increased, depending on whether the corresponding yiq is negative or positive. For small enough e, we have a feasible but nonbasic solution. If any of the components decreases as e increases, we choose e to be the smallest value where one (or more) of the components vanishes. That is, With the above choice of e, we have a new basic feasible solution, with the vector aq replacing ap, where p corresponds to the minimizing index p — argmin^j/io/J/ig : yiq > 0}- So, we now have a new basis a i , . . . , a p _i, ap+\,..., am,aq. As we can see, ap was replaced by aq in the new basis. We say that aq enters the basis, and ap leaves the basis. If the minimum in mmi{yio/yiq : yiq > 0} is achieved by more than a single index, then the new solution is degenerate and any of the zero components can be regarded as the component corresponding to the basic column that leaves the basis. If none of the y^q are positive, then all components in the vector [yio - zyiq, • • • 5 y-mo - £ymq, 0, . . . , £ , . . . , 0]T increase (or remain constant) as e is increased, and no new basic feasible solution is obtained, no matter how large we make e. In this case, there are feasible solutions having arbitrarily large components, that is, the set fi of feasible solutions is unbounded. So far, we have discussed how to change from one basis to another, while preserving feasibility of the corresponding basic solution, assuming that we have already chosen a nonbasic column to enter the basis. To complete our development of the simplex method, we need to consider two more issues. The first issue concerns the choice of which nonbasic column should enter the basis. The second issue is to find a stopping criterion, that is, a way to determine if a basic feasible solution is optimal or not. To this end, suppose that we have found a basic feasible solution. The main idea of the simplex method is to move from one basic feasible solution (extreme point of the set £)) to another basic feasible solution at which the value of the objective function is smaller. Because there is only a finite number of extreme points of the feasible set, the optimal point will be reached after a finite number of steps. We already know how to move from one extreme point of the set fi to a neighboring one, by updating the canonical augmented matrix. To see which neighboring solution THE SIMPLEX ALGORITHM 299 we should move to and when to stop moving, consider the following basic feasible solution together with the corresponding canonical augmented matrix, having an identity matrix appearing in the first m columns. The value of the objective function for any solution x is For our basic solution, the value of the objective function is where To see how the value of the objective function changes when we move from one basic feasible solution to another, suppose that we choose the gth column, m < q < n, to enter the basis. To update the canonical augmented matrix, let p = a,rgmmi{yio/yiq : yiq > 0}, and e = ypQ/ypq. The new basic feasible solution is Note that the single e appears in the gth component, whereas the pth component is zero. Observe that we could have arrived at the above basic feasible solution by simply updating the canonical augmented matrix, using the pivot equations from the previous section: where the qth column enters the basis, and the pth column leaves (i.e., we pivot about the (p, g)th element). The values of the basic variables are entries in the last column of the updated canonical augmented matrix. The cost for this new basic feasible solution is 300 SIMPLEX METHOD where z0 = ciyw -\ 1- cmym0. Let Then, Thus, if then the objective function value at the new basic feasible solution above is smaller than the objective function value at the original solution (i.e., z < ZQ). Therefore, if cq — zq < 0, then the new basic feasible solution with aq entering the basis has a lower objective function value. On the other hand, if the given basic feasible solution is such that for all q = m + 1,... ,n, then we can show that this solution is in fact an optimal solution. To show this, recall from Section 16.1 that any solution to Ax = 6 can be represented as for some XD = [xm+i, • • • » x n ] T € K^n above, we obtain m ). Using similar manipulations as the where Zi = c\yu -\ h cmymi, i = m + 1,..., n. For a feasible solution, we have Xi > 0, i = 1,..., n. Therefore, if a — Zi > 0 for alH = m + 1,..., n, then any feasible solution x will have objective function value CTX no smaller than ZQ. Let Ti = 0 for i = 1,..., m, and r; = c^ — Zi for i = m + 1,..., n. We call r^ the zth reduced cost coefficient or relative cost coefficient. Note that the reduced cost coefficients corresponding to basic variables are zero. We summarize the above discussion with the following result. Theorem 16.2 A basic feasible solution is optimal if and only if the corresponding reduced cost coefficients are all nonnegative. At this point, we have all the necessary steps for the simplex algorithm: The Simplex Algorithm 1. Form a canonical augmented matrix corresponding to an initial basic feasible solution. 2. Calculate the reduced cost coefficients corresponding to the nonbasic variables. THE SIMPLEX ALGORITHM 301 3. If T J > 0 for all j, stop—the current basic feasible solution is optimal. 4. Select a q such that rq < 0. 5. If no yiq > 0, stop—the problem is unbounded; else, calculate p = digmm^yio/yiq : yiq > 0}. (If more than one index i minimizes yio/yiq, we let p be the smallest such index.) 6. Update the canonical augmented matrix by pivoting about the (p, q)th element. 7. Go to step 2. We state the following result for the simplex algorithm, which we have already proved in the foregoing discussion. Theorem 16.3 Suppose that we have an LP problem in standard form that has an optimal feasible solution. If the simplex method applied to this problem terminates, and the reduced cost coefficients in the last step are all nonnegative, then the resulting basic feasible solution is optimal. n Example 16.2 Consider the following linear program (see also Exercise 15.8): We solve this problem using the simplex method. Introducing slack variables, we transform the problem into standard form The starting canonical augmented matrix for this problem is Observe that the columns forming the identity matrix in the above canonical augmented matrix do not appear at the beginning. We could rearrange the augmented 302 SIMPLEX METHOD matrix so that the identity matrix would appear first. However, this is not essential from the computational point of view. The starting basic feasible solution to the problem in standard form is The columns 03,0,4, and a5 corresponding to #3, £4, and x are basic, and they form the identity matrix. The basis matrix is B — [03,0,4, a5] = J3. The value of the objective function corresponding to this basic feasible solution is z = 0. We next compute the reduced cost coefficients corresponding to the nonbasic variables x\ and x^. They are We would like now to move to an adjacent basic feasible solution for which the objective function value is lower. Naturally, if there are more than one such solution, it is desirable to move to the adjacent basic feasible solution with the lowest objective value. A common practice is to select the most negative value of r,- and then to bring the corresponding column into the basis (see Exercise 16.12 for an alternative rule for choosing the column to bring into the basis). In our example, we bring a^ into the basis, that is, we choose a-z as the new basic column. We then compute p = argmin{yio/2/i2 : yvi > 0} = 2. We now update the canonical augmented matrix by pivoting about the (2,2)th entry using the pivot equations: The resulting updated canonical augmented matrix is: Note that a2 entered the basis, and 04 left the basis. The corresponding basic feasible solution is x = [0,6,4,0,2] T . We now compute the reduced cost coefficients for the nonbasic columns: Because ri = — 2 < 0, the current solution is not optimal, and a lower objective function value can be obtained by bringing a\ into the basis. Proceeding to update MATRIX FORM OF THE SIMPLEX METHOD 303 the canonical augmented matrix by pivoting about the (3, l)th element, we obtain: The corresponding basic feasible solution is x = [2, 6, 2,0, 0]T. The reduced cost coefficients are Because no reduced cost coefficient is negative, the current basic feasible solution x = [2,6,2,0,0] T is optimal. The solution to the original problem is therefore #1 = 2, £2 — 6, and the objective function value is 34. We can see from the above example that we can solve a linear programming problem of any size using the simplex algorithm. To make the calculations in the algorithm more efficient, we discuss the matrix form of the simplex method in the next section. 16.5 MATRIX FORM OF THE SIMPLEX METHOD Consider a linear programming problem in standard form Let the first m columns of A be the basic columns. The columns form a square m x m nonsingular matrix B. The nonbasic columns of A form an m x (n — ra) matrix D. We correspondingly partition the cost vector as CT = [c^, c^\. Then, the original linear program can be represented as follows: If XD — 0, then the solution x — [x^,x^)]T = [x|j,0T]T is the basic feasible solution corresponding to the basis B. It is clear that for this to be a solution, we need XB = B~1b, that is, the basic feasible solution is 304 SIMPLEX METHOD The corresponding objective function value is If, on the other hand, XD i=- 0, then the solution x = [x^, x^}T is not basic. In this case, XB is given by and the corresponding objective function value is Defining we obtain The elements of the vector r^> are the reduced cost coefficients corresponding to the nonbasic variables. If I'D > 0> then the basic feasible solution corresponding to the basis B is optimal. If, on the other hand, a component of TD is negative, then the value of the objective function can be reduced by increasing a corresponding component of XD, that is, by changing the basis. We now use the above observations to develop a matrix form of the simplex method. To this end, we first add the cost coefficient vector CT to the bottom of the augmented matrix [A, b] as follows: We refer to the above matrix as the tableau of the given LP problem. The tableau contains all relevant information about the linear program. Suppose that we now apply elementary row operations to the tableau such that the top part of the tableau corresponding to the augmented matrix [A, b] is transformed into canonical form. This corresponds to premultiplying the tableau by the matrix The result of this operation is MATRIX FORM OF THE SIMPLEX METHOD 305 We now apply elementary row operations to the above tableau so that the entries of the last row corresponding to the basic columns become zero. Specifically, this corresponds to premultiplication of the above tableau by the matrix The result is We refer to the resulting tableau above as the canonical tableau corresponding to the basis B. Note that the first m entries of the last column of the canonical tableau, B~1b, are the values of the basic variables corresponding to the basis B. The entries of CD — CpB~lD in the last row are the reduced cost coefficients. The last element in the last row of the tableau, —CgB~lb, is the negative of the value of the objective function corresponding to the basic feasible solution. Given an LP problem, we can in general construct many different canonical tableaus, depending on which columns are basic. Suppose that we have a canonical tableau corresponding to a particular basis. Consider the task of computing the tableau corresponding to another basis that differs from the previous basis by a single vector. This can be accomplished by applying elementary row operations to the tableau in a similar fashion as discussed above. We refer to this operation as updating the canonical tableau. Note that updating of the tableau involves using exactly the same update equations as we used before in updating the canonical augmented matrix, namely, for i — 1,..., m 4- 1, where y^ and y| are the (i, j)th entries of the original and updated canonical tableaus, respectively. Working with the tableau is a convenient way of implementing the simplex algorithm, since updating the tableau immediately gives us both the values of the basic variables and the reduced cost coefficients. In addition, the (negative of the) value of the objective function can be found in the lower right-hand corner of the tableau. We illustrate the use of the tableau in the following example. Example 16.3 Consider the following linear programming problem: 306 SIMPLEX METHOD We first transform the problem into standard form so that the simplex method can be applied. To do this, we change the maximization to minimization by multiplying the objective function by —1. We then introduce two nonnegative slack variables, £3 and #4, and construct the tableau for the problem: Notice that the above tableau is already in canonical form with respect to the basis [03,04]. Hence, the last row contains the reduced cost coefficients, and the rightmost column contains the values of the basic variables. Because r\ — —7 is the most negative reduced cost coefficient, we bring ai into the basis. We then compute the ratios j/io/yii = 3/2 and 2/20/1/21 = 4. Because yio/j/n < 2/20/2/21, we get p — argmin^t/io/yii : yn > 0} = 1. We pivot about the (1, l)th element of the tableau to obtain In the second tableau above, only r^ is negative. Therefore, q = 2 (i.e., we bring 0.2 into the basis). Because we have p = 2. We thus pivot about the (2,2)th element of the second tableau to obtain the third tableau below: Because the last row of the third tableau above has no negative elements, we conclude that the basic feasible solution corresponding to the third tableau is optimal. Thus, xi = 8/7, x-2 = 5/7, x3 — 0, £4 = 0 is the solution to our LP in standard form, and the corresponding objective value is —86/7. The solution to the original problem is simply x\ — 8/7, x% = 5/7, and the corresponding objective value is 86/7. Degenerate basic feasible solutions may arise in the course of applying the simplex algorithm. In such a situation, the minimum ratio yio/yiq is 0. Therefore, even though the basis changes after we pivot about the (p, q)th element, the basic feasible solution does not (and remains degenerate). It is possible that if we start with a basis corresponding to a degenerate solution, several iterations of the simplex algorithm will involve the same degenerate solution, and eventually the original basis will occur. THE TWO-PHASE SIMPLEX METHOD 307 The whole process will then repeat indefinitely, leading to what is called cycling. Such a scenario, although rare in practice, is clearly undesirable. Fortunately, there is a simple rule for choosing q and p, due to Bland, that eliminates the cycling problem (see Exercise 16.12): 16.6 THE TWO-PHASE SIMPLEX METHOD The simplex method requires starting with a tableau for the problem in canonical form, that is, we need an initial basic feasible solution. A brute force approach to finding a starting basic feasible solution is to arbitrarily choose m basic columns and transform the tableau for the problem into canonical form. If the rightmost column is positive, then we have a legitimate (initial) basic feasible solution. Otherwise, we would have to pick another candidate basis. Potentially, this brute force procedure requires (^) tries, and is therefore not practical. Certain LP problems have obvious initial basic feasible solutions. For example, if we have constraints of the form Ax < b and we add m slack variables z\,..., zm, then the constraints in standard form become where z — \z\,..., zm]T. The obvious initial basic feasible solution is and the basic variables are the slack variables. This was the case in the example in the previous section. Suppose that we are given a linear program in standard form: In general, an initial basic feasible solution is not always apparent. We therefore need a systematic method for finding an initial basic feasible solution for general LP problems, so that the simplex method can be initialized. For this purpose, suppose that we are given an LP problem in standard form. Consider the following associated artificial problem: 308 SIMPLEX METHOD where y = [yi,..., ym]T- We call y the vector of artificial variables. Note that the artificial problem has an obvious initial basic feasible solution: We can therefore solve this problem by the simplex method. Proposition 16.1 The original LP problem has a basic feasible solution if and only if the associated artificial problem has an optimal feasible solution with objective Junction value zero. Proof. =>: If the original problem has a basic feasible solution x, then the vector [XT, 0T]T is a basic feasible solution to the artificial problem. Clearly, this solution has an objective function value of zero. This solution is therefore optimal for the artificial problem, since there can be no feasible solution with negative objective function value. <=: Suppose that the artificial problem has an optimal feasible solution with objective function value zero. Then, this solution must have the form [XT, 0T]T, where x > 0. Hence, we have Ax = b, and a; is a feasible solution to the original problem. By the fundamental theorem of LP, there also exists a basic feasible solution. Assume that the original LP problem has a basic feasible solution. Suppose that the simplex method applied to the associated artificial problem has terminated with an objective function value of zero. Then, as indicated in the proof above, the solution to the artificial problem will have all yi = 0, i = 1,... ,m. Hence, assuming nondegeneracy, the basic variables are in the first n components, that is, none of the artificial variables are basic. Therefore, the first n components form a basic feasible solution to the original problem. We can then use this basic feasible solution (resulting from the artificial problem) as the initial basic feasible solution for the original LP problem (after deleting the components corresponding to artificial variables). Thus, using artificial variables, we can attack a general linear programming problem by applying the two-phase simplex method. In phase I, we introduce artificial variables and the artificial objective function, and find a basic feasible solution. In phase II, we use the basic feasible solution resulting from phase I to initialize the simplex algorithm to solve the original LP problem. The two-phase simplex method is illustrated in Figure 16.1. Example 16.4 Consider the following linear programming problem: THE TWO-PHASE SIMPLEX METHOD 309 Figure 16,1 Illustration of the two-phase simplex method First, we express the problem in standard form by introducing surplus variables: For the above LP problem, there is no obvious basic feasible solution that we can use to initialize the simplex method. Therefore, we use the two-phase method. Phase I. We introduce artificial variables £5, XQ > 0, and an artificial objective function x5 + XQ. We form the corresponding tableau for the problem: To initiate the simplex procedure, we must update the last row of the above tableau to transform it into canonical form. We obtain 370 SIMPLEX METHOD The basic feasible solution corresponding to the above tableau is not optimal. Therefore, we proceed with the simplex method to obtain the next tableau: We still have not yet reached an optimal basic feasible solution. Performing another iteration, we get Both of the artificial variables have been driven out of the basis, and the current basic feasible solution is optimal. We now proceed to phase II. Phase II. We start by deleting the columns corresponding to the artificial variables in the last tableau in phase I, and revert back to the original objective function. We obtain We transform the last row so that the zeros appear in the basis columns, that is, we transform the above tableau into canonical form: All the reduced cost coefficients are nonnegative. Hence, the optimal solution is and the optimal cost is 54/7. 16.7 THE REVISED SIMPLEX METHOD Consider an LP problem in standard form with the matrix A of size ra x n. Suppose that we use the simplex method to solve the problem. Experience suggests that if m is much smaller than n, then, in most instances, pivots will occur in only a small fraction of the columns of the matrix A. The operation of pivoting involves updating all the columns of the tableau. However, if a particular column of A never enters THE REVISED SIMPLEX METHOD 311 any basis during the whole simplex procedure, then computations performed on this column are never used. Therefore, if m is much smaller than n, the effort expended on performing operations on many of the columns of A may be wasted. The revised simplex method reduces the amount of computation leading to an optimal solution by eliminating operations on columns of A that do not enter the bases. To be specific, suppose that we are at a particular iteration in the simplex algorithm. Let B be the matrix composed of the columns of A forming the current basis, and let D be the matrix composed of the remaining columns of A. The sequence of elementary row operations on the tableau leading to this iteration (represented by matrices E\,..., Ek) corresponds to premultiplying B, D, and b by B~l = Ek • • • EI . In particular, the vector of current values of the basic variables is B"1 b. Observe that computation of the current basic feasible solution does not require computation of B"1 -D; all we need is the matrix B~l. In the revised simplex method, we do not compute B~1D. Instead, we only keep track of the basic variables and the revised tableau, which is the tableau [B"1, B~lb]. Note that this tableau is only of size m x (m + 1) (compared to the tableau in the original simplex method, which is ra x (n + 1)). To see how to update the revised tableau, suppose that we choose the column aq to enter the basis. Leti/ g = B~laq, yQ = [t/oi, • • • ,2/om]T = B~lb, andp — aigmm^yio/yiq : yiq > 0} (as in the original simplex method). Then, to update the revised tableau, we form the augmented revised tableau [B~l, y 0 , yq], and pivot about the pth element of the last column. We claim that the first m + 1 columns of the resulting matrix comprise the updated revised tableau (i.e., we simply remove the last column of the updated augmented revised tableau to obtain the updated revised tableau). To see this, write B~l as B~l = E^ • • • E\, and let the matrix Ek+i represent the pivoting operation above (i.e., Ek+\yq — ep, the pth column of the m x m identity matrix). The matrix Ek+i is given by Then, the updated augmented tableau resulting from the above pivoting operation is [Ek+iB~l, Ek+i1Jo> ep]. Let B new be the new basis. Then, we have B~*w = Ek+i ---Ei. But notice that B~^w = Ek+iB~1, and the values of the basic variables corresponding to Bnew are given by y0new — Ek+iy0. Hence, the updated tableau is indeed [B~^y0nev] = [Ek+lB'\ Ek+ly0]. We summarize the above discussion in the following algorithm. The Revised Simplex Method 1. Form a fevised tableau corresponding to an initial basic feasible solution [B~\y0]. 2. Calculate the current reduced cost coefficients vector via 312 SIMPLEX METHOD where 3. If TJ; > 0 for all j, stop—the current basic feasible solution is optimal. 4. Select a q such that rq < 0 (e.g., the q corresponding to the most negative rg), and compute 5. If no yiq > 0, stop—the problem is unbounded; else, compute p = argmmJT/io/2/ig : Viq > 0}. 6. Form the augmented revised tableau [B~l,y0,yq], and pivot about the pth element of the last column. Form the updated revised tableau by taking the first m + 1 columns of the resulting augmented revised tableau (i.e., remove the last column). 7. Go to step 2. The reason for computing TD in two steps as indicated in Step 2 is as follows. We first note that TD = CD — c^B~lD. To compute c'gB~1D, we can either do the multiplication in the order (cgB~l)D or Cg(B~lD). The former involves two vector-matrix multiplications, whereas the latter involves a matrix-matrix multiplication followed by a vector-matrix multiplication. Clearly the former is more efficient. As in the original simplex method, we can use the two-phase method to solve a given LP problem using the revised simplex method. In particular, we use the revised tableau from the final step of phase I as the initial revised tableau in phase II. We illustrate the method in the following example. Example 16.5 Consider solving the following LP problem using the revised simplex method: First, we express the problem in standard form by introducing one slack and one surplus variable, to obtain THE REVISED SIMPLEX METHOD 313 There is no obvious basic feasible solution to the above LP problem. Therefore, we use the two-phase method. Phase I. We introduce one artificial variable £5 and an artificial objective function £5. The tableau for the artificial problem is We start with an initial basic feasible solution and corresponding B the following revised tableau 1 as shown in We compute Because ri is the most negative reduced cost coefficient, we bring ai into the basis. To do this, we first compute yl = B~la\. In this case yl = a\. We get the augmented revised tableau: We then compute p = argmin^T/io/yig : Viq > 0} = 2, and pivot about the 2nd element of the last column to get the updated revised tableau: We next compute The reduced cost coefficients are all nonnegative. Hence, the solution to the artificial problem is [8/5,0,12/5,0,0]T. The initial basic feasible solution for phase II is therefore [8/5,0,12/5,0]T. 314 SIMPLEX METHOD Phase II. The tableau for the original problem (in standard form) is: As the initial revised tableau for phase II, we take the final revised tableau from phase I. We then compute We bring a? into the basis, and compute y2 = B 1 a^ to get: In this case, we getp = 2. We update this tableau by pivoting about the 2nd element of the last column to get We compute We now bring 04 into the basis: We update the tableau to obtain: EXERCISES 315 We compute The reduced cost coefficients are all positive. Hence, [0,4,0,4] T is optimal. The optimal solution to the original problem is [0,4]T. EXERCISES 16.1 Consider the following standard form LP problem: a. Write down the A, b, and c matrices/vectors for the problem. b. Consider the basis consisting of the third and fourth columns of A, ordered according to [04,03]. Compute the canonical tableau corresponding to this basis. c. Write down the basic feasible solution corresponding to the above basis, and its objective function value. d. Write down the values of the reduced cost coefficients (for all the variables) corresponding to the above basis. e. Is the basic feasible solution in part c an optimal feasible solution? If yes, explain why. If not, determine which element of the canonical tableau to pivot about so that the new basic feasible solution will have a lower objective function value. f. Suppose we apply the two-phase method to the problem, and at the end of phase I, the tableau for the artificial problem is Does the original problem have a basic feasible solution? Explain. 316 SIMPLEX METHOD g. From the final tableau for phase I in part f, find the initial canonical tableau for phase II. 16.2 Use the simplex method to solve the following linear program: 16.3 Consider the linear program: Convert the problem to standard form and solve it using the simplex method. 16.4 Consider a standard form linear programming problem (with the usual A, b, and c). Suppose that it has the following canonical tableau: a. Find the basic feasible solution corresponding to the above canonical tableau, and the corresponding value of the objective function. b. Find all the reduced cost coefficient values associated with the above canonical tableau. c. Does the given linear programming problem have feasible solutions with arbitrarily negative objective function values? d. Suppose column 0,2 enters the basis. Find the canonical tableau for the new basis. e. Find a feasible solution with objective function value equal to —100. f. Find a basis for the nullspace of A. EXERCISES 317 16.5 Consider the problem: a. Convert the problem into a standard form linear programming problem. b. Use the two-phase simplex method to compute the solution to the above given problem, and the value of the objective function at the optimal solution of the given problem. 16.6 Consider the linear programming problem: a. Write down the basic feasible solution for x\ as a basic variable. b. Compute the canonical augmented matrix corresponding to the basis in part a. c. If we apply the simplex algorithm to this problem, under what circumstance does it terminate? (In other words, which stopping criterion in the simplex algorithm is satisfied?) d. Show that in this problem, the objective function can take arbitrarily negative values over the constraint set. 16.7 Find the solution and the value of the optimal cost for the following problem using the revised simplex method: Hint: Start with x\ and #2 as basic variables. 16.8 Solve the following linear programs using the revised simplex method: a. maximize — 4#i — 8x2 subject to 318 SIMPLEX METHOD b. maximize 6xi -f 4x^ + 7x + 5^4 subject to 16.9 Consider a standard form linear programming problem, with Suppose that we are told that the reduced cost coefficient vector corresponding to some basis is rT = [0,1,0,0]. a. Find an optimal feasible solution to the given problem. b. Find an optimal feasible solution to the dual of the given problem. c. Find c-2. 16.10 Consider the linear programming problem: where c\, c^ G M. Suppose that the problem has an optimal feasible solution that is not basic. a. Find all basic feasible solutions. b. Find all possible values of c\ and c%. c. At each basic feasible solution, compute the reduced cost coefficients for all nonbasic variables. 16.11 Suppose we apply the Simplex method to a given linear programming problem, and obtain the following canonical tableau: EXERCISES 319 For each of the following conditions, find the set of all parameter values a, /?, 7,6 that satisfy the given condition. a. The problem has no solution because the objective function values are unbounded. b. The current basic feasible solution is optimal, and the corresponding objective function value is 7. c. The current basic feasible solution is not optimal, and the objective function value strictly decreases if we remove the first column of A from the basis. 16.12 Consider the following linear programming problem (attributed to Beale—see [28, p. 43]): a. Apply the simplex algorithm to the problem using the rule that q is the index corresponding to the most negative rq. (As usual, if more than one index i minimizes yio/yiq, letp be the smallest such index.) Start with x\, £2, and £3 as initial basic variables. Notice that cycling occurs. b. Repeat part a using Bland's rule for choosing q and p: Note that Eland's rule for choosing p corresponds to our usual rule that if more than one index i minimizes yio/yiq, we let p be the smallest such index. 16.13 Write a simple MATLAB function that implements the simplex algorithm. The inputs are c, A, b, and v, where v is the vector of indices of basic columns. Assume that the augmented matrix [A, b] is already in canonical form, that is, the Vi\h column of A is [ 0 , . . . , 1,..., 0]T, where 1 occurs in the zth position. The function should output the final solution and the vector of indices of basic columns. Test the MATLAB function on the problem in Example 16.2. 320 SIMPLEX METHOD 16.14 Write a MATLAB routine that implements the two-phase simplex method. It may be useful to use the MATLAB function of Exercise 16.13. Test the routine on the problem in Example 16.5. 16.15 Write a simple MATLAB function that implements the revised simplex algorithm. The inputs are c, A, b, v, and B~l, where v is the vector of indices of basic columns, that is, the z'th column of B is the vith column of A. The function should output the final solution, the vector of indices of basic columns, and the final B~l. Test the MATLAB function on the problem in Example 16.2. 16.16 Write a MATLAB routine that implements the two-phase revised simplex method. It may be useful to use the MATLAB function of Exercise 16.15. Test the routine on the problem in Example 16.5. 17 Duality 17.1 DUAL LINEAR PROGRAMS Associated with every linear programming problem is a corresponding "dual" linear programming problem. The dual problem is constructed from the cost and constraints of the original, or "primal," problem. Being an LP problem, the dual can be solved using the simplex method. However, as we shall see, the solution to the dual can also be obtained from the solution of the primal problem, and vice versa. Solving an LP problem via its dual may be simpler in certain cases, and also often provides further insight into the nature of the problem. In this chapter, we study basic properties of duality, and provide an interpretive example of duality. Duality can be used to improve the performance of the simplex algorithm (leading to the so called "primal-dual" algorithm), as well as to develop non-simplex algorithms for solving LP problems (such as Khachiyan's algorithm and Karmarkar's algorithm). We do not discuss this aspect of duality any further in this chapter. For an in-depth discussion of the primal-dual method, as well as other aspects of duality, see, for example, [64]. For a description of Khachiyan's algorithm and Karmarkar's algorithm, see Chapter 18. Suppose that we are given a linear programming problem of the form We refer to the above as the primal problem. We define the corresponding dual problem as 327 322 DUALITY We refer to the variable A (E Mm as the dual vector. Note that the cost vector c in the primal has moved to the constraints in the dual. The vector b on the right-hand side of Ax > b becomes part of the cost in the dual. Thus, the roles of 6 and c are reversed. The form of duality defined above is called the symmetric form of duality. Note that the dual of the dual problem is the primal problem. To see this, we first represent the dual problem in the form Therefore, by the symmetric form of duality, the dual to the above is Upon rewriting, we get the original primal problem. Consider now an LP problem in standard form. This form has equality constraints, Ax = b. To formulate the corresponding dual problem, we first convert the equality constraints into equivalent inequality constraints. Specifically, observe that Ax = b is equivalent to Thus, the original problem with the equality constraints can be written in the form: The above LP problem is in the form of the primal problem in the symmetric form of duality. The corresponding dual is therefore DUAL LINEAR PROGRAMS 323 Table 17.1 Symmetric Form of Duality Primal minimize subject to CTX Ax > b x>0 Dual maximize subject to AT6 AT A < CT A> 0 Table 17.2 Asymmetric Form of Duality Primal minimize subject to CTX Ax = b x>0 Dual maximize subject to AT6 AT A < CT After a simple manipulation the above dual can be represented as Let A = u — v. Then, the dual problem becomes Note that since A = u — v and u, v > 0, the dual vector A is not restricted to be nonnegative. We have now derived the dual for a primal in standard form. The above form of duality is referred to as the asymmetric form of duality. We summarize the above forms of duality in Tables 17.1 and 17.2. Note that in the asymmetric form of duality, the dual of the dual is also the primal. We can show this by reversing the arguments we used to arrive at the asymmetric form of duality, and using the symmetric form of duality. Example 17.1 This example is adapted from [64]. Recall the diet problem (see Example 15.2). We have n different types of food. Our goal is to create the most economical diet and at the same time meet or exceed nutritional requirements. Specifically, let ajj be the amount of the ith nutrient per unit of the jth food, bi the amount of the ith nutrient required, 1 < i < m, Cj the cost per unit of the jth food, 324 DUALITY and Xi the number of units of food i in the diet. Then, the diet problem can be stated as follows: Now, consider a health food store that sells nutrient pills (all ra types of nutrients are available). Let Aj be the price of a unit of the ith nutrient in the form of nutrient pills. Suppose that we purchase nutrient pills from the health food store at the above price such that we exactly meet our nutritional requirements. Then, \Tb is the total revenue to the store. Note that since prices are nonnegative, we have A > 0. Consider now the task of substituting nutrient pills for natural food. The cost of buying pills to synthetically create the nutritional equivalent of the ith food is simply Aiaii + h A m a m j. Because C{ is the cost per unit of the ith food, if then the cost of the unit of the ith food made synthetically from nutrient pills is less than or equal to the market price of a unit of the real food. Therefore, for the health food store to be competitive, the following must hold: The problem facing the health food store is to choose the prices AI , . . . , Am such that its revenue is maximized. This problem can be stated as: Note that the above is simply the dual of the diet problem. Example 17.2 Consider the following linear programming problem: DUAL LINEAR PROGRAMS 325 Find the corresponding dual problem and solve it. We first write the primal problem in standard form by introducing slack variables #4, #5,ze• This primal problem in standard form is where x = [x\,..., x6]T, and The corresponding dual problem (asymmetric form) is Note that the constraints in the dual can be written as: To solve the above dual problem, we use the simplex method. For this, we need to express the problem in standard form. We substitute A by —A, and introduce surplus variables to get: There is no obvious basic feasible solution. Thus, we use the two-phase simplex method to solve the problem. Phase I. We introduce artificial variables Ay,A8,A9 and the artificial objective function AT + Ag + Ag. The tableau for the artificial problem is 326 DUALITY We start with an initial feasible solution and corresponding B~l: We compute Because r3 is the most negative reduced cost coefficient, we bring the third column into the basis. In this case y3 = [3,6,1]T. We have By inspection, p = 1, so we pivot about the first element of the last column. The updated tableau is: We compute We bring the second column into the basis to get: We update the tableau to get DUAL LINEAR PROGRAMS 327 We compute We bring the fourth column into the basis: The updated tableau becomes We compute Because all the reduced cost coefficients are nonnegative, we terminate phase I. Phase II. We use the last tableau in phase I (where none of the artificial variables are basic) as the initial tableau in phase II. Note that we now revert back to the original cost of the dual problem in standard form. We compute We bring the first column into the basis to obtain the augmented revised tableau We update the tableau to get We compute 328 DUALITY Because all the reduced cost coefficients are nonnegative, the current basic feasible solution is optimal for the dual in standard form. Thus, an optimal solution to the original dual problem is 17.2 PROPERTIES OF DUAL PROBLEMS In this section, we present some basic results on dual linear programs. We begin with the weak duality lemma. Lemma 17.1 Weak Duality Lemma. Suppose that x and A are feasible solutions to primal and dual LP problems, respectively (either in the symmetric or asymmetric form). Then, CTX > \Tb. Proof. We prove this lemma only for the asymmetric form of duality. The proof for the symmetric form involves only a slight modification (see Exercise 17.1). Because x and A are feasible, we have Ax = 6, x > 0, and A T A < CT. Postmultiplying both sides of the inequality AT A < CT by x > 0 yields \T Ax < CTX. But Ax = 6, hence \Tb < CTX. The weak duality lemma states that a feasible solution to either problem yields a bound on the optimal cost of the other problem. The cost in the dual is never above the cost in the primal. In particular, the optimal cost of the dual is less than or equal to the optimal cost of the primal, that is, "maximum A<^6. So, if cTXo = A^b, then CTXQ = A<^6 < CTX. Hence, XQ is optimal for the primal. On the other hand, let A be an arbitrary feasible solution to the dual problem. Because XQ is a feasible solution to the primal, by the weak duality lemma, CTXO > XTb. Therefore, if CTXQ = A^6, then \Tb < CTXO = \£b. Hence, A0 is optimal for the dual. We can interpret the above theorem as follows. The primal seeks to minimize its cost, and the dual seeks to maximize its cost. Because the weak duality lemma states that "maximum PROPERTIES OF DUAL PROBLEMS 329 costs are equal for a pair of feasible solutions, both solutions are optimal, and we have "maximum=minimurn." It turns out that the converse to the above theorem is also true, that is, "maximum=minimum" always holds. In fact, we can prove an even stronger result, known as the duality theorem. Theorem 17.2 Duality Theorem. If the primal problem (either in symmetric or asymmetric form) has an optimal solution, then so does the dual, and the optimal values of their respective objective functions are equal. Proof. We first prove the result for the asymmetric form of duality. Assume that the primal has an optimal solution. Then, by the fundamental theorem of LP, there exists an optimal basic feasible solution. As is our usual notation, let B be the matrix of the corresponding m basic columns, D the matrix of the n — m nonbasic columns, CB the vector of elements of c corresponding to basic variables, CD the vector of elements of c corresponding to nonbasic variables, and r& the vector of reduced cost coefficients. Then, by Theorem 16.2, Hence, Define Then, We claim that A is a feasible solution to the dual. To see this, assume for convenience (and without loss of generality) that the basic columns are the first m columns of A. Then, Hence, XTA < CT and thus \T = c^B 1 is feasible. We claim that A is also an optimal feasible solution to the dual. To see this, note that Thus, by Theorem 17.1, A is optimal. We now prove the symmetric case. First, we convert the primal problem for the symmetric form into the equivalent standard form by adding surplus variables: 330 DUALITY Note that x is optimal for the original primal problem if and only if [XT, (Ax — b}T]T is optimal for the primal in standard form. The dual to the primal in standard form is equivalent to the dual to the original primal in symmetric form. Therefore, the above result for the asymmetric case applies to the symmetric case. This completes the proof. Example 17.3 Recall Example 17.1, where we formulated the dual of the diet problem. From the duality theorem, the maximum revenue for the health food store is the same as the minimum cost of a diet that satisfies all of the nutritional requirements, that is, CTX = \Tb. Consider a primal-dual pair in asymmetric form. Suppose that we solve the primal problem using the simplex method. The proof of the duality theorem suggests a way of obtaining an optimal solution to the dual by using the last row of the final simplex tableau for the primal. First, we write the tableau for the primal problem: Suppose that the matrix B is the basis for an optimal basic feasible solution. Then, the final simplex tableau is where r^ = c^ — c^B l D. In the proof of the duality theorem, we have shown that \T — c^B~l is an optimal solution to the dual. The vector A can be obtained from the final tableau above. Specifically, if rank D — ra, then we can solve for A using the vector r£>, via the equation Of course, it may turn out that rank-D < m. In this case, as we now show, we have additional linear equations that allow us to solve for A. To this end, recall that \TB = Cg. Therefore, if we define rT = [0 T ,r^], then combining the equations \TD = c?D-rTD and \TB - CTB yields The vector A may be easy to obtain from the equation \TD = c^ — rTD if D takes certain special forms. In particular, this is the case if D has an m x m identity matrix embedded in it, that is, by rearranging the positions of the columns of D, if necessary, D has the form D = [Jm, G], where G is an m x (n — 2m) matrix. In this case, we can write the equation \TD — c^ — r^ as PROPERTIES OF DUAL PROBLEMS 331 Hence, A is given by In other words, the solution to the dual is obtained by subtracting the reduced costs coefficients corresponding to the identity matrix in D from the corresponding elements in the vector c (i.e., c/). For example, if we have a problem where we introduced slack variables, and the basic variables for the optimal basic feasible solution do not include any of the slack variables, then the matrix D has an identity matrix embedded in it. In addition, in this case we have c/ = 0. Therefore, A = — r/ is an optimal solution to the dual. Example 17.4 In Example 17.2, the tableau for the primal in standard form is If we now solve the problem using the simplex method, we get the following final simplex tableau: We can now find the solution of the dual from the above simplex tableau using the equation \TD = c^ — r^: Solving the above, we get which agrees with our solution in Example 17.2. We end this chapter by presenting the following theorem, which describes an alternative form of the relationship between the optimal solutions to the primal and dual problems. Theorem 17.3 Complementary Slackness Condition. The feasible solutions x and A to a dual pair of problems (either in symmetric or asymmetric form) are optimal if and only if 332 DUALITY 1. (cT - \TA)x = 0; and 2. \T(Ax - 6) = 0. Proof. We first prove the result for the asymmetric case. Note that condition 2 holds trivially for this case. Therefore, we only consider condition 1. =£>: If the two solutions are optimal, then by Theorem 17.2, CTx = \Tb. Because Ax = b, we also have (CT — XTA)x = 0. «=: If (CT - \TA)x = 0, then CTX = XTAx = \Tb. Therefore, by Theorem 17.1, x and A are optimal. We now prove the result for the symmetric case. =>: We first show condition 1. If the two solutions are optimal, then by Theorem 17.2, CTX = \Tb. Because Ax > b and A > 0, we have On the other hand, since AT A < c T andx > 0, we have (CT — AT A)x > 0. Hence, (CT — XTA}x = 0. To show condition 2, note that since Ax > b and A > 0, we have XT(Ax - b) > 0. On the other hand, since \TA < CT and x > 0, we have XT(Ax -b) = (\TA - CT)X < 0. •4=: Combining conditions 1 and 2, we get CTX = XTAx = XTb. Hence, by Theorem 17.1, x and A are optimal. Note that if x and A are feasible solutions for the dual pair of problems, we can write condition 1, that is, (CT — XTA)x = 0, as "xi > 0 implies ATa* = Q, i = 1,..., n", that is, for any component of x that is positive, the corresponding constraint for the dual must be an equality at A. Also, observe that the statement "xi > 0 implies XTa,i = c" is equivalent to "ATaj < c^ implies xi = 0." A similar representation can be written for condition 2. Consider the asymmetric form of duality. Recall that for the case of an optimal basic feasible solution x, rT = CT — XTA is the vector of reduced cost coefficients. Therefore, in this case, the complementary slackness condition can be written as rTx = 0. Example 17.5 Suppose you have 26 dollars and you wish to purchase some gold. You have a choice of four vendors, with prices (in dollars per ounce) of 1/2,1,1/7, and 1/4, respectively. You wish to spend your entire 26 dollars by purchasing gold from these four vendors, where x^ is the dollars you spend on vendor i,i = 1,2,3,4. a. Formulate the linear programming problem (in standard form) that reflects your desire to obtain the maximum weight in gold. b. Write down the dual of the linear programming problem in part a, and find the solution to the dual. c. Use the complementary slackness condition together with part b to find the optimal values of x\,..., x±. EXERCISES 333 Solutions: a. The corresponding linear programming problem is: b. The dual problem is: The solution is clearly A = — 7. (Note: It is equally valid to have a dual problem with variable A' = —A.) c. By the complementary slackness condition, we know that if we can find a vector a; that is feasible in the primal and satisfies (—[2,1,7,4] — (—7)[1,1,1, l])a? = 0, then this x is optimal in the primal (original) problem. We can rewrite the above conditions as By x > 0 and [5,6,0,3]a; = 0, we conclude that x\ = x^ = £4 = 0, and by [1,1,1, l]x = 26 we then conclude that x = [0,0,26,0] T . EXERCISES 17.1 Prove the weak duality lemma for the symmetric form of duality. 17.2 Find the dual of the optimization problem in Exercise 15.6. 17.3 Consider the following linear program: 334 DUALITY a. Use the simplex method to solve the above problem. b. Write down the dual of the above linear program, and solve the dual. 17.4 Consider the linear program Write down the corresponding dual problem, and find the solution to the dual. (Compare the above problem with the one in Exercise 16.8, part a.) 17.5 Consider the linear programming problem a. Find the dual to the above problem. b. Suppose b = 0, and there exists a vector y > 0 such that yTA + CT = QT. Does the above given problem have an optimal feasible solution? If yes, find it. If no, explain why not. Give complete explanations. 17.6 Consider the linear program where 0 < ai < a2 < • • • < an. a. Write down the dual to the above problem, and find a solution to the dual in terms of a i , . . . ,a n . b. State the duality theorem, and use it to find a solution to the primal problem above. c. Suppose that we apply the simplex algorithm to the primal problem. Show that if we start at a nonoptimal initial basic feasible solution, the algorithm terminates in one step if and only if we use the rule where the next nonbasic column to enter the basis is the one with the most negative reduced cost coefficient. EXERCISES 335 17.7 Consider the linear programming problem where c = [1,1,..., 1]T. Assume that the problem has a solution. a. Write down the dual of the above problem. b. Find the solution to the above problem. c. What can you say about the constraint set for the above problem? 17.8 Consider a given linear programming problem in standard form (written in the usual notation). a. Write down the associated artificial problem for the given problem (used in the two-phase method). b. Write down the dual to the artificial problem from part a. c. Prove that if the given original linear programming problem has a feasible solution, then the dual problem in part b has an optimal feasible solution. 17.9 Consider an LP problem in standard form. Suppose that x is a feasible solution to the problem. Show that if there exist A and IA such that then x is an optimal feasible solution to the LP problem, and A is an optimal feasible solution to the dual. The above are called the Karush-Kuhn-Tucker optimality conditions for LP, which are discussed in detail in Chapters 20 and 21. 17.10 Consider the linear program: where c € E n , b 335 DUALITY involving A can be written as an equality constraint. Hint: Write x — u — v, with u, v > 0. 17.11 Consider the linear program: The solution to the problem is [1,1]T (see Exercise 16.7). Write down the dual to the above problem, solve the dual, and verify that the duality theorem holds. 17.12 Consider the problem For this problem we have the following theorem. Theorem: A solution to the above problem exists if and only ifc>0. Moreover, if a solution exists, 0 is a solution. Use the duality theorem to prove the above theorem (see also Exercise 21.11). 17.13 Let A be a given matrix, and b a given vector. Show that there exists a vector x such that Ax > b and x > 0 if and only if for any given vector y satisfying ATy < 0 and y > 0, we have bTy < 0. 17.14 Let A be a given matrix, and b a given vector. Show that there exists a vector x such that Ax = b and x > 0 if and only if for any given vector y satisfying ATy < 0, we have 6 y < 0. This result is known as Parkas's transposition theorem. 17.15 Let A be a given matrix, and 6 a given vector. Show that there exists a vector x such that Ax < b if and only if for any given vector y satisfying ATy = 0 and y > 0, we have b y > 0. This result is known as Gale's transposition theorem. 17.16 Let A be a given matrix, and b a given vector. Show that there exists a vector x such that Ax < 0 if and only if for any given vector y satisfying ATy = 0 and y > 0, we have y = 0 (i.e., y = 0 is the only vector satisfying ATy = 0 and y > 0). This result is known as Gordan's transposition theorem. 17.17 Suppose you are presented with a "black box" that implements a function / defined as follows: given positive integers ra and n, a matrix A e R m x n , and a vector b € M m , the value of /(m,n, A,b) is a vector x = f(m,n,A,b) that satisfies Ax > b. EXERCISES 337 Now, given A 6 R m x n , b G M m , and c € M n , consider the linear programming problem Express a solution to this problem in terms of the function / given above. In other words, show how we can use the "black box" above to solve this linear programming problem. Hint: Find the appropriate inputs to the black box such that the output immediately gives a solution to the linear programming problem. You should use the black box only once. 17.18 Consider the quadratic programming problem where A € Rm xn , and b € M m . Call the above problem the primal problem. Consider the associated dual quadratic programming problem Let /i and /2 be the objective functions of the primal and dual, respectively. a. State and prove a "weak duality lemma" in this setting. b. Show that if XQ and yQ are feasible points in the primal and dual, and f i ( x o ) = /2(l/o)' men xo and y0 are optimal solutions to the primal and dual, respectively. Hint: The techniques used in the linear programming duality results are applicable in this exercise. This page intentionally left blank 18 Non-Simplex Methods 18.1 INTRODUCTION In the previous chapters, we studied the simplex method, and its variant, the revised simplex method, for solving linear programming problems. The method remains widely used in practice for solving LP problems. However, the amount of time required to compute a solution using the simplex method grows rapidly as the number of components n of the variable x G Mn increases. Specifically, it turns out that the relationship between the required amount of time for the algorithm to find a solution and the size n of x is exponential in the worst case. An example of an LP problem for which this relationship is evident was devised by Klee and Minty in 1972 [55]. Below, we give a version of the Klee-Minty example, taken from [6]. Let n be given. Let CT = [10"- 1 ,10 n ~ 2 ,..., 101,1], 6 = [1,10 2 ,10 4 ,..., lO2^"1)]7, and Consider the following LP problem: 339 340 NON-SIMPLEX METHODS The simplex algorithm applied to the above LP problem requires 2n — 1 steps to find the solution. Clearly in this example the relationship between the required amount of time for the simplex algorithm to find a solution and the size n of the variable x is exponential. This relationship is also called the complexity of the algorithm. The simplex algorithm is therefore said to have exponential complexity. The complexity of the simplex algorithm is also often written as O(2n — 1). Naturally, we would expect that any algorithm that solves LP problems would have the property that the time required to arrive at a solution increases with the size n of the variable x. However, the issue at hand is the rate at which this increase occurs. As we have seen above, the simplex algorithm has the property that this rate of increase is exponential. For a number of years, computer scientists have distinguished between exponential complexity and polynomial complexity. If an algorithm for solving LP problems has polynomial complexity, then the time required to obtain the solution is bounded by a polynomial in n. Obviously, polynomial complexity is more desirable than exponential complexity. Therefore, the existence of an algorithm for solving LP problems with polynomial complexity is an important issue. This issue was partially resolved in 1979 by Khachiyan (also transliterated as Hacijan) [54], who proposed an algorithm that has a complexity 0(n 4 L), where, roughly speaking, L represents the number of bits used in the computations. The reason that we consider Khachiyan's algorithm (also called the ellipsoid algorithm) as only a partial resolution of the above issue is that the complexity depends on L, which implies that the time required to solve a given LP problem increases with the required accuracy of the computations. The existence of a method for solving LP problems with a polynomial complexity bound based only on the size of the variable n (and possibly the number of constraints) remains a difficult open problem [38]. In any case, computational experience with Khachiyan's algorithm has shown that it is not a practical alternative to the simplex method [10]. The theoretical complexity advantage of Khachiyan's method relative to the simplex method remains to be demonstrated in practice. Another non-simplex algorithm for solving LP problems was proposed in 1984 by Karmarkar [52]. Karmarkar's algorithm has a complexity of O(n3-5L), which is lower than that of Khachiyan's algorithm. The algorithm is superior to the simplex algorithm from a complexity viewpoint, but has its drawbacks. Improved methods along similar lines, called interior-point methods, have received considerable interest since Karmarkar's original paper. Well-implemented versions of these methods are very efficient, especially when the problem involves a large number of variables [38]. This chapter is devoted to a discussion of non-simplex methods for solving LP problems. In the next section, we discuss some ideas underlying Khachiyan's algorithm. We then present Karmarkar's algorithm in the section to follow. 18.2 KHACHIYAN'S METHOD Our description of the Khachiyan's algorithm is based on [5] and [6]. The method relies on the concept of duality (see Chapter 17). Our exposition of Khachiyan's KHACHIYAN'S METHOD 341 algorithm is geared toward a basic understanding of the method. For a detailed rigorous treatment of the method, we refer the reader to [73]. Consider the (primal) linear programming problem: We write the corresponding dual problem: Recall that the above two LP problems constitute the symmetric form of duality. From Theorem 17.1, if x and A are feasible solutions to the primal and dual problems, respectively, and CTX = XTb, then x and A are optimal solutions to their respective problems. Using this result, we see that to solve the primal problem it is enough to find a vector [a;T, AT]T that satisfies the following set of relations: Note that the equality CTX = b A is equivalent to the two inequalities Taking this into account, we can represent the previous set of relations as Therefore, we have reduced the problem of finding an optimal solution to the primaldual pair into one of finding a vector [XT, AT]T that satisfies the above system of inequalities. In other words, if we can find a vector that satisfies the above system of inequalities, then this vector gives an optimal solution to the primal-dual pair. On the other hand, if there does not exist a vector satisfying the above system 342 NON-SIMPLEX METHODS of inequalities, then the primal-dual pair has no optimal feasible solution. In the subsequent discussion, we simply represent the system of inequalities as where In our discussion of Khachiyan's algorithm, we not be specifically using the above forms of P, q, and z; we simply treat Pz < q as a generic matrix inequality, with P, q, and z as generic entities. Let r and s be the sizes of q and z, respectively, that is, P € E r x s , z 6 R s , a n d q r e W. Khachiyan's method solves the LP problem by first determining if there exists a vector z that satisfies the above inequality Pz < q, that is, the algorithm decides if the above system of linear inequalities is consistent. If the system of inequalities is consistent, then the algorithm finds a vector z satisfying the system. In the following, we refer to any vector satisfying the above system of inequalities as a solution to the system. We assume that the entries in P and q are all rational numbers. This is not a restriction in practice, since any representation of our LP problem on a digital computer will involve only rational numbers. In fact, we further assume that the entries in P and q are all integers. We can do this without loss of generality since we can always multiply both sides of the inequality Pz < q by a sufficiently large number to get only integer entries on both sides. Before discussing Khachiyan's algorithm, we first introduce the idea of an "ellipsoid." To this end, let z € Ms be a given vector, and let Q be an s x s nonsingular matrix. Then, the ellipsoid associated with Q centered at z is defined as the set The main idea underlying Khachiyan's algorithm is as follows. Khachiyan's algorithm is an iterative procedure, where at each iteration we update a vector z^ and a matrix Qk. Associated with z^ and Qk is an ellipsoid EQk(z^}. At each step of the algorithm, the associated ellipsoid contains a solution to the given system of linear inequalities. The algorithm updates z^ and Qk in such a way that the ellipsoid at the next step is "smaller" than that of the current step, but at the same time is guaranteed to contain a solution to the given system of inequalities, if one exists. If we find that the current point z^ satisfies Pz^ < g, then we terminate the algorithm and conclude that z^ is a solution. Otherwise, we continue to iterate. The algorithm has a fixed prespecified maximum number of iterations N to be performed, where N is a number that depends on L and s. Note that we are not free to choose N—it is computed using a formula that uses the values of L and s. The AFFINE SCALING METHOD 343 constant L is itself a quantity that we have to compute beforehand, using a formula that involves P and q. When we have completed N iterations without finding a solution in an earlier step, we terminate the algorithm. The associated ellipsoid will then have shrunk to the extent that it is smaller than the precision of computation. At this stage, we will either discover a solution inside the ellipsoid, if indeed a solution exists, or we will find no solution inside the ellipsoid, in which case we conclude that no solution exists. As we can see from the above description, Khachiyan's approach is a radical departure from the classical simplex method for solving LP problems. The method has attracted a lot of attention, and many studies have been devoted to it. However, as we pointed out earlier, the algorithm is of little practical value for solving real-world LP problems. Therefore, we do not delve any further into the details of Khachiyan's algorithm. We refer the interested reader to [73]. Despite its practical drawbacks, Khachiyan's method has inspired other researchers to pursue the development of computationally efficient algorithms for solving LP problems with polynomial complexity. One such algorithm is attributed to Karmarkar, which we discuss in Section 18.4. 18.3 18.3.1 AFFINE SCALING METHOD Basic Algorithm In this section, we describe a simple algorithm, called the affine scaling method, for solving linear programming problems. This description is to prepare the reader for our discussion of Karmarkar's method in the next section. The affine scaling method is a an interior-point method. Such methods differ fundamentally from the classical simplex method in one main respect: an interior-point method starts inside the feasible set and moves within it toward an optimal vertex. In contrast, the simplex method jumps from vertex to vertex of the feasible set seeking an optimal vertex. To begin our description of the affine scaling method, consider the LP problem Note that the feasibility constraints have two parts: Ax — b and x > 0. Suppose we have a feasible point x^ that is strictly interior (by strictly interior we mean that all of the components of x^ are strictly positive). We wish to find a new point x^ by searching in a direction d^ that decreases the objective function. In other words, we set where CKQ is a step size. In the gradient method (Chapter 8), we used the negative gradient of the objective function for the search direction. For the LP problem, the negative gradient of the objective function is —c. However, if we set 344 NON-SIMPLEX METHODS point x^ 1 ) may not lie inside the feasible set. For a^1) to lie inside the feasible set, it is necessary that d^0' be a vector in the nullspace of A. Indeed, because x^ is feasible, we have Ax^ = b. We also require that Ax^ = b. Combining these two equations yields To choose a direction d^ that lies in the nullspace of A but is still "close" to —c, we orthogonally project —c onto the nullspace of A and take the resulting projection as d^. The orthogonal projection of any vector onto the nullspace of A involves multiplication by the following matrix P, called the orthogonal projector (see Section 3.3 and also Example 12.4): We set d^ to be in the direction of the orthogonal projection of — c onto the nullspace of A: It is easy to check that APc = 0 and hence Ax^ = b. In summary, given a feasible point x(°\ we find a new feasible point o^1) using where the choice of the step size e*o is discussed later in this section. The above choice of x^ can be viewed as one iteration of a projected gradient algorithm, discussed in Section 22.3. We now make the observation that the point x^ should be chosen close to the center of the feasible set. Figure 18.1 illustrates this observation. Comparing the center and non-center starting points in the figure, we can see that if we start at the center of the feasible set, we can take a larger step in the search direction. This larger step from the center point should yield a lower cost value for the new point compared with the step originating from the non-center point. Suppose we are given a point x^ that is feasible but is not a center point. We can transform the point to the center by applying what is called an affine scaling. For simplicity, suppose that A = [1,1,..., l]/n and b = [I]. It is easy to see that the center of this feasible set is the point e[l,..., 1]T. To transform x^ to e, we use the affine-scaling transformation where JDo is a diagonal matrix whose diagonal entries are the components of the vector x(°\ that is, AFFINE SCALING METHOD 345 Figure 18.1 Results of projected gradient step from center and non-center points Note that DQ is invertible because we assumed that x^ is strictly interior. For general A and 6 we will still use the same affine-scaling transformation as above. In general, we may not precisely be at the center of the feasible set, but we hope that the transformed point will be "close" to the center. At least the point e is equidistant from the boundaries of the positive orthant {x : x > 0}. Once the starting point is at (or close to) the center of the feasible set after performing the affine-scaling transformation, we can proceed as described before. Because we have transformed the original vector x^ 0 ) via pre-multiplication by Dl, effectively changing the coordinate system, we also need to represent the original LP problem in the new coordinates. Specifically, the LP problem in the transformed coordinates takes the form where In the new (x) coordinate system, we construct the orthogonal projector and set d to be in the direction of the orthogonal projection of — CQ onto the nullspace of AQ : Then, compute x^1) using 346 NON-SIMPLEX METHODS where x^ = DQIX^ . To obtain a point in the original coordinates, we perform the transformation The above procedure takes a point x^ and generates a new point x^l\ This procedure can be represented as where We repeat the procedure iteratively to generate a sequence of points {x^}, where with At each stage of the algorithm, we have to ensure that the point x^ is strictly interior. Note that the condition Ax^ = b is automatically satisfied at each stage because of the way we select cr '. However, we also need to guarantee that x\ > 0 for i = 1,... ,n. This can be done through appropriate choice of the step size ctk, discussed next. The main criterion for choosing a^ is to make it as large as possible, but not so large that some components of x^k+1^ become nonpositive. That is, we select o^ so that xf+l} = x f } + akdf} > 0 for i = 1 , . . . , n. To proceed, first define The number r^ represents the largest value of the step size ot-k such that all the components of x^k+1^ are nonnegative. To ensure that x^k+1^ is strictly interior, we use a step size of the form otk — otrk, where a 6 (0,1). Typical values of a for this method are a - 0.9 or 0.99 (see [70, p. 572]). Unlike the simplex method, the affine scaling method will not reach the optimal solution in a finite number of steps. Therefore, we need a stopping criterion. For this, we can use any of the stopping criteria discussed in Section 8.2. For example, we can stop if where e > 0 is a prespecified threshold (see also [70, p. 572] for a similar stopping criterion, as well as an alternative criterion involving duality). AFFINE SCALING METHOD 347 18.3.2 Two-Phase Method To implement the affine scaling method described above, we need an initial feasible starting point that is strictly interior. We now describe a method to find such a starting point. After the starting point is found, we can then proceed to search for an optimal solution to the problem. This approach involves two phases: in phase I, we find an initial strictly interior feasible point, and in phase II, we use the result of phase I to initialize the affine scaling algorithm to find an optimal solution. This procedure is analogous to the two-phase simplex algorithm described in Section 16.6. We now describe phase I of the two-phase affine scaling method. Let u be an arbitrary vector with positive components, and let If v = 0, then it is a strictly interior feasible point. We can then set x^ = u and proceed to phase II where we apply the affine scaling method as described before. On the other hand, if v ^ 0, we construct the following associated artificial problem: The above artificial problem has an obvious strictly interior feasible point: Using the above point as the initial point, we can apply the affine scaling algorithm to the artificial problem. Because the objective function in the artificial problem is bounded below by 0, the affine scaling method will terminate with some optimal solution. Proposition 18.1 The original LP problem has a feasible solution if and only if the associated artificial problem has an optimal feasible solution with objective function value zero. Proof. =>: If the original problem has a feasible solution x, then the vector [XT , 0]T is a feasible solution to the artificial problem. Clearly, this solution has an objective function value of zero. This solution is therefore optimal for the artificial problem, since there can be no feasible solution with negative objective function value. 4=: Suppose that the artificial problem has an optimal feasible solution with objective function value zero. Then, this solution must have the form [xT,0]T, where x > 0. Hence, we have Ax — b, and x is a feasible solution to the original problem. 348 NON-SIMPLEX METHODS Suppose the original LP problem has a feasible solution. By the above proposition, if we apply the affine scaling method to the artificial problem (with initial point [UT, 1]T), the algorithm will terminate with objective function value zero. The optimal solution will be of the form [XT, 0]T. We argue that x will in general be a strictly interior feasible point. It is easy to see that x > 0. To convince ourselves that each component of x will be positive in general, note that the subset of optimal feasible solutions of the artificial problem in which one or more among the first n components are zero is a very "small" or "thin" subset of the set of all optimal feasible solutions. By "small" or "thin" we mean in the sense that a 2-dimensional plane in E3 is small or thin. In particular, the "volume" of the 2-dimensional plane in E3 is zero. Thus, it is very unlikely that the affine scaling algorithm will terminate with an optimal feasible solution in which one or more among the first n components are zero. Having completed phase I as described above, we then use the first n components of the terminal optimal feasible solution for the artificial problem as our initial point for the affine scaling method applied to the original LP problem. This second application of the affine scaling algorithm constitutes phase II. In theory, phase I generates a feasible point to initiate phase II. However, because of the finite precision of typical computer implementations, the solution obtained from phase I may not, in fact, be feasible. Moreover, even if the initial point in phase II is feasible, in practice the iterates may lose feasibility owing to finite precision computations. Special procedures for dealing with such problems are available. For a discussion of numerical implementation of affine scaling algorithms, see [28, Section 7.1.2]. 18.4 18.4.1 KARMARKAR'S METHOD Basic Ideas Like the affine scaling method, Karmarkar's method for solving LP problems differs fundamentally from the classical simplex method in various respects. First, Karmarkar's method is an interior-point method. Another difference between Karmarkar's method and the simplex method is that the latter stops when it finds an optimal solution. On the other hand, Karmarkar's method stops when it finds a solution that has an objective function value that is less than or equal to a prespecified fraction of the original guess. A third difference between the two methods is that the simplex method starts with LP problems in standard form, whereas Karmarkar's method starts with LP problems in a special canonical form, which we call Karmarkar's canonical form. We discuss this canonical form in the next subsection. While more recent interior-point methods are recognized to be superior to Karmarkar's original algorithm in efficiency and robustness, a study of Karmarkar's method provides an informative introduction to the study of more advanced interior-point methods. KARMARKAR'S METHOD 349 18.4.2 Karmarkar's Canonical Form To apply Karmarkar's algorithm to a given LP problem, we must first transform the given problem into a particular form, which we refer to as Karmarkar's canonical form. Karmarkar's canonical form is written as: where x = [x\,..., xn]T. As in our discussion of Khachiyan's method, we assume without loss of generality that the entries of A and c are integers. We now introduce some notation that allows convenient manipulation of the canonical form. First, let e = [1,..., 1]T be the vector in En with each component equal to 1. Let fi denote the nullspace of A, that is, the subspace Define the simplex in En by We denote the center of the simplex A by Clearly ao G A. With the above notation, Karmarkar's canonical form can be rewritten as Note that the constraint set (or feasible set) fi n A can be represented as Example 18.1 Consider the following LP problem, taken from [90]: 350 NON-SIMPLEX METHODS Figure 18.2 The feasible set for Example 18.1 Clearly the above problem is already in Karmarkar's canonical form, with CT = [5,4,8], and A = O. The feasible set for this example is illustrated in Figure 18.2. Example 18.2 Consider the following LP problem, taken from [80]: The above problem is in Karmarkar's canonical form, with CT = [3,3, —1], and A = [2,—3,1]. The feasible set for this example is illustrated in Figure 18.3 (adapted from [80]). Figure 18.3 The feasible set for Example 18.2 We show later that any LP problem can be converted into an equivalent problem in Karmarkar's canonical form. KARMARKAR'S METHOD 18.4.3 351 Karmarkar's Restricted Problem Karmarkar's algorithm solves LP problems in Karmarkar's canonical form, with the following assumptions: A. The center ao of the simplex A is a feasible point, that is, ao E fl; B. The minimum value of the objective function over the feasible set is zero; C. The (m + 1) x n matrix has rank m + 1; D. We are given a termination parameter q > 0, such that if we obtain a feasible point x satisfying then we consider the problem solved. Any LP problem that is in Karmarkar's canonical form and that also satisfies the above four assumptions is called a Karmarkar's restricted problem. In the following, we discuss the above assumptions and their interpretations. We begin by looking at assumption A. We point out that this assumption is not restrictive, since any LP problem that has an optimal feasible solution can be converted into a problem in Karmarkar's canonical form that satisfies assumption A. We discuss this in the next subsection. We next turn our attention to assumption B. Any LP problem in Karmarkar's canonical form can be converted into one that satisfies assumption B, provided we know beforehand the minimum value of its objective function over the feasible set. Specifically, suppose that we are given an LP problem where the minimum value of the objective function is M. As in [80], consider the function f ( x ) = CTX — M. Then, using the property that eTx = 1 on the feasible set, we have that for any feasible x, where CT = CT — MeT. Notice that the above objective function has a minimum value of zero, and is a linear function of x. We can replace the original objective function with the new objective function above, without altering the solution. Example 18.3 Recall the LP problem in Example 18.1: 352 NON-SIMPLEX METHODS The problem satisfies assumption A (and assumption C), but not assumption B, since the minimum value of the objective function over the feasible set is 4. To convert the above into a problem that satisfies assumption B, we replace CT = [5,4,8] by cT = [l,0,4]. Example 18.4 The reader can easily verify that the LP problem in Example 18.2 satisfies assumptions A, B, and C. Assumption C is a technical assumption that is required in the implementation of the algorithm. Its significance will be clear when we discuss the update equation in Karmarkar's algorithm. Assumption D is the basis for the stopping criterion of Karmarkar's algorithm. In particular, we stop when we have found a feasible point satisfying CTX/CTO,Q < 2~q. Such a stopping criterion is inherent in any algorithm that uses finite precision arithmetic. Observe that the above stopping criterion depends on the value of CTOQ. It will turn out that Karmarkar's algorithm uses ao as the starting point. Therefore, we can see that the accuracy of the final solution in the algorithm is influenced by the starting point. 18.4.4 From General Form to Karmarkar's Canonical Form We now show how any LP problem can be coverted into an equivalent problem in Karmarkar's canonical form. By "equivalent" we mean that the solution to one can be used to determine the solution to the other, and vice versa. To this end, recall that any LP problem can be transformed into an equivalent problem in standard form. Therefore, it suffices to show that any LP problem in standard form can be transformed into an equivalent problem in Karmarkar's canonical form. In fact, the transformation given below (taken from [52]) will also guarantee that assumption A of the previous subsection is satisfied. To proceed, consider a given LP problem in standard form: We first present a simple way to convert the above problem into Karmarkar's canonical form, ignoring the requirement to satisfy assumption A. For this, define a new variable z e Rn+1 by Also define c' = [cT,0]T and A' = [A, —b]. Using this notation, we can now rewrite the above LP problem as KARMARKAR'S METHOD 353 We need one more step to transform the problem into one that includes the constraint that the decision variables sum to 1. For this, let y = [j/i,..., yn, yn+i]T £ Rn+1, where This transformation from a; to y is called a projective transformation. It can be shown that (see later): Therefore, we have transformed the given LP problem in standard form into the following problem, which is in Karmarkar's canonical form: The above transformation technique can be modified slightly to ensure that assumption A holds. We follow the treatment of [52]. We first assume that we are given a point a = [a\,..., an] that is a strictly interior feasible point, that is, Aa = b, and a > 0. We show later how this assumption can be enforced. Let P+ denote the positive orthant of E n , given by P+ = {x 6 En : x > 0}. Let A = [x G Mn+1 : eTx = 1, x > 0} be the simplex in Rn+1. Define the map T : P+ -+ A by with We call the map T a projective transformation of the positive orthant P+ into the simplex A (for an introduction to projective transformations, see [49]). The transformation T has several interesting properties (see Exercises 18.4, 18.5 and 18.6). In particular, we can find a vector c' G Mn+1 and a matrix A' e R mx ( n+1 > such that for each x 6 E n , 354 NON-SIMPLEX METHODS and (see Exercise 18.5 and 18.6 for the forms of A' and c'). Note that for each x € M n , we have eTT(x) = 1, that is, T(x) e A. Furthermore, note that for each x 6 E n , Taking the above into account, consider the following LP problem (where y is the decision variable): Note that the above LP problem is in Karmarkar's canonical form. Furthermore, in light of the definitions of c' and A', the above LP problem is equivalent to the original LP problem in standard form. Hence, we have converted the LP problem in standard form into an equivalent problem in Karmarkar's canonical form. In addition, because a is a strictly interior feasible point, and ao — T(a) is the center of the simplex A (see Exercise 18.4), the point OQ is a feasible point of the transformed problem. Hence, assumption A of the previous subsection is satisfied for the above problem. In the above, we started with the assumption that we are given a point a that is a strictly interior feasible point of the original LP problem in standard form. To see how this assumption can be made to hold, we now show that we can transform any given LP problem into an equivalent problem in standard form where such a point a is explicitly given. To this end, consider a given LP problem of the form: Note that any LP problem can be converted into an equivalent problem of the above form. To see this, recall that any LP problem can be transformed into an equivalent problem in standard form. But, any problem in standard form can be represented as above, since the constraint Ax = b can be written as Ax > b, —Ax > — b. We next write the dual to the above problem: As we did in our discussion of Khachiyan's algorithm, we now combine the primal and dual problems to get: KARMARKAR'S METHOD 355 As we pointed out in the previous section on Khachiyan's algorithm, the original LP problem is solved if and only if we can find a pair (x, A) that satisfies the above set of relations. This follows from the Theorem 17.1. We now introduce slack and surplus variables u and v to get the following equivalent set of relations: Let x0 e R n , A0 € E m , w0 € E n , and v0 € Mm be points that satisfy XQ > 0, AQ > 0, u0 > 0, and v0 > 0. For example, we could choose x0 = [1,..., 1]T, and likewise with AQ, UQ, and VQ. Consider the LP problem We refer to the above as the Karmarkar's artificial problem, which can be represented in matrix notation as where (the subscripts above refer to the dimensions/sizes of the corresponding matrices/vectors). Observe that the following point is a strictly interior feasible point 356 NON-SIMPLEX METHODS for the above problem: Furthermore, the minimum value of the objective function for Karmarkar's artificial problem is zero if and only if the previous set of relations has a solution, that is, there exists x, A, u and v satisfying Therefore, Karmarkar's artificial LP problem is equivalent to the original LP problem: Note that the main difference between the original LP problem above and Karmarkar's artificial problem is that we have an explicit strictly interior feasible point for Karmarkar's artificial problem, and hence we have satisfied the assumption that we imposed at the beginning of this subsection. 18.4.5 The Algorithm We are now ready to describe Karmarkar's algorithm. Keep in mind that the LP problem we are solving is a Karmarkar's restricted problem, that is, a problem in Karmarkar's canonical form and satisfies assumptions A, B, C, and D. For convenience, we restate the problem: where fi = {x G En : Ax = 0), and A = {x G Mn : eTx = I,x > 0}. Karmarkar's algorithm is an iterative algorithm that, given an initial point x^ and parameter q, generates a sequence x^\x^2\ . . . , x^. Karmarkar's algorithm is described by the following steps: 1. Initialize: Set k := 0; z(0) = a0 = e/n; 2. Update: Set x^k+l^ = ^(x^), where is an update map described below; KARMARKAR'S METHOD 3. Check stopping criterion: If the condition CTX^/CTX^ then stop; 357 < 2~q is satisfied, 4. Iterate: Set k := k + 1, go to 2. We describe the update map \& as follows. First, consider the first step in the algorithm: x^ = OQ. To compute x^ 1 ), we use the familiar update equation where a is a step size and d^°' is an update direction. The step size a is chosen to be a value in (0,1). Karrnarkar recommends a value of 1/4 in his original paper [52]. The update direction d^ is chosen as follows. First, note that the gradient of the objective function is c. Therefore, the direction of maximum rate of decrease of the objective function is — c. However, in general, we cannot simply update along this direction, since x^ is required to lie in the constraint set where B0 e R(™+1)*" js given by Note that since x^ € ft n A, then for x^ = a?(°) + ad(0) to also lie in ft n A, the vector er°' must be an element of the nullspace of BQ. Hence, we choose d'°' to be in the direction of the orthogonal projection of —c onto the nullspace of BQ. This projection is accomplished by the matrix PQ given by Note that BQB^ is nonsingular by assumption C. Specifically, we choose S®' to be the vector d(0) = -rc(0), where and r = l/\/n(n — 1). The scalar r is incorporated into the update vector d^°' for the following reason. First, observe that r is the radius of the largest sphere inscribed in the simplex A (see Exercise 18.7). Therefore, the vector d^°' = rc^' points in the direction of the projection c^ of c onto the nullspace of BQ, and a^1) = x(°) + ad^ is guaranteed to lie in the constraint set ft n A. In fact, x^ 355 NON-SIMPLEX METHODS lies in the set 0 D A D {x : \\x — ao|| < r}. Finally, we note that x^ is a strictly interior point of A. The general update step x^k+1"> = ^f(x^) is performed as follows. We first give a brief description of the basic idea, which is similar to the update from x^ to x^ described above. However, note that x^ is, in general, not at the center of the simplex. Therefore, let us first transform this point to the center. To do this, let Dk be a diagonal matrix whose diagonal entries are the components of the vector x^k\ that is, It turns out that because x^°> is a strictly interior point of A, ojW is a strictly interior point of A for all k (see Exercise 18.10). Therefore, Dk is nonsingular, and Consider the mapping E/fc : A —>• A given by Uk(x] = Dk lx/eT Dk lx. Note that Uk(x^} = e/n = a,Q. We use Uk to change the variable from x to x = Uk(x). We do this so that x^ is mapped into the center of the simplex, as indicated above. Note that Uk is an invertible mapping, with x — U^l(x) = DkX/eTDkX. Letting x(k) _ [7 fc (aj(fc)) —ao> we can now apply the procedure that we described before for getting a^1) fromx^ 0 ) = CLQ. Specifically, we update x^ to obtain o;(fc+1) using the update formula x^k+l^ = x^ + ad^. To compute d^k\ we need to state the original LP problem in the new variable x: The reader can easily verify that the above LP problem in the new variable x is equivalent to the original LP problem in the sense that x* is an optimal solution to the original problem if and only if Uk (x*} is an optimal solution to the transformed problem. To see this, simply note that x = Uk(x) — D^lx/eTD^lx, and rewrite the objective function and constraints accordingly (see Exercise 18.8). As before, let Wechoosed^ = — r&-k\ wherec^ is the normalized projection of — (CT Dk)T = -DkC onto the nullspace of Bk, and r = l/^/n(n - 1) as before. To determine c^, we define the projector matrix Pk by KARMARKAR'S METHOD 359 Note that BkB% is nonsingular (see Exercise 18.9). The vector c^ is therefore given by The direction vector The updated vector x^k+l^ — x^ + ad^ is guaranteed to lie in the transformed feasible set {x : AD/fX = 0} D A. The final step is to apply the inverse transformation Ufr1 to obtain x(k+^: Note that x^k+1^ lies in the set fJ fl A. Indeed, we have already seen that Uk and U^1 map A into A. To see that Ax^k+1^ = 0, we simply premultiply the above expression by A and use the fact that ADkX^k+l"> = 0. We now summarize the update x^k+l^ = ^(x^} as: 1. Compute the matrices: 2. Compute the orthogonal projector onto the nullspace of B^: 3. Compute the normalized orthogonal projection of c onto the nullspace of Bk '• 4. Compute the direction vector: where r = l/^/n(n — 1). 5. Compute x^k+l"> using: 360 NON-SIMPLEX METHODS where a is the prespecified step size, a € (0,1). 6. Compute x^k+1^ by applying the inverse transformation U^1: The matrix Pk in step 2 is needed solely for computing P'kDj-c in step 3. In fact, the two steps can be combined in an efficient way without having to compute P& explicitly, as follows. We first solve a set of linear equations BkB^y — BkDkC (for the variable y), and then compute PkDkC using the expression PkDkC = Dkc-Bly. For more details on Karmarkar's algorithm, see [28], [38], [52], and [89]. For an informal introduction to the algorithm, see [80]. For further reading on other nonsimplex methods in linear programming, see [28], [38], [70], and [86]. An interesting three-article series on developments of the linear programming area before and after 1984 appeared in SI AM News, Vol. 22, No. 2, March 1989. The first article in this journal issue contains an account by Wright on recent progress and a history of linear programming from the early 1800s. The second article, by Anstreicher, focuses on interior-point algorithms developed since 1984. Finally in the third article in the series, Monma surveys computational implementations of interior-point methods. EXERCISES 18.1 Write a simple MATLAB function to implement the affine scaling algorithm. The inputs are c, A, b, and x^°\ where x^ is a strictly feasible initial point. Test the function on the problem in Example 16.2; use x^ = [2,3,2,3,3] T . 18.2 Write a MATLAB routine that implements the two-phase affine scaling method. It may be useful to use the MATLAB function of Exercise 18.1. Test the routine on the problem in Example 16.5. 18.3 For a given linear programming problem of the form the associated Karmarkar's artificial problem can be solved directly using the affine scaling method. Write a simple MATLAB program to solve problems of the form above by using the affine scaling algorithm applied to the associated Karmarkar's artificial problem. It may be useful to use the MATLAB function of Exercise 18.1. Test your program on the problem in Example 15.14. EXERCISES 361 18.4 Let a € E n , a > 0. Let T = [7\,..., Tn+i] be the projective transformation of the positive orthant P+ of En into the simplex A in Rn+1, given by Prove the following properties of T (see [52]): 1. T is a one-to-one mapping, that is, T(x) = T(y} implies that x — y; 2. T maps P+ onto A \ {x : xn+i = 0} = {x € A : zn+i > 0}, that is, for each y € {x € A : xn+\ > 0}, there exists x £ P+ such that y = T(x}\ 3. The inverse transformation of T exists on {x e A : zn+i > 0}, and is given by T-1 = [Tf 1 ,... ,T^]T, with T~l(y) = aiyi/yn+l; 4. T maps a to the center of the simplex A, that is, T(a) = e/(n + 1) = [l/(n + l ) , . . . , l / ( n + l ) ] € K n + 1 ; 5. Suppose that x satisfies Ax = b, andy = T(x). Let a;' = [yiai,..., ynan]T. Then, Ax' = byn+i. 18.5 Let T be the projective transformation in Exercise 18.4, and A E R m x n a given matrix. Prove that there exists a matrix A' 6 K mx ( n+1 ) such that Ax = b if and only if A'T(x) = 0. Hint: Let the ith column of A' be given by Oj times the ith column of A, i = 1,..., n, and the (n -I- l)st column of A' be given by —6. 18.6 Let T be the projective transformation in Exercise 18.4, and c € W1 a given vector. Prove that there exists a vector c' € Mn+1 such that CTX — 0 if and only if c'TT(x) = 0. Hint: Use property 3 in Exercise 18.4, with the c' = [ c { , . . . ,c'n+1]T given by c'i = diCi, i = 1,..., n, and c'n+l = 0. 18.7 Let A = {x € Mn : eTx = l,x > 0} be the simplex in E n , n > 1, and let OQ = e/n be its center. A sphere of radius r centered at a0 is the set {x € Mn : \\x — O,Q\\ < r}. The sphere is said to be inscribed in A if {a: 6 En : \\x — ao|| — r, eTx = 1} C A. Show that the largest such sphere has radius r - 1/vXn ~ 1). 18.8 Consider the following Karmarkar's restricted problem: 362 NON-SIMPLEX METHODS Let XQ e A be a strictly interior point of A, and D be a diagonal matrix whose diagonal entries are the components of XQ. Define the map U : A -» A by U(x) = D~1x/eTD~lx. Let x = U(x) represent a change of variable. Show that the following transformed LP problem in the variable x is equivalent to the original LP problem above, in the sense that a;* is an optimal solution to the original problem if and only if x* = U(x*} is an optimal solution to the transformed problem. 18.9 Let A G E m x n , m < n, and ft = {x : Ax = 0}. Suppose that A satisfies Let XQ e A n fi be a strictly interior point of A C W1, and D be a diagonal matrix whose diagonal entries are the components of XQ. Consider the matrix B defined by Show that rank B = m + 1, and hence BBT is nonsingular. 18.10 Show that in Karmarkar's algorithm, x^ is a strictly interior point of A. Part IV Nonlinear Constrained Optimization This page intentionally left blank 19 Problems with Equality Constraints 19.1 INTRODUCTION In this part, we discuss methods for solving a class of nonlinear constrained optimization problems that can be formulated as: where x 6 M n , / : En -> K, hi : En -» E, ^- : R71 -»• M, and m < n. In vector notation, the problem above can be represented in the following standard form: where h : En -> R m , and g : ln ->• E p . As usual, we adopt the following terminology. Definition 19.1 Any point satisfying the constraints is called a feasible point. The set of all feasible points is called the feasible set. 365 366 PROBLEMS WITH EQUALITY CONSTRAINTS Optimization problems of the above form are not new to us. Indeed, linear programming problems of the form which we studied in Part III, are of this type. As we remarked in Part II, there is no loss of generality by considering only minimization problems. For if we are confronted with a maximization problem, it can be easily transformed into the minimization problem by observing that We illustrate the problems we study in this part by considering the following simple numerical example. Example 19.1 This problem is already in the standard form given earlier, with /(xi, #2) — (x\ — I) 2 +X2 — 2, h ( x i , X 2 ) = X2 — xi — 1, and g(xi,x 19.2 PROBLEM FORMULATION The class of optimization problems we analyze in this chapter is where x 6 E n , / : Rn ->> E, h : W1 -> R m , h = [hi,..., hm]T, and m < n. We assume that the function h is continuously differentiable, that is, h e Cl. PROBLEM FORMULATION 367 Figure 19.1 Graphical solution to the problem in Example 19.1 We introduce the following definition. Definition 19.2 A point x* satisfying the constraints hi(x*} = 0 , . . . , hm(x*) = 0 is said to be a regular point of the constraints if the gradient vectors Vhi(x*},..., Vhm(x*) are linearly independent. Let Dh(x*} be the Jacobian matrix of h = [hi,..., hm]T at x*, given by Then, x* is regular if and only if rank£)/i(x*) = ra, that is, the Jacobian matrix is of full rank. The set of equality constraints hi(x] = 0,...,hm(x) = 0, hi : Rn ->• M, describes a surface Assuming the points in S are regular, the dimension of the surface S is n — m. Example 19.2 Let n — 3 and m = 1 (i.e., we are operating in E3). Assuming that all points in 5 are regular, the set S is a two-dimensional surface. For example, let Note that V/ii (x) = [0,1, -2z3]T, and hence for any x e E3, Vhi (x} ^ 0. In this case, 368 PROBLEMS WITH EQUALITY CONSTRAINTS See Figure 19.2 for a graphical illustration. Figure 19.2 A two-dimensional surface in R3 Example 19.3 Let n — 3 and ra = 2. Assuming regularity, the feasible set 5 is a one-dimensional object (i.e., a curve in E3). For example, let In this case, Vhi(x) = [1,0,0]T, and Vh,2(x) = [0,1, —2x3J T . Hence, the vectors V/ii(aj) and Vhzfa) are linearly independent in E3. Thus, See Figure 19.3 for a graphical illustration. Figure 19.3 A one-dimensional surface in R3 19.3 TANGENT AND NORMAL SPACES In this section, we discuss the notion of a tangent space and normal space at a point on a surface. We begin by defining a "curve" on a surface S. TANGENT AND NORMAL SPACES 369 Definition 19.3 A curve C on a surface S is a set of points {x(t} E S : t G (a, &)}, continuously parameterized by t G (a, 6); that is, a; : (0,6) —>• 5 is a continuous function. A graphical illustration of the definition of a curve is given in Figure 19.4. The definition of a curve implies that all the points on the curve satisfy the equation describing the surface. The curve C passes through a point x* if there exists £* E (a, 6) such that x(t*) = x*. Figure 19.4 A curve on a surface Intuitively, we can think of a curve C = {x(t) : t G (a, &)} as the path traversed by a point x traveling on the surface 5. The position of the point at time t is given byx(t). Definition 19.4 The curve C = {x(t} : t e (a, &)} is differentiable if exists for alH e (a, 6). The curve C = {x(t) : t G (a, 6)} is twice differentiable if exists for all t G (a, 6). Note that both x(t) and x(t) are n-dimensional vectors. We can think of x(i) and x(t) as the "velocity" and "acceleration," respectively, of a point traversing the curve C with position x(t) at time £. The vector x(t) points in the direction of the instantaneous motion of x(t). Therefore, the vector x(t*} is tangent to the curve C at x* (see Figure 19.5). 370 PROBLEMS WITH EQUALITY CONSTRAINTS Figure 19.5 Geometric interpretation of the differentiability of a curve We are now ready to introduce the notions of a tangent space. For this, recall the set where h e C1. We think of 5 as a surface in W1. Definition 19.5 The tangent space at a point x* on the surface S — {x € Mn : h(x] = 0} is the set Note that the tangent space T(a;*) is the nullspace of the matrix Dh(x*}, that is, The tangent space is therefore a subspace of W1. Assuming x* is regular, the dimension of the tangent space is n — m, where ra is the number of equality constraints hi(x*) = 0. Note that the tangent space passes through the origin. However, it is often convenient to picture the tangent space as a plane that passes through the point x*. For this, we define the tangent plane at x* to be the set Figure 19.6 illustrates the notion of a tangent plane. Figure 19.7 illustrates the relationship between the tangent plane and the tangent space. Example 19.4 Let Then, 5 is the £3-axis in R3 (see Figure 19.8). We have TANGENT AND NORMAL SPACES Figure 19.6 371 The tangent plane to the surface S at the point x* Because V/ii and V/i2 are linearly independent when evaluated at any x € S, all the points of S are regular. The tangent space at an arbitrary point of 5 is In this example, the tangent space T(x) at any point x 6 5 is a one-dimensional subspace of E3. Intuitively, we would expect the definition of the tangent space at a point on a surface to be the collection of all "tangent vectors" to the surface at that point. We have seen that the derivative of a curve on a surface at a point is a tangent vector to the curve, and hence to the surface. The above intuition agrees with our definition whenever x* is regular, as stated in the theorem below. Theorem 19.1 Suppose x* £ S is a regular point, and T(x*} is the tangent space at x*. Then, y G T(x*) if and only if there exists a differentiable curve in S passing through x* with derivative y at x*. d Proof. <=: Suppose there exists a curve {x(t) : t e (a, &)} in S such that x(t*) = x* and x(t*) = y for some t* e (a, b). Then, 372 PROBLEMS WITH EQUALITY CONSTRAINTS Figure 19.7 Tangent spaces and planes in R2 and R3 for all t 6 (a, 6). If we differentiate the function h(x(t)} with respect to t using the chain rule, we obtain for all t 6 (a, 6). Therefore, at t*, we get and hence y € T(x*). =•: To prove this, we need to use the implicit function theorem. We refer the reader to [64, p. 298]. We now introduce the notion of a normal space. TANGENT AND NORMAL SPACES 373 Figure 19.8 The surface S = {x e M3 : x\ = 0, xi - x2 = 0} Definition 19.6 The normal space N(x*) at a point x* on the surface S = {x 6 En :h(x} = 0} is the set We can express the normal space N(x*) as that is, the range of the matrix Dh(x*)T. Note that the normal space N(x*) is the subspaceof Rn spanned by the vectors V/ii(x*),..., V/i m (x*), that is, Note that the normal space contains the zero vector. Assuming x* is regular, the dimension of the normal space N(x*) is m. As in the case of the tangent space, it is often convenient to picture the normal space N(x*) as passing through the point x* (rather than through the origin of E n ). For this, we define the normal plane at x* as the set Figure 19.9 illustrates the normal space and plane in M3 (i.e., n = 3 and m = 1). We now show that the tangent space and normal space are orthogonal complements of each other (see Section 3.3). 374 PROBLEMS WITH EQUALITY CONSTRAINTS Figure 19.9 Normal space in R3 Lemma 19.1 We have T(x*) = N(x*}± and T(x*}L = N(x*}. Proof. By definition of T(zc*), we may write Hence, by definition of N(x*), we have T(x*) = N(x*}-L. By Exercise 3.6, we also have T(x*)- L = N(x*). By the above lemma, we can write En as the direct sum decomposition (see Section 3.3): that is, given any vectors G M n , there are unique vectors w 6 N(x*)andy E T(x*} such that 19.4 LAGRANGE CONDITION In this section, we present a first-order necessary condition for extremum problems with constraints. The result is the well-known Lagrange's theorem. To better understand the idea underlying this theorem, we first consider functions of two variables and only one equality constraint. Let h : E2 ->• E be the constraint function. Recall that at each point x of the domain, the gradient vector Vh(x) is orthogonal to the level set that passes through that point. Indeed, let us choose a point x* = [zi,^2] T sucri mat h(x*} = 0, and assume Vh(x*) ^ 0. The level set LAGRANGE CONDITION 375 through the point x* is the set {x : h(x] — 0}. We then parameterize this level set in a neighborhood of x* by a curve {x(t}}, that is, a continuously differentiable vector function x : E ->• E2 such that We can now show that V/i(x*) is orthogonal to x(t*). Indeed, because h is constant on the curve {x(i) : t € (a, 6)}, we have that for all t £ (a, 6), Hence, for all t E (o, 6), Applying the chain rule, we get Therefore, Vh(x*} is orthogonal to x(t*}. Now suppose that x* is a minimizer of / : R2 —>• E on the set {x : h(x) = 0}. We claim that V/(x*) is orthogonal to x(f). To see this, it is enough to observe that the composite function of t given by achieves a minimum at t*. Consequently, the first-order necessary condition for the unconstrained extremum problem implies Applying the chain rule yields Thus, V/(x*) is orthogonal to x(t*). The fact that x(t*) is tangent to the curve {x(t)} at x* means that V/(x*) is orthogonal to the curve at x* (see Figure 19.10). Recall that V/i(x*) is also orthogonal to x(i*). Therefore, the vectors V/i(x*) and V/(x*) are "parallel", that is, V/(x*) is a scalar multiple of V/i(x*). The above observations allow us now to formulate Lagrange 's theorem for functions of two variables with one constraint. Theorem 19.2 Lagrange's Theorem for n — 2, m = 1. Let the point x* be a minimizer of j : E2 -» E subject to the constraint h(x) — 0, h : E2 -> M. Then, V/(x*) andVh(x*) are parallel. That is, ifVh(x*) / 0, then there exists a scalar A* such that 376 PROBLEMS WITH EQUALITY CONSTRAINTS Figure 19.10 The gradient V/(x*) is orthogonal to the curve {x(t}} at the point x* that is a minimizer of / on the curve In the above theorem, we refer to A* as the Lagrange multiplier. Note that the theorem also holds for maximizers. Figure 19.11 gives an illustration of Lagrange's theorem for the case where x* is a maximizer of / over the set {x : h(x] = 0}. Lagrange's theorem provides a first-order necessary condition for a point to be a local minimizer. We call this condition the Lagrange condition, which consists of two equations: Note that the Lagrange condition is only necessary but not sufficient. In Figure 19.12, we illustrate a variety of points where the Lagrange condition is satisfied, including a case where the point is not an extremizer (neither a maximizer nor a minimizer). We now generalize Lagrange's theorem for the case when / : W1 —> R and h: W1 -)-E m ,m < n. Theorem 19.3 Lagrange's Theorem. Let x* be a local minimizer (or maximizer) o f f - . W 1 -> 1, subject to h(x) = 0, h : W1 -> Em, m < n. Assume that x* is a regular point. Then, there exists A* 6 Rm such that Proof. We need to prove that LAGRANGE CONDITION 377 Figure 19.11 Illustration of Lagrange's theorem for n = 2, ra = 1 for some A* Then, by Theorem 19.1, there exists a differentiable curve {x(t} : t € (a, 6)} such that for alH 6 (a, 6), and there exists t* G (a, b) satisfying Consider now the composite function 4>(t] = f ( x ( t } } . Note that t* is a local minimizer of this function. By the first-order necessary condition for unconstrained local minimizers (see Theorem 6.1), Applying the chain rule yields So all y eT(x*) satisfy 378 PROBLEMS WITH EQUALITY CONSTRAINTS Figure 19.12 Four examples where the Lagrange condition is satisfied: (a) maximizer, (b) minimizer, (c) minimizer, (d) not an extremizer (adapted from [87]) that is This completes the proof. Lagrange's theorem states that if x* is an extremizer, then the gradient of the objective function / can be expressed as a linear combination of the gradients of the constraints. We refer to the vector A* in the above theorem as the Lagrange multiplier vector, and its components the Lagrange multipliers. Observe that x* cannot be an extremizer if This situation is illustrated in Figure 19.13 It is convenient to introduce the so-called Lagrangian function / : W1 x Em —» E, given by LAGRANGE CONDITION 379 Figure 19.13 An example where the Lagrange condition does not hold The Lagrange condition for a local minimizer x* can be represented using the Lagrangian function as for some A*, where the derivative operation D is with respect to the entire argument [XT, A ]T. In other words, the necessary condition in Lagrange's theorem is equivalent to the first-order necessary condition for unconstrained optimization applied to the Lagrangian function. To see the above, denote the derivative of / with respect to x as Dxl, and the derivative of / with respect to A as D\l. Then, Note that Dxl(x,$$ = Df(x) + \TDh(x) and Dxl(x,\) = h(x)T. Therefore, the Lagrange's theorem for a local minimizer x* can be stated as for some A*, which is equivalent to In other words, the Lagrange condition can be expressed as Dl(x*, A*) = 0T. The Lagrange condition is used to find possible extremizers. This entails solving the equations: 380 PROBLEMS WITH EQUALITY CONSTRAINTS The above represents n + m equations in n + m unknowns. Keep in mind that the Lagrange condition is only necessary, but not sufficient; that is, a point x* satisfying the above equations need not be an extremizer. Example 19.5 Given a fixed area of cardboard, we wish to construct a closed cardboard box with maximum volume. We can formulate and solve this problem using the Lagrange condition. Denote the dimensions of the box with maximum volume by £1, £2, and £3, and let the given fixed area of cardboard be A. The problem then can be formulated as We denote f ( x ) = —x\x<2Xs, and h(x] = xix% + £2X3 + x%x\ — A/2. We have V f ( x ) = -[x^x^.x^x^^xix^ and Vh(x} = [x% + £3,^1 + x3,xi + x2]T. Note that all feasible points are regular in this case. By the Lagrange condition, the dimensions of the box with maximum volume satisfies where A e R We now solve the above equations. First, we show that that x\, x%, #3, and A are all nonzero. Suppose x\ — 0. By the constraints, we have #2X3 = A/1. However, the second and third equations in the Lagrange condition yield Ax2 = Axs = 0, which together with the first equation implies £2X3 — 0- This contradicts the constraints. A similar argument applies to £2 and £3. Next, suppose A = 0. Then, the sum of the three Lagrange equations gives £2X3 + xixz + £i£2 = 0, which contradicts the constraints. We now solve for xi, £2, and £3 in the Lagrange equations. First, multiply the first equation by x\ and the second by x?., and subtract one from the other. We arrive at £3$$x\ — £2) — 0. Because neither £3 nor A can be zero (by part b), we conclude that Xi = x-2- We similarly deduce that £2 = £3. From the constraint equation, we obtain x\ = £2 = £3 = -\/A/6. Notice that we have ignored the constraints that xi, x%, and £3 are positive so that we can solve the problem using Lagrange's theorem. However, there is only one solution to the Lagrange equations, and the solution is positive. Therefore, if a solution exists for the problem with positivity constraints on the variables £1, £2, and £3, then this solution must necessarily be equal to above solution obtained by ignoring the positivity constraints. Next we provide an example with a quadratic objective function and a quadratic constraint. LAG RANGE CONDITION 381 Example 19.6 Consider the problem of extremizing the objective function on the ellipse We have Thus, and Setting Dxl(x,X} = 0T and D\l(x,\] = 0 we obtain three equations in three unknowns All feasible points in this problem are regular. From the first of the above equations, we get either x± = Q or X = — 1. For the case where xi = 0, the second and third equations imply that A = — 1/2 and x% = ±l/\/2. For the case where A = —1, the second and third equations imply that x\ = ±1 and x^ — 0. Thus, the points that satisfy the Lagrange condition for extrema are Because and we conclude that if there are minimizers, then they are located at a^1) and x^, and if there are maximizers, then they are located at x^ and x^. It turns out that, indeed, x^ and x^> are minimizers and x^ and x^ are maximizers. This problem can be solved graphically, as illustrated in Figure 19.14. In the above example both the objective function / and the constraint function h are quadratic functions. In the next example, we take a closer look at a class 382 PROBLEMS WITH EQUALITY CONSTRAINTS Figure 19.14 Graphical solution of the problem in Example 19.6 of problems where both the objective function / and the constraint h are quadratic functions of n variables. Example 19.7 Consider the following problem: where Q — QT > 0, and P = PT > 0. Note that if a point x — [x\,..., xn]T is a solution to the problem, then so is any nonzero scalar multiple of it, Indeed, Therefore, to avoid the multiplicity of solutions, we further impose the constraint The optimization problem becomes Let us write SECOND-ORDER CONDITIONS 383 Any feasible point for this problem is regular (see Exercise 19.9). We now apply Lagrange's method. We first form the Lagrangian function Applying the Lagrange condition yields The first of the above equations can be represented as or This representation is possible because P — P and Q — Q . By assumption P > 0, hence P"1 exists. Premultiplying (AP - Q}x = 0 by P"1, we obtain or, equivalently, Therefore, the solution, if it exists, is an eigenvector of P 1Q, and the Lagrange multiplier is the corresponding eigenvalue. As usual, let x* and A* be the optimal solution. Because x*TPx* — 1, and P~lQx* = X*x*, we have Hence, A* is the maximum of the objective function, and therefore is, in fact, the maximal eigenvalue of P~1Q. In the above problems, we are able to find points that are candidates for extremizers of the given objective function subject to equality constraints. These critical points are the only candidates because they are the only points that satisfy the Lagrange condition. To classify such critical points as minimizers, maximizers, or neither, we need a stronger condition—possibly a necessary and sufficient condition. In the next section, we discuss a second-order necessary condition and a second-order sufficient condition for minimizers. 19.5 SECOND-ORDER CONDITIONS We assume that / : En -> Eand/i : En ->• Em are twice continuously differentiable, that is, /, h € C2. Let 384 PROBLEMS WITH EQUALITY CONSTRAINTS be the Lagrangian function. Let L(x, A) be the Hessian matrix of l(x, A) with respect to x, that is, where F(x) is the Hessian matrix of / at x, and Hk (x) is the Hessian matrix of hk at x, k = 1,..., m, given by We introduce the notation [\H(x)]: Using the above notation, we can write Theorem 19.4 Second-Order Necessary Conditions. Letx* be a local minimizer of f : W1 -> E subject to h(x] = 0, h : W1 -» Mm, m < n, and f, h e C2. Suppose x* is regular. Then, there exists A* £ W1 such that 1. D f ( x * ) + A*TD/i(z*) = 0T; and 2. for ally € T(x*\ \vehaveyT L(x* ,\*}y > 0. Proof. The existence of A* e Rm such that Df(x*) + \*TDh(x*) = QT follows from Lagrange's theorem. It remains to prove the second part of the result. Suppose y e T(x*}, that is, y belongs to the tangent space to S = {x 6 En : h(x) = 0} at x*. Because h 6 C2, following the argument of Theorem 19.1, there exists a twice differentiate curve {x(t} :t£ (a, 6)} on S such that for some t* € (a, 6). Observe that by assumption, t* is a local minimizer of the function (f>(t) = f ( x ( t ) ) . From the second-order necessary condition for unconstrained minimization (see Theorem 6.2), we obtain Using the following formula SECOND-ORDER CONDITIONS and applying the chain rule yields Because h(x(t}} = 0 for all t € (a, 6), we have Thus, for alH e (a, 6), In particular, the above is true for t = t*, that is, Adding the above equation to the inequality yields But, by Lagrange's theorem, D f ( x * ) + \*TDh(x*} = 0T. Therefore, which proves the result. 385 386 PROBLEMS WITH EQUALITY CONSTRAINTS Observe that L(x, A) plays a similar role as the Hessian matrix F(x) of the objective function / did in the unconstrained minimization case. However, we now require that L(x*, A*) > 0 only on T(x*) rather than on M n . The above conditions are necessary, but not sufficient, for a point to be a local minimizer. We now present, without a proof, sufficient conditions for a point to be a strict local minimizer. Theorem 19.5 Second-Order Sufficient Conditions. Suppose f , h € C2 and there exist a point x* 6 W1 and A* 6 Rm such that 1. £>/(x*) + X*TDh(x*) = 0T; and 2. for ally € T(x*), y ^ 0, we have yT L(x*, \*}y > 0. Then, x* is a strict local minimizer of f subject to h(x) = 0. Proof. The interested reader can consult [64, p. 307] for a proof of this result. The above theorem states that if an x* satisfies the Lagrange condition, and L(x*, A*) is positive definite on T(x*), then x* is a strict local minimizer. A similar result to Theorem 19.5 holds for a strict local maximizer, the only difference being that L(x*,\*) be negative definite on T(x*). We illustrate this condition in the following example. Example 19.8 Consider the following problem: where As pointed out earlier, we can represent the above problem in the equivalent form The Lagrangian function for the transformed problem is given by The Lagrange condition yields where MINIMIZING QUADRATICS SUBJECT TO LINEAR CONSTRAINTS 387 There are only two values of A that satisfy (XI — P~lQ}x — 0, namely, the eigenvalues of P~1Q: \i = 2, \2 — 1. We recall from our previous discussion of this problem that the Lagrange multiplier corresponding to the solution is the maximum eigenvalue of P-1Q, namely, A* = AI = 2. The corresponding eigenvector is the maximizer, that is, the solution to the problem. The eigenvector corresponding to the eigenvalue A* = 2 satisfying the constraint xTPx = 1 is ±x*, where At this point, all we have established is that the pairs (±z*,A*) satisfy the Lagrange condition. We now show that the points ±x* are, in fact, strict local maximizers. We do this for the point x*. A similar procedure applies to — x*. We first compute the Hessian matrix of the Lagrangian function. We have The tangent space T(x*) to {x : 1 — xTPx = 0} is Note that for each y 6 T(x*), y ^ 0, Hence, L(x*, A*) < 0 on T(x*), and thus x* = [l/\/2,0] T is a strict local maximizer. The same is true for the point — x*. Note that which, as expected, is the value of the maximal eigenvalue of P 1Q. Finally, we point out that any scalar multiple tx* of x*, t ^ 0, is a solution to the original problem of maximizing xTQx/xTPx. 19.6 MINIMIZING QUADRATICS SUBJECT TO LINEAR CONSTRAINTS Consider the problem 388 PROBLEMS WITH EQUALITY CONSTRAINTS where Q > 0, A E R m x n , m < n, rank A = m. This problem is a special case of what is called a quadratic programming problem (the general form of a quadratic programming problem includes the constraint x > 0). Note that the constraint set contains an infinite number of points (see Section 2.3). We now show, using Lagrange's theorem, that there is a unique solution to the above optimization problem. Following that, we provide an example illustrating the application of this solution to an optimal control problem. To solve the problem, we first form the Lagrangian function The Lagrange condition yields Rewriting, we get Premultiplying both sides of the above by A gives Using the fact that Ax* = 6, and noting that AQ and rank A = m, we can solve for A* to obtain 1 AT is invertible because Q > 0 Therefore, we obtain The point x* is the only candidate for a minimizer. To establish that x* is indeed a minimizer, we verify that x* satisfies the second-order sufficient conditions. For this, we first find the Hessian matrix of the Lagrangian function at (x*, A*). We have which is positive definite. Thus, the point x* is a strict local minimizer. We will see in Chapter 21 that x* is, in fact, a global minimizer. The special case where Q = In, the nxn identity matrix, reduces to the problem considered in Section 12.3. Specifically, the problem in Section 12.3 is to minimize the norm ||x|| subject to Ax = b. The objective function here is /(x) = ||x||, which is not differentiable at x = 0. This precludes the use of Lagrange's theorem because the theorem requires differentiability of the objective function. We can overcome this difficulty by considering an equivalent optimization problem: MINIMIZING QUADRATICS SUBJECT TO LINEAR CONSTRAINTS 389 The objective function ||x||2/2 has the same minimizer as the previous objective function ||x||. Indeed, if x* is such that for all x e W1 satisfying Ax = b, \\x*\\ < \\x\\, then ||x*||2/2 < ||a;||2/2. The same is true for the converse. Because the problem of minimizing ||x||2/2 subject to Ax = bis simply the problem considered above with Q = In, we easily deduce the solution to be x* = AT(AAT)~lb, which agrees with the solution in Section 12.3. Example 19.9 Consider the discrete-time linear system model with initial condition XQ given. We can think of {x/t} as a discrete-time signal that is controlled by an external input signal {uk}. In the control literature, Xk is called the state at time k. For a given x0, our goal is to choose the control signal {uk} so that the state remains "small," over a time interval [1, JV], but at the same time the control signal is "not too large." To express the desire to keep the state {xk } small, we choose the control sequence to minimize On the other hand, maintaining a control signal that is not too large, we minimize The above two objectives are conflicting in the sense that they cannot, in general, be simultaneously achieved—minimizing the first may result in large control effort, while minimizing the second may result in large states. This is clearly a problem that requires compromise. One way to approach the problem is to minimize a weightedsum of the above two functions. Specifically, we can formulate the problem as: where the parameters q and r reflect the relative importance of keeping the state small versus keeping the control effort not too large. This problem is an instance of the linear quadratic regulator (LQR) problem (see, e.g., [11], [15], [62], [63], or [71]). To solve the above problem, we can rewrite it as a quadratic programming problem. Define 390 PROBLEMS WITH EQUALITY CONSTRAINTS With these definitions, the problem reduces to the previously considered quadratic programming problem where Q is 2N x 2N, A is N x 2N, and b e RN. The solution is The first N components of z* represent the optimal state signal in the interval [1, AT], whereas the second N components represent the optimal control signal. In practice, the computation of the matrix inverses in the above formula for z* may be too costly. There are other ways to tackle the problem by exploiting its special structure. This is the study of optimal control (see, e.g., [11], [15], [62], [63], or [71]). The following example illustrates an application of the above discussion. Example 19.10 Credit-card holder dilemma. Suppose we currently have a creditcard debt of 10,000. Credit-card debts are subject to a monthly interest rate of 2%, and the account balance is increased by the interest amount every month. Each month, we have the option of reducing the account balance by contributing a payment to the account. Over the next 10 months, we plan to contribute a payment every month in such a way as to minimize the overall debt level while at the same time minimize the hardship of making monthly payments. We solve our problem using the LQR framework as described in Example 19.9. Let the current time be 0, Xk the account balance at the end of month k, and UK our payment in month k. We have that is, the account balance in a given month is equal to the account balance in the previous month plus the monthly interest on that balance minus our payment that EXERCISES 391 month. Our optimization problem is then which is an instance of the LQR problem. The parameters q and r reflect our priority in trading off between debt reduction and hardship in making payments. The more anxious we are to reduce our debt, the larger the value of q relative to r. On the other hand, the more reluctant we are to make payments, the larger the value of r relative toq. The solution to the above problem is given by the formula derived in Example 19.9. In Figure 19.15, we plot the monthly account balances and payments over the next 10 months using q = 1 and r = 10. We can see here that our debt has been reduced to less than 1,000 after 10 months, but with a first payment close to 3,000. If we feel that a payment of 3,000 is too high, then we can try to reduce this amount by increasing the value of r relative to q. However, going too far along these lines can lead to trouble. Indeed, if we use q — 1 and r = 300 (see Figure 19.16), although the monthly payments do not exceed 400, the account balance is never reduced by much below 10,000. In this case, the interest on the account balance eats up a significant portion of our monthly payments. In fact, our debt after 10 months will be higher than 10,000. EXERCISES 19.1 Find local extremizers for the following optimization problems: a. minimize subject to x\ + 2xix^ + 3x% + 4x\ + 6x2 + 6x3 x\ + 2x2 — 3 4xi + 5x3 = 6; b. maximize subject to 4xi + x\ x\ + x\ — 9; maximize subject to £1X2 x\ + 4^2 = 1. c. 392 PROBLEMS WITH EQUALITY CONSTRAINTS Figure 19.15 Plots for Example 19.10 with q = 1 and r = 10 Figure 19.16 Plots for Example 19.10 with q - 1 and r = 300 EXERCISES 393 19.2 Consider the problem where / : E2 -> R, h : E2 ->• E, and V/(x) = [zi,zi + 4]T. Suppose that x* is an optimal solution, and V/i(x*) = [1,4]T. Find V/(x*). 19.3 Consider the problem where XQ = [1, \/3]Ta. Find all points satisfying the Lagrange condition for the problem. b. Using second-order conditions, determine whether or not each of the points in part a are local minimizers. 19.4 We wish to construct a closed box with minimum surface area that encloses a volume of V cubic feet, where V > 0. a. Let a, b, and c denote the dimensions of the box with minimum surface area (with volume V). Derive the Lagrange condition that must be satisfied by o, b, and c. b. What does it mean for a point x* to be a regular point in this problem? Is the point x* = [a, b, c]T a regular point? c. Find a, 6, and c. d. Does the point x* = [a, b, c]T found in part c satisfy the second-order sufficient condition? 19.5 Find local extremizers of a. f ( x i , X 2 , x z ) = x\ + 3^2 4- £3 subject to x\ + x\ + x\ = 16; b. /(xi, x 2 ) = x\ + x\ subject to 3xf + 4xix 2 + 6x| = 140. 19.6 Consider the problem 394 PROBLEMS WITH EQUALITY CONSTRAINTS a. Use Lagrange's theorem to find all possible local minimizers and maximizers. b. Use the second-order sufficient conditions to specify which points are strict local minimizers and which are strict local maximizers. c. Are the points in part b global minimizers or maximizers? Explain. 19.7 Find all solutions to the problem 19.8 Consider a matrix A £ M m x n . Define the induced 1-norm of A, denoted ||A||2, to be the number where the norm || • || on the right-hand side above is the usual Euclidean norm. Suppose the eigenvalues of AT A are \i,..., An (ordered from largest to smallest). Use Lagrange's theorem to express ||A||2 in terms of the above eigenvalues (cf. Theorem 3.8). 19.9 Let P = PT be a positive definite matrix. Show that any point x satisfying 1 — x1Px — 0 is a regular point. 19.10 Consider the problem: where a, b € E. Show that if [1,1]T is a solution to the problem, then a = b. 19.11 Consider the problem: a. Apply Lagrange's theorem directly to the problem to show that if a solution exists, it must be either [1,1]T or [— 1,1]T. b. Use the second-order necessary conditions to show that [—1,1]T cannot possibly be the solution. c. Use the second-order sufficient conditions to show that [1,1]T is a strict local minimizer. EXERCISES 395 19.12 Let A € R m x n , m < n, rank A = m, and x0 € M n . Let x* be the point on the nullspace of A that is closest to x0 (in the sense of Euclidean norm). a. Show that x* is orthogonal to x* — XQ. b. Find a formula for x* in terms of A and XQ. 19.13 Consider the quadratic programming problem where Q = QT > 0, A € R m x n , m < n, and rank A = m. Use the Lagrange condition to derive a closed-form solution to the problem. 19.14 Let L be an n x n real symmetric matrix, and let M be a subspace of En with dimension m < n. Let {61,..., bm} C Mn be a basis for M, and let B be the n x m matrix with 6; as the ith column. Let LM be the m x m matrix defined by L_M = BTLB. Show that L is positive semidefinite (definite) on M. if and only if LM is positive semidefinite (definite). Note: This result is useful for checking that the Hessian of the Lagrangian function at a point is positive definite on the tangent space at that point. 19.15 Consider the sequence {xk}, or* € M, generated by the recursion where UQ, u\, u^,... is a sequence of "control inputs," and the initial condition XQ ^ 0 is given. The above recursion is also called a discrete-time linear system. We wish to find values of control inputs UQ and u\ such that x^ = 0, and the average input energy (UQ + u$$/2 is minimized. Denote the optimal inputs by UQ and uj1. a. Find expressions for UQ and u* in terms of a, b, and XQ. b. Use the second-order sufficient conditions to show that the point u* = [UQ, UI]T in part a is a strict local minimizer. 19.16 Consider the discrete-time linear system Xk = %Xk-i 4- Uk, k > 1, with XQ = 1. Find the values of the control inputs u\ and u% to minimize This page intentionally left blank 20 Problems with Inequality Constraints 20.1 KARUSH-KUHN-TUCKER CONDITION In the previous chapter, we analyzed constrained optimization problems involving only equality constraints. In this chapter, we discuss extremum problems that also involve inequality constraints. The treatment in this chapter parallels that of the previous chapter. In particular, as we shall see, problems with inequality constraints can also be treated using Lagrange multipliers. We consider the following problem: where / : Rn -»• E, h : En -)• E m , m < n, and g : Mn -» Ep. For the above general problem, we adopt the following definitions. Definition20.1 An inequality constraint QJ(X) < 0 is said to be active at x* if gj(x*) — 0. It is inactive at x* if gj(x*} < 0. By convention, we consider an equality constraint hi(x) — 0 to be always active. Definition 20.2 Let x* satisfy h(x*) = 0, g(x*) < 0, and let J(x*) be the index set of active inequality constraints, that is, 397 398 PROBLEMS WITH INEQUALITY CONSTRAINTS Then, we say that x* is a regular point if the vectors are linearly independent. We now prove a first-order necessary condition for a point to be a local minimizer. We call this condition the Karush-Kuhn-Tucker (KKT) condition. In the literature, this condition is sometimes also called the Kuhn-Tucker condition. Theorem 20.1 Karush-Kuhn-Tucker (KKT) Theorem. Let f,h,g € Cl. Let x* be a regular point and a local minimizer for the problem of minimizing f subject to h(x] = 0, g(x) < 0. Then, there exist A* G Em and p,* e Kp such that 1. /x* > 0, 2. Df(x*) + \*TDh(x*) + n*TDg(x*) = 0T, 3. v*Tg(x*) = 0. In the above theorem, we refer to A* as the Lagrange multiplier vector, and /x* as the Karush-Kuhn-Tucker (KKT) multiplier vector. We refer to their components as Lagrange multipliers and Karush-Kuhn-Tucker (KKT) multipliers, respectively. Before proving this theorem let us first discuss its meaning. Observe that p,* > 0 (by condition 1) and gj(x*} < 0. Therefore, the condition implies that if Qj(x*} < 0, then /u* = 0, that is, for all j$ J ( x * ) , we have pJ* = 0. In other words, the KKT multipliers p.* corresponding to inactive constraints are zero. The other KKT multipliers, p,*, i e J(x*), are nonnegative; they may or may not be equal to zero. Example 20.1 A graphical illustration of the Karush-Kuhn-Tucker (KKT) theorem is given in Figure 20.1. In this two-dimensional example, we have only inequality constraints gj(x) < 0, j = 1, 2,3. Note that the point x* in the figure is indeed a minimizer. The constraint g s ( x ) < 0 is inactive, that is, #3(3:*) < 0; hence p,% = 0. By the KKT theorem, we have

or, equivalently, where ^ > 0 and ^ > 0- It 1 S easv to graphically interpret the KKT condition above for this example. Specifically, we can see from the Figure 20.1 that V/(je*) must be a linear combination of the vectors — Vg\(x*) and — V
KARUSH-KUHN-TUCKER CONDITION

399

Figure 20.1 Illustration of the Karush-Kuhn-Tucker (KKT) theorem

coefficients. This is exactly reflected in the above equation, where the coefficients Hi and //2 are the KKT multipliers. We apply the KKT condition in the same way we apply any necessary condition. Specifically, we search for points satisfying the KKT condition and treat these points as candidate minimizers. To summarize, the KKT condition consists of five parts (three equations and two inequalities):

1. A** > 0; 2. D f ( x * ) + X*TDh(x*) + p*TDg(x*} = 0T; 3. »*Tg(x*} = 0;

4. h(x*) = 0; 5. g(x*} < 0. We now prove the KKT theorem. Proof of Karush-Kuhn-Tucker Theorem. Let x* be a regular local minimizer of / on the set {x : h(x] = Q,g(x) < 0}. Then, x* is also a regular local minimizer of / on the set {x : h(x) = Q,QJ(X) = 0, j € J(x*)} (see Exercise 20.13). Note that the latter constraint set involves only equality constraints. Therefore, from Lagrange's theorem, it follows that there exist vectors A* € Mm and /x* 6 Ep such that

400

PROBLEMS WITH INEQUALITY

CONSTRAINTS

where for all j £ J(x*), we have //!• = 0. To complete the proof it remains to show that for all j € J(x*), we have /^ > 0 (and hence for all j = 1,... ,p, we have fjLj > 0, i.e., //* > 0). We use a proof by contradiction. So suppose that there exists j £ J(x*} such that ^ < 0. Let 5 and T(x*) be the surface and tangent space defined by all other active constraints at x*. Specifically,

and

We claim that, by the regularity of x*, there exists y 6 T(x*} such that

To see this, suppose that for all y £ T(x*), Vgj(x*}Ty — Dgj(x*}y = 0. This implies that Vgj(x*) 6 T(x*}L. By Lemma 19.1, this, in turn, implies that

But this contradicts the fact that x* is a regular point, which proves our claim. Without loss of generality, we assume that we have y such that Dgj(x*)y < 0. Consider the Lagrange condition, rewritten as

If we postmultiply the above by y, and use the fact that y £ T(x*), we get

Because Dgj (x*)y < 0, and we have assumed that /z!- < 0, we have

Because y € T(x*}, by Theorem 19.1 we can find a differentiable curve {x(t) : t e (a, b)} on 5 such that there exists t* 6 (a, b] with x(t*} = x* and x(t*} = y. Now,

The above means that there is a 6 > 0 such that for all t G (t*, t* + 8], we have

On the other hand,

KARUSH-KUHN-TUCKER CONDITION

401

Figure 20.2 Circuit in Example 20.2 and for some e > 0 and all t € [t*,t* + e], we have that gj(x(t}} < 0. Therefore, for all t 6 (**,**+ min((J,e)], we have that gj(x(t}} < 0 and f ( x ( i ) ) < f ( x * } . Because the points x(t), t 6 (t*, t* + min(<5,£•)], are in S, they are feasible points with lower objective function values than x*. This contradicts the assumption that a;* is a local minimizer, and hence the proof is completed. Example 20.2 Consider the circuit in Figure 20.2. Formulate and solve the KKT condition for the following problems. a. Find the value of the resistor R > 0 such that the power absorbed by this resistor is maximized. b. Find the value of the resistor R > 0 such that the power delivered to the 10 (7 resistor is maximized. Solutions: a. The power absorbed by the resistor R is p — i2R, where i — optimization problem can be represented as

The derivative of the objective function is

Thus, the KKT condition is

2 10

^_R. The

402

PROBLEMS WITH INEQUALITY CONSTRAINTS

We consider two cases. In the first case, suppose // > 0. Then, R = 0. But this contradicts the first condition above. Now suppose /z = 0. Then, by the first condition, we have R = 10. Therefore, the only solution to the KKT condition is R = 10, p. = 0. b. The power absorbed by the 10 fl resistor is p = i210, where i = 20/(10 4- R). The optimization problem can be represented as

The derivative of the objective function is

Thus, the KKT condition is

As before, we consider two cases. In the first case, suppose /z > 0. Then, R = 0, which is feasible. For the second case, suppose (JL = 0. But this contradicts the first condition. Therefore, the only solution to the KKT condition is R = 0, /i = 8.

In the case when the objective function is to be maximized, that is, when the optimization problem has the form

the KKT condition can be written as 1. n* > 0 ;

2. -Df(x*) + X*TDh(x*) + p,*TDg(x*) = 0T; 3. »*Tg(x*) = 0;

4. h(x*) = 0;

KARUSH-KUHN-TUCKER CONDITION

403

5. 0(x*) < 0. The above is easily derived by converting the maximization problem above into a minimization problem, by multiplying the objective function by — 1. It can be further rewritten as 1. /x* < 0;

2. D f ( x * } + X*TDh(x*) + n*TDg(x*} = 0T; 3. n*Tg(x*} = 0; 4. /i(x*) = 0; 5. g(x*) < 0.

The above form is obtained from the previous one by changing the signs of /x* and A* and multiplying condition 2 by — 1. We can similarly derive the KKT condition for the case when the inequality constraint is of the form g(x) > 0. Specifically, consider the problem

We multiply the inequality constraint function function by — 1, to obtain —g(x) < 0. Thus, the KKT condition for this case is 1. ^* > 0 ;

2. £>/(x*) + A* T Z?fi(x*) - V*TDg(x*} = 0T; 3. n*Tg(x*} = 0; 4. fc(x*) = 0; 5. g(x*) > 0.

Changing the sign of /x* as before, we obtain 1. AI* < 0 ;

2. D f ( x * ) + X*TDh(x*} + n*TDg(x*) = 0T; 3. »*Tg(x*) = 0; 4. /i(x") = 0; 5. g(x*) > 0.

404

PROBLEMS WITH INEQUALITY CONSTRAINTS

For the problem

the KKT condition is exactly the same as in Theorem 20.1. Example 20.3 In Figure 20.3, the two points x\ and x^ are feasible points, that is, Q(XI) > 0 and g(x 0, and they satisfy the KKT condition. The point x\ is a maximizer. The KKT condition for this point (with KKT multiplier//i) is: 1. pi > 0;

2. V/(zi) + fiiV0(si) = 0; 3. mg(xi) = 0; 4. g(xi) > 0.

The point #2 is a minimizer of /. The KKT condition for this point (with KKT multiplier/^) is: 1. A*2 < 0; 2. V/(z 2 )+//2V£(z2) = 0;

3. H2g(x2} = 0; 4. 0(2:2) > 0.

Example 20.4 Consider the problem

where The KKT condition for this problem is 1. H = [//i,// 2 ] T < 0; 2. D f ( x ) + nT = 0T; 3. HTX = 0;

KARUSH-KUHN-TUCKER CONDITION

Figure 20.3

405

Points satisfying the KKT condition (xi is a maximizer and x-i is a minimizer)

4. x > 0.

We have This gives

We now have four variables, three equations, and the inequality constraints on each variable. To find a solution (x*, //*), we first try

which gives

The above satisfies all the KKT and feasibility conditions. In a similar fashion, we can try which gives This point clearly violates the nonpositivity constraint on //£. The feasible point above satisfying the KKT condition is only a candidate for a minimizer. However, there is no guarantee that the point is indeed a minimizer,

406

PROBLEMS WITH INEQUALITY CONSTRAINTS

because the KKT condition is, in general, only necessary. A sufficient condition for a point to be a minimizer is given in the next section. The above example is a special case of a more general problem of the form

The KKT condition for this problem has the form

From the above, we can eliminate // to obtain

Some possible points in R2 that satisfy the above conditions are depicted in Figure 20.4. For further results related to the KKT condition, we refer the reader to [67, Chapter 7].

20.2

SECOND-ORDER CONDITIONS

As in the case of extremum problems with equality constraints, we can also give second-order necessary and sufficient conditions for extremum problems involving inequality constraints. For this, we need to define the following matrix:

where F(x) is the Hessian matrix of/ at x, and the notation [\H (x}] represents

as before. Similarly, the notation [fiG(x}] represents

where Gk (x) is the Hessian of
SECOND-ORDER CONDITIONS

407

Figure 20.4 Some possible points satisfying the KKT condition for problems with positive constraints (adapted from [9])

In the following theorem, we use

that is, the tangent space to the surface defined by active constraints. Theorem 20.2 Second-Order Necessary Conditions. Letx* be a local minimizer of f : Rn R subject to h(x) = 0, g(x) < 0, h : Rn Rm, m < n, g : Rn Rp, and f, h, g € C2. Suppose x* is regular. Then, there exist l* G Rm and m* e Rp such that: 1. m* > 0, D f(x*) + l* T Dh(x*) + m* T Dg(x*) = 0T, m* T g(x*) = 0; and 2. For all y e T(x*) we have yTL(x*, l*, m**) y > 0.

408

PROBLEMS WITH INEQUALITY CONSTRAINTS

Proof. Part 1 is simply a result of the KKT theorem. To prove part 2, we note that because the point x* is a local minimizer over {x : h(x) — 0, g ( x ] < 0), it is also a local minimizer over {x : h(x) — 0, QJ(X] = 0, j € J(x*)}, that is, the point x* is a local minimizer with active constraints taken as equality constraints (see Exercise 20.13). Hence, the second-order necessary conditions for equality constraints (Theorem 19.4) are applicable here, which completes the proof. We now state the second-order sufficient conditions for extremum problems involving inequality constraints. In the formulation of the result, we use the following set:

where J(x*,^t*) = {i : gi(x*} = O,//* > 0}. Note that J(x*,p,*) is a subset of J(x*), that is, J(x*, /i*) C J(x*). This, in turn, implies that T(x*) is a subset of r(x*,/u*),thatis,T(x*) cT(x*,^*). Theorem 20.3 Second-Order Sufficient Conditions. Suppose /, 0, £>/(x*) + A*T£>h(x*) + v*TDg(x*} = 0T, ^Tg(x*} = 0; and 2. Forallyef(x*,^),y^O,wehaveyTL(x^X\p,*)y

> 0.

77iert, x* w a strict local minimizer of f subject to h(x) = 0, g(x) < 0.

D

Prao/ For a proof of this theorem, we refer the reader to [64, p. 317]. A similar result to Theorem 20.3 holds for a strict local maximizer, the only difference being that we need /x* < 0 and that L(x*, A*) be negative definite on T(x*, M "). With the above result, we can now analytically solve the problem in Example 19.1, which we previously solved graphically. Example 20.5 We wish to minimize /(x) = (xi — I) 2 + x2 — 2 subject to

For all x € M 2 , we have

Thus, Vh(x] and Vg(x) are linearly independent and hence all feasible points are regular. We first write the KKT condition. Because D f ( x ) — [2xi — 2,1], we have

SECOND-ORDER CONDITIONS

409

To find points that satisfy the above conditions, we first try fj, > 0, which implies xi + x-2 — 2 = 0. Thus, we are faced with a system of four linear equations

Solving the above system of equations we obtain

However, the above is not a legitimate solution to the KKT condition, because we obtained p, = 0, which contradicts the assumption that p, > 0. In the second try, we assume p, = 0. Thus, we have to solve the following system of equations

and the solutions must satisfy

Solving the above equations, we obtain

rrt

Note that x* = [1/2,3/2] satisfies the constraint g(x*) < 0. The point x* satisfying the KKT necessary condition is therefore the candidate for being a minimizer. We now verify if x* = [l/2,3/2] T , A* = -1, //* = 0, satisfy the second-order sufficient conditions. For this, we form the matrix

We then find the subspace

470

PROBLEMS WITH INEQUALITY CONSTRAINTS

Note that, because p,* = 0, the active constraint g(x*} = 0 does not enter the computation of f(x*, p*). Note also that in this case, T(x*) = {0}. We have

We then check for positive definiteness of L(x*, A*, //*) on f(x* ,//*). We have

Thus, L(x*, A*,//*) is positive definite on f(x*,n*}. Observe that L(x*, A*,/z*) is, in fact, only positive semidefinite on E2. By the second-order sufficient conditions, we conclude that x* = [1/2,3/2] is a strict local minimizer.

EXERCISES 20.1 Find local extremizers for a. x\ + x\ — 1x\ — 10x2 + 26 subject to |x2 — x\ < 0, 5xi + \x 0, ^2 > 0, x\ + x 5; c. x\ + Qxix2 ~ 4xi - 2x2 subject to x\ + 2ar2 < 1, 2xi — 2x2 < 1. 20.2 Find local minimizers for x\ + x\ subject to x\ + 2xiX2 -\-x\ = \,x\—x>i < 0. 20.3 Write down the Karush-Kuhn-Tucker condition for the optimization problem in Exercise 15.6. 20.4 Consider the problem

where x\ and #2 are real variables. Answer each of the following questions, making sure that you give complete reasoning for your answers. a. Write down the KKT condition for the problem, and find all points that satisfy the condition. Check whether or not each point is regular. b. Determine whether or not the point(s) in part a satisfy the second-order necessary condition. c. Determine whether or not the point(s) in part b satisfy the second-order sufficient condition.

EXERCISES

411

20.5 Consider the problem

a. Find all points satisfying the KKT condition for the problem. b. For each point x* in part a, find T(x*), N(x*), and f(x*). c. Find the subset of points from part a that satisfy the second-order necessary condition. 20.6 Consider the optimization problem

where /(x) = x\x\, where x = [xi,X2\T, and 17 = {x 6 E2 : x\ = x%, xi > 0}. a. Find all points satisfying the KKT condition. b. Do each of the points found in part a satisfy the second-order necessary condition? c. Do each of the points found in part a satisfy the second-order sufficient condition? 20.7 Consider the problem

a. Write down the KKT condition for the problem. b. Define what it means for a feasible point x* to be regular in this particular given problem. Are there any feasible points in this problem that are not regular? If yes, find them. If not, explain why not. 20.8 Let g : En -> E and x0 € W1 be given, where g(x0) > 0. Consider the problem

412

PROBLEMS WITH INEQUALITY CONSTRAINTS

Suppose x* is a solution to the problem, and g € Cl. Use the KKT theorem to decide which of the following equations/inequalities hold: i. g(x*) < 0 ii. g(x*} = 0

iii. (x* - x0)TVg(x*) < 0 iv. (x* -x0)TVg(x*)=Q v. (x* - x0)TVg(x*) > 0. 20.9 Consider a square room, with corners located at [0,0]T, [0,2]T, [2,0]T, and [2,2]T (in E 2 ). We wish to find the point in the room that is closest to the point [3,4]r. a. Guess which point in the room is the closest point in the room to the point [3,4]r. b. Use the second-order sufficient conditions to prove that the point you have guessed is a strict local minimizer. Hint: Minimizing the distance is the same as minimizing the square distance. 20.10 Consider the quadratic programming problem

where Q = QT > 0, A € E m x n , and 6 > 0. Find all points satisfying the KKT condition. 20.11 Consider the problem

where A € M roxn , m < n, is of full rank. Use the KKT theorem to show that if there exists a solution, then the optimal objective function value is 0. 20.12 Consider a linear programming problem in standard form (see Chapter 15). a. Write down the Karush-Kuhn-Tucker condition for the problem. b. Use part a to show that if there exists an optimal feasible solution to the linear program, then there exists a feasible solution to the corresponding dual problem

EXERCISES

413

that achieves an objective function value that is the same as the optimal value of the primal (compare this with Theorem 17.1). c. Use parts a and b to prove that if x* is an optimal feasible solutions of the primal, then there exists a feasible solution A* to the dual such that (CT—A*T A)x* = 0 (compare this with Theorem 17.3). 20.13 Consider the constraint set 5 = {x : h(x] = Q,g(x) < 0}. Let x* 6 5 be a regular local minimizer of / over 5, and J(x*) the index set of active inequality constraints. Show that x* is also a regular local minimizer of / over the set S' = {x : h(x] = Q,9j(x) = QJ € J(x*)}. 20.14 Solve the following optimization problem using the second-order sufficient conditions:

See Figure 21.1 for a graphical illustration of the problem. 20.15 Solve the following optimization problem using the second-order sufficient conditions:

See Figure 21.2 for a graphical illustration of the problem. 20.16 Consider the problem

Figure 21.3 gives a graphical illustration of the problem. Deduce from the figure that the problem has two strict local minimizers, and use the second-order sufficient conditions to verify the graphical solutions. 20.17 Consider the problem:

414

PROBLEMS WITH INEQUALITY CONSTRAINTS

where a 6 M n , a > 0, and b e E, 6 > 0. Show that if a solution to the problem exists, then it is unique, and find an expression for it in terms of a and b. 20.18 Consider the problem:

where a, b e E are given constants satisfying a2 -f b2 > 1. a. Let x* = [x*,X2\T be a solution to the above problem. Use the first-order necessary conditions for unconstrained optimization to show that (a^) 2 + (*2)2 = 1-

b. Use the KKT theorem to show that the solution x* = [x$, x^]T is unique, and has the form x* = aa, x\ = ab, where a G R is a positive constant. c. Find an expression for a (from part b) in terms of a and b. 20.19 Consider the problem: (exp(x) = ex is the exponential of x). Let x* = [x^, x^]T be the solution to the problem. a. Write down the KKT condition that must be satisfied by x*. b. Prove that x\ = exp(:r*). c. Prove that -1 < x\ < 0. 20.20 Consider the problem where c € E n , c ^ 0. Suppose x* — ae is a solution to the problem, where a € M and e = [1,..., 1]T, and the corresponding objective value is 4. a. Show that ||x* ||2 = 2. b. Find o; and c (they may depend on ri). EXERCISES 415 20.21 Consider the problem with equality constraint: We can convert the above into the equivalent optimization problem Write down the KKT condition for the equivalent problem (with inequality constraint), and explain why the KKT theorem cannot be applied in this case. 20.22 Let A : En -* E and /2 : En ->• M, /i, /2 € C1. Consider the problem Show that if x* is a local minimizer, then there exist //*, //£ € ^ sucri mat and/z* = Oif/i(x*) < maxf/^x*),^^*)}. Hint: Consider the problem: minimize z subject to z > f i ( x } , i = 1,2. This page intentionally left blank 27 Convex Optimization Problems 21.1 INTRODUCTION The optimization problems posed at the beginning of this part are, in general, very difficult to solve. The source of these difficulties may be in the objective function or the constraints. Even if the objective function is simple and "well behaved," the nature of the constraints may make the problem difficult to solve. We illustrate some of these difficulties in the following examples. Example 21.1 Consider the optimization problem The problem is depicted in Figure 21.1. As we can see in Figure 21.1, the constrained minimizer is the same as the unconstrained minimizer. At the minimizer, all the constraints are inactive. If we had only known about this fact we could have approached this problem as an unconstrained optimization problem using techniques from Part II. Example 21.2 Consider the optimization problem 417 418 CONVEX OPTIMIZATION PROBLEMS Figure 21.1 Situation where the constrained and the unconstrained minimizers are the same Figure 21.2 Situation where only one constraint is active The problem is depicted in Figure 21.2. At the solution, only one constraint is active. If we had only known about this we could have handled this problem as a constrained optimization problem using the Lagrange multiplier method. Example 21.3 Consider the optimization problem CONVEX FUNCTIONS Figure 21.3 419 Situation where the constraints introduce local minimizers The problem is depicted in Figure 21.3. This example illustrates the situation where the constraints introduce local minimizers, even though the objective function itself has only one unconstrained global minimizer. Some of the difficulties illustrated in the above examples can be eliminated if we restrict our problems to convex feasible regions. Admittedly, some important real-life problems do not fit into this framework. On the other hand, it is possible to give results of a global nature for this class of optimization problems. In the next section, we introduce the notion of a convex function, which plays an important role in our subsequent treatment of such problems. 21.2 CONVEX FUNCTIONS We begin with a definition of the graph of a real-valued function. Definition 21.1 The graph of / : ft -»• E, ft C M n , is the set of points in ft x R c Mn+1 given by We can visualize the graph of / as simply the set of points on a "plot" of f ( x ) versus x (see Figure 21.4). We next define the "epigraph" of a real-valued function. Definition 21.2 The epigraph of a function / : ft ->• E, ft C M n , denoted epi(/), is the set of points in ft x E given by 420 CONVEX OPTIMIZATION PROBLEMS Figure 21.4 The graph and epigraph of a function / : R ->• R The epigraph epi(/) of a function / is simply the set of points in ft x E on or above the graph of / (see Figure 21.4). We can also think of epi(/) as a subset of Rn+1. Recall that a set ft C Mn is convex if for every xi, x^ G ft and a G (0,1), axi + (1 — a)x2 E ft (see Section 4.3). We now introduce the notion of a "convex function." Definition 21.3 A function / : ft ->• E, ft C E n , is convex on ft if its epigraph is a convex set. Theorem 21.1 If a function f : ft -> K, ft C W1, is convex on ft, then ft w a convex set. Proof. We prove this theorem by contraposition. Suppose that ft is not a convex set. Then, there exist two points y1 and y2 such that for some a G (0,1), Let Then, the pairs belong to the graph of /, and hence also the epigraph of /. Let We have CONVEX FUNCTIONS 421 But note that w g epi(/), because z £ 0. Therefore, epi(/) is not convex, and hence / is not a convex function. The next theorem gives a very useful characterization of convex functions. This characterization is often used as a definition for a convex function. Theorem 21.2 A Junction f : fi -> E defined on a convex set 0 C En w convex if and only if for allx,y G fi am/ a// a 6 (0,1), we /iave Proof. <=: Assume that for all x, y € fi and a 6 (0,1), Let [xT,a]T and [f/ T ,6] T be two points in epi(/), where a, b € E. From the definition of epi(/) it follows that Therefore, using the first inequality above, we have Because £7 is convex, ax + (1 — a)y G fi. Hence, which implies that epi(/) is a convex set, and hence / is a convex function. =>: Assume that / : 0 —>• E is a convex function. Let x, y 6 fi and Thus, Because / is a convex function, its epigraph is a convex subset of En+1. Therefore, for all a e (0,1), we have The above implies that for all a € (0,1), 422 CONVEX OPTIMIZATION PROBLEMS Figure 21.5 Geometric interpretation of Theorem 21.2 Thus, the proof is completed. In the above theorem, the assumption that Q be open is not necessary, as long as / e Cl on some open set that contains 17 (e.g., / € C1 on R n ). A geometric interpretation of the above theorem is given in Figure 21.5. The theorem states that if / : 17 —>• E is a convex function over a convex set 17, then for all x,y € 17, the points on the line segment in En+1 connecting [XT, f ( x ) ] T and [yT, f ( y ) ] T must lie on or above the graph of /. Definition 21.4 A function / : 17 —> E on a convex set 17 C Mn is strictly convex if for all x, y G 17, x ^ y, and o; G (0,1), we have From the above definition, we see that for a strictly convex function, all points on the open line segment connecting the points [XT, f ( x ) ] T and [yT, f ( y } ] T lie (strictly) above the graph of /. Definition 21.5 A function / : £7 —>• K. on a convex set £7 C Mn is (strictly) concave if — / is (strictly) convex. Note that the graph of a strictly concave function always lies above the line segment connecting any two points on its graph. Example 21.4 Let f ( x ) = x\x^. Is / convex over fJ = {x : x\ > 0, £2 > 0}? CONVEX FUNCTIONS 423 The answer is no. Take, for example, x = [1,2]T e f) and y = [2,1]T e Q. Then, Hence, and If, for example, a = 1/2 6 (0,1), then which shows that / is not convex over f). The above numerical example is an illustration of the following general result. Proposition 21.1 A quadratic form f : 0 -» IK, 17 C Rn, given by f ( x ) = xTQx, Q € E n x n , Q = QT, is convex on ft if and only if for all x, y e ft, (x - y)TQ(x y)>0. fVoo/ The result follows from Theorem 21.2. Indeed, the function f ( x ) — xTQx is convex if and only if for every a € (0,1), and every x, y € Mn we have or equivalently Substituting for / into the left-hand side of the above equation yields Therefore, / is convex if and only if which proves the result. Example 21.5 In the previous example, f ( x ] = Xix2, which can be written as f(x] = xTQx, where 424 CONVEX OPTIMIZATION PROBLEMS Let ft = {x : x > 0}, and x = [2,2]T etl,y = [1,3]T € ft. We have and Hence, by the above theorem, / is not convex on ft. Differentiable convex functions can be characterized using the following theorem. Theorem 21.3 Let f : ft ->• E, f € C1, be defined on an open convex set ft C Mn. Then, f is convex on ft if and only if for all x, y 6 ft, Proof. =>•: Suppose/ : ft —>• E is differentiate and convex. Then, by Theorem 21.2, for any y, x € ft and a e (0,1) we have Rearranging terms yields Upon dividing both sides of the above inequality by a we get If we now take the limit as o; —>• 0 and apply the definition of the directional derivative of / at x in the direction y — x (see Section 6.2), we get or <=: Assume that ft is convex, / : ft —>• R is differentiable, and for all x, y € ft, Let it, v € ft and a G (0,1). Because ft is convex, We also have CONVEX FUNCTIONS 425 Figure 21.6 Geometric interpretation of Theorem 21.3 and Multiplying the first of the above inequalities by a and the second by (1 — a), and then adding them together yields But Hence, Hence, by Theorem 21.2, / is a convex function. A geometric interpretation of the above theorem is given in Figure 21.6. To explain the interpretation, let XQ 6 fi. The function g(x) = /(xo) + Df(x0)(x — XQ) is the linear approximation to / at XQ. The theorem says that the graph of / always lies above its linear approximation at any point. In other words, the linear approximation to a convex function / at any point of its domain lies below epi(/). For functions that are twice continuously differentiable the following theorem gives another possible characterization of convexity. Theorem 21.4 Let f : 0 -> R, / 6 C2, be defined on an open convex set ft C W1. Then, f is convex on ft if and only if for each x G fl, the Hessian F(x) of f at x is a positive semidefinite matrix. 426 CONVEX OPTIMIZATION PROBLEMS Proof. <=: Let x,y e £). Because / G C 2 , by Taylor's theorem there exists a € (0,1) such that Because F(x + a(y — x)) is positive semidefinite, Therefore, we have which implies that / is convex, by Theorem 21.3. =$>: We use contraposition. Assume that there exists x e S7 such that F(x) is not positive semidefinite. Therefore, there exists d e W1 such that d7 F(x}d < 0. By assumption, $7 is open; thus, the point x is an interior point. By the continuity of the Hessian matrix, there exists a nonzero s G E such that x + sd G fi, and if we write y — x + sd, then for all points z on the line segment joining x and y, we have d7 F(z]d < 0. By Taylor's theorem there exists a € (0,1) such that Because a e (0,1), the point x + asd is on the line segment joining x and y, and therefore Because s ^ 0, we have s2 > 0, and hence Therefore, by Theorem 21.3, / is not a convex function. The above theorem can be strengthened to include non-open sets by modifying the condition to be (y - x)TF(x}(y - x) > 0 for all x, y 6 H (and assuming / e C2 on some open set that contains fi; for example, / € C2 on En). A similar proof as the above can be used in this case. Note that by definition of concavity, a function / : D —> E, / G C2, is concave over the convex set 17 C En if and only if for all x 6 17, the Hessian F(x) of / is negative semidefinite. Example 21.6 Determine whether the following functions are convex, concave or neither: 1. / : E -> E, f ( x ) = -8x2; 2. / : E3 ->• E, f ( x ) = 4xf + Sz2, + 5x§ + 6x12:2 + xix 3 - 3a?i - 2x2 + 15; CONVEX OPTIMIZATION PROBLEMS 427 3. / : E2 -» E, f ( x ) - 2xix2 ~x\- x\. Solutions: 1. We use Theorem 21.4. We first compute the Hessian, which in this case is just the second derivative: (d?f/dx2)(x} = -16 < 0 for all x € E. Hence, / is concave over E 2. The Hessian matrix of / is The leading principal minors of F(x] are Hence, F(x] is positive definite for all x e M.3. Therefore, / is a convex function over E3. 3. The Hessian of / is which is negative semidefinite for all x G E2. Hence, / is concave on E2. 21.3 CONVEX OPTIMIZATION PROBLEMS In this section we consider optimization problems where the objective function is a convex function, and the constraint set is a convex set. We refer to such problems as convex optimization problems or convex programming problems. Optimization problems that can be classified as convex programming problems include linear programs, and optimization problems with quadratic objective function and linear constraints. Convex programming problems are interesting for several reasons. Specifically, as we shall see, local minimizers are global for such problems. Furthermore, first-order necessary conditions become sufficient conditions for minimization. Our first theorem below states that in convex programming problems, local minimizers are also global. Theorem 21.5 Let f : ft -» E be a convex function defined on a convex set fl C En. Then, a point is a global minimizer of f over$7 if and only if it is a local minimizer off.

428

CONVEX OPTIMIZATION PROBLEMS

Proof. =$•: This is obvious. <=: We prove this by contraposition. Suppose that x* is not a global minimizer of / over 1). Then, for some y G ft, we have f ( y ) < /(x*). By assumption, the function / is convex, and hence for all a € (0,1), Because f ( y ) < f ( x * } , we have Thus, for all a e (0,1), Hence, there exist points that are arbitrarily close to x* and have lower objective function value. For example, the sequence {yn} of points given by converges to x*, and f ( y n ) < f ( x * ) . Hence, x* is not a local minimizer, which completes the proof. We now show that the set of global optimizers is convex. For this, we need the following lemma. Lemma 21.1 Let g : fi —> E be a convex function defined on a convex set £) C Mn. Then, for each c € ffi, the set is a convex set. Proof. Let x,y G Fc. Then, g(x) < c and g(y] < c. Because g is convex, for all «G(0,1), Hence, ax + (1 — a)y € Fc, which implies that Fc is convex. Corollary 21.1 Let f : O —> E be a convexfunction defined on a convex set fi C Mn. Then, the set of all global minimizers of f over ft is a convex set. Proof. The result follows immediately from the previous lemma by setting CONVEX OPTIMIZATION PROBLEMS 429 We now show that if the objective function is continuously differentiable and convex, then the first-order necessary condition (see Theorem 6.1) for a point to be a minimizer is also sufficient. We use the following lemma. Lemma 21.2 Let f : 17 —> R be a convex function defined on the convex set 17 C W1, and f G Cl on an open convex set containing 17. Suppose the point x* G Ft is such that for all x G 17, x ^ x*, we have Then, x* is a global minimizer of f over 17. Proof. Because the function / is convex, by Theorem 21.3, for all x G 17, we have Hence, the condition D f ( x * ) ( x — x*) > 0 implies that f ( x ) > f ( x * ) . Observe that for any x G 17, the vector x — x* can be interpreted as a feasible direction at x* (see Definition 6.2). Using the above lemma, we have the following theorem (cf. Theorem 6.1). Theorem 21.6 Let f : 17 —> E be a convex function defined on the convex set 17 C M n , and f G Cl on an open convex set containing$). Suppose the point x* G 17 is such that for any feasible direction dat x*, we have

Then, x* is a global minimizer of f over 17. Proof. Let x G 17, x ^ x*. By convexity of f7,

for all a G (0,1). Hence, the vector d = x — x* is a feasible direction at x* (see Definition 6.2). By assumption,

Hence, by Lemma 21.2, x* is a global minimizer of / over J7. From the above theorem, we easily deduce the following corollary (compare this with Corollary 6.1). Corollary 21.2 Let / : fl -» ffi, / G C1, be a convex function defined on the convex set (7 C M n . Suppose the point x* G 17 is such that

430

CONVEX OPTIMIZATION PROBLEMS

Then, x* is a global minimizer of f over fi. We now consider the constrained optimization problem

We assume that the feasible set is convex. An example where this is the case is when

The following theorem states that provided the feasible set is convex, the Lagrange condition is sufficient for a point to be a minimizer. Theorem 21.7 Let / : Rn —>• K, / € Cl, be a convex function on the set of feasible points where h : W1 —>• R m , h € Cl, and £) is convex. Suppose there exist x* € ft and A* € Rm such that Then, x* is a global minimizer of f over $1. Proof. By Theorem 21.3, for all a; € 0, we have Substituting Df(x*) = — \*TDh(x*} into the above inequality yields Because fi is convex, (1 — a)x* + ax € fJ for all a e (0,1). Thus, for all a G (0,1). Premultiplying by A*T, subtracting \*Th(x*} = 0, and dividing by a, we get for all a 6 (0,1). If we now take the limit as a —»• 0 and apply the definition of the directional derivative of \*Th at x* in the direction x — x* (see Section 6.2), we get Hence, which implies that x* is a global minimizer of / over fi. CONVEX OPTIMIZATION PROBLEMS 431 Consider the general constrained optimization problem As before, we assume that the feasible set is convex. This is the case if, for example, the two sets {x : h(x) = 0} and {x : g(x) < 0} are convex, because the feasible set is the intersection of these two sets (see also Theorem 4.1). We have already seen an example where the set {x : h(x) = 0} is convex. On the other hand, an example where the set {x : g(x) < 0} is convex is when the components of g = [51,... ,9P]T are all convex functions. Indeed, the set {x : g(x) < 0} is the intersection of the sets {x : gi(x] < 0},i = 1,... ,p. Because each of these sets is convex (by Lemma 21.1), their intersection is also convex. We now prove that the Karush-Kuhn-Tucker (KKT) condition is sufficient for a point to be a minimizer to the above problem. Theorem 21.8 Let f : W1 -> K, / 6 C1, be a convex function on the set of feasible points where h : W1 ->• Rm, g : En ->W,h,geCl, and ft is convex. Suppose there exist x* e ft, A* € R m , and n* 6 Rp, such that 1. n* > 0; 2. D f ( x * ) + A* T £>/i(z*) + n*TDg(x*} = 0T; and 3. n*Tg(x*) = 0. Then, x* is a global minimizer off over ft. Proof. Suppose x e ft. By convexity of / and Theorem 21.3, Using condition 2, we get As in the proof of Theorem 21.7, we can show that \*TDh(x*)(x — x*) = 0. We now claim that/z* T -D<7(#*) (a;-#*) < 0. To see this, note that because ft is convex, (1 - a)x* + ax € ft for all a € (0,1). Thus, for all a G (0,1). Premultiplying by /x*T > 0T (by condition 1), subtracting H*Tg(x*} = 0 (by condition 3), and dividing by a, we get 432 CONVEX OPTIMIZATION PROBLEMS We now take the limit as a ->• 0 to obtain n*TDg(x*}(x - a;*) < 0. From the above, we have for all x 0, and the interest is paid into the account at the end of each month (and compounded). We wish to maximize the total amount of money accumulated at the end of n months, such that the total money deposited during the n months does not exceed D dollars (where D > 0). To solve this problem, we first show that the problem can be posed as a linear program, and is therefore a convex optimization problem. Let yk be the total amount in the bank at the end of the kth month. Then, yk = (1 + r}(yk-i + x^, k > 1, with yo = 0. Therefore, we want to maximize yn subject to the constraint that Xk > 0, k = 1,..., n, and x\ + • • • + xn < D. It is easy to deduce that LetcT = [(l+rr,(l+r)»- 1 ,...,(l+r)], e T = [l,...,l],andx-[x 1 ,...,x n ] T . Then, we can write the problem as which is a linear program. It is intuitively clear that the optimal strategy is to deposit D dollars in the first month. To show that this strategy is indeed optimal, we use Theorem 21.8. Let x* = [D, 0 , . . . , 0]T G E n . Because the problem is a convex programming problem, it suffices to show that x* satisfies the KKT condition (see Theorem 21.8). The KKT condition for this problem is EXERCISES 433 where At*1* e Eand/x (2) € E n . Let^1) = (l+r) n andpW = (l+r) n e-c. Then, it is clear that the KKT condition is satisfied. Therefore, x* is a global minimizer. I For extensions of the theory of convex optimization, we refer the reader to [99, Chapter 10]. The study of convex programming problems also serves as a prerequisite to nondifferentiable optimization (see, e.g., [25]). EXERCISES 21.1 Consider the function where Q = Q1 > 0, and x,b e En. Define the function 4> : E -> E by 0(a) = f(x + ad), where x, d 6 En arefixedvectors, and d ^ 0. Show that <£(o:) is a strictly convex quadratic function of a. 21.2 Show that f ( x ) = x\xi is a convex function on ft = {[a,ma]T : a 6 E}, where m is any given nonnegative constant. 21.3 Suppose the set ft = {x : h(x) = c} is convex, where h : En ->• E and c € E. Show that h is convex and concave over ft. 21.4 Let ft C En be an open convex set. Show that a symmetric matrix Q € En is positive semidefinite if and only if for each x, y € ft, (x — y)TQ(x — y) > 0. Show that a similar result for positive definiteness holds if we replace the ">" by ">" in the above inequality. 21.5 Consider the problem (see also Exercise 20.7). Is the problem a convex optimization problem? If yes, give a complete proof. If no, explain why not, giving complete explanations. 21.6 Consider the optimization problem where f ( x ] = x\x\, where x = [xi,X2\T, and ft = {x G E2 : x\ = X2, £i > 0}. (See also Exercise 20.6.) Show that the problem is a convex optimization problem. 434 CONVEX OPTIMIZATION PROBLEMS 21.7 Consider the convex optimization problem Suppose the points y 6 fi and z e Q are local minimizers. Determine the largest set of points G C fi for which you can be sure that every point in G is a global minimizer. 21.8 Consider the optimization problem where Q e R n x n , Q = QT > 0, A • M, / 6 C1, be a convex function on the set of feasible points where a\,..., ap G W1, and 61,..., bp G M. Suppose there exist x* G S, and /z* € M p ,/x* < 0, such that where J ( x * ) = {i : a?x* + 6j = 0}. Show that x* is a global minimizer of / over a 21.10 Consider the problem: minimize \\x\\2 (x € M n ) subject to a T x > 6, where a e W1 is a nonzero vector, and b € K, 6 > 0. Suppose x* is a solution to the problem. a. Show that the constraint set is convex. b. Use the KKT theorem to show that aTx* = b. c. Show that x* is unique, and find an expression for x* in terms of a and b. 21.11 Consider the problem EXERCISES 435 For this problem we have the following theorem (see also Exercise 17.12). Theorem: A solution to the above problem exists if and only ifc>0. Moreover, if a solution exists, 0 is a solution. a. Show that the above problem is a convex programming problem. b. Use the first-order necessary condition (for set constraints) to prove the above theorem. c. Use the KKT condition to prove the above theorem. 21.12 Consider a linear programming problem in standard form. a. Derive the KKT condition for the problem. b. Explain precisely why the KKT condition are sufficient for optimality in this case. c. Write down the dual to the standard form primal problem (see Chapter 17). d. Suppose x* and A* are feasible solutions to the primal and dual, respectively. Use the KKT condition to prove that if the complementary slackness condition (CT — \*TA)x* = 0 holds, then x* is an optimal solution to the primal problem. Compare the above with Exercise 20.12. 21.13 Let a probability vector be any vector p € Mn satisfying^ > 0, i — 1,..., n, andpi H \-pn = 1. n Let p € E and q £ Mn be two probability vectors. Define where log is the natural logarithm function. a. Let 17 be the set of all probability vectors (with fixed n). Show that fl is convex. b. Show that, for each fixed p, the function / defined by f ( q ) = D(p,q) is convex over fJ. c. Show the following: D(p, q) > 0 for any probability vectors p and q. Moreover, D(p, q} = 0 if and only if p = q. d. Describe an application of the result of part c. 21.14 This exercise is about linear matrix inequalities (see [ 12] for more information on the topic). 436 CONVEX OPTIMIZATION PROBLEMS a. Show that if A G R n x n and B € M nxn are symmetric and A > 0, B > 0, then for any a £ (0,1), we have aA + (1 - a)B > 0. The notation "> 0" denotes positive semidefiniteness. b. Consider the following optimization problem: where x = [xi,... ,xn]T 6 Rn is the decision variable, c e R n , and FO, FI, . . . , Fn e R n x n are symmetric. Show that the above problem is a convex optimization problem. c. Consider the linear programming problem where A e E m x n , b e E m , and the inequality Ax > b has the usual elementwise interpretation. Show that this linear programming problem can be converted to the problem in part b. Hint: First consider diagonal Fj. 21.15 Let t/j : R -> R, t/i € C1, i = 1,... ,n, be a set of concave increasing functions. Consider the optimization problem: where C > 0 is a given constant. a. Show that the above optimization problem is a convex optimization problem. b. Show that x* = [x*,...,x£] T is an optimal solution to the above optimization problem if and only if there exists a scalar n* > 0 such that x* = argmax x (C/i(x) — n*x). (The quantity Ui(x) has the interpretation of the "utility" of ar, whereas p,* has the interpretation of a "price" per unit of x.) c. Show that £?=1 x| = C. EXERCISES 437 21.16 Give an example of a function / : R2 -» E, a set O = {a; : g(x) < 0}, and a regular point x* e f), such that the following all hold simultaneously: 1. x* satisfies the FONC for set constraint fi (Theorem 6.1); 2. x* satisfies the KKT condition for inequality constraint g(x] < 0 (Theorem 20.1); 3. x* satisfies the SONC for set constraint fi (Theorem 6.2); 4. x* does not satisfy the SONC for inequality constraint #(0;) < 0 (Theorem 20.2). Be sure to show carefully that your choice of /, 0 = {x : g(x) < 0},andx* satisfies all the conditions above simultaneously. This page intentionally left blank 22 Algorithms for Constrained Optimization 22.1 INTRODUCTION In Part II we discussed algorithms for solving unconstrained optimization problems. This chapter is devoted to a treatment of some simple algorithms for solving special constrained optimization problems. The methods here build on those of Part II. We begin our presentation in the next section with a discussion of projected methods, including a treatment of projected gradient methods for problems with linear equality constraints. We then consider penalty methods. This chapter is intended as an introduction to some basic ideas underlying methods for solving constrained optimization problems. For an in-depth coverage of the subject, we refer the reader to [8]. 22.2 PROJECTIONS The optimization algorithms considered in Part II have the general form where d^ is typically a function of Vf(x^). The value of x^ is not constrained to lie inside any particular set. Such an algorithm is not immediately applicable to solving constrained optimization problems in which the decision variable is required to lie within a prespecified constraint set. Consider the optimization problem 439 440 ALGORITHMS FOR CONSTRAINED OPTIMIZATION If we use the algorithm above to solve this constrained problem, the iterates x\k> may not satisfy the constraints. Therefore, we need to modify the algorithms to take into account the presence of the constraints. A simple modification involves the introduction of a projection. The idea is as follows. If x^ + o^d^ is in 17, then we set x( fc+1 ) = x^ + otkd^' as usual. If, on the other hand, x^ + o.kd^ is not in fl, then we "project" it back into fi before setting x^k+l^. To illustrate the projection method, consider the case where the constraint set 1) C W1 is given by In this case, ft is a "box" in E n . Given a point x € E n , define y = H[x] e W1 by The point II [x] is called the projection of x onto O. Note that II [x] is actually the "closest" point in D to x. Using the projection operator II, we can modify the previous unconstrained algorithm as follows: Note that the iterates x^ now all lie inside 0. We call the above algorithm a projected algorithm. In the more general case, we can define the projection onto O: In this case, II[x] is again the "closest" point in 17 to x. This projection operator is well defined only for certain types of constraint sets—for example, closed convex sets. For some sets 17, the "argmin" above is not well defined. If the projection II is well defined, we can similarly apply the projected algorithm In some cases, there is a formula for computing TL[x]. For example, if 17 is a "box" constraint set as described above, then the formula given previously can be used. Another example is where 17 is a linear variety (plane), which is discussed in the next section. In general, even if the projection II is well defined, the computation of H[x] given x may not be easy. Often, the projection H[x] may have to be computed numerically. However, the numerical computation of II [x] itself entails solving an optimization algorithm. Indeed, the computation of II [x] may be as difficult as the original optimization problem, as is the case in the following example: PROJECTED GRADIENT METHODS 441 Note that the solution to the problem in this case can be written as II [0]. Therefore, if 0 g fi, the computation of a projection is equivalent to solving the given optimization problem. 22.3 PROJECTED GRADIENT METHODS In this section, we consider optimization problems of the form where / : Rn ->• R, A G R m x n , m < n, rankA = m, 6 6 E m . We assume throughout that / G Cl. In the above problem, the constraint set is f& = {x : Ax = b}. The specific structure of the constraint set allows us to compute the projection operator II using the orthogonal projector (see Section 3.3). Specifically, II[x] can be defined using the orthogonal projector matrix P given by (see Example 12.4). Two important properties of the orthogonal projector P that we use in this section are (see Theorem 3.5): 1. P = P T ;and 2. P2 = P. Another property of the orthogonal projector that we need in our discussion is given in the following lemma. Lemma 22.1 Let v G Mn. Then, Pv = 0 if and only ifv€ n(AT}. In other words, M(P) = n(AT}. Moreover, Av = 0 if and only if v G ft(-P), that is, N(A) = U(P}. D Proof. =$>: We have

If Pv = 0, then and hence v € n(AT}. <=: Suppose there exists u G MTO such that v = ATu. Then,

442

ALGORITHMS FOR CONSTRAINED OPTIMIZATION

Hence, we have proved that JV(P) = K(AT). Using a similar argument as above, we can show that M(A) = 7£(P). Recall that in unconstrained optimization, the first-order necessary condition for a point x* to be a local minimizer is V/(aj*) = 0 (see Section 6.2). In optimization problems with equality constraints, the Lagrange condition plays the role of the firstorder necessary condition (see Section 19.4). When the constraint set takes the form {x : Ax = 6}, the Lagrange condition can be written as PV/(x*) = 0, as stated in the following proposition. Proposition 22.1 Letx* G W1 be a feasible point. Then, PVf(x*) ifx* satisfies the Lagrange condition.

= 0 ifand only D

Proof. By Lemma 22.1, PV/(x*) = 0 if and only if we have V/(x*) € U(AT). This is equivalent to the condition that there exists A* € Em such that Vf(x*) + AT\* = 0, which, together with the feasibility equation Ax — 6, constitutes the Lagrange condition. In the remainder of this section, we discuss the projection method applied specifically to the gradient algorithm (see Chapter 8). Recall that the vector — V/(x) points in the direction of maximum rate of decrease of / at x. This was the basis for gradient methods for unconstrained optimization, which have the form x (*+i) — x(k) _ Q^V/^W), where otk is the step size. The choice of the step size Oik depends on the particular gradient algorithm. For example, recall that in the steepest descent algorithm, a;*; = argmin a>0 f(x^ - aVf(x^)). The projected version of the gradient algorithm has the form

We refer to the above as the projected gradient algorithm. It turns out that we can express the projection II in terms of the matrix P as follows:

assuming x^ £ fi. Although the above formula can be derived algebraically (see Exercise 22.1), it is more insightful to derive the formula using a geometric argument, as follows. In our constrained optimization problem, the vector — V/(x) is not necessarily a feasible direction. In other words, if x^ is a feasible point and we apply the algorithm x^k+l^ = x^ — akVf(x^), then x^k+1^ need not be feasible. This problem can be overcome by replacing — Vf(x^) by a vector that points in a feasible direction. Note that the set of feasible directions is simply the nullspace Af(A) of the matrix A. Therefore, we should first project the vector —V/(x) onto J\f(A). This projection is equivalent to multiplication by the matrix P. In summary, in the projection gradient algorithm, we update x^ according to the equation The projected gradient algorithm has the following property.

443

Proposition 22.2 In a projected gradient algorithm, if x^ is feasible, then each x^ is feasible, that is, for each k > 0, Ax^ = b. D Proof. We proceed by induction. The result holds for A; = 0 by assumption. Suppose now that Ax^ = b. We now show that Ax^k+l^ = b. To show this, first observe thatPV/(xW) 6 M(A). Therefore,

which completes the proof. The projected gradient algorithm updates x^ in the direction of — PV/(x( fc )). This vector points in the direction of maximum rate of decrease of / at x^ along the surface defined by Ax = 6, as described in the following argument. Let x be any feasible point and d a feasible direction such that \\d\\ = 1. The rate of increase of / at x in the direction d is (V/(x), d}. Next, we note that because d is a feasible direction, it lies in AT (A) and hence by Lemma 22.1, we have d € U(P) = U(PT}. So, there exists v such that d = Pv. Hence,

By the Cauchy-Schwarz inequality,

with equality if and only if the direction of v is parallel with the direction of PV/(x). Therefore, the vector —PV/(x) points in the direction of maximum rate of decrease of / at x among all feasible directions. Following the discussion in Chapter 8 for gradient methods in unconstrained optimization, we suggest the following gradient method for our constrained problem. Suppose we have a starting point x^, which we assume is feasible, that is, Ax^ = b. Consider the point x = x^ — aPVf(x^), where a e R As usual, the scalar a is called the step size. By the above discussion, x is also a feasible point. Using a Taylor series expansion of / about x^, and the fact that P = P2 = PTP, we get

Thus, if PV/(x(°)) 7^ 0, that is, x^ does not satisfy the Lagrange condition, then we can choose an a sufficiently small such that /(x) < /(x^), which means that x = a;(0) — aPV/(x(°)) is an improvement over x^ 0 ). This is the basis for the projected gradient algorithm x^k+1^ = x^ — afcPV/(x^), where the initial point x(°) satisfies Ax^ = 6, and o^ is some step size. As for unconstrained gradient methods, the choice of a.k determines the behavior of the algorithm. For

444

ALGORITHMS FOR CONSTRAINED OPTIMIZATION

small step sizes, the algorithm progresses slowly, while large step sizes may result in a zig-zagging path. A well-known variant of the projected gradient algorithm is the projected steepest descent algorithm, where ctk is given by

The following theorem states that the projected steepest descent algorithm is a descent algorithm, in the sense that at each step the value of the objective function decreases. Theorem 22.1 If{x^} is the sequence of points generated by the projected steepest descent algorithm and if PVf(xW) ^ 0, then f(x^k+^) < /(»<*>). Proof. First, recall that

where ct^ > 0 is the minimizer of

over all a > 0. Thus, for a > 0, we have

By the chain rule,

Using the fact that P = P2 = PTP, we get

because P V f ( x ^ ) ^ 0 by assumption. Thus, there exists a > 0 such that 0fc(0) > 0fc(a) for all a € (0,a]. Hence,

and the proof of the theorem is completed. In the above theorem we needed theassumptionthatPV/(a;(fc)) ^ Oto prove that the algorithm possesses the descent property. If for some k, we have PVf(x^) = 0, then by Proposition 22.1 the point x^ satisfies the Lagrange condition. This condition can be used as a stopping criterion for the algorithm. Note that in this case, #(fc+1) = x^k\ For the case where / is a convex function, the condition

PENALTY METHODS

445

PV/(x( fc )) = 0 is, in fact, equivalent to x^ being a global minimizer of / over the constraint set {x : Ax = b}. We show this in the following proposition. Proposition 22.3 The point x* e En is a global minimizer ofa convex function f over {x : Ax = b} if and only ifPVf(x*) = 0. Proof. We first write h(x) = Ax — b. Then, the constraints can be written as h(x) — 0, and the problem is of the form considered in previous chapters. Note that Dh(x] = A. Hence, x* 6 Rn is a global minimizer of / if and only if the Lagrange condition holds (see Theorem 21.7). By Proposition 22.1, this is true if and only if PV/(x*) = 0, and the proof is completed. For an application of the projected steepest descent algorithm to minimum fuel and minimum amplitude control problems in linear discrete systems, see [57].

22.4

PENALTY METHODS

In this section, we consider constrained optimization problems of the form

where / : En ->• K, #; : En ->• E, i = 1,... ,p. Considering only inequality constraints is not restrictive, because an equality constraint of the form h(x) = 0 is equivalent to the inequality constraint ||/j,(x)||2 < 0 (however, see Exercise 20.21 for a caveat). We now discuss a method for solving the above constrained optimization problem using techniques from unconstrained optimization. Specifically, we approximate the constrained optimization problem above by an unconstrained optimization problem where 7 e R is a positive constant, and P : W1 -> E is a given function. We then solve the associated unconstrained optimization problem, and use the solution as an approximation to the minimizer of the original problem. The constant 7 is called the penalty parameter, and the function P is called the penalty Junction. Formally, we define a penalty function as follows. Definition 22.1 A function P : En —>• E is called a penalty Junction for the above constrained optimization problem if it satisfies the following three conditions: 1. P is continuous;

446

ALGORITHMS FOR CONSTRAINED

OPTIMIZATION

2. P(x) > O f o r a l l z e R n ; 3. P(x) = 0 if and only if x is feasible, that is, g\ (x} < 0 , . . . , gp(x) < 0.

Clearly, for the above unconstrained problem to be a good approximation to the original problem, the penalty function P must be appropriately chosen. The role of the penalty function is to "penalize" points that are outside the feasible set. Therefore, it is natural that the penalty function be defined in terms of the constraint functions g\,..., gp. A possible choice for P is

where ^

We refer to the above penalty function as the absolute value penalty function, because it is equal to ^ \gi(x)\, where the summation is taken over all constraints that are violated at x. We illustrate this penalty function in the following example. Example 22.1 Let#i,# 2 : R -> K be denned by gi (re) = x-2,g2(x) = -(x + 1)3. The feasible set defined by {x € M : g\(x) < Q,g-2(x) < 0} is simply the interval [—1,2]. In this example, we have

and

Figure 22.1 provides a graphical illustration of g+ for this example. The absolute value penalty function may not be differentiable at points x where gi(x) = 0, as is the case at the point x = 1 in Example 22.1 (notice, though, that in Example 22.1, P is differentiable at x = —1). Therefore, in such cases we cannot use techniques for optimization that involve derivatives. A form of the penalty function that is guaranteed to be differentiable is the so-called Courant-Beltrami penalty function, given by

PENALTY METHODS

447

Figure 22.1 g+ for Example 22.1

In the following discussion, we do not assume any particular form of the penalty function P. We only assume that P satisfies conditions 1-3 given in Definition 22.1. The penalty function method for solving constrained optimization problems involves constructing and solving an associated unconstrained optimization problem, and using the solution to the unconstrained problem as the solution to the original constrained problem. Of course, the solution to the unconstrained problem (the approximated solution) may not be exactly equal to the solution to the constrained problem (the true solution). Whether or not the solution to the unconstrained problem is a good approximation to the true solution depends on the penalty parameter 7 and the penalty function P. We would expect that the larger the value of the penalty parameter 7, the closer the approximated solution will be to the true solution, because points that violate the constraints are penalized more heavily. Ideally, in the limit as 7 -» oo, the penalty method should yield the true solution to the constrained problem. In the remainder of this section, we analyze this property of the penalty function method. In our analysis of the penalty method, we adopt the following setting. Recall that the original constrained optimization problem is:

Denote by x* a solution (global minimizer) to the above problem. Let P be a penalty function for the problem. For each k = 1,2,..., let 7^ £ E be a given positive constant. Define an associated function (7(7*, •) : En —>• M by

448

ALGORITHMS FOR CONSTRAINED OPTIMIZATION

For each k, we can write the following associated unconstrained optimization problem: Denote by x^ a minimizer of q(jk,x). The following technical lemma describes certain useful relationships between the constrained problem and the associated unconstrained problems. Lemma 22.2 Suppose J7fc} w a nondecreasing sequence, that is, for each k, we have 7fc < 7^+1. Then, for each k we have 1. 9(7*+!,*<* +1 >)>0(7*,s ( * ) ) 2. P(x( fc+1 )) /(xW) 4. /(**)> 9(7*,x w ) >/(*<*>).

Proo/ We first prove part 1. From the definition of q and the fact that {7*} is an increasing sequence, we have

Now, because x^ is a minimizer of q(jk > a?).

Combining the above, we get part 1. We next prove part 2. Becausex^ andx(*+1) minimize q(jk,x) and 9(7^+1, x), respectively, we can write

Rearranging, we get

We know by assumption that 7^+1 > 7*. If 7fc+i > 7*, then we get P(x( fc+1 )) < P(x^). If, on the other hand, 7^+1 = 7^, then clearly x^k+l^ = x^ and so P(x( fc+1 )) = P(x^). Therefore, in either case, we arrive at part 2. We now prove part 3. Because x^ is a minimizer of 9(7^, x), we obtain

PENALTY METHODS

449

Therefore,

From part 2, we have P(x^} - P(x( fc+1 )) > 0, and 7^ > 0 by assumption; therefore, we get Finally, we now prove part 4. Because x^ is a minimizer of #(7*, x), we get

Because x* is a minimizer for the constrained optimization problem, we have P(x*) = 0. Therefore,

Because P(x^) > 0 and jk > 0,

which completes the proof. With the above lemma, we are now ready to prove the following theorem. Theorem 22.2 Suppose the objective function f is continuous, and 7^ -> oo as k —} oo. Then, the limit of any convergent subsequence of the sequence {x(fc)} is a solution to the constrained optimization problem. D Proof. Suppose {x( mfc )} is a convergent subsequence of the sequence {x^ }. (See Section 5.1 for a discussion of sequences and subsequences.) Let x be the limit of (x( mfe )}. By Lemma 22.2, the sequence {q(lk,x^}} is nondecreasing and bounded above by /(x*). Therefore, the sequence {q(jk,x^)} has a limit q* = limjfc_>.oo q(lk, x( fc )) such that q* < /(x*) (see Theorem 5.3). Because the function / is continuous, and /(x^ m f c ^) < /(x*) by Lemma 22.2, we have

Because the sequences {/(x( mfc ))} and {q(lmk-lx^mk'>}} both converge, the sequence {7m fc P(a; (mfc) )} = {?(7m fc ,x (mfc) ) - /(x< m f c ))} also converges, with

By Lemma 22.2, the sequence {P(x(*))} is nonincreasing and bounded from below by 0. Therefore, {P(x^^)} converges (again see Theorem 5.3), and hence so does {P(x( mfc ))}. Because 7mfc -» oo, we conclude that

450

ALGORITHMS FOR CONSTRAINED OPTIMIZATION

By continuity of P, we have

and hence x is a feasible point. Because /(x*) > /(x) from above, we conclude that x must be a solution to the constrained optimization problem. If we perform an infinite number of minimization runs, with the penalty parameter 7fc —> oo, then the above theorem ensures that the limit of any convergent subsequence is a minimizer x* to the original constrained optimization problem. There is clearly a practical limitation in applying this theorem. It is certainly desirable to find a minimizer to the original constrained optimization problem using a single minimization run for the unconstrained problem that approximates the original problem using a penalty function. In other words, we desire an exact solution to the original constrained problem by solving the associated unconstrained problem (minimize f ( x ) + jP(x}) with a finite 7 > 0. It turns out that indeed this can be accomplished, in which case we say that the penalty function is exact. However, it is necessary that exact penalty functions be nondifferentiable, as shown in [7], and illustrated in the following example. Example 22.2 Consider the problem

where f ( x ) = 5 — 3x. Clearly, the solution is x* = 1. Suppose we use the penalty method to solve the problem, with a penalty function P that is differentiate at z* = 1. Then, P'(x*) = 0, because P(x) = 0 for all x € [0,1]. Hence, if we letp = / + -yP, then g'(x*) = /'(re*) + jP'(x*) ^ 0 for all finite 7 > 0. Hence, x* = 1 does not satisfy the first-order necessary condition to be a local minimizer of g. Thus, P is not an exact penalty function. Here, we prove a result on the necessity of nondifferentiability of exact penalty functions for a special class of problems. Proposition 22.4 Consider the problem

with ft CW1 convex. Suppose the minimizer x* lies on the boundary of ft, and there exists a feasible direction d at x* such that d V/(x*) > 0. IfP is an exact penalty function, then P is not differentiate atx*. Proof. We use contraposition. Suppose P is differentiable at x*. Then, dTVP(x*) = 0, because P(x) = 0 for all x € ft. Hence, if we let g = f + ^P,

EXERCISES

451

then dTVg(x*) > 0 for all finite 7 > 0, which implies that Vg(x*) ^ 0. Hence, x* is not a local minimizer of g, and thus P is not an exact penalty function. Note that the result of the above proposition does not hold if we remove the assumption that d V/(x*) > 0. Indeed, consider a convex problem where V/(x*) = 0. Choose P to be differentiable. Clearly, in this case we have Vg(x*) = V/(x*) + 7VP(x*) - 0. The function P is therefore an exact penalty function, although differentiable. For further reading on the subject of optimization of nondifferentiable functions, see, for example, [25]. The references [8] and [70] provide further discussions on the penalty method, including nondifferentiable exact penalty functions. These references also discuss exact penalty methods involving differentiable functions; these methods go beyond the elementary type of penalty method introduced in this chapter.

EXERCISES 22.1 Let A G R m x n , m < n, rankA = m, and 6 G M m . Define ft = {x : Ax = b} and let x0 € ft. Show that for any y 6 E n ,

where P = I- AT(AAT)~1 A. Hint: Use Exercise 6.4 and Example 12.4. 22.2 Let / : En ->• E be given by /(x) = \xTQx - XTC, where Q = QT > 0. We wish to minimize / over {x : Ax — b}, where A & R m x n , ra < n, and rank A = m. Show that the projected steepest descent algorithm for this case takes the form

where and P = In- AT(AAT)-1A. 22.3 Consider the problem

where A e E m x n , m < n, and rankA = m. Show that if x ( °) € {x : Ax - b}, then the projected steepest descent algorithm converges to the solution in one step.

452

ALGORITHMS FOR CONSTRAINED OPTIMIZATION

22.4 Show that in the projected steepest descent algorithm, we have that for each fc, a. g(k+VTPg(V = 0; and b. the vector x^k+1^ — x^ is orthogonal to the vector x( fc+2 ) — a;(fc+1). 22.5 Consider the simple optimization problem:

where a G R Suppose we use the penalty method to solve this problem, with penalty function (the Courant-Beltrami penalty function). Given a number e > 0, find the smallest value of the penalty parameter 7 such that the solution obtained using the penalty method is no further than e from the true solution to the given problem. (Think of e as the desired accuracy.) 22.6 Consider the problem

where A e R m x n , b e E m , m < n, and rank A = m. Let x* be the solution. Suppose we solve the problem using the penalty method, with the penalty function

Let x* be the solution to the associated unconstrained problem with the penalty parameter 7 > 0, that is, x* is the solution to

a. Suppose Verify that x* converges to the solution x* of the original constrained problem as 7 ->• oo. b. Prove that x* —> x* as 7 -> oo holds in general. Hint: Use the following result: There exist orthogonal matrices U 6 £ mxm and VT € R nxn such that

EXERCISES

453

where X

/

is a diagonal matrix with diagonal elements that are the square-roots of the eigenvalues of AAT. The above result is called the singular value decomposition (see, e.g., [43, p. 411]).

References

1. J. S. Arora, Introduction to Optimum Design. New York: McGraw-Hill Book Co., 1989. 2. R. G. Bartle, The Elements of Real Analysis. New York: Wiley, second ed., 1976. 3. M. S. Bazaraa, H. D. Sherali, and C. M. Shetty, Nonlinear Programming: Theory and Algorithms. New York: Wiley, second ed., 1993. 4. A. Ben-Israel and T. N. E. Greville, Generalized Inverses: Theory and Applications. Interscience, New York: Wiley, 1974. 5. C. C. Berresford, A. M. Rockett, and J. C. Stevenson, "Khachiyan's algorithm, Part 1: A new solution to linear programming problems," Byte, vol. 5, no. 8, pp. 198-208, Aug. 1980. 6. C. C. Berresford, A. M. Rockett, and J. C. Stevenson, "Khachiyan's algorithm, Part 2: Problems with the algorithm," Byte, vol. 5, no. 9, pp. 242-255, Sept. 1980. 7. D. P. Bertsekas, "Necessary and sufficient conditions for a penalty method to be exact," Mathematical Programming, vol. 9, no. 1, pp. 87-99, Aug. 1975. 8. D. P. Bertsekas, Nonlinear Programming. Belmont, MA: Athena Scientific, 1995. 455

456

REFERENCES

9. K. G. Binmore, Calculus. Cambridge, England: Cambridge University Press, 1986. 10. R. G. Bland, D. Goldfarb, and M. J. Todd, "The ellipsoid method: A survey," Operations Research, vol. 29, pp. 1039-1091,1981. 11. V. G. Boltyanskii, Mathematical Methods of Optimal Control. New York: Holt, Rinehart and Winston, 1971. 12. S. Boyd, L. El Ghaoui, E. Feron, and V. Balakrishnan, Linear Matrix Inequalities in System and Control Theory. Philadelphia: SIAM, 1994. 13. L. Brickman, Mathematical Introduction to Linear Programming and Game Theory. New York: Springer-Verlag, 1989. 14. C. G. Broyden, "Quasi-newton methods," in Optimization Methods in Electronics and Communications (K. W. Cattermole and J. J. O'Reilly, eds.), vol. 1 of Mathematical Topics in Telecommunications, (New York), pp. 105-110, Wiley, 1984. 15. A. E. Bryson and Y.-C. Ho, Applied Optimal Control; Optimization, Estimation, and Control. Washington, DC: Revised Printing, Hemisphere Publishing Corporation, 1975. 16. B. D. Bunday, Basic Optimization Methods. London: Edward Arnold, 1984. 17. J. Campbell, The Improbable Machine. New York: Simon and Schuster, 1989. 18. S. L. Campbell and C. D. Meyer, Jr., Generalized Inverses of Linear Transformations. New York: Dover Publications, 1991. 19. A. Cichocki and R. Unbehauen, Neural Networks for Optimization and Signal Processing. Chichester: Wiley, 1993. 20. S. D. Conte and C. de Boor, Elementary Numerical Analysis: An Algorithmic Approach. New York: McGraw-Hill Book Co., third ed., 1980. 21. M. A. Dahleh and I. J. Diaz-Bobillo, Control of Uncertain Systems: A Linear Programming Approach. Englewood Cliffs, NJ: Prentice-Hall, 1995. 22. G. B. Dantzig, Linear Programming and Extensions. Princeton, NJ: Princeton University Press, 1963. 23. G. B. Dantzig and M. N. Thapa, Linear Programming, 1: Introduction. New York: Springer-Verlag, 1997. 24. L. Davis, ed., Genetic Algorithms and Simulated Annealing, Research Notes in Artificial Intelligence, (London), Pitman, 1987. 25. V. R Dem'yanov and L. V. Vasil'ev, Nondifferentiable Optimization. New York: Optimization Software, Inc., Publications Division, 1985.

REFERENCES

457

26. J. E. Dennis, Jr. and R. B. Schnabel, Numerical Methods for Unconstrained Optimization and Nonlinear Equations. Englewood Cliffs, NJ: Prentice-Hall, 1983. 27. V. N. Faddeeva, Computational Methods of Linear Algebra. New York: Dover Publications, 1959. 28. S.-C. Fang and S. Puthenpura, Linear Optimization and Extensions: Theory and Algorithms. Englewood Cliffs, NJ: Prentice-Hall, 1993. 29. R. Fletcher, Practical Methods of Optimization. Chichester: Wiley, second ed., 1987. 30. F. R. Gantmacher, The Theory of Matrices. Moscow: Nauka, revised second ed., 1966. In Russian. 31. F. R. Gantmacher, The Theory of Matrices: Volume One. New York: Chelsea Publishing Co., 1959. 32. S. I. Gass, An Illustrated Guide to Linear Programming. New York: McGrawHill Book Co., 1970. 33. I. M. Gel'fand, Lectures on Linear Algebra. New York: Interscience Publishers, 1961. 34. P. E. Gill and W. Murray, "Safeguarded steplength algorithms for optimization using descent methods," Tech. Rep. NPL Report NAC 37, National Physical Laboratory, Division of Numerical Analysis and Computing, Teddington, Middlesex, Aug. 1974. 35. P. E. Gill, W. Murray, M. A. Saunders, and M. H. Wright, "Two step-length algorithms for numerical optimization," Tech. Rep. SOL 79-25, Systems Optimization Laboratory, Department of Operations Research, Stanford University, Stanford, CA 94305, Dec. 1979. 36. P. E. Gill, W. Murray, and M. H. Wright, Practical Optimization. London: Academic Press, 1981. 37. G. H. Golub and C. F. Van Loan, Matrix Computations. Baltimore, MD: The Johns Hopkins University Press, 1983. 38. C. C. Gonzaga, "Path-following methods for linear programming," SIAM Review, vol. 34, no. 2, pp. 167-224, June 1992. 39. R. L. Harvey, Neural Network Principles. Englewood Cliffs, NJ: Prentice-Hall, 1994. 40. S. Haykin, Neural Networks: A Comprehensive Foundation. Upper Saddle River, NJ: Prentice-Hall, second ed., 1999.

458

REFERENCES

41. J. Hertz, A. Krogh, and R. G. Palmer, Introduction to the Theory of Neural Computation, vol. 1 of Santa Fe Institute Studies in the Sciences of Complexity. Redwood City, CA: Addison-Wesley, 1991. 42. J. H. Holland, Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. Cambridge, MA: MIT Press, 1992. 43. R. A. Horn and C. R. Johnson, Matrix Analysis. Cambridge, England: Cambridge University Press, 1985. 44. A. S. Householder, The Theory of Matrices in Numerical Analysis. New York: Dover Publications, 1975. 45. S. Hui and S. H. Zak, "The Widrow-Hoff algorithm for McCulloch-Pitts type neurons," IEEE Trans. Neural Networks, vol. 5, no. 6, pp. 924-929, Nov. 1994. 46. D. R. Hush and B. G. Home, "Progress in supervised neural networks: What's new since Lippmann," IEEE Signal Processing Magazine, pp. 8-39, Jan. 1993. 47. S. Isaak and M. N. Manougian, Basic Concepts of Linear Algebra. New York: W W. Norton & Co., 1976. 48. J.-S. R. Jang, C.-T. Sun, and E. Mizutani, Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence. Upper Saddle River, NJ: Prentice-Hall, 1997. 49. W. E. Jenner, Rudiments of Algebraic Geometry. New York: Oxford University Press, 1963. 50. E. M. Johansson, F. U. Dowla, and D. M. Goodman, "Backpropagation learning for multi-layer feed-forward neural networks using the conjugate gradient method," Int. J. Neural Systems, vol. 2, no. 4, pp. 291-301, 1992. 51. S. Kaczmarz, "Approximate solution of systems of linear equations," Int. J. Control, vol. 57, no. 6, pp. 1269-1271, 1993. A reprint of the original paper: Kaczmarz, S., "Angenaherte Auflosung von Systemen linearer Gleichunger," Bulletin International de l'Academie Polonaise des Sciences. Lett A, pp. 355357, 1937. 52. N. Karmarkar, "A new polynomial-time algorithm for linear programming," Combinatorica, vol. 4, no. 4, pp. 373-395,1984. 53. M. F. Kelly, P. A. Parker, and R. N. Scott, "The application of neural networks to myoelectric signal analysis: A preliminary study," IEEE Trans. Biomedical Engineering, vol. 37, no. 3, pp. 221-230, Mar. 1990. 54. L. G. Khachiyan, "A polynomial algorithm in linear programming," Soviet Mathematics Doklady, vol. 20, no. 1, pp. 191-194,1979.

REFERENCES

459

55. V. Klee and G. J. Minty, "How good is the simplex algorithm?," in InequalitiesIII (O. Shisha, ed.), (New York), pp. 159-175, Academic Press, 1972. 56. D. E. Knuth, The Art of Computer Programming: Volume I/Fundamental Algorithms. Reading, MA: Addison-Wesley, second ed., 1973. 57. L. Kolev, "Iterative algorithm for the minimum fuel and minimum amplitude problems for linear discrete systems," Int. J. Control, vol. 21, no. 5, pp. 779-784, 1975. 58. J. R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection. Cambridge, MA: MIT Press, 1992. 59. T. Kozek, T. Roska, and L. O. Chua, "Genetic algorithm for CNN template learning," IEEE Trans. Circuit and Syst.—I: Fund. Theory and Appl, vol. 40, no. 6, pp. 392-402, June 1993. 60. K. Kuratowski, Introduction to Calculus, vol. 17 of International Series of Monographs in Pure and Applied Mathematics. Warsaw, Poland: Pergamon Press, seconded., 1969. 61. S. Lang, Calculus of Several Variables. New York: Springer-Verlag, third ed., 1987. 62. E. B. Lee and L. Markus, Foundations of Optimal Control Theory. Malabar, FL: Robert E. Krieger Publishing Company, 1986. 63. G. Leitmann, The Calculus of Variations and Optimal Control; An Introduction. New York: Plenum Press, 1981. 64. D. G. Luenberger, Linear and Nonlinear Programming. Addison-Wesley, second ed., 1984.

65. D. G. Luenberger, Optimization by Vector Space Methods. New York: Wiley, 1969. 66. I. J. Maddox, Elements of Functional Analysis. Cambridge, England: Cambridge University Press, second ed., 1988. 67. O. L. Mangasarian, Nonlinear Programming. New York: McGraw-Hill Book Co., 1969. 68. M. Mitchell, An Introduction to Genetic Algorithms. Cambridge, MA: MIT Press, 1996. 69. A. Mostowski and M. Stark, Elements of Higher Algebra. Warsaw, Poland: PWN - Polish Scientific Publishers, 1958. 70. S. G. Nash and A. Sofer, Linear and Nonlinear Programming. New York: McGraw-Hill, 1996.

460

REFERENCES

71. D. H. Owens, Multivariable and Optimal Systems. London: Academic Press, 1981. 72. T. M. Ozan, Applied Mathematical Programming for Production and Engineering Management. Englewood Cliffs, NJ: Prentice-Hall, 1986. 73. C. H. Papadimitriou and K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity. Englewood Cliffs, NJ: Prentice-Hall, 1982. 74. P. C. Parks, "S. Kaczmarz (1895-1939)," Int. J. Control, vol. 57, no. 6, pp. 12631267,1993. 75. R. J. Patton and G. P. Liu, "Robust control design via eigenstructure assignment, genetic algorithms and gradient-based optimisation," IEE Proc.—Control Theory Appl., vol. 141, no. 3, pp. 202-208, May 1994. 76. A. L. Peressini, F. E. Sullivan, and J. J. Uhl, Jr., The Mathematics of Nonlinear Programming. New York: Springer-Verlag, 1988. 77. M. J. D. Powell, "Convergence properties of algorithms for nonlinear optimization," SIAM Review, vol. 28, no. 4, pp. 487-500, Dec. 1986. 78. S. S. Rangwala and D. A. Dornfeld, "Learning and optimization of machining operations using computing abilities of neural networks," IEEE Trans. Sys., Man and Cybernetics, vol. 19, no. 2, pp. 299-314, Mar./Apr. 1989. 79. G. V. Reklaitis, A. Ravindran, and K. M. Ragsdell, Engineering Optimization: Methods and Applications. New York: Wiley Interscience, 1983. 80. A. M. Rockett and J. C. Stevenson, "Karmarkar's algorithm: A method for solving large linear programming problems," Byte, vol. 12, no. 10, pp. 146160, Sept. 1987. 81. H. L. Royden, Real Analysis. New York: Macmillan Company, third ed., 1988. 82. W. Rudin, Principles of Mathematical Analysis. New York: McGraw-Hill Book Co., third ed., 1976. 83. D. E. Rumelhart, J. L. McClelland, and P. R. Group, Parallel Distributed Processing, Explorations in the Micro structure of Cognition, Volume I: Foundations. Cambridge, MA: MIT Press, 1986. 84. D. Russell, Optimization Theory. New York: W. A. Benjamin, 1970. 85. S. L. Salas and E. Hille, Calculus: One and Several Variables. New York: Wiley, fourth ed., 1982. 86. A. Schrijver, Theory of Linear and Integer Programming. New York: Wiley, 1986.

REFERENCES

461

87. R. T. Seeley, Calculus of Several Variables; An Introduction. Glenview, IL: Scott, Foresman and Co., 1970. 88. W. A. Spivey, Linear Programming: An Introduction. New York: Macmillan Company, 1963. 89. R. E. Stone and C. A. Tovey, "The simplex and projective scaling algorithms as iteratively reweighted least squares methods," SIAM Review, vol. 33, no. 2, pp. 220-237, June 1991. 90. G. Strang, Introduction to Applied Mathematics. Wellesley, MA: WellesleyCambridge Press, 1986. 91. G. Strang, Linear Algebra and Its Applications. New York: Academic Press, 1980. 92. T. W. Then and E. K. P. Chong, "Genetic algorithms in noisy environments," in Proc. 9th lEEE Symp. on Intelligent Control, pp. 225-230, Aug. 1994. 93. P. P. Varaiya, Notes on Optimization. New York: Van Nostrand Reinhold Co., 1972. 94. D. J. Velleman, How To Prove It: A Structured Approach. Cambridge, England: Cambridge University Press, 1994. 95. B. Widrow and M. A. Lehr, "30 years of adaptive neural networks: Perceptron, madaline, and backpropagation," Proceedings of the IEEE, vol. 78, no. 9, pp. 1415-1442, Sept. 1990. 96. D. J. Wilde, Optimum Seeking Methods. Englewood Cliffs, NJ: Prentice-Hall, 1964. 97. R. E. Williamson and H. F. Trotter, Multivariable Mathematics. Englewood Cliffs, NJ: Prentice-Hall, second ed., 1979. 98. W. I. Zangwill, Nonlinear Programming: A Unified Approach. Englewood Cliffs, NJ: Prentice-Hall, 1969. 99. G. Zoutendijk, Mathematical Programming Methods. Amsterdam, The Netherlands: North-Holland, 1976. 100. J. M. Zurada, Introduction to Artificial Neural Systems. St. Paul, MN: West Publishing Co., 1992.

Index

Absolute value, 16 Absolute value penalty function, 446 Activation function, 219 Active constraint, 397 Adaline, 223,236 Adaptive linear element, 223 Additivity, 16 Affine function, 55, 56, 215 Affine scaling, 343, 344 Affine scaling method, 343-348 artificial problem, 347 stopping criterion, 346 strictly interior feasible point, 343 Algorithm affine scaling, 343-348 backpropagation, 219, 224-234 BFGS, 180-184 Broyden-Fletcher-GoldfarbShanno, see BFGS algorithm complexity of, 256, 340 conjugate gradient, see Conjugate gradient algorithm

convergence of, see Convergence Davidon-Fletcher-Powell, see DFP algorithm DFP, 176-180 ellipsoid, see Khachiyan's method exponential complexity, 340 fixed step size, 127, 132,226 for constrained optimization, 439-451 genetic, 237-250 globally monotone, 137 gradient, 113-134 Gram-Schmidt, 152, 164 interior-point, 256, 340, 343, 348,360 iterative, 109, 138. See also Search methods Kaczmarz's, 201-204,223 Karmarkar's, see Karmarkar's method Khachiyan's, 256, 340-343, 355 polynomial complexity, 340 probabilistic, 237 462

INDEX

Algorithm (Continued) projected, 440 projected gradient, 344,441-445 projected steepest descent, 444 quasi-Newton, see QuasiNewton methods rank one, 171-175 rank two, 176 RLS, 196-201 secant method, 106-108 simplex, see Simplex method single-rank symmetric, 171 SRS, 171 steepest descent, 115-122 symmetric Huang family, 186 variable metric, 176 Widrow-Hoff, 223, 236 Alphabet in genetic algorithm, 238 argmin, 74 Artificial neural networks, see Feedforward neural networks Artificial problem in affine scaling method, 347 in Karmarkar's method, 355 Artificial problem in simplex method, 307 Associative, 6,7 Asymmetric duality, 323 Augmented matrix, 274 Ax = b, see Linear equations Backpropagation algorithm, 219, 224-234 as a gradient algorithm, 226 forward pass, 228 reverse pass, 228 Ball, 44 Banana (Rosenbrock's) function, 60, 138, 150, 165, 186 Basic columns, 273 Basic feasible solution, 255,273,276, 279, 297 Basic solutions, 272-276 Basic variables, 273, 294 Basis

463

definition of, 8 entering, 298 in linear equations, 273,294,296 leaving, 298 natural, 9 orthogonal, 25 Beltrami, 446 Best-so-far chromosome, 241 BFGS algorithm, 180-184 Big-oh notation, 65, 130 Eland's rule, 307, 319 Bolzano-Weierstrass theorem, 52,203 Boundary, 44 Boundary point, 44 Bounded above, 51 Bounded below, 51 Bounded sequence, 50, 51 Bounded set, 45 Broyden, 180 Broyden-Fletcher-Goldfarb-Shanno algorithm, see BFGS algorithm Canonical augmented matrix, 294295 Canonical form, 294 Canonical representation, 294 Canonical tableau, 305 Carrier of polyhedron, 46 Cauchy-Schwarz inequality, 17, 113, 180,443 Chain rule, 59 Characteristic equation, 22 Characteristic polynomial, 22 Chromosome in genetic algorithm, 238 Circuit, 107,219,261,401 Citation style, 4 Closed set, 45 Column vector, 5 Commutative, 6 Compact set, 45 Compatible matrix norm, 32 Complementarity, 180 Complementary slackness, 331,435

464

INDEX

Complex inner product, 18 Complex vector space, 9 Complexity of algorithm, 256, 340 exponential, 340 polynomial, 340 Component of vector, 5 Composite function, 59,77, 80, 375 Concave function, 422. See also Convex function Condition number, 129 Conjugate direction methods, 151164 Conjugate gradient algorithm Fletcher-Reeves formula, 163 Hestenes-Stiefel formula, 162 nonquadratic problems, 161-164 Polak-Ribiere formula, 162 Powell formula, 164 quadratic problems, 158-161 Stopping criterion, 163 Consistent linear inequalities, 342 Constrained optimization, 73, 255, 365 Constraint active, 397 convex, 427 equality, 366,415 functional, 74 inactive, 397 inequality, 397,445 set, 74 Constraint set, 73. See also Feasible set Continuity, 18, 54,369,449 Continuous function, 18,54,369,449 Continuously differentiable function, 59, 366,424 Contradiction, proof, 2 Contraposition, proof, 2 Contrapositive, 2 Control system, 90, 388-390, 395, 445 Convergence fixed step size gradient algorithm, 127

globally convergent, 123 gradient algorithms, 125 Kaczmarz's algorithm, 202 linear (first-order), 130 locally convergent, 123 Newton's method, 143 of sequence of matrices, 52 order of, 129,131,133,134,136, 143 penalty method, 449 quadratic (second-order), 130 rate of, 123,130 ratio, 129 steepest descent algorithm, 127 Convergent sequence, 49 Convex combination, 42,249 Convex constraint, 427 Convex function, 419-427 definition of, 420 differentiable, 424 equivalent definition of, 421 minimizers of, 427 optimization of, 427-433 quadratic, 423 strict, 422 twice differentiable, 425 Convex optimization, 427-433 Convex programming, see Convex optimization Convex set, 42-44 definition of, 42,279,420 extreme point, 279,280 extreme point of, 44,282 in definition of convex function, 420 polyhedron, 46,265 polytope, 46, 265 properties of, 43 supporting hyperplane, 45, 265 Coordinates, 9 Cost function, 73 Courant-Beltrami penalty function, 446,452 Cramer's rule, 29 Crossing site, 239

INDEX

Crossover in genetic algorithm, 239 crossing site, 239 multiple-point crossover, 239, 251 one-point crossover, 239 Curve, 369 Cycling in simplex method, 307, 319 Dantzig, 256 Davidon, 176 Davidon-Fletcher-Powell algorithm, see DFP algorithm Decision variable, 73,255,436 Decomposition direct sum, 25,374 orthogonal, 25, 195 Decreasing sequence, 49 Degenerate basic feasible solution, 273,277, 306 DeMorgan's law, 1 Derivative, 56, 75 partial, 57 Derivative descent search, 134 Derivative matrix, 58 Descent property, 117, 123, 125,145, 146, 167,444 Determinant, 11 DFP algorithm, 176-180 Diagonal matrix, 23, 344, 358, 436, 453 Diet problem, 258, 323, 330 Differentiable curve, 369 Differentiable function, 56,57, 369 Dimension, 8, 367 Direct sum decomposition, 25, 374 Directional derivative, 75 Discrete Fourier series, 194 Discrete-time linear system, 90, 216, 389,395 Distributive, 7 Dual linear program, 321, 341 Dual quadratic program, 337 Duality asymmetric, 323 dual problem, 321,341

465

dual quadratic program, 337 dual vector, 322 duality theorem, 329 in quasi-Newton methods, 180 Karush-Kuhn-Tucker (KKT) conditions, 335 primal problem, 321, 341 primal quadratic program, 337 quadratic programming, 337 symmetric, 322, 341 weak duality lemma, 328 Duality theorem, 329 Dyadic product, 171 Edge of polyhedron, 46 Eigenvalue definition of, 22 maximal, 126 minimal, 126 of symmetric matrix, 24, 30 Eigenvector definition of, 22 of symmetric matrix, 24 orthogonal, 24 relation to Q-conjugacy, 165 Electric circuit, 261,401 Elementary matrix elementary row operation, 289 first kind, 287 second kind, 288 third kind, 288 Elementary row operation, 289 Elitism in genetic algorithm, 242 Ellipsoid, 342 Ellipsoid algorithm, see Khachiyan's method Encoding in genetic algorithm, 238, 242,249 Epigraph, 419 Equality constraint, 366,415 Estimation, 107,192,212 Euclidean inner product, 16 Euclidean norm, 17 Evolution in genetic algorithm, 239 Exact penalty function, 450

466

INDEX

Exclusive OR, see XOR Expanding subspace theorem, 157 Exponential complexity, 340 Extreme point, 44, 279, 280, 282 Extremizer, see Minimizer Face of polyhedron, 46,265 Farkas's transposition theorem, 336 Feasible direction, 75,429,450 Feasible point, 255, 365 Feasible set, 73, 365 Feedforward neural networks, 219234 activation function, 219 Adaline, 223 backpropagation algorithm, 219, 224-234 function approximation, 221 hidden layer, 220 input layer, 220 learning, 219 neuron, 219 output layer, 220 single-neuron training, 221-224 supervised learning, 221 training, 219 training set, 221 unsupervised learning, 221 weights, 219,220 Fibonacci search, 95-103 Fibonacci sequence, 96 First-order necessary condition equality constraint (Lagrange), 375,376 in convex optimization, 429 inequality constraint (KKT), 398 interior case, 77 set constraint, 76 Fitness in genetic algorithm, 238 Fitting straight line, 88,191,196,214, 215 Fixed step size, 127, 132,226 Fletcher, 163, 176, 180 Fletcher-Reeves formula, 163

FONC, see First-order necessary condition Fourier series, 194 Frobenius norm, 31 Full-rank factorization, 205 Function affine,55,56,215 banana, 60, 138, 150, 165, 186 composite, 59,77, 80, 375 concave, 422. See also Convex function continuous, 18, 54, 369,449 continuously differentiable, 59, 366,424 convex, 419-427 cost, 73 derivative matrix of, 58 derivative of, 56,75 differentiable, 56,57, 369 directional derivative of, 75 gradient of, 58, 63, 75, 113 graph of, 63,419 Jacobian matrix of, 58 Lagrangian, 378, 384 linear, see Linear transformation matrix-valued, 54 maximum rate of decrease, 114 maximum rate of increase, 62, 113 notation, 3 objective, 73 partial derivative of, 57 penalty, 445 Powell, 140 Rosenbrock's, 60,138,150,165, 186 sigmoid, 232 twice continuously differentiable, 59,425 twice differentiable, 58, 369 uniformly continuous, 19 unimodal, 91 utility, 436 Function approximation, 221 Functional constraint, 74

INDEX

Fundamental theorem of algebra, 22 Fundamental theorem of linear algebra, 35 Fundamental theorem of LP, 276 Gale's transposition theorem, 336 Gauss-Newton method, 148 Generalized inverse, 205, 206 Genetic algorithm, 237-250 alphabet, 238 analysis of, 243-248 best-so-far chromosome, 241 chromosome, 238 crossover, 239 elitism, 242 encoding, 238, 242, 249 evolution, 239 fitness, 238 initial population, 237 length of schema, 246 mating pool, 238 mutation, 240 offspring, 239 order of schema, 246 parents, 239 population size, 238 real-number, 248-250 representation scheme, 238 roulette-wheel scheme, 239 schema, 243 selection, 238 stopping criterion, 242 tournament scheme, 239 Global minimizer, 74, 84, 388, 427431,434,445 Globally convergent, 123 Globally monotone algorithm, 137 Golden Section, 93 Golden Section search, 91-95 Goldfarb, 180 Gordan's transposition theorem, 336 Gradient, 58, 63, 75, 113 Gradient descent algorithm, see Algorithm, gradient Gradient methods, 113-134

467

backpropagation algorithm, 219, 224-234 constrained optimization, see Projected gradient methods convergence of, 122-128 convergence rate of, 129-134 descent property, 117, 123, 125 fixed step size, 127 order of convergence, 133 projected, 441-445 stopping criterion, 117 Gram matrix, 190 Gram-Schmidt, 152, 164 Grammian, 190 Graph, 63,419 Greatest lower bound, 51 Hacijan, see Khachiyan Half-space, 40, 265 negative, 41 positive, 41 Hessian, 59, 384, 425 Hessian matrix, 75 Hestenes-Stiefel formula, 162 Hidden layer in neural network, 220 Hoff, 223 Holland, John, 237 Homogeneity, 16, 18 Hyperplane definition of, 39 supporting, 45, 265 tangent to graph, 63 Huang family, 186 Identity matrix, 13 Image of matrix, see Range of matrix Implicit function theorem, 372 Impulse response, 216 Inactive constraint, 397 Inconsistent system of equations, 187 Increasing sequence, 49 Indefinite matrix, 30 Induced matrix norm, 32, 394 Induction, principle of, 3 Inequality constraint, 397, 445

468

INDEX

Infimum, see Greatest lower bound Inner product complex, 18 Euclidean, 16 properties of, 16 Innovation, 198 Input layer in neural network, 220 Interior, 44 Interior point, 44 Interior-point method, 256, 340, 343, 348, 360 Inverse continuity of, 54 matrix, 13 Inverse Hessian, 168 Invertible matrix, see Nonsingular matrix Iterative algorithm, 109,138. See also Search methods Jacobian matrix, 58 Jordan form, 53 Kaczmarz's algorithm, 201-204, 223 Kantorovich, 256 Karmarkar, 256, 340 Karmarkar's method, 256, 340, 348360 artificial problem, 355 complexity, 340 Karmarkar's canonical form, 348-350, 352 Karmarkar's restricted problem, 351-352 projective transformation, 353, 361 simplex, 349 stopping criterion, 352, 357 strictly interior feasible point, 345,353 Karush-Kuhn-Tucker condition, see KKT condition Karush-Kuhn-Tucker multiplier, see KKT multiplier Karush-Kuhn-Tucker theorem, 398

Kernel of matrix, see Nullspace of matrix Khachiyan, 256, 340 Khachiyan's method, 256, 340-343, 355 KKT condition, 398, 399, 403, 431 KKT multiplier, 398, 404 KKT theorem, 398 Klee-Minty problem, 339 Koopmans, 256 Kuhn-Tucker condition, see KKT condition Lagrange condition, 376, 379, 430, 442 Lagrange multiplier, 376, 378 Lagrange's theorem, 375, 376 Lagrangian function, 378, 384 Leading principal minor, 27 Learning in neural network, 219 Least upper bound, 51 Least-squares, 187-196, 207 nonlinear, 146 Left pseudoinverse, 207 Level set, 60, 113, 116 Levenberg-Marquardt algorithm, 149 Levenberg-Marquardt modification, 145 Limit of sequence, 49 Line fitting, 88, 191, 196, 214, 215 Line search, 109, 115, 145, 162, 163, 168, 182 Line segment, 39, 42 Linear combination, 7 Linear convergence, 130 Linear dynamical system, see Discrete-time linear system Linear equations augmented matrix, 274 basic solution, 273 basis, 273, 294, 296 canonical augmented matrix, 294 canonical form, 294 degenerate basic solutions, 273

INDEX

Linear equations (Continued) existence of solution, 14 inconsistent, 187 Kaczmarz's algorithm, 201-204 least-squares solution, 187, 188, 190 minimum norm solution, 200, 210,223,388 overdetermined, 187 particular solution, 293 pivot, 296,299, 310 solving in general, 187-212 solving using row operations, 287-293 Linear function, see Linear transformation Linear inequalities consistent, 342 in linear programming, 255,257, 265 Linear least-squares, 187-196,207 Linear matrix inequalities, 435 Linear programming affine scaling method, 343-348 artificial problem in affine scaling method, 347 artificial problem in Karmarkar's method, 355 artificial problem in simplex method, 307 artificial variables in simplex method, 308 as constrained problem, 366 asymmetric duality, 323 basic columns, 273 basic feasible solution, 255,273, 276,279, 297 basic solutions, 272-276 basic variables, 273,294 Eland's rule, 307, 319 brief history of LP, 255 canonical augmented matrix, 294 canonical tableau, 305

469

complementary slackness, 331, 435 cycling, 307, 319 degenerate basic feasible solution, 273,277, 306 dual problem, 321,341 duality, see Duality duality theorem, 329 examples of, 88,257-263 extreme point, 279,280,282 feasible solution, 273 fundamental theorem of LP, 276 geometric view of, 279 interior-point method, 256, 340, 343, 348, 360 Karmarkar's method, see Karmarkar's method Karush-Kuhn-Tucker condition, 335,412 Khachiyan's method, 256, 340343,355 Klee-Minty problem, 339 optimal basic feasible solution, 276 optimal feasible solution, 276 primal problem, 321, 341 reduced cost coefficient, 300, 304, 305, 332 revised simplex method, 310315 simplex method, 256,287-315 slack variable, 268 standard form, 267,272 surplus variable, 267 symmetric duality, 322, 341 tableau, 304 two dimensional, 263 two-phase affine scaling method, 347 two-phase simplex method, 307310 weak duality lemma, 328 Linear quadratic regulator, 389 Linear regression, see Line fitting Linear space, see Vector space

470

INDEX

Linear transformation, 21, 57 Linear variety, 41 Linearly dependent, 7 Linearly independent, 7, 152, 273, 367, 398 Little-oh notation, 66, 77 Local minimizer, 74-76, 80, 82, 376, 384, 386, 398, 407, 408, 427 Locally convergent, 123 Lower bound, 51 LP, see Linear programming LQR, 389 MacDuffee,210 Mating pool in genetic algorithm, 238 MATLAB, xiii, 110, 111, 118, 120, 138, 165, 186, 236, 242, 243, 252, 285, 319, 320, 360 Matrix compatible norm, 32 condition number, 129 continuous, 54 convergence of sequence, 52 definition of, 10 derivative, 58 determinant, 11 diagonal, 23, 344, 358,436,453 eigenvalue of, see Eigenvalue eigenvector of, see Eigenvector elementary, see Elementary matrix full-rank factorization, 205 function, matrix-valued, 54 game theory, 263 generalized inverse, 205, 206 Gram, 190 Hessian, 59, 75, 384, 425 identity, 13 image of, see Range of matrix indefinite, 30 induced norm, 32, 394 inverse, 13

invertible, see Nonsingular matrix Jacobian, 58 Jordan form, 53 kernel of, see Nullspace of matrix leading principal minor of, 27 left pseudoinverse, 207 linear matrix inequalities, 435 minor of, 12 Moore-Penrose inverse, 205,206 negative definite, 30 negative semidefinite, 30 nonsingular, 13, 181, 187, 198, 273,290 notation, 10 nullspace of, 25, 35, 196, 316, 344, 370 orthogonal, 25, 452 orthogonal projector, 25, 26, 195,344,345,359,441 Penrose generalized inverse, 212 positive definite, 30 positive semidefinite, 30 principal minor of, 27 pseudoinverse, 205, 206 range of, 25, 35 rank of, 10-13 representation of linear transformation, 21 right pseudoinverse, 207 sequence of, 52 series of, 53 similar, 22 Sylvester's criterion, 27 symmetric, 13, 24, 30, 121 transformation, 21 transpose of, 13 Matrix norm, 31-35 Matrix-valued function, 54 Minimizer description of, 73 global, 74, 84, 388, 427-431, 434,445

INDEX

Minimizer (Continued) local, 74-76, 80, 376, 384, 398, 407,427 strict global, 74 strict local, 74, 82, 90, 386,408 Minor definition of, 12 leading principal, 27 principal, 27 Minty, 339 Monotone sequence, 49, 51 Moore-Penrose inverse, 205, 206 Morrison, 181, 198 Mutation in genetic algorithm, 240 Natural basis, 9 Negative definite matrix, 30

quadratic form, 27 Negative half-space, 41 Negative semidefinite matrix, 30 quadratic form, 27 Neighborhood, 44 Neural networks, see Feedforward neural networks Neuron, 219 Newton's method convergence of, 143 descent direction, 144 descent property, 145 for nonlinear least-squares, 146149 Gauss-Newton method, 148 general, 139-149 Levenberg-Marquardt modification of, 145 modification of, 145 of tangents, 105 one dimensional, 103-105 order of convergence, 143 Newton-Raphson method, see Newton's method Nondecreasing sequence, 49 Nondifferentiable optimization, 433

471

Nondifferentiable penalty function, 450 Nonincreasing sequence, 49 Nonlinear least-squares, 146 Nonsingular matrix, 13, 181, 187, 198,273,290 Norm p-norm, 18 compatible, 32 Euclidean, 17 Frobenius, 31 general vector norm, 18 induced, 32, 394 matrix, 31-35 properties of, 17 Normal, 41,62 Normal plane, 373 Normal space, 373, 374 Notation, 3 Nullspace of matrix, 25, 35, 196, 316, 344, 370 Objective function, 73 Offspring in genetic algorithm, 239 One-dimensional search methods, 91-109 Open set, 45 Optimal basic feasible solution, 276 Optimal control, 388, 390, 395,445 Optimal feasible solution in LP, 276 Optimization constrained, 73, 255, 365 convex, 427-433 linear, see Linear programming nondifferentiable, 433 unconstrained, see Unconstrained optimization with equality constraints, 365 with inequality constraints, 397 Optimization algorithm, see Search methods Order of convergence, 129, 131, 133, 134, 136, 143 Order symbol, 130 Order symbols, 65

472

INDEX

Orthant, 353 Orthogonal, 62 Orthogonal basis, 25 Orthogonal complement, 25,196,373 Orthogonal decomposition, 25, 195 Orthogonal matrix, 25,452 Orthogonal projection, 25, 189, 344, 345,359 Orthogonal projector, 25, 26, 195, 344,345,359,441 Orthogonal vectors, 17 Outer product, 171 Output layer in neural network, 220 Overdetermined system of equations, 187 Parents in genetic algorithm, 239 Partial derivative, 57 Particular solution, 293 Penalty function, 445 Penalty method, 445-451 absolute value penalty function, 446 convergence, 449 Courant-Beltrami penalty function, 446,452 exact penalty function, 450 nondifferentiable penalty function, 450 penalty function, 445 penalty parameter, 445 Penalty parameter, 445 Penrose, see Moore-Penrose inverse Penrose generalized inverse, 212 Perp, see Orthogonal complement Pivot, 296, 299, 310 Polak-Ribiere formula, 162 Polyhedron carrier of, 46 definition of, 46 edge of, 46 face of, 46,265 in linear programming, 264-267 vertex of, 46 Polynomial complexity, 340

Polynomial, characteristic, 22 Polytope definition of, 46 in linear programming, 265 Population in genetic algorithm, 237, 238 Positive definite matrix, 30 quadratic form, 26 relation to eigenvalues, 30 Sylvester's criterion, 27 Positive half-space, 41 Positive orthant, 353 Positive semidefinite matrix, 30 quadratic form, 26 relation to eigenvalues, 30 relation to principal minors, 30 Positivity, 16, 18 Powell, 140, 164, 176 Powell formula, 164 Powell function, 140 Primal linear program, 321, 341 Primal quadratic program, 337 Primal-dual method, 321 Principal minor, 27 Principle of induction, 3 Probabilistic search technique, 237 Product dyadic, 171 inner, 16, 18 outer, 171 Product rule, 59 Projected algorithm, 440 Projected gradient method, 344 Projected gradient methods, 441-445 stopping criterion, 444 Projected steepest descent algorithm, 444 Projection, 249, 440. See also Orthogonal projection. Projective transformation, 353, 361 Proof contradiction (reductio ad absurdum), 2

INDEX

Proof (Continued) contraposition, 2 direct method, 2 methods of, 1-3 principle of induction, 3 Pseudoinverse, 205,206 Pythagorean theorem, 18 Q-conjugate definition of, 151 linear independence, 152 relation to eigenvectors, 165 relation to orthogonality, 165 Quadratic convergence, 130 Quadratic form convex, 423 definition of, 26 maximizing, 383, 386 negative definite, 27 negative semidefinite, 27 positive definite, 26 positive semidefinite, 26,30 Sylvester's criterion, 27 Quadratic programming, 337, 388, 395,412 Quasi-Newton methods, 167-184 approximating inverse Hessian, 168 BFGS algorithm, 180-184 complementarity, 180 conjugate direction property, 170 descent property, 167 DFP algorithm, 176-180 duality, 180 rank one formula, 171-175 rank two update, 176 single-rank symmetric, 171 symmetric Huang family, 186 variable metric algorithm, 176 Range of matrix, 25, 35 Rank of matrix, 10-13 Rank one formula, 171-175 Rank two update, 176 Rate of convergence, 123, 130

473

Ratio of convergence, 129 Rayleigh's inequality, 34, 82, 126, 127, 133 Real vector space, 5 Recursive least-squares, see RLS algorithm Reduced cost coefficient, 300, 304, 305, 332 Reductio ad absurdum, 2 Reeves, 163 Regular point, 367, 371, 376, 398 Relative cost coefficient, see Reduced cost coefficient Representation scheme in genetic algorithm, 238 Revised simplex method, 310-315 Revised tableau, 311 Ribiere, 162 Right pseudoinverse, 207 RLS algorithm, 196-201 Rosenbrock's function, 60, 138, 150, 165, 186 Roulette-wheel scheme, 239 Row operations, 287-293 Row vector, 5 Scalar, 7 Scale parameter, 232 Schema in genetic algorithm, 243 length of, 246 order of, 246 Schmidt, see Gram-Schmidt Schwarz, see Cauchy-Schwarz inequality Search methods conjugate direction methods, 151-164 conjugate gradient algorithm, 158-164 constrained optimization, 439451 derivative descent search, 134 Fibonacci, 95-103 general algorithm, 184 genetic algorithm, 237-250

474

INDEX

Search methods (Continued) Golden Section, 91-95 gradient methods, 113-134 Kaczmarz's algorithm, 201-204, 223 line search, 109, 115, 145, 162, 163, 168, 182 neural network training, 221 Newton's method, 103-105, 139-149 Newton-Raphson method, see Newton's method one-dimensional, 91-109 penalty method, 445-451 probabilistic, 237 projected, 440 projected gradient methods, 441-445 quasi-Newton methods, 167-184 secant method, 106-108 steepest descent method, 115122 Secant method, 106-108 Second-order necessary condition equality constraints, 384 inequality constraints, 407 interior case, 81 set constraint, 80 Second-order sufficient condition equality constraints, 386 inequality constraints, 408 interior case, 82 set constraint, 89 Selection in genetic algorithm, 238 Sequence bounded, 50,51 bounded above, 51 bounded below, 51 convergent, 49 decreasing, 49 Fibonacci, 96 greatest lower bound, 51 increasing, 49 least upper bound, 51 limit, 49

lower bound, 51 monotone, 49, 51 nondecreasing, 49,448 nonincreasing, 49 of matrices, 52 of real numbers, 49 order of convergence, 129, 131, 133,134, 136, 143 subsequence of, 51 upper bound, 51 Set

boundary of, 44 bounded, 45 closed, 45 compact, 45 constraint, 73. See also Feasible set convex, see Convex set feasible, 73, 365 interior of, 44 minus, 3 notation, 3 open, 45 simplex, 349 subset of, 3 Set constraint, 74 Shanno, 180 Sherman-Morrison formula, 181, 198 Shift parameter, 232 Sigmoid, 232 Signal-to-interference ratio, 79, 86 Similar matrices, 22 Simplex, 349 Simplex algorithm, see Simplex method Simplex method, 256,287-315 algorithm, 297-303 artificial problem, 307 artificial variables, 308 Bland's rule, 307, 319 canonical augmented matrix, 294-295 canonical tableau, 305 complexity, 340 cycling, 307, 319

INDEX

Simplex method (Continued) exponential complexity, 340 matrix form, 303-307 reduced cost coefficient, 300, 304, 305, 332 revised simplex method, 310315 revised tableau, 311 row operations, 287-293 stopping criterion, 298, 317 tableau, 304 two-phase, 307-310 updating augmented matrix, 295-296 updating canonical tableau, 305 Simultaneous equations, see Linear equations Single-rank symmetric algorithm, 171 Singular value decomposition, 453 Slack variable, 268 SONC, see Second-order necessary condition SOSC, see Second-order sufficient condition Span, 8 Sphere, 361 SRS algorithm, 171 Standard form linear program, 267, 272 Statement biconditional, 1 conditional, 1 Steepest ascent, 62 Steepest ascent method, see Steepest descent method Steepest descent order of convergence, 133 Steepest descent method, 115-122 for constrained optimization, 444 for quadratic, 120 projected, 444 Step response, 216 Step size, 114, 127, 135, 146, 202, 226,442,443

475

Stiefel, 162 Stopping criterion affine scaling method, 346 conjugate gradient method, 163 genetic algorithm, 242 gradient method, 117 Karmarkar's method, 352, 357 line search, 111 projected gradient method, 444 simplex method, 298, 317 Strictly interior feasible point, 343, 345,353 Subsequence, 51 Subset, 3 Subspace, 8 Supervised learning, 221 Supporting hyperplane, 45, 265 Supremum, see Least upper bound Surface, 367, 370 Surplus variable, 267 SVD, see Singular value decomposition Sylvester's criterion, 27 Symmetric duality, 322, 341 Symmetric Huang family, 186 Symmetric matrix, 13, 24, 30, 121 Symmetry, 16 Tableau in linear programming, 304 Tangent line, 62 Tangent plane, 62, 370 Tangent space, 370, 371, 374 Tangent vector, 58,62, 369, 371 Taylor series, 64-68, 139, 143, 443. See also Taylor's theorem Taylor's formula, 64, 66, 67. See also Taylor's theorem Taylor's theorem, 64, 77, 80, 82, 114, 426 Termination criterion, see Stopping criterion Threshold, 232 Tournament scheme, 239 Training of neural network, 219 Training set, 221

476

INDEX

Transformation affine scaling, 344 linear, 21,57 matrix, 21 matrix representation of, 21 projective, 353, 361 Transportation problem, 256,260 Transpose matrix, 13 vector, 5 Transposition theorems, 336 Triangle inequality, 18 Truth table, 1 Tucker, see KKT condition Twice continuously differentiable function, 59,425 Twice differentiable function, 58,369 Two-dimensional linear program, 263 Two-phase affine scaling method, 347 Two-phase simplex method, 307-310 Uncertainty range, 93 Unconstrained optimization basics of, 73 conditions for, 75-83 Uniform continuity, 19 Uniformly continuous function, 19 Unimodal, 91 Unsupervised learning, 221 Upper bound, 51 Utility function, 436 Variable metric algorithm, 176 Variety, linear, 41 Vector column, 5

complex, 9 component of, 5 convex combination, 42,249 definition of, 5 difference, 6 field, 58 linearly combination, 7 linearly dependent, 7 linearly independent, 7, 152, 273,367,398 normal, 41 orthogonal, 17 row, 5 tangent, 58, 62, 369, 371 transpose of, 5 zero vector, 6 Vector field, 58 Vector space basis for, 8 complex, 9 definition of, 5 dimension of, 8 real, 5 subspace of, 8 Vertex of polyhedron, 46 Weak duality lemma, 328 Weierstrass theorem, 32,45 Weights in neural network, 219,220 Widrow, 223 Widrow-Hoff algorithm, 223,236 XOR, 233,236 Zero vector, 6

## An Introduction to Optimization.pdf

An Introduction to Optimization WILEY-INTERSCIENCE SERIES IN DISCRETE MATHEMATICS AND OPTIMIZATION ADVISORY EDITORS RONALD L. GRAHAM University of...

#### Recommend Documents

An Introduction to Telugu
Linguists also determined that the four major southern Indian languages, namely Telugu, Tamil, Kannada and Malayalam bel

AN INTRODUCTION TO FERMENTATION
Fermentation is the term used by microbiologists to describe any process for the .... Growth rate is independent of subs

An Introduction to Plastics
Thermoplastics - these are plastics that can be softened and formed using heat, and when cool, will take ... Thermosetti

An Introduction to C++
Dedication. These notes are dedicated to the people who have implemented the gcc suite of software, to. Dinkumware and t

An Introduction to Monitoring an ERDF Project
Oct 10, 2005 - Offer Letter. â¢ To provide exact evidence of expenditure - there must be an audit trail. â¢ To use as

An Introduction to Data Profiling
Apr 16, 2013 - SQL data types. â¡ CHAR, INT, DECIMAL, TIMESTAMP, BIT, CLOB, â¦ â¡ Domains. â¡ VARCHAR(12) vs. VARCHA

An Introduction to Java Programming
For Introduction to Java Programming. By Y. Daniel Liang. This supplement covers the following topics: â¢ Getting Start

An Introduction to SAP - SAP.com
Sep 1, 2016 - cloud computing. Globalization & mainframe computing. SAP R/1: Enabled customers to get a complete view of

An introduction to R - cran.r
While the commercial implementation of S, S-PLUS, is struggling to keep its existing users, the open source version of S

An Introduction to Perfect Competition
Marginal Cost 75. Total Cost Marginal Cost 76. Output (TC) (MC) 65. 0 $55. 60. 1 85 2:â$ 30. -. 55. 2 110 â> 7,5. 3