GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is...

23
GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

Transcript of GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is...

Page 1: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

GENERAL ASSIGNMENT PROBLEM via Branch and Price

JOHN AND LEI

Page 2: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Outline

•  Review the column generation in Generalized Assignment Problem (GAP)

2

•  GAP Examples in Branch and Price

Page 3: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Assignment Problem

•  The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task (i=1,2,…,n) is assigned to exactly one machine (j=1,2,…n).

3

•  One of the fundamental combinatorial optimization problem

•  To find a maximum weight matching in a weighted bipartite graph.

Page 4: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Generalized Assignment Problem (GAP) •  m tasks vs. n machines (m>=n)

4

•  Each machine is allowed to be assigned to more than one task

•  z: total profit •  pij: profit of task i on machine j •  yij: association between task i and machine j •  wij: resouce consumption of task i on machine j •  dj: total available resource on machine j

Page 5: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Generalized Assignment Problem (GAP)

5

•  If there is only one machine

•  GAP:

•  Knapsack Problem (KP):

Page 6: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Generalized Assignment Problem (GAP)

6

•  GAP

KP1

KP2

KPn

.

.

.

•  (NOT means the solution to the sub-problems KPs can be combined to that of the GAP)

•  It motivates us to re-represent the set of points satisfying constraint (13.10)

To use B & P

Page 7: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Review the B & P Approach

7

DANTZIG-WOLFE DECOMPOSITION

Column Generation

Conventional Problem

Master Problem

reformulation

Restricted Master Problem

To choose the entering basic variable:

Pricing Problems (Sub-Problems)

Page 8: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Master Problem Formulation

8

Consider the set of points satisfying:

S is just a finite set of points:

where

“Kj is the number of feasible solutions for j” ---- textbook

Kj is the number of feasible assignment for the machine j

Z1j, Z2j, …….. ZKj

j are the feasible solutions of KPj

Conventional Problem

Page 9: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Master Problem Formulation

9

Consider the set of points satisfying:

S is just a finite set of points:

where

“Kj is the number of feasible solutions for j” ---- textbook

Kj is the number of feasible assignment for the machine j

Z1j, Z2j, …….. ZKj

j are the feasible solutions of KPj

Every point y can be represented by

Conventional Problem

Page 10: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Master Problem Formulation

10

Every point y can be represented by

Substitute y

Master Problem

Conventional Problem

The master problem of GAP is formulated in terms of columns representing feasible assignments of tasks to machines.

Page 11: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Structure of the formulation

11

Master Problem

The master problem of GAP is formulated in terms of columns representing feasible assignments of tasks to machines.

Example: m=3, n=2

Symbol 0/1 in the entries represents 0 or 1 value of z (assignment)

The task lines indicate the assignment constraint

The machine lines indicate the convexity constraint

Page 12: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Issues with the formulation

12

Conventional Problem

Reformulated Master Problem

•  Fundamental difference between these two:

IP solution y in S A finite set of points replaced by

Usually a very huge number (exponential)

•  Issue 1: Too much columns in the reformulation problem. (So we choose to work with its restricted version instead of solving directly)

•  Issue 2: Choosing entering variables (Solve the sub-problem/pricing problem)

Page 13: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Why bothering to re-formulate?

13

Conventional Problem

Reformulated Master Problem

•  A compact IP formulation (e.g. conventional GAP) has a weak LP relaxation.

IP solution y in S A finite set of points

•  The Master Problem formulation is tighter than the conventional one.

Intuitive explanation for GAP

Fractional solutions in LP that are not convex combinations of the solution (z) to the knapsack problems, are not feasible to the master problem

•  The decomposition formulation is not to speed up but to tight the bound.

Page 14: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Sub-problem/Pricing Problem

14

•  Issue 2: Choosing entering variables (Solve the sub-problem/pricing problem)

sub-problem/pricing problem:

•  KP has m+n columns, which is usually much smaller than the total number

•  (u,v) is the optimum dual solution to the LP relaxation of the restricted master problem

•  The pivot column associated with the entering variable is generated by solving the pricing problem

•  The relaxation of the restricted master problem is solved by the revised simplex method.

Then new decomposition

Page 15: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Sub-problem/Pricing Problem

15

sub-problem/pricing problem:

•  If the optimum value of any pricing problem is positive, then the column with positive reduced cost can be added to the restricted master problem.

•  If the maximal reduced costs of all the KPs are non-positive, then the LP solution obtained is also maximal for the relaxation of the UN-RESTRICTED master problem.

Page 16: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

GAP Example

16

m=3, n=2 (d1,d2)=(11,18)

Conventional Formulation:

Page 17: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

GAP Example

17

Conventional Formulation:

Page 18: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

GAP Example

18

Conventional Formulation:

Decomposition Re-formulation:

Page 19: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

GAP Example

19

Decomposition Re-formulation:

Initial feasible solution:

Two-phase method

(Only a subset of all variables)

(13.18)

(13.19)

(13.20)

(13.21)

(13.22)

Page 20: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

GAP Example

20

Decomposition Re-formulation:

Passing the dual value u and v to the sub-problems, we have

Update the tableau

Page 21: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

GAP Example

21

Decomposition Re-formulation:

We do this until … No negative objective value of sub-problems is found

Z1=(1,0,0) Z2=(0,1,1)

Page 22: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

Branch-and-Price Algorithm

22

Original Problem Formulation

Master Problem

Restricted Master Problem (RMP)

Solve LPR of RMP

Generate Duals from RMP

Solve Sub-problem by passing duals

Are there any columns generated with positive reduced cost?

Solution Integral ?

Branch

Stop

N

N

Y

Add such columns to RMP

Y

Page 23: GENERAL ASSIGNMENT PROBLEM via Branch and Price · Assignment Problem • The assignment problem is to find a maximum profit assignment of n tasks to n machines such that each task

www.liu.se