GENERAL ASSIGNMENT PROBLEM via Branch and Price
JOHN AND LEI
Outline
• Review the column generation in Generalized Assignment Problem (GAP)
2
• GAP Examples in 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 (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.
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
Generalized Assignment Problem (GAP)
5
• If there is only one machine
• GAP:
• Knapsack Problem (KP):
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
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)
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
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
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.
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
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)
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.
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
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.
GAP Example
16
m=3, n=2 (d1,d2)=(11,18)
Conventional Formulation:
GAP Example
17
Conventional Formulation:
GAP Example
18
Conventional Formulation:
Decomposition Re-formulation:
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)
GAP Example
20
Decomposition Re-formulation:
Passing the dual value u and v to the sub-problems, we have
Update the tableau
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)
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
www.liu.se