List of Figures |
|
xiii | |
List of Tables |
|
xv | |
Foreword |
|
xix | |
I Linear Programming |
|
1 | |
|
1 An Introduction to Linear Programming |
|
|
3 | |
|
1.1 The Basic Linear Programming Problem Formulation |
|
|
3 | |
|
1.1.1 A Prototype Example: The Blending Problem |
|
|
4 | |
|
1.1.2 Maple's LPSolve Command |
|
|
7 | |
|
1.1.3 The Matrix Inequality Form of an LP |
|
|
8 | |
|
|
10 | |
|
1.2 Linear Programming: A Graphical Perspective in R2 |
|
|
13 | |
|
|
17 | |
|
1.3 Basic Feasible Solutions |
|
|
19 | |
|
|
25 | |
|
|
29 | |
|
2.1 The Simplex Algorithm |
|
|
29 | |
|
2.1.1 An Overview of the Algorithm |
|
|
29 | |
|
2.1.2 A Step-by-Step Analysis of the Process |
|
|
30 | |
|
2.1.3 Solving Minimization Problems |
|
|
33 | |
|
2.1.4 A Step-by-Step Maple Implementation of the Simplex Algorithm |
|
|
34 | |
|
|
38 | |
|
2.2 Alternative Optimal/Unbounded Solutions and Degeneracy |
|
|
39 | |
|
2.2.1 Alternative Optimal Solutions |
|
|
40 | |
|
2.2.2 Unbounded Solutions |
|
|
41 | |
|
|
42 | |
|
|
45 | |
|
2.3 Excess and Artificial Variables: The Big M Method |
|
|
47 | |
|
|
53 | |
|
2.4 A Partitioned Matrix View of the Simplex Method |
|
|
54 | |
|
2.4.1 Partitioned Matrices |
|
|
54 | |
|
2.4.2 Partitioned Matrices with Maple |
|
|
55 | |
|
2.4.3 The Simplex Algorithm as Partitioned Matrix Multiplication |
|
|
56 | |
|
|
61 | |
|
2.5 The Revised Simplex Algorithm |
|
|
62 | |
|
|
62 | |
|
2.5.2 Observations about the Simplex Algorithm |
|
|
63 | |
|
2.5.3 An Outline of the Method |
|
|
63 | |
|
2.5.4 Application to the FuelPro LP |
|
|
64 | |
|
|
67 | |
|
2.6 Moving beyond the Simplex Method: An Interior Point Algorithm |
|
|
68 | |
|
2.6.1 The Origin of the Interior Point Algorithm |
|
|
68 | |
|
2.6.2 The Projected Gradient |
|
|
69 | |
|
|
72 | |
|
2.6.4 Summary of the Method |
|
|
75 | |
|
2.6.5 Application of the Method to the FuelPro LP |
|
|
75 | |
|
2.6.6 A Maple Implementation of the Interior Point Algorithm |
|
|
76 | |
|
|
79 | |
|
3 Standard Applications of Linear Programming |
|
|
81 | |
|
|
81 | |
|
3.1.1 Eating for Cheap on a Very Limited Menu |
|
|
81 | |
|
3.1.2 The Problem Formulation and Solution, with Help from Maple |
|
|
82 | |
|
|
85 | |
|
3.2 Transportation and Transshipment Problems |
|
|
85 | |
|
3.2.1 A Coal Distribution Problem |
|
|
85 | |
|
3.2.2 The Integrality of the Transportation Problem Solution |
|
|
87 | |
|
3.2.3 Coal Distribution with Transshipment |
|
|
89 | |
|
|
91 | |
|
|
92 | |
|
3.3.1 The Minimum Cost Network Flow Problem Formulation |
|
|
92 | |
|
3.3.2 Formulating and Solving the Minimum Cost Network Flow Problem with Maple |
|
|
94 | |
|
3.3.3 The Shortest Path Problem |
|
|
95 | |
|
3.3.4 Maximum Flow Problems |
|
|
98 | |
|
|
99 | |
|
4 Duality and Sensitivity Analysis |
|
|
103 | |
|
|
103 | |
|
|
103 | |
|
4.1.2 Weak and Strong Duality |
|
|
105 | |
|
4.1.3 An Economic Interpretation of Duality |
|
|
110 | |
|
4.1.4 A Final Note on the Dual of an Arbitrary LP |
|
|
111 | |
|
4.1.5 The Zero-Sum Matrix Game |
|
|
112 | |
|
|
116 | |
|
|
119 | |
|
4.2.1 Sensitivity to an Objective Coefficient |
|
|
121 | |
|
4.2.2 Sensitivity to Constraint Bounds |
|
|
125 | |
|
4.2.3 Sensitivity to Entries in the Coefficient Matrix A |
|
|
130 | |
|
4.2.4 Performing Sensitivity Analysis with Maple |
|
|
133 | |
|
|
135 | |
|
4.3 The Dual Simplex Method |
|
|
137 | |
|
4.3.1 Overview of the Method |
|
|
138 | |
|
|
139 | |
|
|
143 | |
|
5 Integer Linear Programming |
|
|
145 | |
|
5.1 An Introduction to Integer Linear Programming and the Branch and Bound Method |
|
|
145 | |
|
|
145 | |
|
5.1.2 The Relaxation of an ILP |
|
|
146 | |
|
5.1.3 The Branch and Bound Method |
|
|
147 | |
|
5.1.4 Practicing the Branch and Bound Method with Maple |
|
|
154 | |
|
5.1.5 Binary and Mixed Integer Linear Programming |
|
|
155 | |
|
5.1.6 Solving ILPs Directly with Maple |
|
|
156 | |
|
5.1.7 An Application of Integer Linear Programming: The Traveling Salesperson Problem |
|
|
157 | |
|
|
162 | |
|
5.2 The Cutting Plane Algorithm |
|
|
167 | |
|
|
167 | |
|
|
168 | |
|
5.2.3 A Step-by-Step Maple Implementation of the Cutting Plane Algorithm |
|
|
172 | |
|
5.2.4 Comparison with the Branch and Bound Method |
|
|
175 | |
|
|
175 | |
II Nonlinear Programming |
|
177 | |
|
6 Algebraic Methods for Unconstrained Problems |
|
|
179 | |
|
6.1 Nonlinear Programming: An Overview |
|
|
179 | |
|
6.1.1 The General Nonlinear Programming Model |
|
|
179 | |
|
6.1.2 Plotting Feasible Regions and Solving NLPs with Maple |
|
|
180 | |
|
6.1.3 A Prototype NIP Example |
|
|
183 | |
|
|
185 | |
|
6.2 Differentiability and a Necessary First-Order Condition |
|
|
187 | |
|
|
188 | |
|
6.2.2 Necessary Conditions for Local Maxima or Minima |
|
|
190 | |
|
|
193 | |
|
6.3 Convexity and a Sufficient First-Order Condition |
|
|
193 | |
|
|
194 | |
|
6.3.2 Testing for Convexity |
|
|
196 | |
|
6.3.3 Convexity and The Global Optimal Solutions Theorem |
|
|
199 | |
|
6.3.4 Solving the Unconstrained NLP for Differentiable, Convex Functions |
|
|
200 | |
|
6.3.5 Multiple Linear Regression |
|
|
201 | |
|
|
204 | |
|
6.4 Sufficient Conditions for Local and Global Optimal Solutions |
|
|
206 | |
|
|
207 | |
|
6.4.2 Positive Definite Quadratic Forms |
|
|
209 | |
|
6.4.3 Second-Order Differentiability and the Hessian Matrix |
|
|
210 | |
|
6.4.4 Using Maple to Classify Critical Points for the Unconstrained NLP |
|
|
218 | |
|
6.4.5 The Zero-Sum Matrix Game, Revisited |
|
|
219 | |
|
|
222 | |
|
7 Numeric Tools for Unconstrained NLPs |
|
|
225 | |
|
7.1 The Steepest Descent Method |
|
|
225 | |
|
|
225 | |
|
7.1.2 A Maple Implementation of the Steepest Descent Method |
|
|
229 | |
|
7.1.3 A Sufficient Condition for Convergence |
|
|
231 | |
|
7.1.4 The Rate of Convergence |
|
|
234 | |
|
|
236 | |
|
|
238 | |
|
7.2.1 Shortcomings of the Steepest Descent Method |
|
|
238 | |
|
|
239 | |
|
7.2.3 A Maple Implementation of Newton's Method |
|
|
241 | |
|
7.2.4 Convergence Issues and Comparison with the Steepest Descent Method |
|
|
243 | |
|
|
247 | |
|
7.3 The Levenberg-Marquardt Algorithm |
|
|
249 | |
|
7.3.1 Interpolating between the Steepest Descent and Newton Methods |
|
|
249 | |
|
7.3.2 The Levenberg Method |
|
|
250 | |
|
7.3.3 The Levenberg-Marquardt Algorithm |
|
|
251 | |
|
7.3.4 A Maple Implementation of the Levenberg-Marquardt Algorithm |
|
|
253 | |
|
7.3.5 Nonlinear Regression |
|
|
255 | |
|
7.3.6 Maple's Global Optimization Toolbox |
|
|
257 | |
|
|
258 | |
|
8 Methods for Constrained Nonlinear Problems |
|
|
261 | |
|
8.1 The Lagrangian Function and Lagrange Multipliers |
|
|
261 | |
|
8.1.1 Some Convenient Notation |
|
|
262 | |
|
8.1.2 The Karush-Kuhn-Tucker Theorem |
|
|
263 | |
|
8.1.3 Interpreting the Multiplier |
|
|
267 | |
|
|
269 | |
|
|
272 | |
|
8.2.1 Solving Convex NLPs |
|
|
273 | |
|
|
276 | |
|
8.3 Saddle Point Criteria |
|
|
278 | |
|
8.3.1 The Restricted Lagrangian |
|
|
278 | |
|
8.3.2 Saddle Point Optimality Criteria |
|
|
280 | |
|
|
282 | |
|
8.4 Quadratic Programming |
|
|
284 | |
|
8.4.1 Problems with Equality-type Constraints Only |
|
|
284 | |
|
8.4.2 Inequality Constraints |
|
|
289 | |
|
8.4.3 Maple's QPSolve Command |
|
|
291 | |
|
|
293 | |
|
|
297 | |
|
8.5 Sequential Quadratic Programming |
|
|
300 | |
|
8.5.1 Method Derivation for Equality-type Constraints |
|
|
300 | |
|
8.5.2 The Convergence Issue |
|
|
306 | |
|
8.5.3 Inequality-Type Constraints |
|
|
306 | |
|
8.5.4 A Maple Implementation of the Sequential Quadratic Programming Technique |
|
|
310 | |
|
8.5.5 An Improved Version of the SQPT |
|
|
312 | |
|
|
315 | |
A Projects |
|
319 | |
|
A.1 Excavating and Leveling a Large Land Tract |
|
|
319 | |
|
A.2 The Juice Logistics Model |
|
|
322 | |
|
A.3 Work Scheduling with Overtime |
|
|
325 | |
|
A.4 Diagnosing Breast Cancer with a Linear Classifier |
|
|
327 | |
|
A.5 The Markowitz Portfolio Model |
|
|
330 | |
|
A.6 A Game Theory Model of a Predator-Prey Habitat |
|
|
334 | |
B Important Results from Linear Algebra |
|
337 | |
|
|
337 | |
|
B.2 The Invertible Matrix Theorem |
|
|
337 | |
|
|
338 | |
|
B.4 Positive Definite Matrices |
|
|
338 | |
|
|
339 | |
|
B.6 The Rank-Nullity Theorem |
|
|
339 | |
|
|
339 | |
|
|
340 | |
C Getting Started with Maple |
|
341 | |
|
C.1 The Worksheet Structure |
|
|
341 | |
|
C.2 Arithmetic Calculations and Built-in Operations |
|
|
343 | |
|
C.3 Expressions and Functions |
|
|
344 | |
|
C.4 Arrays, Lists, Sequences, and Sums |
|
|
347 | |
|
C.5 Matrix Algebra and the Linear Algebra Package |
|
|
349 | |
|
C.6 Plot Structures with Maple |
|
|
353 | |
D Summary of Maple Commands |
|
363 | |
Bibliography |
|
383 | |
Index |
|
387 | |