Masalah Penugasan (Assignment Problem)

  Masalah Penugasan (Assignment Problem) Amelia Kurniawati ST., MT.

  

Outline

① Rumusan masalah penugasan ② Pemecahan masalah penugasan

Goal

  Memahami konsep assignment dan

  • penerapannya Memahami metode pencarian solusi
  • optimal

  ① Rumusan Masalah Penugasan

  

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).
  • 1 2 m Terdapat m mesin (M , M , …, M1 2 n Terdapat n job (J , J , …, J ) yang harus ditugaskan
  • (dikerjakan) pada mesin. Biaya pengerjaan untuk setiap job tergantung pada
  • mesin yang ditugaskan.

  

Masalah Penugasan

Biaya pengerjaan job j pada mesin i dinyatakan dengan

  • c . Jika suatu job i tidak dapat ditugaskan pada mesin j, ij

  maka c = M (M bilangan positif yang sangat besar) ij 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

  • pada mesin yang meminimumkan biaya total.

  

Rumusan Pemrograman Linier

  (Tepatnya: Pemrograman Linier Bilangan Bulat 0-1) n n Minimasi

  Z c xij ij

    i   1 j 1

  dengan pembatas-pembatas: n

  x

1 , i = 1, 2, …, n

ij   j n 1 x

1 , j = 1, 2, …, n

ij

   i 1 1 jika job j ditugaskan pada mesin i

   x ij

    yang lain  Tabel Transportasi Job

  J J 1 2 J n c c 11 12 c 1n M 1

  1 c c 22 22 c 1n M 2

  1 Mesin

  1 c c n1 n2 c nn M n

  1

  1

  1

  1

  1

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)

    mesin fiktif dengan biaya penugasan nol.

  ② Pemecahan Masalah

Penugasan Teknik yang dapat digunakan untuk menyelesaikan masalah penugasan:

  

Pemecahan Masalah Penugasan

  • Teknik untuk pemecahan masalah transportasi
    • – Kendala: adanya degenerasi

  • Metode pemecahan masalah pemrograman bilangan bulat biner
  • Pemrograman dinamis
  • Metode Hungarian (Hungarian Method)

  ) tak negatif.

  

Metode Hungarian (1)

  • Asumsi adalah semua elemen biaya (c ij
  • Prinsip dasar:
    • Solusi optimal penugasan tidak terpengaruh jika

      suatu konstanta ditambahkan atau dikurangkan dari sebarang baris atau kolom dari matriks biaya.

  Metode Hungarian (2)

 

          i ij j

j i ij

i j ij ij

  Z x q p c x c      

     i j ij j i j ij i i ij j ij x q x p x c

           i j ij j i j ij i i ij j ij x q x p x c

           

     

     

       i i ij j i j ij i i ij j ij x q x p x c

     

  1

  1    

     i j i i i ij j ij q p x c konstanta  

    i ij j ij x c

  

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

diperoleh solusi layak (dan optimal).

  

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

diperoleh solusi layak (dan optimal).

Contoh #1

  1

  6 Penugasan empat job dan empat mesin Biaya penugasan :

  5

  3

  4

  2 M 4

  1

  J 1 J 2 J 3 J 4 M 1

  10

  6 M 3

  5

  4

  3

  7 M 2

  8

  9

  2

Contoh #1 Reduksi Baris

  1

  6 Nilai Minimum Baris 1

  5

  3

  4

  2 M 4

  1

  J 1 J 2 J 3 J 4 M 1

  10

  6 M 3

  5

  4

  3

  7 M 2

  8

  9

  2

Contoh #1 Reduksi Baris

  1

  Kurangkan masing-masing nilai biaya dengan nilai biaya minimum tiap barisnya

  6 Nilai Minimum Baris 1

  5

  3

  4

  2 M 4

  1

  J 1 J 2 J 3 J 4 M 1

  10

  6 M 3

  5

  4

  3

  7 M 2

  8

  9

  2

Contoh #1 Reduksi Baris

  J 1 J 2 J 3 J 4 M 1

  10 – 7 9 – 7 8 – 7 7 – 7

  M 2

  3 -3 4 – 3 5 – 3 6 – 3

  M 3

  2 – 1 1 – 1 1 – 1 2 – 1

  M 4

  4 – 3 3 – 3 5 – 3 6 - 3

Contoh # 1 Reduksi Baris

  J 1 J 2 J 3 J 4 M 1

  3

  2

  1 M 2

  1

  2

  3 M 3

  1

  1 M 4

  1

  2

  3 Solusi dinyatakan layak jika terdapat nilai nol yang memasangkan masing-masing 1 mesin terhadap 1

  Periksa nilai no l Periksa nilai no l

Contoh # 1 Reduksi Baris

  J 1 J 2 J 3 J 4 M 1

  3

  2

  1 M 2

  1

  2

  3 M 3

  1

  1 M 4

  1

  2

  3 Solusi dinyatakan layak jika terdapat nilai nol yang memasangkan masing-masing 1 mesin terhadap 1

  Jumlah Garis = Jumlah Mesin /

  Job Jumlah Garis = Jumlah

  Mesin / Job

Contoh # 1 Solusi Optimal

  J 1 J 2 J 3 J 4 M 1

  3

  2

  1 M 2

  1

  2

  3 M 3

  1

  1 M 4

  1

  2

  3 M 1J 4 M 2J 1 M 3J 3 M 4J 2 Biaya penugasan total Z = 7 + 3 + 1 + 3 = 14

Contoh #2

  4

  5 Penugasan empat job dan empat mesin Biaya penugasan :

  4

  3

  2

  5 M 4

  6

  J 1 J 2 J 3 J 4 M 1

  10

  7 M 3

  7

  8

  5

  8 M 2

  7

  9

  5

Contoh #2 Reduksi Baris

  J 1 J 2 J 3 J 4 M 1 10 – 7 9 – 7 8 – 7 7 – 7

  M 2 5 – 5 8 – 5 7 – 5 7 – 5

  M 3 5 – 4 4 – 4 6 – 4 5 – 4

  M 4 2 – 2 3 – 2 4 – 2 5 - 2

Contoh # 2 Hasil Reduksi Baris

  J 1 J 2 J 3 J 4 M 1

  3

  2

  1 M 2

  3

  2

  2 M 3

  1

  2

  1 M 4

  1

  2

  3 Solusi Belum Layak

Contoh # 2 Reduksi Kolom

  J 1 J 2 J 3 J 4 M 1

  3

  2

  1 M 2

  3

  2

  2 M 3

  1

  2

  1 M 4

  1

  2

  3

Contoh # 2 Reduksi Kolom

  J 1 J 2 J 3 J 4 M 1

  3 – 0 2 – 0 0 – 0 1 – 1

  M 2

  0 – 0 3 – 0 2 – 0 2 – 1

  M 3

  1 – 0 0 – 0 2 – 0 1 – 1

  M 4

  0 – 0 1 – 0 2 – 0 3 – 1

Contoh #2 Reduksi Kolom

  J 1 J 2 J 3 J 4 M 1

  3

  2 M 2

  3

  2

  1 M 3

  1

  2 M 4

  1

  2

  2 Solusi Belum Layak

Contoh #2 Modifikasi Matrix

  J 1 J 2 J 3 J 4 M 1

  3

  2 M 2 M 3

  1

  2 M 4

  1

  2

  2 Tarik garis (horizontal/vertikal) yang

  menghubungkan nilai-nilai nol; Buat garis seminimum mungkin (biasanya jumlah kolom - 1)

Contoh #2 Modifikasi Matrix

  J 1 J 2 J 3 J 4 M 1

  3

  2 M 2 M 3

  1

  2 M 4

  1

  2

  2 Elemen terkecil

  yang tak tertutup garis Tandai elemen terkecil yang tidak tertutupi garis.

Contoh #2 Modifikasi Matrix

  J 1 J

2

J 3 J 4 M 1

  3

  2 M 2 M 3

  1

  2 M 4

  1

  2

  2 Tambahkan nilai elemen yang berada

  pada titik potong dua garis dengan nilai elemen terkecil yang tidak tertutup baris

  3 + 1

Contoh #2 Modifikasi Matrix

  J 1 J 2 J 3 J 4 M 1

  3

  2 M 2 M 3

  1

  2 M 4

  1

  2

  2 Kurangi nilai elemen-elemen yang

  tidak tertutup garis dengan nilai elemen terkecil 3 - 1

Contoh #2 Modifikasi Matrix

  J 1 J 2 J 3 J 4 M 1

  3

  2 M 2 M 3

  1

  2 M 4

  1

  2

  2 Abaikan nilai elemen-elemen yang

  tertutup satu garis

  2

Contoh #2 Modifikasi Matrix

  J 1 J 2 J 3 J 4 M 1

  3 + 1

  2 M 2 M 3 1 + 1

  2 M 4 1 – 1 2 - 1 2 - 1

  Contoh operasi: Contoh operasi:

Contoh #2 Solusi Layak

  J 1 J 2 J 3 J 4 M 1

  4

  2 M 2 M 3

  2

  2 M 4

  1

  1

Contoh #2 Solusi Layak (dan Optimal)

  J 1 J 2 J 3 J 4 M 1

  4

  2 M 2

  2

  1 M 3

  2

  2 M 4

  1

  1 M 1J 3 M 2J 1 M 3J 4 M 4J 2 Biaya penugasan total Z = 7 + 5 + 5 + 3 = 20

Contoh #2 Solusi Optimal Alternatif

  J 1 J 2 J 3 J 4 M 1

  4

  2 M 2

  2

  1 M 3

  1

  2 M 4

  1

  1 M 1J 3 M 2J 1 M 3J 4 M 4J 2 Biaya penugasan total Z = 7 + 7 + 4 + 2 = 20

  

Masalah Maksimasi

  • Konversikan ke masalah minimasi dengan

  Langkah 1

  • mengalikan semua elemen (c ) dari matrix biaya

    ij penugasan dengan -1.
    • 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 2

  • Terapkan metode Hungarian.

  Langkah 3

Contoh # 3

  7 M 4

  x (-1)

  M 3

  M 2

  J 1 J 2 J 3 J 4 M 1

  4 Max Profit:

  3

  5

  8

  7

  J 1 J 2 J 3 J 4 M 1

  6

  3

  1 M 3

  2

  5

  4

  2 M 2

  6 4 -M

  • 6 -4 M -2
  • 4 -5 -2 -1
  • 3 -6 -7 -7

Contoh # 3

  J 1 J 2 J 3 J 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

  2 M+6

  4 M 2

  1

  3

  4 M 3

  4

  1 Solusi belum layak

  8 J 1 J 2 J 3 J 4 M 1

Contoh #3 Modifikasi Matrix

  J 1 J 2 J 3 J 4 M 1

  2 M+6 – 3 4 – 3

  M 2

  1 3 – 3 4 – 3

  M 3

  4 + 3 1 + 3

  M 4

  3 5 - 3 4 - 3

Contoh #3 Modifikasi Matrix

  J 1 J 2 J 3 J 4 M 1

  2 M + 3

  1 M 2

  1

  1 M 3

  7

  4 M 4

  3

  2

  1

Contoh #3 Modifikasi Matrix #2

  J 1 J 2 J 3 J 4 M 1

  2 M + 3

  1 M 2

  1

  1 M 3

  7

  4 M 4

  3

  2

  1

Contoh #3 Modifikasi Matrix #2

  J 1 J 2 J 3 J 4 M 1

  2 – 1 M + 3 - 1 1 – 1

  M 2

  1 + 1

  1 M 3 7 + 1

  4 M 4 3 – 1 2 – 1 1 – 1

Contoh #3 Solusi Layak Optimal

  J 1 J 2 J 3 J 4 M 1

  1 M + 2

  M 2

  2

  1 M 3

  8

  4 M 4

  2

  1 M1-J1

  M2-J2 M3-J3 M4-J4 Z = 6 + 5 + 7 + 4 = 22

Contoh #3 Solusi Layak Optimal Alternatif

  J 1 J 2 J 3 J 4 M 1

  1 M + 2

  M 2

  2

  1 M 3

  8

  4 M 4

  2

  1 M1-J4

  M2-J2 M3-J3 M4-J1 Z = 2 + 5 + 7 + 8 = 22

  (TRANSSHIPMENT PROBLEM) 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.

  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.

  Contoh: Tabel 1

  Tabel 1 Jika setiap sumber I dan tujuan J dapat juga menjadi titik perantara pemindahan ke sumber atau tujuan lain, diperoleh tabel yang dimodifikasi seperti berikut:

  Tabel 2 Tabel 2 Masalah asli ditempatkan pada sisi kanan atas .

  Kotak-kotak baru yang lain mencerminkan kemungkinan perantara pemindahan. Contohnya kotak i=1 ke kotak i=3 menunjukkan barang dapat dikirim dari sumber 1 ke sumber 3 sebelum dikirim ke tujuan akhir j.

  Tabel 2

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 perantara ini sebelum mencapai tujuan akhir. Karena itu, 200 unit sesungguhnya dapat disalurkan melalui tujuan 1. Sehingga penawaran dan permintaan dapat

ditingkatkan dengan suatu jumlah yang sekurang-kurangnya sama besar dengan jumlah permintaan dan penawaran. 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

  Tabel 3 Solusi ini diperoleh

  (2) dengan VAM.

  Jumlah yang (3) dialokasikan adalah maximum dari

  (1) supply yang tersedia.

  Solusi ini diperoleh dengan stepping stone

  

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. Jaringan Pemindahan yang optimum disajikan pada gambar 1 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). Namun, yang 30 unit selanjutnya dipindah dari tujuan 3 (j=3) ke tujuan 2 (j=2), tinggal 40 unit pada tujuan 3 (jumlah) yang diminta. 30 unit yang dipindah dari

tujuan 3 ke tujuan 2 digabung dengan 80 unit yang dikirim langsung dari sumber

2 (j=2), sehingga seluruhnya 110 unit. Namun, yang 10 unit dipindahkan dari tujuan 2 ke tujuan 1, tinggal 100 unit yang diminta pada tujuan 2. 10 unit yang dipindah dari tujuan 2 digabung dengan 50 unit yang dikirim dari sumber 3, menghasilkan 60 unit pada tujuan 1.

  Contoh II.

  

Asumsikan bahwa seluruh ongkos per unitnya

telah ditentukan, maka model transshipment- nya adalah:

  Elemen-elemen diagonal diabaikan dari tabel di atas, 100 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 sumber 1 (S1)