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
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
batasan yang berupa persamaan dan pertidaksamaan linier juga.
Program linear dapat di fomulasikan sebagai berikut :
• Maksimalkan cTx
• Dengan batasan-batasan : •
Ax ≤
b
•
x
≥
0
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
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
P
=
{
p
1,
p
2,
…
,
p
P}
sebagaiP
prosesor danT
=
{
t
1,
t
2,
…
,
t
T}
sebagaiT
modul program yang ditetapkan untuk tiapprosesor. Kemudian
(
t
T
p
P
)
q
tp=
1
,
…
,
,
=
1
,
…
,
sebagai execution cost dari modult
pada prosesorp
dan(
t
t
T
t
t
p
p
P
)
c
tpt'p',
'
=
1
,
…
,
,
≠
,'
,
'
=
1
,
…
,
sebagai communication cost yang terjadi ketika modult
dan't
masing – masing ditetapkan untuk prosesorp
danp
'
. Nilaiq
tp danc
tpt' p' dapat bernilai positif atau negatif.Formulasi metematika dari CMAP dapat dipertimbangkan dengan membuat variabel vektor
x
=
( )
x
(
t
=
1
,
…
,
T
;
p
=
1
,
…
,
P
)
dimana
x
tp sama dengan 1 jika modult
dialokasikan untuk prosesorp
yang bernilai 0 dan sebaliknya.MAPNU dapat diformulasikan sebagai permasalahan quadratic 0-1 :
(
)
( )
∑∑
∑ ∑ ∑∑
− = =+ = = = = + = 1 1 ' 1 1 '1 ' ' ' ' 1 1 min : 01 T t T t t P p P p p t tp p tpt T t P p tp tpx c x x q x F Q (1) Batasan.:∑
==
P p tpx
11
t
=
1
,
…
,
T
(2) P Tx
×∈
{
0
,
1
}
Batasan (2) menandakan bahwa setiap modul
t
dialokasikan tepat untuk satu prosesor. Bagian pertama dari fungsi objective (1) adalah totalexecution 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
(
Q
01
)
. Algoritma yang digunakan untuk penyelesaian penurunan rumus ini adalah DAMATH yang telah terbukti optimal.3.2.1 Tahap Penurunan Rumus
Diketahui
( )
D
sebagai linear problem :( )
∑
= T t tD
1max
:
λ
batasan : tp tp T t t tp t t t tp t t−
∑
−
∑
+
v =
q
+ = − = ' 1 ' 1 1 ' 'β
β
λ
P
p
T
t
=
1
,
…
,
;
=
1
,
…
,
' ' ' ' ' ' 'p ttp tptp tptp tt+
β
+
δ
=
c
β
P
p
p
T
t
t
'
;
,
'
1
,
,
1
≤
<
≤
=
…
0
,
0
≥
≥
δ
v
( )
D
v
memiliki nilai optimal. Berdasarkan hasil pembuktian bahwa solusi optimal lainnya untuk( )
D
menetapkan atau mempengaruhi penurunan dari(
Q
01
)
.Hasil penurunan rumus diatas selanjutnya digunakan untuk menggantikan fungsi obyektif
( )
x
( ) ( )
(
tp tp)
T t T t P p T t P p tp P p p t tp tpt u x x u x x x F x F ⎟⎟+ − ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − + =∑∑∑
∑
∑∑
= = = = = = 2 1 '1 1 1 1 * 1 ' ' ' * ' 1 * * α αdidapatkan nilai penurunan problem
(
Q01
r)
sama dengan(
Q
01
)
. Untuk ke tahap selanjutnya akan digunakan v.( )
( )
∑
∑
∑∑ ∑ ∑
= − = = =+ = = + + = T t T t P p T t t P p p t tp p tpt P p tp tpx x x v D v x F 1 1 1 1' 1 '1 ' ' ' ' 1 δ (3) 3.2.2 Fase MILPPada teknik linear telah diinisialisasi oleh Glover [7]. Metode ini telah digunakan untuk contoh pada [3] untuk masalah quadratic knapsack. Ide utama, digunakan untuk problem
(
Q01
)
r untuk menggantikan persamaan⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
∑ ∑
+ = = T t t P p p t tp p tptx
x
1 ' '1 ' ' ' 'δ
dengan variable uniktp
h
, dimanat
=
1
,
…
,
T
−
1
;
p
=
1
,
…
,
P
. Misalkanφ
menunjukkan vektorT ×
P
dimana
∑
(
)
+ = ==
T t t p tpt p p tp 1 ' ' ' .. 1 'max
δ
φ
dan misal( )
L
φ digunakan untuk mixed integer linear problem:( )
(
)
( )
∑
∑
∑∑
= − = = = + + = Δ T t T t P p tp P p tp tpx h v D v h x L 1 1 1 1 1 , min : φ Batasan :1
1=
∑
= P p tpx
t
=
1
,
…
,
T
(
tp)
tp T t t P p p t p tpt tpx
x
h
≥
∑ ∑
−
−
+ = =1
1 ' '1 ' ' ' 'φ
δ
P
p
T
t
=
1
,
…
,
−
1
;
=
1
,
…
,
(4)0
≥
tph
P
p
T
t
=
1
,
…
,
−
1
;
=
1
,
…
,
(5)}
1
,
0
{
∈
tpx
P
p
T
t
=
1
,
…
,
;
=
1
,
…
,
Tiap solusi optimal
x~
untuk(
Q01
)
rdimungkinkan untuk memperolehsolusi optimal
( )
x
~
,
h
~
dari( )
L
φ dengan∑ ∑
+ = ==
T t t P p p t tp p tptx
x
h
1 ' ' 1 ' ' ' '~
δ
.Jika~
x
tp=
1
, tph
~
memenuhi nilai paling rendah untuk batasan(4). Jika
~
x
tp=
0
, dengan definisi dariφ
tp, batasan (4) dipengaruhi oleh batasan tidak negative. Oleh karena itu, problem( )
L
φ ,(
Q01
)
r,(
Q
01
)
, memiliki nilai optimalyang sama.
3.3 Metode Quadratic Programming
Metode ini terdiri dari 2 tahap, tahap pertama ditujukan untuk merubah fungsi tujuan
(
Q
01
)
menjadi fungsi kuadrat konveks. Dimana dengan merubah fungsi tujuan ini akan menghasilkan formula baru yang memilikitractable 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 t t P p P p p tpt p tpt T t P p tp tpx
c
X
q
Dengan batasan : tp P p p tptx
X
∑
==
1 ' ' ' t = 1,...,T t’ = 1,...,T p = 1,...,P tp tptpx
X
=
t = 1,...,T p = 1,...,PX adalah matriks simetris (T x P). (SD) dapat dianggap sebagai bagian relaksasi progaram semidefinit dari
(
Q
01
)
. 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 :(
CQ
01
)
: minimalkan (6) Dengan batasan∑
==
P p tpx
11
t
=
1
,
…
,
T
x
T×P∈
{
0
,
1
}
Problem(
CQ
01
)
sama dengan(
Q
01
)
.Fungsi
F
α*,u*adalah convex, nilai optimal dari(
CQ
01
)
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
q
tp danc
tpt' p' adalah hasil dari pembangkitan acak antara interval [-50,50]. Data ini berisi sejumlah task, sejumlah prosesor dan koefisienq
tp danc
tpt' p'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 Instance T P Optimal SD Gap(%) CPU(s)
Tassnu 15-5-1 15 5 -1980 -2362 19 8 Tassnu 15-5-2 15 5 -1568 -2155 36 23 Tassnu 15-5-3 15 5 -1892 -2431 27 16 Rata-rata -2316 27.333 15.67 Tassnu 15-5-1 18 4 -2135 -2657 24 25 Tassnu 15-5-2 18 4 -1936 -2358 22 33 Tassnu 15-5-3 18 4 -2300 -2741 15 16 Rata-rata -2585 20.333 24.67 Tassnu 15-5-1 20 5 -2585 -3561 38 320 Tassnu 15-5-2 20 5 -25811 -3781 46 390 Tassnu 15-5-3 20 5 -2511 -3529 26 755 Rata-rata -3624 36.667 488.3
Instance T P Optimal V(D) Gap(%) CPU(s) Tassnu 15-5-1 15 5 -1980 -2946 48 13 Tassnu 15-5-2 15 5 -1568 -2755 76 19 Tassnu 15-5-3 15 5 -1892 -2946 56 24 Rata-rata -2882 60 18.67 Tassnu 15-5-1 18 4 -2135 -3650 71 50 Tassnu 15-5-2 18 4 -1936 -3459 79 38 Tassnu 15-5-3 18 4 -2300 -3759 63 13 Rata-rata -3623 71 33.67 Tassnu 15-5-1 20 5 -2585 -5040 95 1672 Tassnu 15-5-2 20 5 -25811 -5155 99 1487 Tassnu 15-5-3 20 5 -2511 -4981 77 1765 Rata-rata -5058 90.333 1641
metode mempunyai biaya komputasi yang berbeda.
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_Programm ing>.
Wikipedia. Convex Optimization. [Online], Available at :
<http://en.wikipedia.org/wiki/Convex_optimizat ion>.
Wikipedia. Quadratic Programming. [Online], Available at :
<http://en.wikipedia.org/wiki/Quadratic_progra mming>.