(Sqap))
Oleh : Caturiyati
Jurusan Pendidikan Matematika FMIPA UNY E‐mail: wcaturiyati@yahoo.com
Abstrak.
Masalah penugasan kuadratik simetris (SQAP) merupakan suatu optimisasi masalah penugasan N fasilitas ke N lokasi, dengan setiap fasilitas akan ditugaskan pada lokasi, , dan masing‐masing hanya melaksanakan satu tugas. Masalah SQAP adalah masalah menentukan total biaya penugasan seekonomis mungkin. Dalam paper ini akan didiskusikan suatu metode yang mereduksi matriks biaya berukuran
) , ( ki ( nj, ) N n k j i B n k j i, , , ∈ +, , , , ≤ N N× menjadi berukuran . ) 1 ( ) 1 (N − × N−
Kata‐kata kunci: masalah penugasan kuadratik simetris, metode reduksi ukuran.
1. Pendahuluan
Masalah penugasan kuadratik (QAP) merupakan masalah optimisasi yang dapat dijumpai pada berbagai bidang ilmu, seperti ekonomi, riset operasi, dan teknik [1]. Masalah ini merupakan masalah penugasan N fasilitas ke N lokasi tertentu, yang meminimumkan biaya kuadratik total.
QAP menjadi bagian dari masalah NP‐complete dan dipandang sebagai suatu masalah yang paling sulit diselesaikan. Strategi‐strategi penyelesaian eksak (exact solution) besar kemungkinan untuk gagal, kecuali untuk kasus kecil . Sehingga banyak dikembangkan metode‐metode heuristic. Salah satu metode eksak yang digunakan untuk menyelesaikan masalah QAP adalah metode Branch and Bound [2] dan [3].
) 20 (N ≤
Paper ini tidak akan membahas optimisasi masalah QAP. Namun akan membahas suatu metode untuk memperkecil ukuran matriks biaya yang ada pada masalah QAP simetris, yang akan memperkecil ukuran matriks arus dan matriks jarak, yaitu metode reduksi ukuran.
2. Formulasi masalah QAP
Suatu masalah penugasan linear (Linear Assignment Problem / LAN) merupakan
seorang manajer perusahaan ‘X’ menginginkan dua orang karyawannya untuk menyelesaikan dua macam tugas dalam waktu (hari) yang seminimum mungkin, setiap karyawan harus menyelesaikan satu tugas saja. Jika karyawan A dapat menyelesaikan tugas 1 dalam 3 hari, tugas 2 dalam 5 hari, sedangkan karyawan B dapat menyelesaikan tugas 1 dalam 4 hari, tugas 2 dalam 2 hari. Maka kedua tugas dapat selesai dalam 3 hari, dengan karyawan A mengerjakan tugas 1 dan karyawan B mengerjakan tugas 2.
Definisi masalah QAP adalah menempatkan N fasilitas terhadap N lokasi tertentu, dengan setiap pasangan fasilitas , arus komoditasnya dinotasikan dengan , diketahui, dan untuk setiap pasangan lokasi , jaraknya dinotasikan dengan , juga diketahui. Biaya transportasi antara fasilitas i dan k, dengan fasilitas i
ditugaskan ke lokasi j dan fasilitas k ditugaskan ke lokasi n, didefinisikan sebagai berikut ) , ( ki f( ki, ) ) , ( nj ) , ( nj d f(i,k).d(j,n)+ f(k,i)+d(n,j),
dengan tujuan mencari penugasan yang jumlah biaya transportasinya seminimum mungkin.
Formulasi umum suatu masalah QAP didefinisikan sebagai berikut: Diberikan 4koefisien biaya
N Cijkn ≥0 (i,j,k,n≤N) yang akan menentukan suatu matriks penyelesaian N×N
U =[uab] (1) Dan disebut dengan penugasan, dan akan meminimumkan fungsi biaya
=
∑
(2) ijkn kn ij ijknu u C U R( ) . .Terhadap kendala‐kendala pada U
uij =0,1 (i, j≤N) (3)
∑
(4) = = N i ij u 1 1 (j≤N)∑
. (5) = = N j ij u 1 1 (i≤N)3. Matriks‐matriks pada QAP
Dari definisi masalah QAP dapat ditentukan matriks‐matriks berikut:
(i) Matriks arus komoditas, F, berukuran N×N, dengan entri‐entri matriks adalah , ) , ( ki f Fik =
(ii) Matriks jarak, D, berukuran N×N, dengan entri‐entri matriks adalah , ) , ( nj d Djn =
(iii) Matriks biaya berupa matriks blok berukuran , dengan entri‐entri
matriks adalah 2 2 N N × jn ik ijkn F D C = . = f(i,k).d(j,n), i,j,k,n∈B+,i,j,k,n≥N .
Sebagai ilustrasi, diambil N =3, diperoleh :
matriks arus komoditas , matriks jarak ,
dan matriks biaya
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 33 32 31 23 22 21 13 12 11 F F F F F F F F F F ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 33 32 31 23 22 21 13 12 11 D D D D D D D D D D ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 33 32 31 23 22 21 13 12 11 C C C C C C C C C C = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 3333 3332 3331 3233 3232 3231 3133 3132 3131 3323 3322 3321 3223 3222 3221 3123 3122 3121 3313 3312 3311 3213 3212 3211 3113 3112 3111 2333 2322 2331 2233 2232 2231 2133 2132 2131 2323 2322 2321 2223 2222 2221 2123 2122 2121 2313 2312 2311 2213 2212 2211 2113 2112 2111 1333 1332 1331 1233 1232 1231 1133 1132 1131 1323 1322 1321 1223 1222 1221 1123 1122 1121 1313 1312 1311 1213 1212 1211 1113 1112 1111 C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C .
Perhatikan bahwa suatu penugasan hanya boleh dilakukan dari satu fasilitas ke satu lokasi. Sehingga pada matriks sub blok Cij, misal
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 2233 2232 2231 2223 2222 2221 2213 2212 2211 22 C C C C C C C C C C , 21 21 2211 F .D
C = = f(2,1).d(2,1) berarti terdapat biaya transportasi antara fasilitas 2 dan fasilitas 1, berupa penugasan fasilitas 2 ke lokasi 2 dan fasilitas 1 ke lokasi 1. Hal ini bermakna sebab penugasan dilakukan dari satu fasilitas ke satu lokasi.
Sedangkan pada C2212 =F21.D22 = f(2,1).d(2,2), berarti biaya transportasi antara fasilitas 2 dan fasilitas 1, berupa penugasan fasilitas 2 ke lokasi 2 dan fasilitas 1 ke lokasi 2, menjadi tidak bermakna, sebab terdapat penugasan dari satu fasilitas ke dua lokasi berbeda. Sehingga dapat dihilangkan dari matriks C. Demikian juga dengan beberapa entri dari matriks C yang tidak bermakna, juga dihilangkan dari matriks C.
2212 C
Secara umum, agar Cijkj =FijDjj mempunyai makna, maka i harus sama dengan k, secara sama agar Cijin =FiiDjn mempunyai makna, maka j harus sama dengan n. Yaitu agar satu fasilitas dapat ditugaskan ke hanya satu lokasi.
Sehingga diperoleh matriks C yang lebih bermakna, setelah beberapa entri tidak bermakna dihilangkan, yang ditandai dengan *.
C = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 3333 3232 3131 3322 3321 3223 3221 3123 3122 3312 3311 3213 3211 3113 3112 2322 2331 2233 2231 2133 2132 2323 2222 2121 2312 2311 2213 2211 2113 2112 1332 1331 1233 1231 1133 1132 1322 1321 1223 1221 1123 1122 1213 1212 1111 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C (1)
= ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 33 33 22 33 11 33 32 32 31 32 23 32 21 32 13 32 12 32 32 31 31 31 23 31 21 31 13 31 12 31 32 23 31 23 23 23 21 23 13 23 12 23 33 22 22 22 11 22 32 21 31 21 23 21 21 21 13 21 12 21 32 13 31 13 23 13 21 13 13 13 12 13 32 12 31 12 23 12 21 12 13 12 12 12 33 11 22 11 11 11 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F . (2)
Berikut ini didefinisikan matriks biaya linear, L berukuran N×N, dengan
Lij =Cijij =FiiDjj, i, j≤ N
yaitu biaya menempatkan fasilitas i ke lokasi j.
Disebut biaya “linear”, sebab hanya satu fasilitas yang ditugaskan ke suatu lokasi. Ketika dua fasilitas secara bersamaan ditugaskan ke lokasi yang berbeda, maka biaya yang berkaitan disebut dengan biaya “quadratic”.
Sebagai ilustrasi matriks biaya linear pada N =3 yang telah dijabarkan sebelumnya, . (3) ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 33 33 22 33 11 33 33 22 22 22 11 22 33 11 22 11 11 11 D F D F D F D F D F D F D F D F D F L
Dengan F22D33 bermakna biaya transportasi penugasan dari fasilitas 2 ke lokasi 3.
4. Metode Reduksi Ukuran
Pada bagian ini akan dibahas mengenai metode memperkecil ukuran matriks biaya C, yang diharapkan dapat mempersingkat jalannya penyelesaian masalah QAP, yaitu metode reduksi ukuran. Untuk mempermudah pemahaman dan penyampaian, diambil . Yang diharapkan dapat memberi gambaran dari teorema berikutnya yang masih berupa suatu conjecture.
3 = N
Diberikan matriks arus komoditas , matriks jarak
, dan matriks biaya
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 33 32 31 23 22 21 13 12 11 F F F F F F F F F F ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 33 32 31 23 22 21 13 12 11 D D D D D D D D D D ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 33 32 31 23 22 21 13 12 11 C C C C C C C C C
C yang secara lengkap
seperti pada (1) dan (2).
Diasumsikan matriks arus, F, berukuran N×Nmerupakan suatu matriks simetri, matriks jarak, D, berukuran N×Njuga merupakan matriks simetri, Fii =0
atau Djj =0, untuk setiap i, j≤N. Diasumsikan pula penugasan awal adalah penugasan dari fasilitas 1 ke lokasi 1, yang berakibat
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 33 32 23 22 11 * * * * C C C C C C ,
yaitu C12 =F1kD2n , k,n∈B+dan k,n≤3, berupa biaya transportasi penugasan dari fasilitas 1 ke lokasi 2 dan dari fasilitas k ke lokasi n menjadi tidak bermakna. Demikian
pula dengan C13,C21,C31. Sehingga dapat dihilangkan dari matriks, ditandai dengan *. Perhatikan sub blok matriks
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1133 1132 1131 1123 1122 1121 1113 1112 1111 11 C C C C C C C C C C , berupa biaya
transportasi penugasan dari fasilitas 1 ke lokasi 1 dan dari fasilitas 1 ke lokasi 2, yaitu terdapat penugasan dari satu fasilitas ke dua lokasi yang berbeda, sehingga menjadi tidak bermakna dan dapat dihilangkan dari matriks, ditandai dengan *. Demikian pula dengan , , dan dapat dihilangkan dari matriks. Sehingga diperoleh ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 13 13 12 13 11 13 13 12 12 12 11 12 13 11 12 11 11 11 D F D F D F D F D F D F D F D F D F 12 11D F 12 11D F 13 11D F F12D11 F13D11 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1133 1132 1123 1122 1111 11 * * * * C C C C C C ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 13 13 12 13 13 12 12 12 11 11 * * * * D F D F D F D F D F .
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 2233 2222 2211 22 * * * * * * C C C C ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 23 23 22 22 21 21 * * * * * * D F D F D F , ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = * * * * * * 2332 2323 2311 23 C C C C ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = * * * * * * 32 23 33 22 31 21 D F D F D F , ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = * * * * * * 3232 3222 3211 32 C C C C ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = * * * * * * 22 33 22 32 21 31 D F D F D F , dan ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 3333 3322 3311 33 * * * * * * C C C C ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 33 33 32 32 31 31 * * * * * * D F D F D F .
Secara keseluruhan matriks biaya C menjadi
C = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 3333 3232 3322 3222 3311 3211 2322 2233 2323 2222 2311 2211 1133 1132 1123 1122 1111 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * C C C C C C C C C C C C C C C C C = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 33 33 22 33 32 32 22 32 31 31 21 31 32 23 23 23 33 22 22 22 31 21 21 21 13 13 12 13 13 12 12 12 11 11 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F D F .
Karena penugasan awal adalah dari fasilitas 1 ke lokasi 1, maka di dalam literatur QAP disebut menjadi ‘superleader’. Sedangkan entri‐entri yang lain pada matriks biaya menjadi entri pada matriks biaya linear yang berukuran
= . Namakan dengan adalah total biaya
penugasan dari fasilitas 2 ke lokasi 2, adalah total biaya penugasan dari fasilitas 2 ke lokasi 3, adalah total biaya penugasan dari fasilitas 3 ke lokasi 2, dan adalah total biaya penugasan dari fasilitas 3 ke lokasi 3.
11 11 1111 F D C = ' L ) 1 ( ) 1 (N − × N− 2×2 ⎥⎦ ⎤ ⎢⎣ ⎡ = 22 21 12 11 ' ' ' ' ' L L L L L L'11 12 ' L 21 ' L L'22 Sehingga diperoleh 22 22 21 21 12 12 11 ' F D F D F D L = + + , 33 22 31 21 13 12 12 ' F D F D F D L = + + , 22 33 21 31 12 13 21 ' F D F D F D L = + + , dan 33 33 31 31 13 13 22 ' F D F D F D L = + + .
Yaitu matriks biaya linear
⎥⎦ ⎤ ⎢⎣ ⎡ = 22 21 12 11 ' ' ' ' ' L L L L L = ⎥. ⎦ ⎤ ⎢ ⎣ ⎡ + + + + + + + + 33 33 31 31 13 13 22 33 21 31 12 13 33 22 31 21 13 12 22 22 21 21 12 12 D F D F D F D F D F D F D F D F D F D F D F D F
Pada matriks L', entri adalah biaya‐biaya dari penugasan fasilitas 1 ke lokasi 1 dan dari fasilitas i ke lokasi j dengan
) 1 ( ), 1 ( 'i− j− L 3 ,
2≤i j≤N = . Hal ini hampir sama dengan definisi matriks biaya linear original, dengan menotasikan biaya transportasi penugasan fasilitas i ke lokasi j . Namun dalam maslah ini ditambahkan biaya transportasi penugasan dari fasilitas 1 ke lokasi 1 yang sudah termasuk di dalam matriks biaya linear
ij
L
' L .
Perhatikan entri‐entri matriks biaya linear L',
jj ii j i j i j i F D F D F D
L'( −1),( −1)= 1 1 + 1 1+ , 2≤i, j≤N =3. Berdasarkan asumsi di awal, yaitu
F dan D matriks‐matriks simetri, sehingga berlaku Fi1Dj1=F1iD1j dan asumsi bahwa
atau
0 = ii
F Djj =0, sehingga berlaku FiiDjj =0. Sehingga .
Berdasrkan hal tersebut, jika diambil
j i j i F D L'( −1),( −1)=2 1 1 i i i F F'(−1),(−1)=2 1 dan D'(j−1),(j−1)=D1j,
entri lain pada F’ dan D’ ditentukan dengan elemen‐elemen pada matriks biaya C, karena elemen‐elemen tersebut harus masuk di dalam matriks biaya yang baru, C’.
Diperoleh ⎥ dan . ⎦ ⎤ ⎢ ⎣ ⎡ = 13 32 23 12 2 2 ' F F F F F ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = 13 32 23 12 ' D D D D D
Teorema. (Conjecture, Choi [4]) Jika suatu masalah QAP berukuran memenuhi dua kondisi berikut:
N N×
(i) matriks arus (F) dan matriks jarak (D) adalah matriks‐matriks simetris, (ii) FiiDjj =0 dipenuhi jika Fii =0 atau Djj =0, untuk setiap i, j≤N,
maka ukuran masalah QAP dapat direduksi menjadi (N −1)×(N −1).
5. Simpulan dan Saran Simpulan:
1. Metode reduksi ukuran hanya memperkecil ukuran matriks dari menjadi N N× ) 1 ( ) 1 (N− × N− .
2. Jika diambil penugasan awal adalah menugaskan N fasilitas ke N lokasi , maka masalah QAP menjadi menugaskan
N
) 1
(N− fasilitas ke lokasi, tepatnya jika menugaskan fasilitas 1, 2, …, N ke lokasi 1, 2, …, N menjadi menugaskan fasilitas 2, 3, …, N ke lokasi 2, 3, …, N.
) 1 (N−
3. Jika diasumsikan F dan D matriks‐matriks simetri, sehingga berlaku
dan asumsi bahwa
j i j
i D F D
F1 1 = 1 1 Fii =0 atau Djj =0, sehingga berlaku
, maka metode reduksi ukuran dapat digeneralisasi seperti pada Teorema, yaitu suatu fasilitas dapat ditugaskan ke sebarang lokasi.
0 = jj iiD F Saran:
Paper ini masih terbatas pada N =3, belum diperumum dan belum menggunakan program komputer, sehingga pembaca dapat membahas untuk N yang tidak tertentu sehingga dapat membuktikan conjecture yang ada, serta dapat menggunakan program komputer sehingga dapat melakukan simulasi.
Daftar Pustaka
[1] Hahn, P. and Grant, T., 1998, “Lower Bounds for the Quadratic Assignment Problem Based Upon a Dual Formulation”, Opertaion Research, Vol. 46, No. 6.
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.78.3796
diakses pada tanggal 3 Desember 2008.
[2] Hahn, P., Grant, T., and Hall, N., 1998, “A Branch‐and‐Bound Algorithm for the Quadratic Assignment Problem Based on the Hungarian Method”, European Journal of Operational Research.
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.6527
diakses pada tanggal 3 Desember 2008.
[3] Hahn, P., Hightower, W., Johnson, T., Spielberg, M.G., and Roucairol, C., 2001, “Tree Elaboration Strategies in Branch‐and‐Bound Algorithms for solving the Quadratic Assignment Problem”, Yugoslav Journal of Opertaion Research, Vol. 11, No. 1.
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.283
diakses pada tanggal 3 Desember 2008.
[4] Choi, D., 2003, “Quadratic Assignment Problems (QAP) and its Size Reduction Method”, Math Journal, Vol. 4, No. 1.
http://www.rose‐hulman.edu/mathjournal/archives/2003/vol4‐n1/paper/v4n1‐ 7pd.pdf
diakses pada tanggal 3 Desember 2008.