chapter 1 linear programming paragraph 3 mathematical ...– a convex polyeder (convex polyhedron) p...

36
Chapter 1 Linear Programming Paragraph 3 Mathematical Foundations - Geometry of the Solution Set

Upload: others

Post on 25-Nov-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

Chapter 1Linear Programming

Paragraph 3Mathematical Foundations -Geometry of the Solution Set

Page 2: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 2

What we did so far

• By combining ideas of a specialized algorithm with a geometrical view on the problem, we developed an algorithm idea:

• We have an intuitive understanding how our geometrical view generalizes to more dimensions:• Corners correspond to solutions of equation systems.• Inequalities partition restrict the solution space to

halfspaces.

Find a feasible corner (somehow).Check neighboring corners and see if one is better.Move over to the next corner until no better neighboring solution exists.

Page 3: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 3

Analysis

• Algorithm IdeaFind a feasible corner (somehow).Check neighboring corners and see if one is better.Move over to the next corner until no better neighboring solution exists.

• Open Questions– Can we find a mathematical formalization of linear

optimization problems for which we can define what “corner” and “neighboring corner” means?

– Can we prove optimality?– How do we find a feasible starting solution?

Page 4: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 4

x

yz

x

y

z

What is a corner?

• A corner in our geometrical view is defined by the intersection of two lines. And a line is defined by an equation a corner is a solution to an equation-system!

• What if there are more than two variables? How does an inequality look like then?– Given x,y,z, how does x ¥ 1 look like?– Given x,y,z, how does x+y+z = 1 look like?

Page 5: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 5

Equation Systems

• So an equation in an n-dimensional space defines an n-1-dimensional hyperplane!– n = 2: equations define lines– n = 3: equations define planes

• Every inequality divides the space in two halfspaces!

• A corner in an n-dimensional space is defined by the intersection of n hyperplanes. Therefore, a corner defines a solution to an equation system and vice versa.

Page 6: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 6

Mathematical Foundations

• We shall now define and study formally – what corners are, – how they correspond to basic solutions of equation

systems,– what neighboring corners are, and– how optimal solutions to LPs are characterized.

Page 7: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 7

Convex Sets

• Definition– Assume that {a1,…,am} ⊆ Ñn and α1,…,αm œ Ñ¥0.– Êi αi ai is called a non-negative linear combination.– In case that Êi αi = 1, we call Êi αiai a convex

combination. It is called true convex combinationiff α1,…,αm œ Ñ>0.

– We define κ(a1,…,am) as the set of all convex combinations of a1,…,am.

– For a,b œ Ñn, κ(a,b) is called the line between a and b.

– A set K ⊆ Ñn is called convex, iff for all a,b œ K: κ(a,b) ⊆ K.

Page 8: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 8

Convex Sets

Convex Not Convex

κ(a,b)

a

b

Page 9: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 9

Convex Sets

• Remark– If K ⊆ Ñn is convex and a1,…,am œ K, then

κ(a1,…,am) ⊆ K.– The intersection of convex sets is convex.

• Proof:

Page 10: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 10

Convex Sets

• Examples– Let a œ Ñn, a ≠ 0, and α œ Ñ. H = {x œ Ñn | aTx = α}

is called a hyperplane and is convex.– Let A œ Ñm x n and b œ Ñm. V = {x œ Ñn | Ax = b} is

called affine vector space and is convex.– Let a œ Ñn, a ≠ 0, and α œ Ñ. H¥ = {x œ Ñn | aTx ¥ α}

is called halfspace and is convex.– P = {x œ Ñn | Ax = b and x ¥ 0} is convex.– D = {x œ Ñn | ||x||2 ≤ 1} is convex.

Page 11: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 11

Convex Sets

• Definition– For M ⊆ Ñn, we define

κ(M) := Uk œ ô, a1,…,ak œ M κ(a1,…,ak).– κ(M) is called the convex hull of M.

• Remark– It holds that κ(M) equals the intersection of all

convex sets that contain M. Thus, κ(M) is the smallest convex set that contains M.

Page 12: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 12

Extreme Points

• Definition– A point x œ K, K ⊆ Ñn convex, is called extreme

point, iff it cannot be represented as a true convex combination of two points in K. We denote the set of all extreme points of K with ε(K).

• Remark: Given K ⊆ Ñn convex, the following statements are equivalent:– x0 is an extreme point of K.– For all a,b œ K with x0 œ κ(a,b) it is x0=a or x0=b.– For all y œ Ñn, y ≠ 0 it is x0 + y ∉K or x0 - y ∉K.– K\{x0} is convex.

Page 13: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 13

Extreme Points

• Examples– ε({x œ Ñn | x ¥ 0}) =– ε(H¥) =– ε(D) =– ε({ x | ||x||2 < 1}) =– ε({1}) =

{0}∅

{x œ Ñn | ||x||2 = 1} ∅

{1}

Page 14: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 14

Convex Polyeders

• Definition– A convex polyeder (convex polyhedron) P is

defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax ¥ b}.

– A convex polyeder P ≠ ∅ that is bounded is called (convex) polytope.

– A hyperplane H is called supporting plane of P iffH ∩ P ≠ ∅ and P ⊆ H¥.

– If H ∩ P = {x0}, then x0 is called a corner of P. – If H ∩ P = κ(a,b) for some a,b œ P, then κ(a,b) is

called an edge of P.

Page 15: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 15

Theorem

• Let P denote a convex polyeder.– Every corner of P is an extreme point.– P is the convex hull of its corners.

• Proof:

Page 16: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 16

Basic Solutions and Corners

0 26 28 30

X2

0

24

26

27

32 X1

Page 17: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 17

Basic Solutions

• Definition– Given A œ Ñm x n with rank(A) = m ≤ n, b œ Ñm, let

B : ôm ôn, N : ôn-m ôn injective such that B(ôm) U N(ôn-m) = ôn and AB = (aB(1),…,aB(m)) with rank(AB) = rank(A) = m.

– When setting xB := AB-1 b and xN := 0, we call

xT := (xBT,xN

T) basic (feasible) solution of Ax = b. x is called feasible, iff x ¥ 0.

Page 18: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 18

Basic Solutions

• Remark

• Theorem– Let A œ Ñm x n with rank(A) = m ≤ n and b œ Ñm.

For x0 œ P := {x œ Ñn | Ax=b and x ¥ 0} it is equivalent to say:• x0 is extreme point of P.• {aj | x0

j > 0 } is linear independent.• x0 is basic feasible solution• x0 is a corner of P.

bAbAAxAxAxx

AAAx NBBNNBBN

BNB =+=+=⎟⎟

⎞⎜⎜⎝

⎛= − 0),( 1

Page 19: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 19

Basic Solutions

• Corollary– 0 œ P ⇒ 0 œ ε(P)– Every corner has at most m entries that differ from 0!

– S has at most corners!

• Definition– A corner is called degenerated iff | { j | xj > 0} | < m.

• Remark– If x0 is not degenerated, the corresponding basis is uniquely

defined!

⎟⎟⎠

⎞⎜⎜⎝

⎛mn

Page 20: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 20

Basic Solutions - Degeneracy

X1 + 2 X2 ≤ 80X1 + X2 ≤ 55X1 ≤ 35

X2 ≤ 30

X2 ≤ 27

X1 ≤ 32X1

X2

22

24

26

27

24 26 28 30 32X1, X2 ¥ 0

2 X1 + X2 ≤ 85

Page 21: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 21

Optimal Solutions

• Definition– For P ≠ ∅ we define

C(P) := { y œ Ñn | ∀ x œ P, λ > 0 : x + λy œ P}, and we say that C(P) is the set of directions of P.

• Remark– C(P) = { y œ Ñn | Ay = 0 and y ¥ 0}

• Theorem– P = κ (ε(P)) + C(P)

Page 22: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 22

P

Optimal Solutions

κ (ε(P))

ε(P)

C(P)

Page 23: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 23

Optimal Solutions

• Corollary– P ≠ ∅ ⇒ P has corners!– If P contains an optimal solution, then there exists a

corner with optimal objective value!– If P ≠ ∅ and P has no optimal solution, then there

exists y œ C(P) such that cTy < 0.– If P ≠ ∅ and P is bounded, then P = κ (ε(P)).

Page 24: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 24

Optimal Solutions

• Remark– The previous corollary yields an algorithm:

Determine all basic solutions, eliminate all that are infeasible, and pick the one with the best objective function value.

– What is the runtime of that algorithm?

Page 25: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 25

Basis Changes

• Given x0T = (x0B

T,x0N

T) a basic feasible solution (i.e. x0

B = AB-1 b, x0

N = 0, and x0 ¥ 0) and x œ Ñn such that Ax = b, assume that for y := x-x0 œ Ñn it holds that Ay = 0.

• It holds yN = xN. Because of

we have that

NNBB yAyAAy +==0

⎟⎟⎠

⎞⎜⎜⎝

⎛−=⇒−=

−−

N

NNBNNBB x

xAAyxAAy

11

Page 26: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 26

Basis Changes

• Assume that we set specifically xN= ek œ Ñn-m, t := N(k), and A := AB

-1 A.• Then, we have that yB = -at := - AB

-1 at. And therefore, yT = (-at T

(B) , ekT

(N) ).

• For λ œ Ñ and xλ := x0 + λy, we thus have Axλ = b.

• ⇒ xλ is feasible.⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

<−

≤≤ 0|min0 )()(

0)(

jBjB

jB yy

Page 27: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 27

Basis Changes

• Theorem– If there exists yB(j) < 0, we choose λ as large as

possible (λ < ∞). Then, x1:=xλ is a basic feasible solution. The corresponding basis is given by B*(i) := B(i) if i ≠ r, and B*(r) := t, whereby r such that λ = x0

B(r) / -yB(r) = min {x0B(i) / -yB(j) | yB(j) < 0}.

– If yB ¥ 0, then y (defined as before) is greater or equal 0, and thus: xλ = x + λy is feasible for all λ ¥ 0.

• Definition– A solution x1 obtained by an exchange as discussed

above with 0 < λ < ∞ is called a neighboring cornerof x0.

Page 28: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 28

Basis Changes

• Remark– If

then x1= x0 is degenerated.

– If r in the previous theorem is not unique, then x1 is degenerated.

,00|min )()(

0)( =

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

<− jB

jB

jB yy

x

Page 29: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 29

Objective Function Change

• Assume that λ < ∞ and we found a neighboring corner x1. Then:

λ

πππ

π

)()()(

)()(

)()()( )()()()(

)(

have we,: settingby , allFor

:

:)(

01

0

0

00

0

1

1

00000

tt

NTN

TN

NTN

TNB

TB

TB

TTTTT

TTTB

TB

TT

TB

TB

BTBN

TNB

TB

T

zcxzxz

xzcxz

xzcxzcxzxzcxzxcxzxzxcxz

xzbAxxz

AAcAzPx

bbAc

xcxcxcxcxz

−+=⇒

−+=

=−+−+==−+=+−==⇒

===

==∈⇒

==

==+==

Page 30: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 30

Objective Function Change

• Definition– We set and call the

s’th component of this vector the relative costs of column as (with respect to B).

• Theorem– When changing the solution from x0 to x1, the

costs change by .

– If c-z ¥ 0, then x0 is optimal!

Aczcc TTTTTπ−=−=:

trB

rB cy

x

)(

0)(

Page 31: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 31

An Example

• Min - x - y • 2x - 4y ≤ 2• 2x - y ≤ 8• -2x + y ≤ -2• -2x - 2y ≤ -4• y ≤ 6• x,y ¥ 0

Page 32: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 32

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−−

−−

=−

1

11

61

61

61

61

21

21

21

21

31

61

1BA

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−−

−−

=

112211211242

BA

B = (6,2,3,7,5) N = (1,4)

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−=

⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−−

−−

64282

54321

11221121121421

basssss

Page 33: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 33

0 ),,,10,5,1,0( 35

310

350 =⇒−−=−= Ayxxy

TTT

bAxxT

=⇒= 031

35

3170 ),,,0,1,5,0(

bAxx T =⇒= )2,5,4,10,6,0,0(

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−=

⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−−

−−

64282

54321

11221121121421

basssss

B = (6,2,3,7,5) N = (1,4)

Page 34: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 34

10}34,10min{},min{ 61

317

21

5 ==−−=⇒ −−λ

),,5,5,()( )1,0( 35

35

3101 −−−=⇒= − T

NNBN xAAx

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−=

⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−−

−−

64282

54321

11221121121421

basssss

),,,1,,,0( 61

31

61

21

21 −−=⇒ y

B = (6,2,3,7,5) N = (1,4)

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−−

−−

=−

1

11

61

61

61

61

21

21

21

21

31

61

1BA

),,,0,1,5,0( 31

35

3170 =

T

x

Page 35: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

CS 195 - Intro to CO 35

What have we achieved?

• The solution space of a linear programming problem is a convex polyeder. Corners of such a polyeder correspond to extreme points which correspond to basic feasible solutions.

• An optimal solution, if it exists, can always be found in a corner!

• Given a basic feasible solution, we can find a neighboring corner by exchanging exactly one basis column – which corresponds to following the direction given by a solution to the homogenous equation system!

• An improved basic feasible solution is found iff the corner is not degenerated and if the relative costs of the column that is introduced are negative. If no such column exists, the current solution is optimal!

Page 36: Chapter 1 Linear Programming Paragraph 3 Mathematical ...– A convex polyeder (convex polyhedron) P is defined as the finite intersection of halfspaces, i.e. P = ∩ H¥ = {x | Ax

Thank you!Thank you!