Masalah Penugasan
(Assignment Problem)
Outline
①
Rumusan masalah penugasan
Goal
•
Memahami konsep
assignment
dan
penerapannya
•
Memahami metode pencarian solusi
Model Penugasan
•
Model penugasan merupakan
kasus khusus dari
model transportasi
, dimana sejumlah m sumber
ditugaskan kepada sejumlah n tujuan (satu sumber
untuk satu tujuan) sedemikan sehingga didapat ongkos
total yang minimum.
•
Biasanya yang dimaksud dengan sumber ialah
mesin-mesin, sedangkan yang dimaksud dengan tujuan ialah
pekerjaan (atau
job
).
•
Terdapat
m
mesin (
M
1,
M
2, …,
M
m).
Masalah Penugasan
•
Biaya pengerjaan
job
j
pada mesin
i
dinyatakan dengan
c
ij. Jika suatu
job
i
tidak dapat ditugaskan pada mesin
j,
maka
c
ij=
M
(
M
bilangan positif yang sangat besar)
•
Tiap mesin hanya dapat mengerjakan
satu
job
.
•
Karena itu,
bentuk standard
model penugasan ini
adalah jumlah mesin (m) sama dengan jumlah
job
(n)
yaitu sama dengan n.
•
Permasalahannya adalah menentukan penugasan
job
Rumusan Pemrograman Linier
(Tepatnya: Pemrograman Linier Bilangan Bulat 0-1)
Tabel Transportasi
Job
J
1J
2J
nMesin
M
1c
11c
12c
1n1
M
2c
22c
22c
1n1
1
M
nc
n1c
n2c
nn1
Masalah Penugasan Tak Standar
•
Jika jumlah mesin lebih banyak dari
jumlah job (
m
>
n
) maka dibuat tambahan
(
m – n
)
job fiktif
dengan biaya penugasan
nol.
•
Jika jumlah mesin lebih sedikit dari jumlah
job
(
m
<
n
)
maka dibuat tambahan (
n
–
m
)
Pemecahan Masalah Penugasan
Teknik yang dapat digunakan untuk menyelesaikan
masalah penugasan:
•
Teknik untuk pemecahan masalah transportasi
–
Kendala: adanya degenerasi
•
Metode pemecahan masalah pemrograman
bilangan bulat biner
•
Pemrograman dinamis
Metode Hungarian (1)
•
Asumsi adalah semua elemen biaya (
c
ij) tak
negatif.
•
Prinsip dasar:
–
Solusi optimal penugasan tidak terpengaruh jika
Struktur Algoritma dari
Metode Hungarian
•
Langkah 0:
–
Matriks biaya
•
Langkah 1:
–
Periksa apakah di setiap baris sudah terdapat angka ‘0’. Jika
belum, lakukan
reduksi baris
. Jika sudah, maka lanjutkan ke
langkah 2.
•
Langkah 2:
–
Periksa apakah di setiap kolom sudah terdapat angka ‘0’. Jika
belum, lakukan
reduksi kolom
. Jika sudah, hubungkan setiap
angka ‘0’ dengan garis-garis, dengan jumlah garis seminimum
mungkin. Jika jumlah garis sama dengan jumlah
job
/ mesin,
maka berhenti, cari solusi optimal. Jika sebaliknya, lanjutkan ke
langkah 3.
•
Langkah 3
–
Modifikasi matriks biaya
. Algoritma berhenti apabila telah
Struktur Algoritma dari
Metode Hungarian
•
Langkah 0:
–
Matriks biaya
•
Langkah 1:
–
Reduksi baris. Jika diperoleh solusi layak maka berhenti dan
diperoleh solusi layak. Jika sebaliknya, lanjutkan ke Langkah 2.
•
Langkah 2:
–
Reduksi kolom. Jika diperoleh solusi layak maka berhenti dan
diperoleh solusi layak. Jika sebaliknya, lanjutkan ke Langkah 3.
•
Langkah 3
–
Modifikasi matriks biaya. Algoritma berhenti apabila telah
Contoh #1
J
1J
2J
3J
4M
110
9
8
7
M
23
4
5
6
M
32
1
1
2
M
44
3
5
6
Penugasan empat job dan empat mesin
Contoh #1
Reduksi Baris
J
1J
2J
3J
4M
110
9
8
7
M
23
4
5
6
M
32
1
1
2
M
44
3
5
6
Contoh #1
Reduksi Baris
J
1J
2J
3J
4M
110
9
8
7
M
23
4
5
6
M
32
1
1
2
M
44
3
5
6
Nilai Minimum Baris 1
Contoh #1
Reduksi Baris
J
1J
2J
3J
4M
110 – 7 9 – 7
8 – 7
7 – 7
M
23 -3
4 – 3
5 – 3
6 – 3
M
32 – 1
1 – 1
1 – 1
2 – 1
20
Solusi dinyatakan layak jika terdapat
nilai nol yang memasangkan
masing-masing 1 mesin terhadap 1
job
Periksa
nilai nol Periksa
Contoh # 1
Solusi dinyatakan layak jika terdapat
Contoh # 1
Solusi Optimal
J
1J
2J
3J
4M
13
2
1
0
M
20
1
2
3
M
31
0
0
1
M
41
0
2
3
M
1
J
4M
2
J
1M
3
J
3M
4
J
2Contoh #2
J
1J
2J
3J
4M
110
9
7
8
M
25
8
7
7
M
35
4
6
5
Penugasan empat job dan empat mesin
Contoh #2
Reduksi Baris
J1 J2 J3 J4
M1 10 – 7 9 – 7 8 – 7 7 – 7
M2 5 – 5 8 – 5 7 – 5 7 – 5
M3 5 – 4 4 – 4 6 – 4 5 – 4
Contoh # 2
Hasil Reduksi Baris
J
1J
2J
3J
4M
13
2
0
1
M
20
3
2
2
M
31
0
2
1
Contoh # 2
Reduksi Kolom
J
1J
2J
3J
4M
13
2
0
1
M
20
3
2
2
M
31
0
2
1
Contoh # 2
Reduksi Kolom
J
1J
2J
3J
4M
13 – 0 2 – 0 0 – 0 1 – 1
M
20 – 0 3 – 0 2 – 0 2 – 1
M
31 – 0 0 – 0 2 – 0 1 – 1
Contoh #2
Reduksi Kolom
J
1J
2J
3J
4M
13
2
0
0
M
20
3
2
1
M
31
0
2
0
M
40
1
2
2
Contoh #2 Modifikasi Matrix
J
1J
2J
3J
4M
13
2
0
0
M
20
3
2
1
M
31
0
2
0
M
40
1
2
2
Tarik garis (horizontal/vertikal) yang menghubungkan nilai-nilai nol; Buat garis seminimum mungkin
Contoh #2 Modifikasi Matrix
J
1J
2J
3J
4M
13
2
0
0
M
20
3
2
1
M
31
0
2
0
M
40
1
2
2
Elemen terkecil
yang tak tertutup garis
Contoh #2 Modifikasi Matrix
J
1J
2J
3J
4M
13
2
0
0
M
20
3
2
1
M
31
0
2
0
M
40
1
2
2
Tambahkan nilai elemen yang berada pada titik potong dua garis dengan nilai
elemen terkecil yang tidak tertutup baris
Contoh #2 Modifikasi Matrix
J
1J
2J
3J
4M
13
2
0
0
M
20
3
2
1
M
31
0
2
0
M
40
1
2
2
Kurangi nilai elemen-elemen yang tidak tertutup garis dengan nilai
elemen terkecil
Contoh #2 Modifikasi Matrix
J
1J
2J
3J
4M
13
2
0
0
M
20
3
2
1
M
31
0
2
0
M
40
1
2
2
Abaikan nilai elemen-elemen yang tertutup satu garis
Contoh #2 Modifikasi Matrix
J
1J
2J
3J
4M
13 + 1
2
0
0
M
20
3 – 1
2 – 1
1 - 1
M
31 + 1
0
2
0
M
40
1 – 1 2 - 1
2 - 1
Contoh #2
Solusi Layak
J
1J
2J
3J
4M
14
2
0
0
M
20
2
1
0
M
32
0
2
0
Contoh #2
Solusi Layak (dan Optimal)
J
1J
2J
3J
4M
14
2
0
0
M
20
2
1
0
M
32
0
2
0
M
40
0
1
1
M
1
J
3M
2
J
1M
3
J
4M
4
J
2Contoh #2
Solusi Optimal Alternatif
J
1J
2J
3J
4M
14
2
0
0
M
20
2
1
0
M
31
0
2
0
M
40
0
1
1
M
1
J
3Masalah Maksimasi
•
Langkah 1
–
Konversikan ke masalah minimasi dengan
mengalikan semua elemen (
c
ij)
dari matrix biaya
penugasan dengan -1.
•
Langkah 2
–
Jika beberapa elemen matrix biaya adalah negatif
maka tambahan suatu bilangan positif yang besar
untuk masing-masing baris dan kolom sehingga
elemen-elemen biaya menjadi positif.
•
Langkah 3
Contoh # 3
J
1J
2J
3J
4M
16
4
-M
2
M
24
5
2
1
M
33
6
7
7
M
48
5
3
4
Max Profit:
J
1J
2J
3J
4M
1-6
-4
M
-2
M
2-4
-5
-2
-1
40
Contoh # 3
J
1J
2J
3J
4 +M
1-6
-4
M
-2
6
M
2-4
-5
-2
-1
5
M
3-3
-6
-7
-7
7
M
4-8
-5
-3
-4
8
J
1J
2J
3J
4M
10
2
M+6
4
M
21
0
3
4
M
34
1
0
0
M
40
3
5
4
Contoh #3
Modifikasi Matrix
J
1J
2J
3J
4M
10
2
M+6 – 3
4 – 3
M
21
0
3 – 3
4 – 3
M
34 + 3
1 + 3
0
0
Contoh #3
Modifikasi Matrix
J
1J
2J
3J
4M
10
2
M + 3
1
M
21
0
0
1
M
37
4
0
0
Contoh #3
Modifikasi Matrix #2
J
1J
2J
3J
4M
10
2
M + 3
1
M
21
0
0
1
M
37
4
0
0
Contoh #3
Modifikasi Matrix #2
J
1J
2J
3J
4M
10
2 – 1
M + 3 - 1
1 – 1
M
21 + 1
0
0
1
M
37 + 1
4
0
0
Contoh #3
Solusi Layak Optimal
J
1J
2J
3J
4M
10
1
M + 2
0
M
22
0
0
1
M
38
4
0
0
M
40
2
1
0
Contoh #3
Solusi Layak Optimal Alternatif
J
1J
2J
3J
4M
10
1
M + 2
0
M
22
0
0
1
M
38
4
0
0
M
40
2
1
0
M1-J4 M2-J2 M3-J3 M4-J1
MASALAH PEMINDAHAN
Setiap
sumber
dan
tujuan
dapat juga menjadi
titik perantara
pengiriman dari sumber-sumber atau tujuan-tujuan lain.
Masalah pemindahan dapat diselesaikan dengan beberapa
Setiap
sumber
dan
tujuan
dapat juga menjadi
titik perantara
pengiriman dari sumber-sumber atau tujuan-tujuan lain.
Masalah pemindahan dapat diselesaikan dengan beberapa
penyesuaian kecil terhadap metode solusi masalah transportasi.
Jika setiap sumber I dan tujuan
J dapat juga menjadi titik
perantara pemindahan ke
sumber atau tujuan lain,
diperoleh tabel yang dimodifikasi
seperti berikut:
Masalah asli
ditempatkan pada
sisi kanan atas
.
Tabel 2
Kotak-kotak baru yang lain mencerminkan
kemungkinan perantara pemindahan. Contohnya
kotak i=1 ke kotak i=3 menunjukkan barang
Penawaran dan permintaan untuk baris-baris dan kolom-kolom baru menunjukkan kenyataan bahwa setiap sumber dan tujuan sekarang sama dengan semua yang ditawarkan dan yang diminta. Dengan kata lain, sementara hanya 60 unit yang diminta pada tujuan 1, sisanya sebesar 140 unit dapat dikirim melalui titik
Karena itu, dalam masalah ini, sejumlah 200 unit ditambahkan ke masing-masing nilai penawaran baris dan nilai permintaan kolom awal. Juga 200 unit penawaran disisipkan pada masing-masing baris baru yang ditambahkan, dan 200 unit permintaan disisipkan pada masing-masing kolom baru yang ditambahkan. Nilai-nilai penawaran dan permintaan yang dihasilkan disajikan pada tabel berikut:
Tabel 3
(1) (3)
(2)Solusi ini diperoleh dengan VAM.
Jumlah yang
dialokasikan adalah maximum dari
Nilai-nilai cij untuk kotak-kotak baru adalah biaya pemindahan
yang ditentukan oleh manajemen. Biaya pengiriman untuk arah
yang berlawanan kadang-kadang berbeda karena pilihan mode
tranportasi dan kondisi jalan.
Contohnya, kotak yang menunjukkan rute dari i=1 ke j=3 adalah
70 per unit, sementara biaya dari j =3 ke i=1 adalah 3 per unit.
Nilai-nilai pada diagonal dari kiri atas ke kanan bawah adalah nol
karena tak ada pengiriman dari sumber ke dirinya sendiri (i=i)
atau tujuan ke dirinya (j=j).
Tabel 3 juga menunjukkan solusi optimum yang diperoleh
dengan menggunakan VAM dan Stepping Stone. Dalam
penafsiran solusi optimum, semua nilai-nilai pada kotak diagonal
dapat diabaikan karena mereka tak berarti. Nilai-nilai yang
dilingkari memberikan solusi optimum.
Untuk menunjukkan titik pengiriman perantara dari masalah pemindahan, teliti bahwa 70 unit yang dikirim langsung dari sumber 1 (i=1) ke tujuan 3 (j=3).
Contoh II.
Elemen-elemen diagonal diabaikan dari tabel di atas, karena tidak mempengaruhi apa-apa.
Solusi optimal di atas menyatakan bahwa:
1.S2 mengirimkan seluruh supplynya pada T1, dimana 100 unit disimpan untuk memenuhi demand pada tujuan 1 tersebut dan sisanya, yaitu sebanyak 100 unit, kemudian dikirimkan kepada tujuan 3 (T3) untuk memenuhi demand pada tujuan 3. Adapun pada tujuan 2 (T2) dipenuhi langsung dari