0% found this document useful (0 votes)
49 views32 pages

Lecture 12 - Assignment Problem

The document discusses the assignment problem in operations research. It begins by defining the assignment problem as assigning jobs to workers in a one-to-one manner to minimize total cost when different job-worker combinations have different costs. It then provides an example of assigning project managers to construction projects. The document outlines the standard linear programming formulation of the assignment problem and special considerations that may apply. It also introduces the Hungarian algorithm as a more efficient method than direct comparison to find the optimal solution to the assignment problem.

Uploaded by

farhan srg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views32 pages

Lecture 12 - Assignment Problem

The document discusses the assignment problem in operations research. It begins by defining the assignment problem as assigning jobs to workers in a one-to-one manner to minimize total cost when different job-worker combinations have different costs. It then provides an example of assigning project managers to construction projects. The document outlines the standard linear programming formulation of the assignment problem and special considerations that may apply. It also introduces the Hungarian algorithm as a more efficient method than direct comparison to find the optimal solution to the assignment problem.

Uploaded by

farhan srg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Assignment Problem

Industrial Engineering Department


Institut Teknologi Sepuluh Nopember
Surabaya

Quantitative Modeling & Industrial Policy Analysis (Q-Lab)


Outline

Assignment Assignment Problem


Problem Model Solving
Assignment Problem
• Equal numbers of jobs and workers (or jobs and machines, or …)
• We want to assign the jobs to the workers in a one-to-one manner
• Different job/worker combinations have different costs (or
completion times)
• We want to minimize total cost (time)
The Problem....
• Seeks to minimize the total cost assignment of m workers to
n jobs, given that the cost of worker i performing job j is cij.
• Assumes all workers are assigned and each job is
performed.
• Is a special case of a transportation problem in which all
supplies and all demands are equal to 1; hence assignment
problems may be solved as linear programs.
Assignment Problem

Assignment
Problem

untuk menentukan penugasan yang paling


efisien untuk pekerjaan tertentu

Tujuan  untuk meminimasi biaya


total/waktu total
Network Representation
1 c11 1
c12
c13
c21
2 c22 2
c23
c31
c32
3 3
c33
WORKERS JOBS
Assignment Problem

- 4 Project of building construction


Contoh: IE
Contractors.Co - 4 Project Managers

Biaya Penggajian Jika, 1 manager


Manager ? memegang 1 project
Biaya Penugasan
Project
Decision Variable : Manager
Xij = Manager ke-i memegang project ke-j 1 2 3 4
1 3 2 5 4

2 0 1 2 3

Asumsi Assignment : Kapasitas masing-masing resource 4 1 -1 3


3
(supply) = 1 dan Permintaan masing-masing tujuan
4 2 5 3 4
(demand) =1
Standard Form LP formulation

min ååc ij x ij
i j

s. t. åx ij = 1 For each worker i


j

åx ij = 1 For each job j


i

x ij = 0 or 1 For all i and j

Note: A modification to the right-hand side of the first constraint set


can be made if a worker is permitted to work more than one job.
Assignment Problem – Special Consideration

Special considerations can include :

• A modification to the right-hand side of the first constraint set


can be made if a worker is permitted to work more than 1 job.
• number of workers does not equal the number of jobs – add
dummy workers/jobs with 0 assignment costs as needed. (note:
this may not be necessary if a worker/job is allowed more than
one job/worker)
• worker i cannot do job j — assign cij = +M (where +M = some
very large number--implying a very large cost!)
Assignment Model

Method

Cost
Hungarian
Coefficient Lebih efektif dan
Algorithm efisien untuk
Matrix
optimal solution

Tidak perlu melakukan


perbandingan langsung
dengan setiap pilihan
Cost Coefficient Matrix
Remark :
 Prosedur penyelesaian dengan mencari Reduced Matrix
Assignment selalu diberikan pada nilai (biaya) = 0
Pemilihan nilai 0  trial & error
Biaya Penugasan

Biaya Penugasan Project


Minimum Manager
Project Value of 1 2 3 4
Manager Row
1 2 3 4 1 1 0 3 2

1 3 2 5 4 2 2 0 1 2 3

2 0 1 2 3 0 3 5 2 0 4

3 4 1 -1 3 -1 4 0 3 1 2

4 2 5 3 4 2
Minimum
Value of 0 0 0 2
Kurangkan nilai masing-masing baris dengan
Column
minimum value of row
Lanjutan

Biaya Penugasan
Reduced
Biaya Penugasan Matrix
Project
Manager Project
1 2 3 4 Manager
1 2 3 4
1 1 0 3 2 1 1 0 3 0
2 0 1 2 3 2 0 1 2 1
3 5 2 0 4
3 5 2 0 2
4 0 3 1 2 4 0 3 1 0

Minimum
Value of 0 0 0 2 Pilih nilai (biaya) = 0
Column
Terdapat 4 assignment yang bernilai 0,
Kurangkan nilai masing-masing kolom
sehingga sesuai dengan matriks
dengan minimum value of column
problem (M4x4)
Lanjutan
Original Cost
Reduced
Matrix Biaya Penugasan
Biaya Penugasan
Project
Manager Project
1 2 3 4 Manager
1 2 3 4
1 1 0 3 0
1 3 2 5 4
2 0 1 2 1
2 0 1 2 3
3 5 2 0 2
3 4 1 -1 3
4 0 3 1 0
4 2 5 3 4

X12 = 1 Z = C12 + C21 + C33 + C44


Maka
X21 = 1 Z=2+0–1+4
X33 = 1 Z=5
X44 = 1 (Minimum Assignment Cost)
Hungarian Algorithm (Prosedur)
Ubah ke dalam bentuk standar dengan # baris = # kolom.
Lalu, mencari Reduced Matrix

Tarik garis sesedikit mungkin untuk menutup sel


(baris/kolom) yang nilainya = 0

Bila jumlah garis = m (matriks), maka solusi optimal tercapai


(Jika tidak, menuju langkah 4)

Pilih nilai sel terkecil dari semua sel yang belum ditutup
garis. Lalu, kurangkan nilai tsb pada semua sel yang belum
ditutup garis

Tambahkan nilai sel terkecil tersebut pada sel yang ditutup


dua garis. Kembali ke langkah 2.
Hungarian Algorithm
Remark :
 Prosedur penyelesaian dengan mencari Reduced
Matrix, seperti halnya Cost Coefficient Matrix
Assignment selalu diberikan pada nilai (biaya) = 0

Biaya Penugasan
Biaya Penugasan
Minimum Project
Project Value of Manager
Manager Row 1 2 3
1 2 3
1 0 3 5
1 2 5 7 2
2 3 1 0
2 4 2 1 1
3 0 4 3
3 2 6 5 2
Minimum
Kurangkan nilai masing-masing baris dengan Value of 0 1 0
minimum value of row Column
Lanjutan
Reduced
Biaya Penugasan Biaya Penugasan Matrix
Project Project
Manager Manager
1 2 3 1 2 3
1 0 3 5 1 0 2 5
2 3 1 0 2 3 0 0
3 0 4 3 3 0 3 3

Minimum
Value of 0 1 0 Pilih nilai (biaya) = 0
Column
Hanya terdapat 2 assignment yang bernilai 0
Kurangkan nilai masing-masing kolom Karena tidak sesuai dengan matriks problem
dengan minimum value of column (M3x3), maka dikerjakan dengan Hungarian
Algorithm
Lanjutan
Pilih nilai terkecil
Reduced dari semua sel yang Biaya Penugasan
Matrix Biaya Penugasan Minimum belum ditutup garis
Value of Project
Project Manager
Manager Row &
1 2 3
1 2 3 Column
0 3
1 0 2 5 2 1 0
(2-2) (5-2)
2 2 3 0 0 -
5
3 0 3 3 2 0 0
3 (3+2)
1 1
1 3 0
(3-2) (3-2)

Tarik garis sedikit mungkin untuk


menutup sel yang bernilai 0 Kurangkan nilai terkecil
Tambahkan nilai terkecil tsb
Jumlah garis ≠ matrix (M), maka pada sel yang ditutup dua garis
tersebut pada semua sel yang
solusi belum optimal belum ditutup garis
Lanjutan
Biaya Penugasan
Project Biaya Penugasan
Manager
1 2 3 Project
Manager
0 3 1 2 3
1 0
(2-2) (5-2) 1 0 0 3
Tambahkan nilai 5 2
2 0 0 2 5 0 0
terkecil tsb pada (3+2)
sel yang ditutup 3 0 1 1
dua garis 1 1
3 0
(3-2) (3-2)
1 3

Tarik garis untuk menutup sel yang


Kurangkan nilai terkecil
bernilai 0 hingga tidak ada sel yang
tersebut pada semua sel yang
bernilai 0
belum ditutup garis
Lanjutan
Original Cost
Biaya Penugasan
Biaya Penugasan
Project
Manager Project
1 2 3 Manager
1 2 3
1 0 0 3
2 1 2 5 7
2 5 0 0
2 4 2 1
3 0 1 1
3 2 6 5
1 3
Sehingga
Pilih nilai (biaya) = 0 untuk masing-
masing assignment
Z = C12 + C23 + C31
Terdapat 3 assignment yang bernilai 0, X12 = 1
Z=5+2+1
sehingga sesuai dengan matriks X23 = 1
Z=8
problem (M3x3) X31 = 1
(Minimum Assignment Cost)
Contoh: Fungsi Minimasi

 Step 1: Subtract minimum number in each row from all numbers in that
row. Since each row has a zero, we would simply generate the same
matrix above.
 Step 2: Subtract the minimum number in each column from all numbers in
the column. For A it is 25, for B it is 25, for C it is 14, for Dummy it is 0.
This yields:
Contoh: Fungsi Minimasi

• Step 3: Draw the minimum number of lines to cover all zeroes. Although one
can "eyeball" this minimum, use the following algorithm. If a "remaining" row
has only one zero, draw a line through the column. If a remaining column has
only one zero in it, draw a line through the row.

• Step 4: The minimum uncovered number is 2 (circled).


Contoh: Fungsi Minimasi

• Step 5: Subtract 2 from uncovered


numbers; add 2 to all numbers
covered by two lines. This gives:

• Step 3: Draw the minimum number


of lines to cover all zeroes.

• Step 4: The minimum uncovered


number is 1 (circled).
Contoh: Fungsi Minimasi

• Step 5: Subtract 1 from uncovered


numbers. Add 1 to numbers
covered by two lines. This gives:

• Step 4: The minimum number of


lines to cover all 0's is four.
Contoh: Fungsi Maksimasi

Sebuah perusahaan akan mengembangkan rencana produksi untuk


manufaktur 3 produk baru dengan tujuan memaksimumkan
keuntungan (profit).
Asumsikan bahwa perusahaan mempunyai 5 pabrik yang harus dipilih
untuk manufaktur 3 produk baru, 1 item untuk setiap pabrik.
Biaya produksi dan distribusi per unit untuk ketiga produk tersebut
adalah sebagai berikut:
Biaya produksi per unit
Pabrik
1 2 3 4 5
1 20 23 38 15 35
Produk 2 8 29 6 35 35
3 5 8 3 4 7
Contoh: Fungsi Maksimasi

Pabrik (Biaya Distribusi)


1 2 3 4 5
1 20 50 20 10 13
Produk 2 7 90 8 35 60
3 5 5 4 15 6

Produksi tahunan untuk setiap produk yang digunakan untuk memenuhi


demand dan harga jual yang direncanakan sebagai berikut:
Produk Rencana Produksi (ribu) Harga
1 35 55
2 160 50
3 54 30
Solusi
Biaya total = biaya produksi + biaya distribusi
Profit per unit = harga jual – biaya total
Profit per unit Pabrik
1 2 3 4 5
1 15 -18 -3 30 7 = 55 – (13+35)
Produk 2 35 -69 36 -20 -45 = 50 – (60+35)
3 20 17 23 11 17 = 30 – (6+7)

Total profit = profit per unit x total volume penjualan


Total Profit Pabrik
1 2 3 4 5
1 525 -630 -105 1050 245 = 7*35
Produk 2 5600 -11040 5760 -3200 -7200 = -45*160

3 1080 918 1242 594 918 = 17*54


Solusi

Problem maksimasi dapat diformulasikan sebagai model assignment


dengan mempertimbangkan profit sebagai negative cost dengan
menambahkan dummy produk 4 dan 5

Pabrik
1 2 3 4 5
1 -525 630 105 -1050 -245
Produk 2 -5600 11040 -5760 3200 7200
3 -1080 -918 -1242 -594 -918
4 0 0 0 0 0
5 0 0 0 0 0
Pabrik
Solusi 1
1 2 3 4 5 Min Row
1 -525 630 105 -1050 -245 -1050
Produk 2 -5600 11040 -5760 3200 7200 -5760
3 -1080 -918 -1242 -594 -918 -1242
4 0 0 0 0 0 0
5 0 0 0 0 0 0
Pabrik
2
1 2 3 4 5
1 525 1680 1155 0 805
Produk 2 160 16800 0 8960 12960
3 162 324 0 648 324
4 0 0 0 0 0
5 0 0 0 0 0
Min
0 0 0 0 0
Column
Solusi 3
Pabrik
1 2 3 4 5
1 525 1680 1155 0 805
Produk 2 160 16800 0 8960 12960
3 162 324 0 648 324
4 0 0 0 0 0
5 0 0 0 0 0

Pabrik
4
1 2 3 4 5
1 365 1520 1155 0 645
Produk 2 0 16640 0 8960 12800
3 2 164 0 648 164
4 0 0 160 160 0
5 0 0 160 160 0
Solusi

Solusi optimal untuk permasalahan di atas:


• Produk 1 dimanufaktur di Pabrik 4
• Produk 2 dimanufaktur di Pabrik 1
• Produk 3 dimanufaktur di Pabrik 3

Pabrik
1 2 3 4 5
1 365 1520 1155 0 645
Produk 2 0 16640 0 8960 12800
3 2 164 0 648 164
4 0 0 160 160 0
5 0 0 160 160 0
Exercise 1

• Machineco has four jobs to be completed. Each machine must


be assigned to complete one job. The time required to setup
each machine for completing each job is shown in the table
below. Machineco wants to minimize the total setup time
needed to complete the four jobs.
Time (Hours)

Job1 Job2 Job3 Job4

Machine 1 14 5 8 7

Machine 2 2 12 6 5

Machine 3 7 8 3 9

Machine 4 2 4 6 10
Terima Kasih

You might also like