36
Integer Programming Formulations for Minimum Spanning Forest Problem Mehdi Golari Systems and Industrial Engineering Department The University of Arizona Math 543 November 19, 2015 Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 1 / 19

Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Integer Programming Formulations for Minimum Spanning ForestProblem

Mehdi Golari

Systems and Industrial Engineering DepartmentThe University of Arizona

Math 543November 19, 2015

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 1 / 19

Page 2: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Outline

1 Introduction

2 Minimum Spanning Tree IP Formulations

3 Minimum Spanning Forest IP Formulations

4 Conclusion

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 2 / 19

Page 3: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Introduction

Outline

1 Introduction

2 Minimum Spanning Tree IP Formulations

3 Minimum Spanning Forest IP Formulations

4 Conclusion

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 3 / 19

Page 4: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Introduction

Goals for this talk

Introduce mathematical programming as a general framework to solve decisionmaking problems

Introduce mathematical programming formulations for minimum spanning tree andminimum spanning forest problems

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 4 / 19

Page 5: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Introduction

Operations Research: science of decision making, science of better

Some of the mathematical tools to approach decision making?

Mathematical Programming

Control Theory

Decision Analysis

Game Theory

Queuing Theory

Simulation

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 5 / 19

Page 6: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Introduction

Mathematical Programming

Definition

A general mathematical program has the form

minx

f (x)

s.t x ∈ X

where x is the vector of decision variables, f (x) is the objective function, X is theconstraint set, {x ∈ X} is the feasible region.

Different assumptions on f (x) and X results in different classes of mathematical programs

Linear Programming (LP): f (x) = cx , X = {Ax ≥ b}, x ∈ Rn , c ∈ Rn, b ∈ Rm.

Nonlinear Programming (NLP): f (x) nonlinear in x , and/or X a nonlinear set.

Integer Linear Programming (ILP): Same assumptions as LP, except x ∈ Zn

Mixed Integer LP (MILP): Same assumptions as LP, except x ∈ Rn1 × Zn2

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 6 / 19

Page 7: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Introduction

Mathematical Programming

Definition

A general mathematical program has the form

minx

f (x)

s.t x ∈ X

where x is the vector of decision variables, f (x) is the objective function, X is theconstraint set, {x ∈ X} is the feasible region.

Different assumptions on f (x) and X results in different classes of mathematical programs

Linear Programming (LP): f (x) = cx , X = {Ax ≥ b}, x ∈ Rn , c ∈ Rn, b ∈ Rm.

Nonlinear Programming (NLP): f (x) nonlinear in x , and/or X a nonlinear set.

Integer Linear Programming (ILP): Same assumptions as LP, except x ∈ Zn

Mixed Integer LP (MILP): Same assumptions as LP, except x ∈ Rn1 × Zn2

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 6 / 19

Page 8: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Introduction

Mathematical Programming

Definition

A general mathematical program has the form

minx

f (x)

s.t x ∈ X

where x is the vector of decision variables, f (x) is the objective function, X is theconstraint set, {x ∈ X} is the feasible region.

Different assumptions on f (x) and X results in different classes of mathematical programs

Linear Programming (LP): f (x) = cx , X = {Ax ≥ b}, x ∈ Rn , c ∈ Rn, b ∈ Rm.

Nonlinear Programming (NLP): f (x) nonlinear in x , and/or X a nonlinear set.

Integer Linear Programming (ILP): Same assumptions as LP, except x ∈ Zn

Mixed Integer LP (MILP): Same assumptions as LP, except x ∈ Rn1 × Zn2

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 6 / 19

Page 9: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Introduction

Mathematical Programming

Definition

A general mathematical program has the form

minx

f (x)

s.t x ∈ X

where x is the vector of decision variables, f (x) is the objective function, X is theconstraint set, {x ∈ X} is the feasible region.

Different assumptions on f (x) and X results in different classes of mathematical programs

Linear Programming (LP): f (x) = cx , X = {Ax ≥ b}, x ∈ Rn , c ∈ Rn, b ∈ Rm.

Nonlinear Programming (NLP): f (x) nonlinear in x , and/or X a nonlinear set.

Integer Linear Programming (ILP): Same assumptions as LP, except x ∈ Zn

Mixed Integer LP (MILP): Same assumptions as LP, except x ∈ Rn1 × Zn2

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 6 / 19

Page 10: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Introduction

Mathematical Programming

Definition

A general mathematical program has the form

minx

f (x)

s.t x ∈ X

where x is the vector of decision variables, f (x) is the objective function, X is theconstraint set, {x ∈ X} is the feasible region.

Different assumptions on f (x) and X results in different classes of mathematical programs

Linear Programming (LP): f (x) = cx , X = {Ax ≥ b}, x ∈ Rn , c ∈ Rn, b ∈ Rm.

Nonlinear Programming (NLP): f (x) nonlinear in x , and/or X a nonlinear set.

Integer Linear Programming (ILP): Same assumptions as LP, except x ∈ Zn

Mixed Integer LP (MILP): Same assumptions as LP, except x ∈ Rn1 × Zn2

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 6 / 19

Page 11: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Introduction

Mathematical Programming

Definition

A general mathematical program has the form

minx

f (x)

s.t x ∈ X

where x is the vector of decision variables, f (x) is the objective function, X is theconstraint set, {x ∈ X} is the feasible region.

Different assumptions on f (x) and X results in different classes of mathematical programs

Linear Programming (LP): f (x) = cx , X = {Ax ≥ b}, x ∈ Rn , c ∈ Rn, b ∈ Rm.

Nonlinear Programming (NLP): f (x) nonlinear in x , and/or X a nonlinear set.

Integer Linear Programming (ILP): Same assumptions as LP, except x ∈ Zn

Mixed Integer LP (MILP): Same assumptions as LP, except x ∈ Rn1 × Zn2

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 6 / 19

Page 12: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Outline

1 Introduction

2 Minimum Spanning Tree IP Formulations

3 Minimum Spanning Forest IP Formulations

4 Conclusion

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 7 / 19

Page 13: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Recall: Minimum Spanning Tree

Given a network (G , φ) , we can define the weight of a subgraph H ⊂ G as

φ (H) =∑

e∈E(H)

φ (e) .

Definition

In a connected graph G , a minimal spanning tree T is a tree with minimum value.

MST problem in mathematical programming form:

minT

H(T ) =∑

e∈E(T )

φ (e)

s.t T is a tree in G

How to characterize the set of constraints and objective function explicitly?

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 8 / 19

Page 14: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Recall: Minimum Spanning Tree

Given a network (G , φ) , we can define the weight of a subgraph H ⊂ G as

φ (H) =∑

e∈E(H)

φ (e) .

Definition

In a connected graph G , a minimal spanning tree T is a tree with minimum value.

MST problem in mathematical programming form:

minT

H(T ) =∑

e∈E(T )

φ (e)

s.t T is a tree in G

How to characterize the set of constraints and objective function explicitly?

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 8 / 19

Page 15: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Recall: Minimum Spanning Tree

Given a network (G , φ) , we can define the weight of a subgraph H ⊂ G as

φ (H) =∑

e∈E(H)

φ (e) .

Definition

In a connected graph G , a minimal spanning tree T is a tree with minimum value.

MST problem in mathematical programming form:

minT

H(T ) =∑

e∈E(T )

φ (e)

s.t T is a tree in G

How to characterize the set of constraints and objective function explicitly?

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 8 / 19

Page 16: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Minimum Spanning Tree: Subtour Elimination Formulation

Let xij =

{1 if edge(i , j) is in tree

0 otherwise

Let x denote the vector formed by xij ’s for all (i , j) ∈ E .

The MST found by optimal x∗, denoted T ∗, will be a subgraph T ∗ = (V ,E∗),where E∗ = {(i , j) ∈ E : x∗ij = 1} denotes the selected edge into the spanning tree.

Subtour elimination formulation is based on the fact that T has no simple cyclesand has n − 1 edges

[MST1] minx

∑(i,j)∈E

φijxij

s.t.

(i,j)∈E xij = n − 1∑(i,j)∈E(S) xij ≤ |S | − 1, ∀S ⊂ V ,S 6= V ,S 6= ∅

xij ∈ {0, 1}, ∀(i , j) ∈ E

where E(S) ⊂ E is a subset of edges with both ends in subset S ⊂ V . Constraint∑(i,j)∈E(S) xij ≤ |S | − 1 ensures that there is no cycles in subset S .

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 9 / 19

Page 17: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Minimum Spanning Tree: Subtour Elimination Formulation

Let xij =

{1 if edge(i , j) is in tree

0 otherwise

Let x denote the vector formed by xij ’s for all (i , j) ∈ E .

The MST found by optimal x∗, denoted T ∗, will be a subgraph T ∗ = (V ,E∗),where E∗ = {(i , j) ∈ E : x∗ij = 1} denotes the selected edge into the spanning tree.

Subtour elimination formulation is based on the fact that T has no simple cyclesand has n − 1 edges

[MST1] minx

∑(i,j)∈E

φijxij

s.t.

(i,j)∈E xij = n − 1∑(i,j)∈E(S) xij ≤ |S | − 1, ∀S ⊂ V ,S 6= V ,S 6= ∅

xij ∈ {0, 1}, ∀(i , j) ∈ E

where E(S) ⊂ E is a subset of edges with both ends in subset S ⊂ V . Constraint∑(i,j)∈E(S) xij ≤ |S | − 1 ensures that there is no cycles in subset S .

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 9 / 19

Page 18: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Minimum Spanning Tree: Subtour Elimination Formulation

Let xij =

{1 if edge(i , j) is in tree

0 otherwise

Let x denote the vector formed by xij ’s for all (i , j) ∈ E .

The MST found by optimal x∗, denoted T ∗, will be a subgraph T ∗ = (V ,E∗),where E∗ = {(i , j) ∈ E : x∗ij = 1} denotes the selected edge into the spanning tree.

Subtour elimination formulation is based on the fact that T has no simple cyclesand has n − 1 edges

[MST1] minx

∑(i,j)∈E

φijxij

s.t.

(i,j)∈E xij = n − 1∑(i,j)∈E(S) xij ≤ |S | − 1, ∀S ⊂ V ,S 6= V ,S 6= ∅

xij ∈ {0, 1}, ∀(i , j) ∈ E

where E(S) ⊂ E is a subset of edges with both ends in subset S ⊂ V . Constraint∑(i,j)∈E(S) xij ≤ |S | − 1 ensures that there is no cycles in subset S .

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 9 / 19

Page 19: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Minimum Spanning Tree: Cutset Formulation

Cutset formulation is based on the fact that T is connected and has n − 1 edges

[MST2] minx

∑(i,j)∈E

φijxij

s.t.

(i,j)∈E xij = n − 1∑(i,j)∈δ(S) xij ≥ 1, ∀S ⊂ V , S 6= V , S 6= ∅

xij ∈ {0, 1}, ∀(i , j) ∈ E

where the cutset δ(S) ⊂ E is a subset of edges with one end in S and the other endin V \ S . Constraints

∑(i,j)∈δ(S) xij ≥ 1 ensures that subsets S and V \ S are

connected.

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 10 / 19

Page 20: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Minimum Spanning Tree: Martin’s formulation

[MST4] minx,y

∑(i,j)∈E

φijxij

s.t.

(i,j)∈E xij = n − 1

y kij + y k

ji = xij , ∀(i , j) ∈ E , k ∈ V∑k∈V\{i,j} y

jik + xij = 1, ∀(i , j) ∈ E

xij , ykij , y

kji ∈ {0, 1}, ∀(i , j) ∈ E , k ∈ V

y kij ∈ {0, 1} denotes that edge (i , j) is in the spanning tree and vertex k is on the

side of j

The second constraint for (i , j) ∈ E , k ∈ V guarantees that if (i , j) ∈ E is selectedinto the tree (xij = 1), any vertex k ∈ V must be either on the side of j (y k

ij = 1) or

on the side of i (y kji = 1). If (i , j) ∈ E is not in the tree (xij = 0), any vertex k

cannot be on the side of j nor i (y kij = y k

ji = 0)

The third constraint for (i , j) ∈ E ensures thatIf (i , j) ∈ E is in the tree (xij = 1), edges (i , k) who connects i are on the side of iIf (i , j) ∈ E is not in the tree (xij = 0), there must be an edge (i , k) such that j is on

the side of k (y jik = 1 for some k).

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 11 / 19

Page 21: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Minimum Spanning Tree: Martin’s formulation

[MST4] minx,y

∑(i,j)∈E

φijxij

s.t.

(i,j)∈E xij = n − 1

y kij + y k

ji = xij , ∀(i , j) ∈ E , k ∈ V∑k∈V\{i,j} y

jik + xij = 1, ∀(i , j) ∈ E

xij , ykij , y

kji ∈ {0, 1}, ∀(i , j) ∈ E , k ∈ V

y kij ∈ {0, 1} denotes that edge (i , j) is in the spanning tree and vertex k is on the

side of j

The second constraint for (i , j) ∈ E , k ∈ V guarantees that if (i , j) ∈ E is selectedinto the tree (xij = 1), any vertex k ∈ V must be either on the side of j (y k

ij = 1) or

on the side of i (y kji = 1). If (i , j) ∈ E is not in the tree (xij = 0), any vertex k

cannot be on the side of j nor i (y kij = y k

ji = 0)

The third constraint for (i , j) ∈ E ensures thatIf (i , j) ∈ E is in the tree (xij = 1), edges (i , k) who connects i are on the side of iIf (i , j) ∈ E is not in the tree (xij = 0), there must be an edge (i , k) such that j is on

the side of k (y jik = 1 for some k).

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 11 / 19

Page 22: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Minimum Spanning Tree: Martin’s formulation

[MST4] minx,y

∑(i,j)∈E

φijxij

s.t.

(i,j)∈E xij = n − 1

y kij + y k

ji = xij , ∀(i , j) ∈ E , k ∈ V∑k∈V\{i,j} y

jik + xij = 1, ∀(i , j) ∈ E

xij , ykij , y

kji ∈ {0, 1}, ∀(i , j) ∈ E , k ∈ V

y kij ∈ {0, 1} denotes that edge (i , j) is in the spanning tree and vertex k is on the

side of j

The second constraint for (i , j) ∈ E , k ∈ V guarantees that if (i , j) ∈ E is selectedinto the tree (xij = 1), any vertex k ∈ V must be either on the side of j (y k

ij = 1) or

on the side of i (y kji = 1). If (i , j) ∈ E is not in the tree (xij = 0), any vertex k

cannot be on the side of j nor i (y kij = y k

ji = 0)

The third constraint for (i , j) ∈ E ensures thatIf (i , j) ∈ E is in the tree (xij = 1), edges (i , k) who connects i are on the side of iIf (i , j) ∈ E is not in the tree (xij = 0), there must be an edge (i , k) such that j is on

the side of k (y jik = 1 for some k).

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 11 / 19

Page 23: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Tree IP Formulations

Minimum Spanning Tree: Martin’s formulation

[MST4] minx,y

∑(i,j)∈E

φijxij

s.t.

(i,j)∈E xij = n − 1

y kij + y k

ji = xij , ∀(i , j) ∈ E , k ∈ V∑k∈V\{i,j} y

jik + xij = 1, ∀(i , j) ∈ E

xij , ykij , y

kji ∈ {0, 1}, ∀(i , j) ∈ E , k ∈ V

y kij ∈ {0, 1} denotes that edge (i , j) is in the spanning tree and vertex k is on the

side of j

The second constraint for (i , j) ∈ E , k ∈ V guarantees that if (i , j) ∈ E is selectedinto the tree (xij = 1), any vertex k ∈ V must be either on the side of j (y k

ij = 1) or

on the side of i (y kji = 1). If (i , j) ∈ E is not in the tree (xij = 0), any vertex k

cannot be on the side of j nor i (y kij = y k

ji = 0)

The third constraint for (i , j) ∈ E ensures thatIf (i , j) ∈ E is in the tree (xij = 1), edges (i , k) who connects i are on the side of iIf (i , j) ∈ E is not in the tree (xij = 0), there must be an edge (i , k) such that j is on

the side of k (y jik = 1 for some k).

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 11 / 19

Page 24: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Forest IP Formulations

Outline

1 Introduction

2 Minimum Spanning Tree IP Formulations

3 Minimum Spanning Forest IP Formulations

4 Conclusion

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 12 / 19

Page 25: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Forest IP Formulations

Minimum Spanning Forest

Consider a graph G with m connected components

Assume that the m connected components of G have vertex sets as V1,V2 · · · ,Vm

Also assume Ei is the edge set induced by vertices in Vi from graph G

Thus, each connected component of G can be considered as a subgraphGi = (Vi ,Ei ) of G .

Proposition

For the graph G with m connected components, denoted by G1,G2, · · · ,Gm, the forestF ∗, consisting of spanning trees T ∗1 ,T

∗2 , · · · ,T ∗m, is a minimum spanning forest of G if

and only if each T ∗i is a minimum spanning tree for subgraph Gi (i = 1, 2, · · · ,m).Furthermore, the number of edges in a spanning forest of G is n −m.

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 13 / 19

Page 26: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Forest IP Formulations

Minimum Spanning Forest

Consider a graph G with m connected components

Assume that the m connected components of G have vertex sets as V1,V2 · · · ,Vm

Also assume Ei is the edge set induced by vertices in Vi from graph G

Thus, each connected component of G can be considered as a subgraphGi = (Vi ,Ei ) of G .

Proposition

For the graph G with m connected components, denoted by G1,G2, · · · ,Gm, the forestF ∗, consisting of spanning trees T ∗1 ,T

∗2 , · · · ,T ∗m, is a minimum spanning forest of G if

and only if each T ∗i is a minimum spanning tree for subgraph Gi (i = 1, 2, · · · ,m).Furthermore, the number of edges in a spanning forest of G is n −m.

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 13 / 19

Page 27: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Forest IP Formulations

Adapting Subtour Elimination and Cutset Formulations for MSF

Considering S ⊂ V , S 6= ∅, S 6= V , there are three cases for the subtour eliminationconstraints and cutset constraints:

(i) if S ⊂ Vi ,∑

(i,j)∈E(S) xij ≤ |S | − 1;∑

i∈S,j∈V\S xij ≥ 1;

(ii) if S ⊂ Vi1 ∪ Vi2 ∪ · · · ∪ Vik (2 ≤ k ≤ m) and S ∩ Vi1 6= ∅, · · · , S ∩ Vik 6= ∅,∑(i,j)∈E(S) xij ≤ |S | − k;

∑i∈S,j∈V\S xij ≥ k;

(iii) if S = Vi1 ∪ Vi2 ∪ · · · ∪ Vik (1 ≤ k < m),∑

(i,j)∈E(S) xij ≤ |S | − k;∑

i∈S,j∈V\S xij ≥ 0

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 14 / 19

Page 28: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Forest IP Formulations

Adapting Subtour Elimination and Cutset Formulations for MSF

Considering S ⊂ V , S 6= ∅, S 6= V , there are three cases for the subtour eliminationconstraints and cutset constraints:

(i) if S ⊂ Vi ,∑

(i,j)∈E(S) xij ≤ |S | − 1;∑

i∈S,j∈V\S xij ≥ 1;

(ii) if S ⊂ Vi1 ∪ Vi2 ∪ · · · ∪ Vik (2 ≤ k ≤ m) and S ∩ Vi1 6= ∅, · · · , S ∩ Vik 6= ∅,∑(i,j)∈E(S) xij ≤ |S | − k;

∑i∈S,j∈V\S xij ≥ k;

(iii) if S = Vi1 ∪ Vi2 ∪ · · · ∪ Vik (1 ≤ k < m),∑

(i,j)∈E(S) xij ≤ |S | − k;∑

i∈S,j∈V\S xij ≥ 0

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 14 / 19

Page 29: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Forest IP Formulations

Adapting Subtour Elimination and Cutset Formulations for MSF

Considering S ⊂ V , S 6= ∅, S 6= V , there are three cases for the subtour eliminationconstraints and cutset constraints:

(i) if S ⊂ Vi ,∑

(i,j)∈E(S) xij ≤ |S | − 1;∑

i∈S,j∈V\S xij ≥ 1;

(ii) if S ⊂ Vi1 ∪ Vi2 ∪ · · · ∪ Vik (2 ≤ k ≤ m) and S ∩ Vi1 6= ∅, · · · , S ∩ Vik 6= ∅,∑(i,j)∈E(S) xij ≤ |S | − k;

∑i∈S,j∈V\S xij ≥ k;

(iii) if S = Vi1 ∪ Vi2 ∪ · · · ∪ Vik (1 ≤ k < m),∑

(i,j)∈E(S) xij ≤ |S | − k;∑

i∈S,j∈V\S xij ≥ 0

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 14 / 19

Page 30: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Forest IP Formulations

Adapting Subtour Elimination and Cutset Formulations for MSF

Considering S ⊂ V , S 6= ∅, S 6= V , there are three cases for the subtour eliminationconstraints and cutset constraints:

(i) if S ⊂ Vi ,∑

(i,j)∈E(S) xij ≤ |S | − 1;∑

i∈S,j∈V\S xij ≥ 1;

(ii) if S ⊂ Vi1 ∪ Vi2 ∪ · · · ∪ Vik (2 ≤ k ≤ m) and S ∩ Vi1 6= ∅, · · · , S ∩ Vik 6= ∅,∑(i,j)∈E(S) xij ≤ |S | − k;

∑i∈S,j∈V\S xij ≥ k;

(iii) if S = Vi1 ∪ Vi2 ∪ · · · ∪ Vik (1 ≤ k < m),∑

(i,j)∈E(S) xij ≤ |S | − k;∑

i∈S,j∈V\S xij ≥ 0

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 14 / 19

Page 31: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Forest IP Formulations

Minimum Spanning Forest: Subtour Elimination Formulations

[MSF1] min∑

(i,j)∈E

φijxij

s.t.∑

(i,j)∈E

xij = n −m

∑(i,j)∈E(S)

xij ≤ |S | − 1, ∀S ⊂ V , S 6= V , S 6= ∅

xij ∈ {0, 1}, ∀(i , j) ∈ E

where the first constraint ensures that there are n −m edges in the spanning forest.

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 15 / 19

Page 32: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Minimum Spanning Forest IP Formulations

Minimum Spanning Forest: Cutset Formulations

[MSF2] min∑

(i,j)∈E

φijxij

s.t.∑

(i,j)∈E

xij = n −m

∑i∈S,j∈V\S,(i,j)∈E

xij ≥ maxi∈S,j∈V\S

1{(i,j)∈E}, ∀S ⊂ V ,S 6= V ,S 6= ∅

xij ∈ {0, 1}, ∀(i , j) ∈ E

where the first constraint ensures that there are n −m edges in the spanning forest.

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 16 / 19

Page 33: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Conclusion

Outline

1 Introduction

2 Minimum Spanning Tree IP Formulations

3 Minimum Spanning Forest IP Formulations

4 Conclusion

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 17 / 19

Page 34: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Conclusion

Conclusion

Covered:

Introduced mathematical programming

IP formulations for MST and MSF

Not covered:

How to solve these problems?

Polyhedral study and comparison of the formulations!

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 18 / 19

Page 35: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Conclusion

Conclusion

Covered:

Introduced mathematical programming

IP formulations for MST and MSF

Not covered:

How to solve these problems?

Polyhedral study and comparison of the formulations!

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 18 / 19

Page 36: Integer Programming Formulations for Minimum Spanning ...glickenstein/math443f14/golari.pdf · Linear Programming (LP): f(x) = cx, X = fAx bg, x 2Rn, c 2Rn, b 2Rm. Nonlinear Programming

Conclusion

Questions?

Golari (SIE@UA) () IP Formulations for MSFP Nov 19, 2015 19 / 19