Title: Assignment problems Operational Research Level 4
1Assignment problemsOperational Research- Level 4
- Prepared by T.M.J.A.Cooray
- Department of Marthematics
2Introduction
- This is a special type of transportation problem
in which each source should have the capacity to
fulfill the demand of any of the destinations. - In other words any operator would be able perform
any job regardless of his skills,although the
cost( or the time taken) will be more if the job
does not match with operators skill.
3Let m be the number of jobs as well as the
operators, and tij be the processing time of the
job i if it is assigned to the operator j. Here
the objective is to assign the jobs to the
operators such that the total processing time is
minimized.
General format of assignment problem
4- Examples of assignment problem
5Assignment problem as a zero-one ( Binary)
programming problem .
- Min Z c11x11cijXij.cmmXmm
- Subject to x11...x1m 1
- x21...x2m 1
- ..
- xm1...xmm 1
- x11...xm1 1
- x12...xm2 1
- ..
- x1m...xmm 1
- xij.0 or 1 for i1,2.m and j1,2..m.
6Types of assignment problems
- As in transportation problems assignment
problems also can be balanced ( with equal
number of rows and columns) or unbalanced. - When it is unbalanced the necessary number of
row/s or column/s are added to balance it. That
is to make a square matrix. - The values of the cell entries of the dummy rows
or columns will be made equal to zero.
7Example Assign the 5 operators to the 5 jobs
such that the total processing time is minimized.
8Hungarian method
- Consists of two phases.
- First phase row reductions and column reductions
are carried out. - Second phase the solution is optimized in
iterative basis.
9Phase 1 Row and column reductions
- Step 0 Consider the given cost matrix
- Step 1 Subtract the minimum value of each row
from the entries of that row, to obtain the next
matrix. - Step 2 Subtract the minimum value of each column
from the entries of that column , to obtain the
next matrix. - Treat the resulting matrix as the input for phase
2.
10Phase 2 Optimization
- Step3 Draw a minimum number of lines to cover
all the zeros of the matrix. - Procedure for drawing the minimum number of
lines - 3.1 Row scanning
- 1 Starting from the first row ,if theres only
one zero in a row mark a square round the zero
entry and draw a vertical line passing through
that zero. Otherwise skip the row. - 2.After scanning the last row, check whether all
the zeros are covered with lines. If yes go to
step 4. Otherwise do column scanning. Ctd?
11- 3.2 Column scanning.
- 1. Starting from the first column if theres
only one zero in a column mark a square round
the zero entry and draw a horizontal line
passing through that zero. otherwise skip the
column. - 2.After scanning the last column, check whether
all the zeros are covered with lines. If yes go
to step 4. Otherwise do row scanning. ctd ?
12- Step 4 check whether the number of squares
marked is equal to the number of rows/columns of
the matrix. - If yes go to step 7. Otherwise go to step 5.
- Step 5 Identify the minimum value of the
undeleted cell values ,say x. Obtain the next
matrix by the following steps. - 5.1 Copy the entries covered by the lines ,but
not on the intersection points. - 5.2 add x to the intersection points
- 5.3 subtract x from the undeleted cell values.
- Step 6 go to step 3.
- Step 7 optimal solution is obtained as marked
by the squares
13Maximization problem
- If the problem is a maximization problem ,convert
the problem into a minimization problem by
multiplying by -1. - Then apply the usual procedure of an assignment
problem.
14Example Assign 4 sales persons to four
different sales regions such that the total
sales is maximized.
15Modified data , after multiplying the cell
entries by -1.
16After step 1
17After step 2
18Phase 2
19- Note that the number of squares is equal to the
number of rows of the matrix. solution is
feasible and optimal. - Result
20Branch and Bound algorithm for the assignment
problem
- Terminology
- K-level number in the branching tree
- For root node k0
- ?-assignment made in the current node of a
branching tree - P?k assignment at level k of the branching tree
- A-set of assigned cells up to the node P?k from
the root node - V? - lower bound of partial assignment A up to
P?k - Such that V?
21- Cij is the cell entity of the cost matrix
- X rows which are not deleted up to node P?k from
the root node in the branching tree. - Y columns which are not deleted up to node P?k
- from the root node in the branching tree.
- ?
22Branching guidelines
- 1.At level k,the row marked as k of the
assignment problem,will be assigned with the best
column of the assignment problem. - 2.if there is a lower bound ,then the terminal
node at the lower most level is to be considered
for further branching - 3.stopping ruleif the minimum lower bound
happens to be at any one of the terminal nodes at
the (n-1)th level ,the optimality is reached.
23Example Assign the 5 operators to the 5 jobs
such that the total processing time is minimized.
24P?0
P121
P131
P151
P111
51
44
49
40
P141
44
25P?0
P151
P111
P131
P141
40
P121
49
44
49
44
P212
P232
P242
P222
43
49
47
50
26P?0
P151
P111
P131
P141
40
P121
49
44
49
44
P212
P232
P242
P222
43
49
47
50
P323
P333
43
P343
51
47
P424
P444
48
43
27- The optimum allocation will be
- Job operator time
- 1 5 8
- 2 1 7
- 3 3 7
- 4 2 10
- 5 4 11
- 43
28Example ROW SCANNING.
29Example Assign the 5 operators to the 5 jobs
such that the total processing time is minimized.
30Example Assign the 5 operators to the 5 jobs
such that the total processing time is minimized.
31Example Assign the 5 operators to the 5 jobs
such that the total processing time is minimized.
32Example Assign the 5 operators to the 5 jobs
such that the total processing time is minimized.