CSCI 1951-G Optimization Methods in Finance Part 03: (Mixed) - - PowerPoint PPT Presentation

csci 1951 g optimization methods in finance part 03 mixed
SMART_READER_LITE
LIVE PREVIEW

CSCI 1951-G Optimization Methods in Finance Part 03: (Mixed) - - PowerPoint PPT Presentation

CSCI 1951-G Optimization Methods in Finance Part 03: (Mixed) Integer (Linear) Programming February 9, 2018 1 / 55 Roadmap 1 Introduce Integer Programming and the various sub classes of IP 2 Study the feasible region for IPs 3 Show the


slide-1
SLIDE 1

CSCI 1951-G – Optimization Methods in Finance Part 03: (Mixed) Integer (Linear) Programming

February 9, 2018

1 / 55

slide-2
SLIDE 2

Roadmap

1 Introduce Integer Programming and the various sub classes of IP 2 Study the feasible region for IPs 3 Show the computational complexity of IP 4 Comment on the importance of modeling and formulation 5 Present different algorithms and strategies to solve IPs:

  • Branch and bound
  • Cuting planes (Gomory cuts)
  • Branch and cut

2 / 55

slide-3
SLIDE 3

Motivation example: Combinatorial auctions

  • Auction: a set of items M = {1, . . . , m} are available for sale

from a seller, and n bidders compete to buy some of them.

  • Each bidder j makes a bid Bj = (Sj, pj) where Sj ⊆ M and

pj > 0 to buy the set Sj of items at the price pj, 1 ≤ j ≤ n.

  • The seller wants to maximize her profits. Which bids should she

accept? Let’s model the variables, objective function, and constraints. Combinatorial auction max

n

  • i=1

pjxj

  • j : i∈Sj

xj ≤ 1 for i = 1, . . . , m xj ∈ {0, 1} for j = 1, . . . , n Looks like a Linear Program...but the variables are discrete. It is an integer linear program.

3 / 55

slide-4
SLIDE 4

Integer Programming

Integer Program: some or all the variables are restricted to Z. Integer Linear Program: an integer program with linear constraints and linear objective function. Mixed/Pure (Linear) Integer Program: an IP (or ILP) s.t. some/all variables are restricted to Z, the others to R. 0-1 (Mixed/Pure) (Linear) Integer Program: an MIP/PIP/MILP/PILP s.t. all integer variables are restricted to {0, 1}. We will mostly restrict to (0-1) MILPs.

4 / 55

slide-5
SLIDE 5

Feasible region

Consider the ILP min cTx s.t. Ax = b x ≥ 0 x ∈ Z Feasible “region”: integer points inside a polyhedron:1 Finding the optimal LP solution takes polynomial time. Finding the optimal ILP solution?

1Image by Ted Ralphs 5 / 55

slide-6
SLIDE 6

Complexity of solving 0-1 PILP

Theorem (Karp 1972) 0-1 PILP is NP-Complete. Proof. Reduction from minimum vertex cover: given a graph G = (V, E), find the smallest set S ⊆ V such that each e ∈ E is incident to at least one vertex in S. 0-1 PILP formulation: min

  • v∈V

xv xv + xu ≥ 1 for each (u, v) ∈ E xv ∈ {0, 1} for each v ∈ V

6 / 55

slide-7
SLIDE 7

LP Relaxation

Feasible region for the ILP LP defined on the polyhedron: LP Relaxation of the ILP. xL: optimal solution to LPR, with obj. value zL xI: optimal solution to ILP, woth obj. value zI What’s the relationship between zL and zI? zL ≤ zI. zL = zI iff...xL is integral. Can we use xL obtain xI? No, rounding the components of xL does not give xI Can we say something about min

roundings(cTrounding(xL) − zI)?

No: any rounding(xI) may be arbitrarily far from any optimal solution for the ILP, and the change in objective value may be huge (i.e., rounding has no approximation guarantee!)

7 / 55

slide-8
SLIDE 8

Models and formulation

Two ways to specify that a variable is binary:

  • x ∈ {0, 1}
  • x2 =x

Lead to optimization problems of different classes, with different algorithms to solve them, and different complexity. Qestion Does the formulation/model impact ⌈xL⌉ − xI? Different formulations may result in different polyhedra that beter/worse approximate the convex hull of the feasible solution of the ILP. (Homework?)

8 / 55

slide-9
SLIDE 9

Partitioning the feasible region

Partition the feasible region S of the ILP into non-overlapping subsets S1, . . . , Sk. z∗: optimal obj. value of the ILP; z∗

i optimal obj. value of the ILP

restricted to Si, 1 ≤ i ≤ k (ILPi) Can we express z∗ in terms of z∗

i ?

z∗ = min

1≤i≤k z∗ i

Equivalently: min

x∈S cTx = min

  • min

x∈Si cTx, 1 ≤ i ≤ k

  • Let x∗ be such that cTx∗ = z∗. x∗ must be optimal for some Si.

Idea for finding the optimal solution to the ILP Find the optimal solution in each Si (i.e., solve subproblems)

9 / 55

slide-10
SLIDE 10

Branch and bound

Branching The process of dividing the original problem into subproblems.

  • Can branch recursively: creates a hierarchical partitioning of the

feasible region.

  • The partitioning is tree whose nodes are subsets of the feasible

region (equivalently: ILPs defined on those subsets).

  • The root is the whole feasible region, i.e., the original ILP.
  • The ILP in a node at level i > 0 is obtained by adding constraints

to its parent at level i − 1, according to a branching rule. What happens if we keep branching? Complete enumeration of all solutions. Good? No, let’s avoid it. How: By pruning subtrees using upper bounds to z∗.

10 / 55

slide-11
SLIDE 11

Lower and upper bounds

We saw a Lower Bound (LB) to z∗ ...the optimal obj. value to LPR. Are the opt. obj. values ˜ zi of the LPRs of ILPi, 1 ≤ i ≤ k, LBs to z∗? No, each ˜ zi is in general only a LB to z∗

i .

Can ˜ zi be an Upper Bound (UB) to z∗? Yes if ˜ zi is integral.

11 / 55

slide-12
SLIDE 12

Lower and upper bounds (cont.)

Let u be an UB to z∗ such that there exists and is known x∗ feasible for ILP such that cTx∗ = u. Let ˜ zi be the optimal obj. value of the LPR of ILPi, for a specific i.

  • If ˜

zi ≥ u then Si ...cannot contain a feasible solution to ILP with lower obj. value than x∗ (Why?).We can prune the node for ILPi

  • If ˜

zi < u then we must branch recursively inside of Si. But if the solution corresponding to ˜ zi is integral then ... ˜ zi is a beter UB to z∗ than u.

12 / 55

slide-13
SLIDE 13

Initial subproblem

Start by solving the LPR of the original ILP (i.e., on S). 1 The LPR is infeasible ⇒ the ILP is infeasible 2 The optimal solution of the LPR is integral ⇒ It is also the optimal solution for the ILP 3 The optimal solution of the LPR is not integral ⇒ it is a lower bound to the optimal solution of the ILP (useful? no)

  • In cases 1 and 2, we are done.
  • In case 3, we must branch: create subproblems by partitioning S,

and solve the subproblems recursively.

13 / 55

slide-14
SLIDE 14

Branching rule

(Brainstorm) 1 Select a single variable xi whose value vi is fractional in the

  • ptimal LPR solution of the node to branch

2 Create two subproblems (nodes):

  • In one subproblem, add the constraint xi ≤ ⌊vi⌋.
  • In the other subproblem, add the constraint xi ≥ ⌈vi⌉.

Original LP rel. min − x1 + x2 − x1 + x2 ≤ 2 8x1 + 2x2 ≤ 19 x1, x2 ≥ 0 Optimal solution is x1 = 1.5, x2 = 3.5,

  • bj.val. 5

1st Modified ILP min − x1 + x2 − x1 + x2 ≤ 2 8x1 + 2x2 ≤ 19 x1 ≤ 1 x1, x2 ≥ 0 x1, x2 ∈ Z 2nd Modified ILP min − x1 + x2 − x1 + x2 ≤ 2 8x1 + 2x2 ≤ 19 x1 ≥ 2 x2 ≥ 0 x1, x2 ∈ Z

14 / 55

slide-15
SLIDE 15

Impact on the feasible region

(This is not the feasible region for the problems in the previous slide)

15 / 55

slide-16
SLIDE 16

Afer branching

Afer branching, we solve each subproblem recursively. We stopping when either:

  • the optimal obj. value of the LPR of the current problem is larger

than the current upper bound to the optimal obj. value of the

  • riginal ILP; or
  • the LPR is infeasible;

Branch-and-bound We avoid exploring (branching into) subsets of the feasible region because the bounds tell us that they do not contain any beter solution than what found already.

16 / 55

slide-17
SLIDE 17

LP-based Branch-and-Bound algorithm

L: data structure, will contain pairs (P, r), (P is a ILP, r is a number) 1 L ← (P0, +∞), where P0 is original ILP. 2 Upper bound u ← +∞, vector x∗ ← infeasible 3 Pop an ILP P from L and solve its LPR. Let ˜ zP be the optimal

  • bj. value and ˜

xP the optimal solution for the LPR

  • If LPR is infeasible or ˜

zP ≥ u, the node for P ...can be pruned (go to Step 4)

  • Else if ˜

zP < u and ˜ xP is integral, then ...u ← ˜ zP , x∗ ← ˜ xP , and ...remove all pairs (X, r) from L s.t. r ≥ u (go to Step 4).

  • Else, branch: create subproblems P1 and P2, add (P1, ˜

zP ) and (P2, ˜ zP ) to L. 4 if L = ∅, go to Step 3. Else, terminate with output (x∗, u).

17 / 55

slide-18
SLIDE 18

Details to discuss

Details of the algorithm that are lef open:

  • How do we select which variable to branch on if there are

multiple fractional ones?

  • How do we select the next candidate subproblem to process?

Remark The trade-off space for the above choices is extremely large. “Optimizing” branch-and-bound is, in itself, a difficult optimization problem, and still subject to a lot of research. We also want to obtain good upper bounds as fast as possible (why?). How? (Obtaining good upper bounds faster allows us to prune larger regions, hence to terminate earlier.)

18 / 55

slide-19
SLIDE 19

Branching

In the optimal solution of an LPR, many variables may be fractional. Qestion How do we select which variable to branch on? Qestion What do we look for in a variable to branch on? Brainstorm. Answer We want the two resulting subproblems to both give much beter lower bounds than the subproblem we are branching. We will present heuristics to achieve this goal.

19 / 55

slide-20
SLIDE 20

Branching (cont.)

Most Infeasible Branching Choose the variable with the fractional value closest to 0.5. Reason: The closest feasible solutions for the LPRs of the subproblems will both have large distances from the optimal solution to the current relaxation. Underlying assumption: large distance implies large difference in

  • bjective value. Yes/No?

It depends on the objective function!

20 / 55

slide-21
SLIDE 21

Branching (cont.)

  • Suppose we are considering a subproblem P. Let ˜

zP be the

  • ptimal obj. value of the LPR of P. Assume that the

corresponding solution is not integral. Let vi be the value taken by the variable xi.

  • For 1 ≤ i ≤ n, let Pi,− be the subproblem with added constraint

xi ≤ ⌊vi⌋. Let zi,− be the optimal obj. value of the LPR of Pi,−.

  • Let Pi,+ be the subproblem with added constraint xi ≥ ⌈vi⌉, and

define zi,+ similarly.

  • We would like to branch on a variable such that Di,− = zi,− − ˜

zP and Di,+ = zi,+ − ˜ zP are both large. Possible branching rules

  • Branch on the variable for which min{Di,−, Di,+} is maximized.
  • Branch on the variable for which Di,− + Di,+ is maximized.
  • Combine the above, with weights.

21 / 55

slide-22
SLIDE 22

Strong Branching

The strategy of computing Di,− and Di,+ explicitly for each i is known as Strong Branching.

  • Strong Branching reduces the size of the branch-and-bound tree

by a factor of 20x or more, in most cases, w.r.t. Most Infeasible Branching.

  • Computationally, it can be ...expensive: ...we are solving two LPs

for each variable (although not from scratch)

  • More reasonable strategy: only evaluate Di,− and Di,+ for some

variables, e.g., those with fractional part closest to 0.5.

22 / 55

slide-23
SLIDE 23

The relative value of time

Where would you spend more time looking for good lower bounds? In the top part of the exploration tree or later in the execution? It is reasonable to spend more time in evaluating Di,− and Di,+ at the top of the tree. The value of time is relative to the achieved improvement in the lower bound. This leads to the concepts of pseudocosts.

23 / 55

slide-24
SLIDE 24

Pseudocosts (cont.)

For a variable xi, let fi = vi − ⌊xi⌋ be its fractional part. Definition (Pseudocosts) If fi > 0, define the up and down pseudocosts as: Ci,+ = Di,+ 1 − fi Ci,− = Di,− fi Ci,+ and Ci,− tend to be almost constant in all nodes the branch-and-bound tree. Don’t compute them exactly at each node, rather estimate them!

24 / 55

slide-25
SLIDE 25

Pseudocosts estimation

  • Initialize pseudocost estimation ˜

Ci,+ with strong branching at the root node (or whenever a variable becomes fractional for the first time).

  • When branching on xi, update ˜

Ci,+ as the averages of the

  • bserved pseudocosts over all nodes where we branched over xi.
  • When choosing which variable to branch on, estimate Di,+ and

Di,− as ˜ Ci,+(1 − fi) and ˜ Ci,+fi, and use the estimates to decide which variable to branch on (e.g., choosing the xi that maximizes min{Di,−, Di,+}).

25 / 55

slide-26
SLIDE 26

Search strategy

During the execution of branch-and-bound, the list L may contain multiple subproblems. Qestion How do we select the next candidate subproblem to process? Let’s ask the real question first: Qestion What do we look for in a node that would make us select it? We have two goals: 1 Find good ILP feasible solutions to decrease upper bound u; and 2 Proving that the current best feasible solution is optimal, by increasing the lower bound as quickly as possible. (Brainstorm)

26 / 55

slide-27
SLIDE 27

Search strategy (cont.)

To achieve the first goal (find good ILP feasible solutions): Best Estimate Criterion 1 estimate the value of the best feasible solution in each subproblem Pi in L as Ei = rPi +

n

  • j=1

min

  • ˜

C(i)

j,−f(i) j , ˜

C(i)

j,+(1 − f(i) j )

  • 2 choose the subproblem one that most decreases (in estimation) the

upper bound. Intuition on the estimation Round the non-integral solution to a nearby integral solution, and use the pseudocosts to estimate the change in the objective value

27 / 55

slide-28
SLIDE 28

Node selection (cont.)

To achieve the second goal (prove that currently best feasible solution is optimal), we act differently depending on whether we already achieved the first goal (find good ILP feasible solutions). Depth-First Search strategy (if good upper bound available) Go deep until you prune, then go back and go the other way.

  • Advantage: The LPR of successive nodes are small variations of

each other: can be solved fast in sequence.

  • Disadvantage: If we do not have a good upper bound, we may

explore many nodes with a value larger than the optimal. Best-first search strategy Select the node with the best lower bound. Why? That node cannot be pruned by exploring other nodes: we must explore it at some point. Advantage:BFS minimizes the total number of nodes in the tree.

28 / 55

slide-29
SLIDE 29

The following material is inspired or taken from the course Integer Programming, ISE 418, by Dr. Ted Ralphs

29 / 55

slide-30
SLIDE 30

Branch and bound tree

BaB tree for minimization IP afer 400 nodes Node height is LPR

  • ptimal obj. value (a

...lower bound for the IP optimal

  • bj. value)

Node color:

  • red: candidates for processing/branching;
  • green: branched or infeasible;
  • blue: pruned by bound (maybe gave feasible sol.) or infeasible.

Red line: obj.value for best feasible sol. found (global ...upper bound). The level of the highest red node is the global lower bound.

30 / 55

slide-31
SLIDE 31

Branch and bound tree

31 / 55

slide-32
SLIDE 32

The many trade-offs of branch and bound

  • Goal: solve the problem as fast as possible;
  • Assuming time to process (e.g., solve LPR) of a node is constant p,

and BaB processes ℓ nodes, overall running time is: p × ℓ

  • Different branching and exploration strategies give different ℓ;

What about changing p? For now we only looked at LPR. Are there other relaxations?

32 / 55

slide-33
SLIDE 33

Relaxations

IP: zI = min{cTx : x ∈ S}, with S = {x ∈ Zn

+ : Ax ≤ b}

Relaxation of an IP: a minimization problem zR = min{fR(x) : x ∈ SR} with the following properties: S ⊆ SR cT ≥ fR(x), for every x ∈ S

33 / 55

slide-34
SLIDE 34

Relaxation

What’s the goal of a relaxation? Obtain n lower bound to zI. What is a desirable computational property of a relaxation? The relaxation should be much easier to solve optimally than the

  • riginal problem;

Types of relaxations (there are others):

  • LP relaxation
  • Combinatorial relaxation
  • Lagrangian relaxation (Prefer “Lagrangean”? Fine!)

LPR and CR drop constraints, LR relaxes them.

34 / 55

slide-35
SLIDE 35

CR Example: Traveling Salesman Problem

TSP: combinatorial problem on a clique G = (V, E).

  • V = [n]: set of n cities
  • E = all pairs of different nodes: travel links between cities, each

edge (i, j) has cost ci,j Goal: find a tour of all the nodes minimizing the cost of the traversed edges In general, TSP is NP-Complete ILP formulation ?

35 / 55

slide-36
SLIDE 36

ILP formulation of TSP

Variables: xij =

  • 1

tour moves from city i to city j

  • therwise

ui ∈ Z dummy variables Problem: min

n

  • i=1

n

  • j=1,j=i

cijxij

  • i=1n,i=j

xij = 1 j = 1, . . . , n

  • j=1n,j=i

xij = 1 i = 1, . . . , n ui − uj + nxij ≤ n − 1 2 ≤ i = j ≤ n The last set of constraints ensures that ...there is a single tour covering all cities.

36 / 55

slide-37
SLIDE 37

Combinatorial relaxation for TSP

Build a Minimum 1-Tree (M1T): 1 Take away a vertex x from the graph. 2 Find the Minimum Spanning Tree (MST) T for the remainder graph. 3 Connect x to T using the 2 cheapest edges incident to v Theorem: The minimum 1-tree problem is a relaxation of the TSP. Before formal proof, what constraints of TSP are dropped in M1T? No single tour enforced and no 2-degree constraints. Why is M1T easier to solve than TSP? Finding MST T takes polynomial time (e.g., Prim’s algorithm takes O(n2) on clique).

37 / 55

slide-38
SLIDE 38

Minimum 1-tree is a relaxation of TSP

What do we need to show? Is STSP ⊆ SM1T ?Yes, easy to see. Is zM1T ≤ zTSP ? 1 The two edges incident to x in the opt.sol. of TSP cannot be cheaper than those in the sol. of M1T. 2 The opt.sol. of TSP must touch all the nodes in V \ {x}. The MST T is the cheapest way to touch them all.

38 / 55

slide-39
SLIDE 39

Lagrangian Relaxation

For many combinatorial problems, it is possible to find combinatorial

  • relaxations. What about other problems?

The Lagrangian relaxation removes some constraints and incorporates them in the objective function The goal is to penalize the violation of the dropped constraints. We will talk a lot about Lagrangian relaxation when dealing with quadratic optimization.

39 / 55

slide-40
SLIDE 40

Example of Lagrangian Relaxation

Original IP: min cTx A′x ≤ b′ A′′x ≤ b′′ x ∈ Zn

+

Assume to know that optimization over SR = {x ∈ Zn

+ : A′x ≤ b′}

is “easy” (from an oracle) Lagrangian relaxation LR(u): min (cT + uA′′)x − ub′′ A′x ≤ b′ x ∈ Zn

+

For any u ≥ 0, LR(u) is a relaxation of the IP. (why?) Think of u as a set of “dual” variables, maximize over u to find best LB.

40 / 55

slide-41
SLIDE 41

Cuting planes

  • Branching involves generating constraints dynamically to split the

feasible region into subsets.

  • The added constraints are generated “‘on the fly” using the
  • pt. sol. to the LPR at the present node.
  • The goal was not to reduce the feasible region for the LP relaxation,

but in practice it happened (how?) Qestion Can we add constraints that directly reduce the feasible region? Why would we want to do it?

41 / 55

slide-42
SLIDE 42

Cuting planes (cont.)

Our goal is to make the feasible region of the LP relaxation closer to the feasible region for the ILP. Doing so would result in tighter bounds: 1 “More likely” that the opt. sol. to the LPR is integral. 2 “More likely” that the opt. obj.val. to the LPR is close to the

  • pt.obj. val. to the ILP subproblem.

Qestion Which constraints should we try to add?

42 / 55

slide-43
SLIDE 43

Cuting planes (cont.)

A cuting plane is a constraint that is satisfied by all ILP feasible sols., but violated by the opt. sol. of the (current) LPR. The goal of adding cuting planes: Improve the bound produced by the LP relaxation by removing subsets of the LP relaxation feasible region where 1 there are no integral points; and 2 the objective value is low. There are many ways of building cuting planes. Basic idea:

  • Take combinations of the constraints;
  • Use rounding to produce stronger ones;

43 / 55

slide-44
SLIDE 44

P = {x ∈ Rn

+ : Ax ≤ b}: feasible region of LPR

With one pathological exception,2 all valid inequalities for P are either equivalent or dominated by an inequality of the form uAx ≤ ub, u ∈ Rm

+

Let c(S) be the convex hull of the feasible region of the original IP. All inequalities valid for P are also valid for c(S). Are they cuting planes?Not necessarily. How to do beter? If a ≤ b and a ∈ Z and b ∈ R, then ...a ≤ ⌊b⌋.

2When one or more variables have no explicit upper bound and both primal and

dual problems are infeasible. We ignore this case, and assume A contains explicit upper bounds for all variables

44 / 55

slide-45
SLIDE 45

Perfect Matching problem

  • n people need to be paired in teams of two.
  • cij: “cost” of the team formed by i and j (inefficiency). It may be

infinite.

  • Want to maximize efficiency over all teams.

Think of it as a problem on graph G = ([n], E). Nodes are people, edges are pairings of non-infinite cost. IP formulation: xij = 1 if endpoints (i, j) are matched, 0 otherwise min

  • (i,j)∈E

cijxij

  • {j : (i,j)∈E}

xij = 1, for each i ∈ [n] xij ∈ {0, 1}, for each (i, j) ∈ E

45 / 55

slide-46
SLIDE 46

The odd set inequalities

U: odd set of nodes. Cutset of U: δ(U) = {(i, j) ∈ E : i ∈ U, j ∈ U} Every perfect matching contains at least one edge from every odd cutset. Every odd cutset induces a valid inequality:

  • (i,j)∈δ(U)

xi,j ≥ 1, U ⊆ [n], |U| odd

46 / 55

slide-47
SLIDE 47

Generating new inequalities

1 Consider an odd set of nodes U 2 Sum the constraints

  • {j : (i,j)∈E}

xij ≤ 1 for i ∈ U to obtain 2

  • (i,j)∈E(U)

xij +

  • (i,j)∈δ(U)

xij ≤ |U| 3 Divide through by two and drop the second term of the sum to

  • btain:
  • (i,j)∈E(U)

xij ≤ 1 2|U| 4 Can we go a step further?

  • (i,j)∈E(U)

xij ≤ 1 2|U|

  • 47 / 55
slide-48
SLIDE 48

The Chvátal-Gomory procedure

Let A = (a1, a2, . . . , an). 1 choose a weight vector u ∈ Rm 2 obtain the valid inequality

  • j∈[n]

(uaj)x ≤ ub 3 Round coefficients down:

  • j∈[n]

⌊uaj⌋)x ≤ ub (why is it valid?) 4 Round the rhs to get:

  • j∈[n]

⌊uaj⌋)x ≤ ⌊ub⌋ For pure IP, any inequality valid for c(S) can be obtained by a finite number of iterations of this procedure!

48 / 55

slide-49
SLIDE 49

The Chvátal-Gomory procedure

The major challenges in the C-G procedure are numerical errors and slow convergence. The inequalities may be very weak: they may not even touch c(S). Rounding “pushes” the inequality to the nearest point in Zn, which may not be sufficient. For the generated hyperplane to have integral points, the coefficients of the inequality must be relative primes. Theorem: Let S = {x ∈ Zn : n

j=1 ajxj ≤ b}, where aj ∈ Z for

1 ≤ j ≤ n. Let k = gcd(a1, . . . , an). Then c(S) = {x ∈ Rn : n

j=1(aj/k)xj ≤ ⌊b/k⌋}.

49 / 55

slide-50
SLIDE 50

Gomory cuts

Let T be the set of solutions to an IP with one equation T =   x ∈ Zn

+ : n

  • j=1

ajxj = a0    For each j let fj = aj − ⌊aj⌋. Then equivalently: T =   x ∈ Zn

+ : n

  • j=1

fjxj = f0 + k for some integer k    Since n

j=1 fjxj ≥0 and f0 ≤1, then k ≥0, and so n

  • j=1

fjxj ≥ f0 is a valid inequality for T, called a Gomory cut

50 / 55

slide-51
SLIDE 51

Gomory cuts

When solving general IP, we can get the set T used in the previous slide from a valid inequality for P. Choose λ ∈ Rm so that π = λA and π0 = λb are such that πx ≤ π0 is a valid inequality for P. Add a slack variable s to obtain an equation and consider T =   (x, s) ∈ Zn

+ × R+ : n

  • j=1

πjxj + s = π0    The Gomory cut for T is

n

  • j=1

(λAj − ⌊λAj⌋)xj ≥ λb − ⌊λb⌋. Does it look like anything we have already seen? It is a C-G inequality with weights ui = λi − ⌊λi⌋. Using the optimal simplex tableau of the LPR, one can obtain Gomory cuts that are violed by the opt. sol. of the LPR.

51 / 55

slide-52
SLIDE 52

GMI cuts

  • Consider a Mixed ILP in standard form:

min cTx Ax = b x ≥ 0 xj ∈ Z for j ∈ I xj ∈ R for j ∈ C

  • Assume that there is one component of b that is fractional.
  • Consider one equation for which the r.h.s. is fractional, e.g.:
  • j∈I

aijxj +

  • j∈C

aijxj = bi

  • Let f0 = bi − ⌊bi⌋ and fj = aij − ⌊aij⌋ for j ∈ I.

For any ILP feasible solution, rewrite the above as:

  • j∈I:fj≤f0

fjxj +

  • j∈I:fj>f0

(fj − 1)xj +

  • j∈C

aijxj = k + f0 for some integer k.

52 / 55

slide-53
SLIDE 53

GMI cuts (cont.)

  • j∈I:fj≤f0

fjxj +

  • j∈I:fj>f0

(fj − 1)xj +

  • j∈C

aijxj = k + f0 for some integer k. Since k ≥ 0 or k ≤ −1 it must hold either

  • j∈I:fj≤f0

fj f0 xj −

  • j∈I:fj>f0

1 − fj f0 xj +

  • j∈C

aij f0 xj ≥ 1 or −

  • j∈I:fj≤f0

fj 1 − f0 xj +

  • j∈I:fj>f0

1 − fj 1 − f0 xj −

  • j∈C

aij 1 − f0 xj ≥ 1 I.e., “ cjxj ≥ 1 or djxj ≥ 1”, which implies for x ≥ 0: ...

  • max{cj, dj}xj ≥ 1

53 / 55

slide-54
SLIDE 54

GMI cuts (cont.)

“ cjxj ≥ 1 or djxj ≥ 1” implies

  • max{cj, dj}xj ≥ 1

For each variable xj, one of cj or dj is positive and the other is negative, so the max is immediate:

  • j∈I:fj≤f0

fj f0 xj+

  • j∈I:fj>f0

1 − fj 1 − f0 xj+

  • j∈C:aj>0

aij f0 xj−

  • j∈C:aj<0

aij 1 − f0 xj ≥ 1

  • This inequality holds for all x ≥ 0 that satisfy the original

equation and for which xj ∈ Z for all j ∈ I.

  • It holds for all ILP feasible solutions...and may not hold for some

feasible solutions of the LP relaxation, i.e., it may reduce the difference between the convex hull of the ILP feasible region and the LP relaxation feasible region, leading to beter bounds!

54 / 55

slide-55
SLIDE 55

Branch and cut

  • Cuting planes are not very efficient: they only “cut” a very small

part of the LPR feasible region.

  • Mixing branch-and-bound and cuting planes may lead to great

speedups

  • During branch-and bound, afer solving a LP relaxation at a

node, generate new cuts.

  • Cuts may be local or global, i.e., may hold just for the

subproblem at this node (and its descendants) or be valid for the whole feasible region.

55 / 55