Lecture Note 18: Duality

Similar documents
Linear Programming Duality

4. Duality and Sensitivity

Lectures 6, 7 and part of 8

Planning and Optimization

Convex Optimization and Support Vector Machine

Introduction to Mathematical Programming IE406. Lecture 10. Dr. Ted Ralphs

Linear and Combinatorial Optimization

Note 3: LP Duality. If the primal problem (P) in the canonical form is min Z = n (1) then the dual problem (D) in the canonical form is max W = m (2)

4.6 Linear Programming duality

Duality Theory, Optimality Conditions

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n

Optimality, Duality, Complementarity for Constrained Optimization

Lecture 5. Theorems of Alternatives and Self-Dual Embedding

CSCI5654 (Linear Programming, Fall 2013) Lecture-8. Lecture 8 Slide# 1

Algorithmic Game Theory and Applications. Lecture 7: The LP Duality Theorem

3. Duality: What is duality? Why does it matter? Sensitivity through duality.

Chap6 Duality Theory and Sensitivity Analysis

Conic Linear Optimization and its Dual. yyye

Algorithms and Theory of Computation. Lecture 13: Linear Programming (2)

Optimization for Communications and Networks. Poompat Saengudomlert. Session 4 Duality and Lagrange Multipliers

Sensitivity Analysis and Duality in LP

LINEAR PROGRAMMING II

Summer School: Semidefinite Optimization

4. Algebra and Duality

Midterm Review. Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A.

Introduction to Mathematical Programming

CSCI 1951-G Optimization Methods in Finance Part 01: Linear Programming

BBM402-Lecture 20: LP Duality

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

Chapter 1. Preliminaries

CO 250 Final Exam Guide

Convex Optimization M2

F 1 F 2 Daily Requirement Cost N N N

Lecture 10: Linear programming duality and sensitivity 0-0

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017

I.3. LMI DUALITY. Didier HENRION EECI Graduate School on Control Supélec - Spring 2010

LP Duality: outline. Duality theory for Linear Programming. alternatives. optimization I Idea: polyhedra

Thursday, May 24, Linear Programming

EE/AA 578, Univ of Washington, Fall Duality

MVE165/MMG631 Linear and integer optimization with applications Lecture 5 Linear programming duality and sensitivity analysis

Review Solutions, Exam 2, Operations Research

Week 3 Linear programming duality

Introduction to linear programming using LEGO.

EE364a Review Session 5

Lecture Notes 3: Duality

1 Review Session. 1.1 Lecture 2

Convex Optimization Boyd & Vandenberghe. 5. Duality

Linear Programming. Chapter Introduction

3. Linear Programming and Polyhedral Combinatorics

5. Duality. Lagrangian

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004

Convex Optimization & Lagrange Duality

Lagrange Duality. Daniel P. Palomar. Hong Kong University of Science and Technology (HKUST)

A Review of Linear Programming

Chapter 2: Linear Programming Basics. (Bertsimas & Tsitsiklis, Chapter 1)

IE 5531: Engineering Optimization I

Linear and Integer Optimization (V3C1/F4C1)

MATH 373 Section A1. Final Exam. Dr. J. Bowman 17 December :00 17:00

II. Analysis of Linear Programming Solutions

x 1 + x 2 2 x 1 x 2 1 x 2 2 min 3x 1 + 2x 2

Input: System of inequalities or equalities over the reals R. Output: Value for variables that minimizes cost function

3. Linear Programming and Polyhedral Combinatorics

Lecture 1. 1 Conic programming. MA 796S: Convex Optimization and Interior Point Methods October 8, Consider the conic program. min.

Theory and Internet Protocols

OPTIMISATION 2007/8 EXAM PREPARATION GUIDELINES

15-780: LinearProgramming

Extreme Abridgment of Boyd and Vandenberghe s Convex Optimization

Linear Programming: Simplex

Chapter 1: Linear Programming

Lecture: Duality.

IE 521 Convex Optimization Homework #1 Solution

Ω R n is called the constraint set or feasible set. x 1

Part IB Optimisation

Convex Optimization and SVM

Optimization WS 13/14:, by Y. Goldstein/K. Reinert, 9. Dezember 2013, 16: Linear programming. Optimization Problems

Part 1. The Review of Linear Programming

Chapter 1 Linear Programming. Paragraph 5 Duality

CS261: A Second Course in Algorithms Lecture #9: Linear Programming Duality (Part 2)

Lecture 10: Linear programming. duality. and. The dual of the LP in standard form. maximize w = b T y (D) subject to A T y c, minimize z = c T x (P)

Linear Programming: Chapter 5 Duality

Primal/Dual Decomposition Methods

Farkas Lemma, Dual Simplex and Sensitivity Analysis

CSCI : Optimization and Control of Networks. Review on Convex Optimization

Duality and Projections

14. Duality. ˆ Upper and lower bounds. ˆ General duality. ˆ Constraint qualifications. ˆ Counterexample. ˆ Complementary slackness.

OPTIMISATION /09 EXAM PREPARATION GUIDELINES

A Brief Review on Convex Optimization

Teaching Duality in Linear Programming - the Multiplier Approach

4TE3/6TE3. Algorithms for. Continuous Optimization

Motivation. Lecture 2 Topics from Optimization and Duality. network utility maximization (NUM) problem:

Duality. Lagrange dual problem weak and strong duality optimality conditions perturbation and sensitivity analysis generalized inequalities

Lecture #21. c T x Ax b. maximize subject to

Example: feasibility. Interpretation as formal proof. Example: linear inequalities and Farkas lemma

LECTURE 10 LECTURE OUTLINE

MAT016: Optimization

Summary of the simplex method

Chapter 3, Operations Research (OR)

Linear and non-linear programming

Generalization to inequality constrained problem. Maximize

CHAPTER 2: CONVEX SETS AND CONCAVE FUNCTIONS. W. Erwin Diewert January 31, 2008.

Transcription:

MATH 5330: Computational Methods of Linear Algebra 1 The Dual Problems Lecture Note 18: Duality Xianyi Zeng Department of Mathematical Sciences, UTEP The concept duality, just like accuracy and stability, frequently appears in different research areas of scientific computing. For example, among many other aspects, the dual of a given problem often offers a way to study the sensitivity of numerical methods of almost all kinds, including linear programs. Dual problems are not unfamiliar in our lectures, particularly the standard minimum form and the standard maximum form are intentionally formulated as the dual to each other: The standard minimum problem: Find a vector x R n, such that: is minimized subject to: and: c t x Ax b, x 0. (1.1a) (1.1b) (1.1c) The standard maximum problem: Find a vector y R m, such that: is maximized subject to: and: b t y y t A c t, y 0. (1.2a) (1.2b) (1.2c) Attentions should be paid to how the coefficients for the objective function of one problem become those for the constraints of the other problem, and vice versa. In addition, the matrix A in the inequality constraints is the same. The two problems (1.1) and (1.2) are called the symmetric form of duality. To get a sense of why they are called dual problems, we have the weak duality lemma as follows: Lemma 1 (Weak Duality Lemma for Symmetric Duality). If x and y are feasible for (1.1) and (1.2), respectively, then c t x b t y. They are slightly different from what we had before for easier presentation here. 1

Proof. Because x 0, we have: c t x (y t A)x = y t (Ax). Since y 0, this inequality can be continued: c t x y t (Ax) y t b. As a direct corollary, if we manage to find a feasible x 0 to the minimum problem and a feasible y 0 to the maximum problem, such that c t x 0 = b t y 0, it can be immediately claimed that both of them are optimal. The converse is also true, as we will see later in the duality theorem of linear programming; that is, there is no gap between the two optimal objective values of the dual problems. This is the foundation why we can use the ellipsoid method or the interior penalty method to solve the linear program, which finds any point in the polytope Ω: Ω = {z R M : z t D d, D R M N }. Indeed, suppose we want to solve the standard minimum problem, then by the duality theorem, an optimal solution x is part of (x,y) that satisfy the following linear constraints: c t x b t y 0, Ax b, A t y c, x 0, y 0. This polytope is defined by M = m+n variables and N = 1+2m+2n linear inequality constraints. So what is the dual problem for a linear program in the standard form? The standard linear programming problem: Find a vector x R n, such that: is minimized subject to: and: c t x Ax = b 0, x 0. (1.3a) (1.3b) (1.3c) The first step is to put it in a standard minimum form as: Minimizing c t x such that Ax b, ( A)x b, and x 0. The corresponding dual maximum problem reads: Finding u,v R n such that b t u b t v 2

is maximized, subject to [u v] t [ A A ] = (u v) t A c, and u, v 0. Noticing how the two non-negative vectors u and v always appear in a pair as u v except for the non-negativity constraints; this is exactly the trick we used before to put a free variable into non-negative ones. Reverting this process, we have the following dual problem with free variables: The linear program with free variables: Find a vector y R m, such that: is maximized subject to: b t y y t A c t. (1.4a) (1.4b) The dual relation between (1.3) and (1.4) is called the asymmetric form of the duality of linear programs. Usually for two dual problems, if one is called primal, the other one is called the dual to the primal one. In this lecture, we usually identify the standard form as the primal one. With the help of the asymmetric form of the duality, we have another interpretation of the dual problem and some deeper insight why the number of variables in the dual problem is the same as the number of constraints in the primal one. This is related to the saddle point problem: Given f(x,y) we want to solve for min x max y f(x,y). The saddle point problem itself is a rich area of researches. Let us denote the solution to the saddle point problem by (x,y ); to get an idea of how to find such a solution, we consider the simple objective function f(x,y)=(x 3) 2 (y x) 2. This function has neither minimum nor maximum; but if we fix x = x 0 it is possible to solve the maximization problem max y f(x 0,y) to find the solution y (x 0 )=x 0. Then we can solve the minimization problem min x f(x,y (x)) and find out that x =3. At this saddle point (x,y )=(3,3), the gradient of f is zero but this point is neither minimum nor maximum. Applications that lead to saddle point problems composes a long list, which includes mixed finite element analysis, fluid dynamics of incompressible flows, shape and topological optimization, and Kalman filtering in signal processing, to name a few. Here we consider a saddle point problem that is created by using Lagrangian multipliers (the objective function is hence called the Lagrangian). The target is to find min x max λ f(x,λ), where: f(x,λ) = c t x λ t (Ax b), subject to the constraints x 0. Similar to the previous example, we can first fix x to find out the optimality condition for λ, which reads: λ f(x,λ) = 0, or Ax b = 0. The second step of the saddle point problem is then exactly the linear program (1.3). Alternatively, we can find the solution in the following way: Supposing (x,λ ) is the solution, we must have x f(x,λ ) = c A t λ 0. The reason is that if there is any component satisfying c j a t j λ < 0, we can increase x j by a little bit so that the non-negativity constraints for x are Strictly speaking, we should use inf xsup y instead of min and max; but here for simplicity we assume that the solution to any related optimization problem can be found. 3

still satisfied but the objective value f(x,λ ) is decreased. Similarly, we must have c j a t j λ 0 if x j > 0; because otherwise we can decrease x j by a little bit and decrease the objective value. To this end, the saddle point satisfies: (λ ) t A c t, (c Aλ ) x = 0. (1.5) Here denotes the componentwise product between two vectors. This indicates f(x,λ ) = b t λ ; hence λ must maximize b t λ among all λ that satisfies the first constraint. That is, λ is the solution to the dual linear programming problem (1.4). Let x and y be the solutions to the primal and the dual problems, respectively. Previous discussion indicates that they satisfies the condition (1.5) 2 where λ s role is played by y. Hence any basic (non-zero) variable x j corresponds to an equality constraint for y: c j a t jy = 0; and a strict inequality constraint c j a t j y > 0 indicates a zero component x j. Thus this condition is also known as the complementary slackness condition. To close this section, it is noted that the dual problem is often used to obtain an alternative interpretation to the primal one, especially in economics and logistics. Let us consider the diet problem again: There are m foods with the unit prices c 1,,c m ; and each food F j contains a ij units of the nutrient N i, 1 i n. In order to keep healthy, the daily intake of the nutrient N i must be no less than b i units. Then the problem of staying healthy at the minimum daily cost is to minimize: c t x, where x i 0 is the units of food F j consumed per day, such that: m a ij x j b i 1 i n. j=1 This is a standard minimum problem. If we take the manufacturer s point of view, say that we can produce pills for each nutrient directly, what price shall we put on each unit of the nutrient so that we can maximize the profit? Suppose the price to be charged for each unit of N i is y i 0, then the purpose is of course to maximize: b t y, because in this model, the only purpose for the customers is to stay healthy while keeping the cost as low as possible. So they won t purchase more than necessary to stay healthy. However, in order to keep the market active, the nutrient prices must be able to compete with the foods on the market: The customer will choose to buy F j rather than the pills if it provides the same amount of nutrients at a lower cost! Hence the prices for the pills must satisfy: n a ij y i c j 1 j m. i=1 Thus the problem for the manufacturer is exactly the dual standard maximize problem! 4

2 The Duality Theorem First, we note that Lemma 1 translates perfectly to asymmetric duality. Lemma 2 (Weak Duality Lemma for Asymmetric Duality). If x and y are feasible for (1.3) and (1.4), respectively, then c t x b t y. Proof. Because x 0, we have c t x (y t A)x = y t (Ax) = y t b. Similar as before, if x 0 and y 0 are feasible solutions to the two linear programs and c t x 0 =b t y 0, then they are also optimal. Now we establish the converse of this statement in the next theorem. Theorem 2.1 (The Duality Theorem of Linear Programming). If either (1.3) or (1.4) has a finite optimal solution, so does the other and the corresponding values of the objective functions are equal. If either problem is unbound, the other problem has no feasible solution. Proof. The second part of the theorem is actually a direct consequence of Lemma 2. Indeed, if the primal problem (resp., the dual problem) has at least one feasible solution, its objective value provides a finite upper bound (resp., lower bound) to the dual problem (resp., the primal problem); hence the other problem cannot be unbound. Now we consider the first part and suppose the primal problem has an optimal solution. By the fundamental theorem of linear programming, it has an optimal feasible solution and without loss of generality, we can suppose that it is given by: [ ] xb A = [B D], x = ; x B = B 1 b 0 and x D = 0. x D By the theory of the simplex method, the relative cost coefficient vector is non-negative: Now defining y = c t B B 1, we have: r D = c t D c t BB 1 D 0. y t A = c t BB 1 [B D] = [c t B c t BB 1 D] = [c t B c t D r t D] c t. Hence y is feasible for the dual problem. Furthermore, y t b=c t B B 1 b=c t B x B =c t x; by the corollary of Lemma 2, y is optimal. Lastly, suppose the dual problem has an optimal feasible solution, then the primal problem is not unbound; the target thusly reduces to show that the primal problem has at least one feasible solution. Indeed, if this is true, by the fundamental theorem of linear programming there is a basic feasible solution, and by the simplex method we can find an optimal solution since the problem is not unbound and reduce the situation to previous case. To show that the primal problem has a feasible solution, we use the method of contradiction and suppose that this is not true. If the primal problem is infeasible, i.e., there is no x 0 that satisfies Ax = b, we adopt the fact that there exists y 0 R m such that: y t 0A 0 and b t y 0 > 0. We did not assume ranka = m in the duality relation. Here if A is rank-deficient, we can always eliminate some constraints without changing the nature of the problem. 5

This result is known as the Farkas lemma, which states that given a vector (in this case b) and a convex cone (in this case the linear combination of columns of A with non-negative coefficients), then either the vector is in that cone (which indicates the feasibility of the primal problem) or there is a hyperplane separating the vector and the cone. In this last scenario, we pick y 0 as the unit normal vector to this hyperplane. Now because the dual problem has an optimal solution, it must be feasible. Suppose y is a feasible solution to the dual problem, then we have for all ɛ 0: (y +ɛy 0 ) t A y t A c, hence y +ɛy 0 is feasible for all such ɛ. However, b t (y +ɛy 0 ) = b t y +ɛ(b t y 0 ) as ɛ and the dual problem is unbound, contradiction that it has an optimal solution. As a final remark, we relate the dual problem to the sensitivity analysis of the linear program. Suppose x = [x B x D ] is an optimal basic feasible solution to the primal problem, and we want to know how the objective value changes if the right hand side b changes a little. When the change is very small, we typically expect that the set of basic solutions remain the same so that the change in the objective value can be expressed as: c t Bδx B = c t BB 1 δb = y t δb, where δb is the perturbation and δx B =B 1 δb is the corresponding change in the optimal solution. Hence we see that the components of the solution to the dual problem describe the rate of change in the objective value of the primal problem w.r.t. each right hand side of the equality constraints. 3 Concluding Remarks SIAM has selected a top-10 list for the algorithms in the past century (SIAM News, Volume 33, Number 4): (1946) The Monte Carlo method (or the Metropolis algorithm). (1947) The simplex method. (1950) The Krylov subspace iteration methods. (1951) Decomposition approach to matrix computation (formalized by Householder!). (1957) Fortran optimizing compiler. (1956 61) The QR method for eigenvalue problems. (1962) Quicksort. (1965) The fast Fourier transform (FFT). (1977) Integer relation detection algorithm. (1987) The fast multipole algorithm. We have covered four of them in this class, and three of which concern the matrix analysis. This is not surprising, as matrix indeed plays a major role in the modern scientific computing. 6