SISFO-Jurnal Sistem Informasi 49 PEMROGRAMAN LINIER VERSUS PEMROGRAMAN KUADRATIK KONVEKS Wiwik Anggraeni Jurusan Sistem Informasi Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Kampus ITS Sukolilo, Surabaya, 60111 E-mail : [email protected]Abstrak Dengan adanya kemajuan yang pesat di dalam Very-Large-Scale Integration (VLSI) , dalam beberapa tahun terakhir telah berkembang suatu sistem komputasi terdistribusi. Salah satu permasalahan yang dihadapi sistem komputasi tersebut adalah masalah pengalokasian modul program, atau biasa disebut dengan Module Allocation with Non-Uniform communication cost(MAPNU) yaitu bagaimana menempatkan sebuah modul program ke sebuah prosesor sehingga total biaya eksekusi dan komunikasi antar prosesor adalah minimum. Permasalahan ini secara alami diformulasikan sebagai permasalahan kuadratik 0-1 dengan batasan linear. Dalam tulisan ini, diperbandingkan dua metode solusi untuk permasalahan ini. Metode pertama berdasarkan pemrograman linear (Mixed Integer Linear Programming). Yang kedua, menggunakan pemrograman kuadratik (Mixed Integer Quadratic Programming). Kedua metode tersebut dapat diterapkan dengan menggunakan perangkat lunak optimasi yang ada. Setiap metode dijelaskan dan dilakukan perbandingan komputasional antar metode dalam menyelesaikan masalah MAPNU. Percobaan dilakukan dengan jumlah instance ang berbeda-dengan dengan jumlah prosesor serta task yang bervariasi. Dari beberapa kali ujicoba ditunjukkan bahwa ternyata metode pemrograman kuadratik mempunyai hasil lebih optimal 32.6% dibanding prmrograman linier. Kata kunci : VLSI, MAPNU, pemrogrman linier, pemrograman kuadratik, konveks 1. PENDAHULUAN Very-Large-Scale Integration (VLSI) adalah proses untuk membuat sebuah rangkaian terpadu dengan mengkombinasikan ribuan rangkaian transistor kedalam satu chip. Mikroprosesor komputer adalah sebuah contoh VLSI. Dengan adanya kemajuan teknologi, VLSI tidak lagi sebuah chip yang menampung ribuan rangkaian transistor, tetapi sudah mencapai ratusan juta transistor dalam setiap chipnya. Dengan adanya kemajuan yang pesat di dalam VLSI tersebut, dalam beberapa tahun terakhir telah berkembang suatu sistem komputasi terdistribusi. Salah satu permasalahan yang dihadapi sistem komputasi tersebut adalah masalah pengalokasian modul program, yaitu bagaimana menempatkan sebuah modul program ke sebuah prosesor sehingga total biaya eksekusi dan komunikasi antar prosesor adalah minimum. Beberapa penyelesaian permasalahan ini telah dipertimbangkan dengan asumsi yang berbeda berdasarkan arsitektur dari sistem terdistribusi atau struktur dari biaya dan solusi yang mungkin dilakukan. Dalam tulisan ini, permasalahan yang diangkat adalah MAPNU (Module Allocation Program with Non-Uniform communication cost), program pengalokasian modul dengan biaya komunikasi non-uniform, Dalam permasalahan ini, tidak ada asumsi istimewa dibuat untuk biaya komunikasi dan eksekusi, dan tidak ada batasan kapasitas yang menjadi pertimbangan. MAPNU secara alami diformulasikan sebagai permasalahan kuadratik 0-1 dengan batasan linear, Permasalahan ini dikenal juga dalam literatur sebagai permasalahan kuadratik semiassignment. Dalam tulisan ini, diperbandingan dua metode solusi untuk mengatasi permasalahan tersebut. 2. PEMROGRAMAN LINIER VS PEMROGRAMAN KUADRATIK 2.1 Pemrograman Linier Di dalam matematika, Linear Programing (LP) digunakan untuk menyelesaikan permasalahan optimasi dengan fungsi tujuan yang linier serta
6
Embed
PEMROGRAMAN LINIER VERSUS PEMROGRAMAN …si.its.ac.id/data/sisfo_data/files/7_vol1no2.pdf · atau biasa disebut dengan Module Allocation with Non-Uniform communication cost (MAPNU
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
SISFO-Jurnal Sistem Informasi
49
PEMROGRAMAN LINIER VERSUS PEMROGRAMAN KUADRATIK KONVEKS
Wiwik Anggraeni
Jurusan Sistem Informasi Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember
Dengan adanya kemajuan yang pesat di dalam Very-Large-Scale Integration (VLSI) , dalam beberapa tahun terakhir telah berkembang suatu sistem komputasi terdistribusi. Salah satu permasalahan yang dihadapi sistem komputasi tersebut adalah masalah pengalokasian modul program, atau biasa disebut dengan Module Allocation with Non-Uniform communication cost(MAPNU) yaitu bagaimana menempatkan sebuah modul program ke sebuah prosesor sehingga total biaya eksekusi dan komunikasi antar prosesor adalah minimum.
Permasalahan ini secara alami diformulasikan sebagai permasalahan kuadratik 0-1 dengan batasan linear. Dalam tulisan ini, diperbandingkan dua metode solusi untuk permasalahan ini. Metode pertama berdasarkan pemrograman linear (Mixed Integer Linear Programming). Yang kedua, menggunakan pemrograman kuadratik (Mixed Integer Quadratic Programming). Kedua metode tersebut dapat diterapkan dengan menggunakan perangkat lunak optimasi yang ada. Setiap metode dijelaskan dan dilakukan perbandingan komputasional antar metode dalam menyelesaikan masalah MAPNU.
Percobaan dilakukan dengan jumlah instance ang berbeda-dengan dengan jumlah prosesor serta task yang bervariasi. Dari beberapa kali ujicoba ditunjukkan bahwa ternyata metode pemrograman kuadratik mempunyai hasil lebih optimal 32.6% dibanding prmrograman linier.
Kata kunci : VLSI, MAPNU, pemrogrman linier, pemrograman kuadratik, konveks
1. PENDAHULUAN
Very-Large-Scale Integration (VLSI) adalah proses untuk membuat sebuah rangkaian terpadu dengan mengkombinasikan ribuan rangkaian transistor kedalam satu chip. Mikroprosesor komputer adalah sebuah contoh VLSI. Dengan adanya kemajuan teknologi, VLSI tidak lagi sebuah chip yang menampung ribuan rangkaian transistor, tetapi sudah mencapai ratusan juta transistor dalam setiap chipnya.
Dengan adanya kemajuan yang pesat di dalam VLSI tersebut, dalam beberapa tahun terakhir telah berkembang suatu sistem komputasi terdistribusi. Salah satu permasalahan yang dihadapi sistem komputasi tersebut adalah masalah pengalokasian modul program, yaitu bagaimana menempatkan sebuah modul program ke sebuah prosesor sehingga total biaya eksekusi dan komunikasi antar prosesor adalah minimum.
Beberapa penyelesaian permasalahan ini telah dipertimbangkan dengan asumsi yang berbeda berdasarkan arsitektur dari sistem terdistribusi atau struktur dari biaya dan solusi yang mungkin dilakukan. Dalam tulisan ini, permasalahan yang
diangkat adalah MAPNU (Module Allocation Program with Non-Uniform communication cost), program pengalokasian modul dengan biaya komunikasi non-uniform, Dalam permasalahan ini, tidak ada asumsi istimewa dibuat untuk biaya komunikasi dan eksekusi, dan tidak ada batasan kapasitas yang menjadi pertimbangan.
MAPNU secara alami diformulasikan sebagai permasalahan kuadratik 0-1 dengan batasan linear, Permasalahan ini dikenal juga dalam literatur sebagai permasalahan kuadratik semiassignment. Dalam tulisan ini, diperbandingan dua metode solusi untuk mengatasi permasalahan tersebut.
2. PEMROGRAMAN LINIER VS PEMROGRAMAN KUADRATIK
2.1 Pemrograman Linier
Di dalam matematika, Linear Programing (LP) digunakan untuk menyelesaikan permasalahan optimasi dengan fungsi tujuan yang linier serta
SISFO-Jurnal Sistem Informasi
50
batasan yang berupa persamaan dan pertidaksamaan linier juga.
Program linear dapat di fomulasikan sebagai berikut :
• Maksimalkan cTx • Dengan batasan-batasan :
• bAx ≤ • 0≥x
Dengan x mewakili vektor variabel, c dan b merupakan vektor koefisien sedangkan A adalah matriks koefisien.
Pemrograman linier (Linear Programming) memegang peranan penting dalam masalah optimasi, banyak permasalahan praktikal dalam riset operasi yang dapat di ekspresikan sebagai permasalahan program linier.
Terdapat kasus-kasus khusus di dalam pemrograman linier (linear programming) seperti network flow problems dan multicommodity flow problems yang telah melahirkan banyak algoritma penting di dunia komputasi matematika seperti algoritma duality, dekomposisi, dan algoritma konveksitas.
2.1.1 Formulasi Standar
Formulasi standar adalah formulasi matematis yang sering digunakan untuk mengekspresikan permasalahan program linear, formulasi standar ini terdiri atas 3 bagian, yaitu:
• Variabel Keputusan
Variabel keputusan biasanya mewakili apa yang ingin kita tentukan.
• Fungsi Tujuan
Memaksimalkan
• Batasan, biasanya di formulasikan sebagai berikut
o
o
o Batasan Non-Negatif
o
o Biasanya, permasalahan yang kita punyai diubah terlebih dulu dalam bentuk matriks menjadi sebagai berikut :
o Maksimalkan
o Dengan batasan
Formulasi lain seperti permasalahan minimasi ataupun permasalahan yang melibatkan variable negatif selalu dapat ditulis ulang dalam bentuk formulasi standar.
2.2 Optimasi Konveks
Optimasi konveks adalah bagian dari matematika konveks, diberikan vector ruang X dengan fungsi
Definisikan sebagai subset konveks dari X, maka permasalahan ini ditujukan untuk mencari titik didalam dimana akan menghasilkan
terkecil.
2.2.1. Formulasi Standar
Formulasi standar adalah formulasi matematis yang sering digunakan untuk mengekspresikan permasalahan optimasi konveks
• Fungsi konveks akan diminimalkan terhadap x
• Batasan pertidaksamaan ,
dimana adalah konveks
• Batasan persamaan hi(x) = 0, dimana h bersifat affine, didalam prakteknya linear dan affine adalah equivalen dan sering dtuliskan sebagai dengan adalah matriks dan adalah vector
Sehingga permasalahan optimasi konveks dapat dtuliskan sebagai berikut:
o Minimalkan
o Dengan batasan
2.3 Pemrograman Kuadratik (Quadratic
Programing)
Quadratic programming (QP) adalah tipe special dari permasalahan optimasi matematika, permasalahan ini dapt diformulasikan sebagai berikut
SISFO-Jurnal Sistem Informasi
51
Asumsikan x terdapat pada ruang , Q adalah matrix simetris n x n, dan c adalah sembarang vector n x 1
• Minimalkan terhadap x
• Dengan batasan :
o (pertidaksamaan)
o Ex = d (persamaan)
Dengan sebagai transpose dari vektor
Jika Q adalah matriks semidefinit positif, maka f(x) adalah fungsi yang konveks. Untuk kasus ini QP memiliki global optimizer jika setidaknya terdapat 1 vector 'x' yang memenuhi batasan. Jika Q definit positif maka QP memiliki global optimizer yang unik. Sedangakan jika Q adalah matriks 0 (zero) maka permasalahan akan berubah menjadi Linear Programing. Dari teori optimasi syarat bagi x untuk menjadi Global minimizer adalah x harus memenuhi kondisi Karush-Kuhn-Tucker (KKT). Convex Quadratic Programming adalah kasus special dari Optimasi Konveks.
3. PERANCANGAN
Pertama-tama, permasalahan MAPNU harus dimodelkan terlebih dahulu ke dalam program kuadratik 0-1 agar dapat diselesaikan oleh metode pemrograman linier dan pemrograman kuadratik. Kemudian kedua buah metode yang telah dirumuskan diselesaikan dengan menggunakan solver yaitu MILP solver untuk program linear dan MIQP solver untuk program kuadratik.
3.1 Pemodelan Permasalahan Sebagai Program Kuadratik 0-1
Diketahui },,,{ 21 PpppP …= sebagai P
prosesor dan },,,{ 21 TtttT …= sebagai T modul program yang ditetapkan untuk tiap prosesor. Kemudian
( )PpTtqtp ,,1,,,1 …… == sebagai execution cost dari modul t pada prosesor p dan
( )PppttTttc ptpt ,,1',,',,,1','' …… =≠= sebagai communication cost yang terjadi ketika modul t dan 't masing – masing ditetapkan untuk prosesor p dan 'p . Nilai tpq dan '' ptptc dapat bernilai positif atau negatif. Formulasi metematika dari CMAP dapat dipertimbangkan dengan membuat variabel vektor ( )( )PpTtxx tp ,,1;,,1 …… ===
dimana tpx sama dengan 1 jika modul t
dialokasikan untuk prosesor p yang bernilai 0 dan sebaliknya. MAPNU dapat diformulasikan sebagai permasalahan quadratic 0-1 :
( ) ( ) ∑∑∑∑∑∑−
= += = == =
+=1
1 1' 1 1'''''
1 1min:01
T
t
T
tt
P
p
P
ppttpptpt
T
t
P
ptptp xxcxqxFQ (1)
Batasan.:
∑=
=P
ptpx
11 Tt ,,1…= (2)
PTx ×∈ }1,0{ Batasan (2) menandakan bahwa setiap modul t dialokasikan tepat untuk satu prosesor. Bagian pertama dari fungsi objective (1) adalah total execution cost dan bagian kedua adalah total communication cost. 3.2 Metode Pemrograman Linier
Metode ini disusun menjadi 2 tahap. Pertama adalah operasi penurunan rumus dari ( )01Q . Algoritma yang digunakan untuk penyelesaian penurunan rumus ini adalah DAMATH yang telah terbukti optimal. 3.2.1 Tahap Penurunan Rumus
pembuktian bahwa solusi optimal lainnya untuk ( )D menetapkan atau mempengaruhi
penurunan dari ( )01Q . Hasil penurunan rumus diatas selanjutnya digunakan untuk menggantikan fungsi obyektif ( )xF dengan persamaan baru (3) , kemudian
SISFO-Jurnal Sistem Informasi
52
( ) ( ) ( )tptp
T
t
T
t
P
p
T
t
P
ptp
P
ppttptpt
u xxuxxxFxF −+⎟⎟⎠
⎞⎜⎜⎝
⎛−+= ∑∑∑ ∑∑∑
= = = = ==
2
1 1' 1 1 1
*
1'''
*' 1
**
αα
didapatkan nilai penurunan problem ( )rQ01
sama dengan ( )01Q . Untuk ke tahap selanjutnya akan digunakan v.
( ) ( ) ∑ ∑∑∑∑∑=
−
= = += ==
++=T
t
T
t
P
p
T
tt
P
ppttpptpt
P
ptptp xxxvDvxF
1
1
1 1 1' 1'''''
1δ (3)
3.2.2 Fase MILP
Pada teknik linear telah diinisialisasi oleh Glover [7]. Metode ini telah digunakan untuk contoh pada [3] untuk masalah quadratic knapsack. Ide utama, digunakan untuk problem ( )rQ01 untuk menggantikan persamaan
⎟⎟⎠
⎞⎜⎜⎝
⎛∑ ∑+= =
T
tt
P
ppttpptpt xx
1' 1'''''δ dengan variable unik
tph , dimana PpTt ,,1;1,,1 …… =−= . Misalkan φ menunjukkan vektor PT ×
dimana ( )∑+=
==
T
ttptptpptp
1'''..1'
max δφ dan misal
( )φL digunakan untuk mixed integer linear problem:
( ) ( ) ( ) ∑ ∑∑∑=
−
= ==
++=ΔT
t
T
t
P
ptp
P
ptptp hxvDvhxL
1
1
1 11,min:φ
Batasan :
11
=∑=
P
ptpx Tt ,,1…=
( )tptp
T
tt
P
pptptpttp xxh −−≥ ∑ ∑
+= =
11' 1'
'''' φδPpTt ,,1;1,,1 …… =−= (4)
0≥tph
PpTt ,,1;1,,1 …… =−= (5)
}1,0{∈tpx
PpTt ,,1;,,1 …… == Tiap solusi optimal x~ untuk ( )rQ01 dimungkinkan untuk memperoleh
solusi optimal ( )hx ~,~ dari ( )φL dengan
∑∑+= =
=T
tt
P
ppttpptpt xxh
1' 1'''''
~δ .Jika 1~ =tpx ,
tph~
memenuhi nilai paling rendah untuk batasan
(4). Jika 0~ =tpx , dengan definisi dari tpφ ,
batasan (4) dipengaruhi oleh batasan tidak negative. Oleh karena itu, problem ( )φL , ( )rQ01 , ( )01Q , memiliki nilai optimal yang sama.
3.3 Metode Quadratic Programming
Metode ini terdiri dari 2 tahap, tahap pertama ditujukan untuk merubah fungsi tujuan ( )01Q menjadi fungsi kuadrat konveks. Dimana dengan merubah fungsi tujuan ini akan menghasilkan formula baru yang memiliki tractable continuous relaxation, yang dapat diletakkan pada logaritma branch-and-bound. Algoritma yang digunakan berdasar pada referensi [2]. 3.3.1 Tahap Reformulasi
Asumsikan (SD) sebagai program semidefinit berikut :
(SD):Minimalkan
∑∑∑∑∑∑−
= += = == =
+1
1 1' 1 1'''''
1 1
T
t
T
tt
P
p
P
pptptptpt
T
t
P
ptptp Xcxq
Dengan batasan :
tp
P
pptpt xX∑
=
=1'
'' t = 1,...,T t’ = 1,...,T
p = 1,...,P
tptptp xX = t = 1,...,T p = 1,...,P
X adalah matriks simetris (T x P). (SD) dapat dianggap sebagai bagian relaksasi progaram semidefinit dari ( )01Q . Sebagaimana pada referensi [5], sembarang solusi optimal dari permasalahan dualnya akan menghasilkan formulasi konveks dari fungsi tujuan. Asumsikan ( )** ,uα adalah solusi optimal dari dual (SD). Kita dapat menghasilkan formulasi kuadratic 0-1 berikut : ( )01CQ : minimalkan
(6) Dengan batasan
∑=
=P
ptpx
11 Tt ,,1…= PTx ×∈ }1,0{
Problem ( )01CQ sama dengan ( )01Q .
SISFO-Jurnal Sistem Informasi
53
Fungsi ** ,uFα adalah convex, nilai optimal dari
( )01CQ sama dengan nilai (SD).
3.3.2 Fase MIQP
Pada fase ini dapat diselesaikan dengan algoritma branch-and-bound dimana prosesnya dapat dilakukan berdasarkan relaxation continuous.
4. UJI COBA
Data yang digunakan untuk uji coba ini diambil dari http://cedric.cnam.fr/oc/TAP/TAP.html, dimana koefisien dari tpq dan '' ptptc adalah hasil dari pembangkitan acak antara interval [-50,50]. Data ini berisi sejumlah task, sejumlah prosesor dan koefisien tpq dan '' ptptc
Untuk memecahkan masalah yang berbentuk Linear Programming (LPs), Mix Integer Linear Programming (MILPs), Mix Integer Quadratic Programming (MIQPs)
Hasil dari uji coba yang dilakukan ditunjukkan pada tabel berikut Tabel 1. Solusi eksak dari instance dengan Linear Programming
Tabel 2. Solusi eksak dari instance dengan Quadratik Programming
Tabel 1 dan 2 diatas memberikan data hasil dari dua metode pada instance yang digunakan. Tabel 1 menggunakan linear programming dan table 2 Quadratik Programming. menggunakan Pada kolom pertama, yaitu kolom instance, berisi nama instance yang digunakan. Kolom T menunjukkan jumlah dari task atau modul, kolom P menunjukkan jumlah prosesor dan kolom terakhir menunjukkan hasil nilai optimal dari instance tersebut.
Kolom gap menyatakan nilai prosentase dari selisih yang terkait dengan kolom bound v(D) pada metode yang berdasarkan Linear Programming dan kolom bound v(SD) pada metode berbasis Quadratik Programming.
Dari tabel diatas dapat diketahui bahwa selisih yang dimiliki metode berbasis Quadratik Programming lebih baik dibandingkan selisih metode berbasis linear programming.
5. SIMPULAN
1. Permasalahan MAPNU (Module Allocation Problem with Non-Uniform communication cost) dapat diselesaikan dengan metode linear programming dan Quadratic Programming dimana masing-masing
2. Metode quadratik programming lebih optimal untuk biaya komputasional dari pada metode linear programming.
3. Dilihat dari segi gap dan cpu yang dihasilkan, metode quadratik programming lebih bagus dari pada metode linear programming. Hal ini dapat dilihat dari selisih gap sebesar 32.6% dan selisih CPU sebesar 3 %
6. DAFTAR PUSTAKA
A. Billionnet and S. Elloumi. 2001. Best reduction of the quadratic semi-assignment problem. DAMATH: Discrete Applied Mathematics and Combinatorial Operations Research and Computer Science, 109:197–213, 2001.
A. Billionnet, S. Elloumi, and M.C. Plateau. 2005. Convex quadratic programming for exact solution of 0-1 quadratic programs. Technical Report 000, CEDRIC.
A. Billionnet and E. Soutif. Using a mixed integer programming tool for solving the 0-1 quadratic knapsack problem. Forthcoming in INFORMS Journal on Computing.
W. Fernandez de la Vega and M.Lamari. 2003. The task allocation problem with constant communication. Discrete Applied Mathematics, In Press.
S. Elloumi. The task assignment problem, a library of instances. [Online], Available at: <http://cedric.cnam.fr/oc/TAP/TAP.html>
Wikipedia. Very Large Scale Integration. [Online], Available at : <http://en.wikipedia.org/wiki/Very-large-scale_integration>.
Wikipedia. Linear Programming. [Online], Available at : <http://en.wikipedia.org/wiki/Linear_Programming>.
Wikipedia. Convex Optimization. [Online], Available at : <http://en.wikipedia.org/wiki/Convex_optimization>.
Wikipedia. Quadratic Programming. [Online], Available at : <http://en.wikipedia.org/wiki/Quadratic_programming>.