1 / 32

Assignment problemsOperational Research- Level 4

- Prepared by T.M.J.A.Cooray
- Department of Marthematics

Introduction

- 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.

Let 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

Operators Operators Operators Operators Operators Operators Operators Operators

Job 1 2 j m

Job 1 t11 t12 t1j t1m

Job 2

Job .

Job i ti1 tij tim

Job .

Job m tm1 tm2 tmj tmm

- Examples of assignment problem

Row entity Column entity Cell entity

jobs operators Processing time

Programmer program Processing time

operators machine Processing time

Drivers Routes Travel time

Teachers Subjects Students pass percentage

Assignment 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.

Types 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.

Example Assign the 5 operators to the 5 jobs

such that the total processing time is minimized.

Operator job 1 2 3 4 5

1 10 12 15 12 8

2 7 16 14 14 11

3 13 14 7 9 9

4 12 10 11 13 10

5 8 13 15 11 15

Hungarian method

- Consists of two phases.
- First phase row reductions and column reductions

are carried out. - Second phase the solution is optimized in

iterative basis.

Phase 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.

Phase 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?

- 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 ?

- 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

Maximization 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.

Example Assign 4 sales persons to four

different sales regions such that the total

sales is maximized.

Sales region Sales person 1 2 3 4

1 10 22 12 14

2 16 18 22 10

3 24 20 12 18

4 16 14 24 20

Modified data , after multiplying the cell

entries by -1.

Sales region Sales person 1 2 3 4

1 -10 -22 -12 -14

2 -16 -18 -22 -10

3 -24 -20 -12 -18

4 -16 -14 -24 -20

After step 1

Sales region Sales person 1 2 3 4

1 12 0 10 8

2 6 4 0 12

3 0 4 12 6

4 8 10 0 4

After step 2

Sales region Sales person 1 2 3 4

1 12 0 10 4

2 6 4 0 8

3 0 4 12 2

4 8 10 0 0

Phase 2

Sales region Sales person 1 2 3 4

1 12 0 10 4

2 6 4 0 8

3 0 4 12 2

4 8 10 0 0

- Note that the number of squares is equal to the

number of rows of the matrix. solution is

feasible and optimal. - Result

Salesman Sales region Sales

1 2 22

2 3 22

3 1 24

4 4 20

Branch 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?

- 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.
- ?

Branching 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.

Example Assign the 5 operators to the 5 jobs

such that the total processing time is minimized.

Operator job 1 2 3 4 5

1 10 12 15 12 8

2 7 16 14 14 11

3 13 14 7 9 9

4 12 10 11 13 10

5 8 13 15 11 15

P?0

P121

P131

P151

P111

51

44

49

40

P141

44

P?0

P151

P111

P131

P141

40

P121

49

44

49

44

P212

P232

P242

P222

43

49

47

50

P?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

- The optimum allocation will be
- Job operator time
- 1 5 8
- 2 1 7
- 3 3 7
- 4 2 10
- 5 4 11
- 43

Example ROW SCANNING.

Operator job 1 2 3 4 5

1 10 12 15 12 8

2 7 16 14 14 11

3 13 14 7 9 9

4 12 10 11 13 10

5 8 13 15 11 15

Example Assign the 5 operators to the 5 jobs

such that the total processing time is minimized.

Operator job 1 2 3 4 5

1 10 12 15 12 8

2 7 16 14 14 11

3 13 14 7 9 9

4 12 10 11 13 10

5 8 13 15 11 15

Example Assign the 5 operators to the 5 jobs

such that the total processing time is minimized.

Operator job 1 2 3 4 5

1 2 4 7 4 0

2 0 9 7 7 4

3 6 7 0 2 2

4 2 0 1 3 0

5 0 5 7 4 8

Example Assign the 5 operators to the 5 jobs

such that the total processing time is minimized.

Operator job 1 2 3 4 5

1 2 4 7 2 0

2 0 9 7 5 4

3 6 7 0 0 2

4 2 0 1 1 0

5 0 5 7 2 8

Example Assign the 5 operators to the 5 jobs

such that the total processing time is minimized.

Operator job 1 2 3 4 5

1 2 4 6 1 0

2 0 9 6 4 4

3 7 8 0 0 3

4 2 0 0 0 0

5 0 5 6 1 8