• Tidak ada hasil yang ditemukan

PEMROGRAMAN LINIER VERSUS PEMROGRAMAN KUADRATIK KONVEKS

N/A
N/A
Protected

Academic year: 2021

Membagikan "PEMROGRAMAN LINIER VERSUS PEMROGRAMAN KUADRATIK KONVEKS"

Copied!
6
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

}

sebagai

P

prosesor dan

T

=

{

t

1

,

t

2

,

,

t

T

}

sebagai

T

modul program yang ditetapkan untuk tiap

prosesor. Kemudian

(

t

T

p

P

)

q

tp

=

1

,

,

,

=

1

,

,

sebagai execution cost dari modul

t

pada prosesor

p

dan

(

t

t

T

t

t

p

p

P

)

c

tpt'p'

,

'

=

1

,

,

,

,'

,

'

=

1

,

,

sebagai communication cost yang terjadi ketika modul

t

dan

't

masing – masing ditetapkan untuk prosesor

p

dan

p

'

. Nilai

q

tp dan

c

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 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 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 tp

x

1

1

t

=

1

,

,

T

(2) P T

x

×

{

0

,

1

}

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

(

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 t

D

1

max

:

λ

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

(4)

( ) ( )

(

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 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

(

Q01

)

r untuk menggantikan persamaan

⎟

⎟

⎠

⎞

⎜

⎜

⎝

⎛

∑ ∑

+ = = T t t P p p t tp p tpt

x

x

1 ' '1 ' ' ' '

δ

dengan variable unik

tp

h

, dimana

t

=

1

,

,

T

1

;

p

=

1

,

,

P

. Misalkan

φ

menunjukkan vektor

T ×

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 tp

x

t

=

1

,

,

T

(

tp

)

tp T t t P p p t p tpt tp

x

x

h

∑ ∑

+ = =

1

1 ' '1 ' ' ' '

φ

δ

P

p

T

t

=

1

,

,

1

;

=

1

,

,

(4)

0

tp

h

P

p

T

t

=

1

,

,

1

;

=

1

,

,

(5)

}

1

,

0

{

tp

x

P

p

T

t

=

1

,

,

;

=

1

,

,

Tiap solusi optimal

x~

untuk

(

Q01

)

rdimungkinkan untuk memperoleh

solusi optimal

( )

x

~

,

h

~

dari

( )

L

φ dengan

∑ ∑

+ = =

=

T t t P p p t tp p tpt

x

x

h

1 ' ' 1 ' ' ' '

~

δ

.Jika

~

x

tp

=

1

, tp

h

~

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 optimal

yang 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 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 t t P p P p p tpt p tpt T t P p tp tp

x

c

X

q

Dengan batasan : tp P p p tpt

x

X

=

=

1 ' ' ' t = 1,...,T t’ = 1,...,T p = 1,...,P tp tptp

x

X

=

t = 1,...,T p = 1,...,P

X 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 tp

x

1

1

t

=

1

,

,

T

x

T×P

{

0

,

1

}

Problem

(

CQ

01

)

sama dengan

(

Q

01

)

.

(5)

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 dan

c

tpt' p' adalah hasil dari pembangkitan acak antara interval [-50,50]. Data ini berisi sejumlah task, sejumlah prosesor dan koefisien

q

tp dan

c

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

(6)

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>.

Gambar

Tabel  2.  Solusi  eksak  dari  instance  dengan  Quadratik Programming

Referensi

Dokumen terkait

meniru adalah suatu proses melakukan tindakan maupun aksi (atensional, retensi, reproduksi dan motivasi) seperti yang dilakukan oleh model berupa video game

Skripsi yang berjudul “Pengaruh Insentif Material dan Insentif Non Material Terhadap Semangat Kerja Karyawan Karita Mosle m Square Surabaya” ini merupakan hasil

Berdasarkan hasil tersebut, peneliti menyarankan perlu diadakan penelitian lebih rinci berdasarkan indikator-indikator yang ada, perlu diadakan penelitian lebih lanjut

Untuk mengungkap persoalan tersebut secara menyeluruh dan mendalam, maka penelitian skripsi ini menggunakan pendekatan kualitatif dan jenis metode penelitian berupa analisis

kekerasan dalam video game dengan perilaku agresif siswa kelas VIII SMP.. Negeri I Suruh

Secara umum, hasil penelitian menunjukkan bahwa pelaksanaan pendidikan pemustaka efektif dalam peningkatan pengetahuan dalam pemanfaatan perpustakaan bagi peserta

Sebaliknya siswa yang memiliki persepsi negatif terhadap gaya kepemimpinan guru akan mengakibatkan siswa menjadi malas untuk mengikuti kegiatan pembelajaran di kelas dan

Antara lain penambahan dua mata kuliah MKPB ( lihat bagian III ), dan mengusulkan ke Jurusan untuk meninjau kembali mata kuliah Statistika Matematika II bagi program