PERBANDINGAN METODE SEPARABLE PROGRAMMING DAN QUADRATIC PROGRAMMING DALAM PEMECAHAN MASALAH PEMROGRAMAN NONLINIER
on
E-Jurnal Matematika Vol. 8(4), November 2019, pp.277-284
DOI: https://doi.org/10.24843/MTK.2019.v08.i04.p265
ISSN: 2303-1751
PERBANDINGAN METODE SEPARABLE PROGRAMMING DAN QUADRATIC PROGRAMMING DALAM PEMECAHAN MASALAH PEMROGRAMAN NONLINIER
I Gede Wikan Adiwiguna1§, G.K. Gandhiadi2, Ni Made Asih3
-
1Program Studi Matematika, Fakultas MIPA – Universitas Udayana [Email: wikanadiwiguna@gmail.com]
-
2Program Studi Matematika, Fakultas MIPA – Universitas Udayana [Email: gandhiadi@unud.ac.id]
-
3Program Studi Matematika, Fakultas MIPA – Universitas Udayana [Email: madeasih@unud.ac.id]
§Corresponding Author
ABSTRACT
The Separable programming method solves nonlinear programming problems by transforming a nonlinear shape that consists of a single variable into a linear function and resolved by the simplex method. Meanwhile, the quadratic programming method accomplishes the two degrees nonlinear model by transforming the nonlinear shape into linear function with the Kuhn Tucker Conditions and resolved by the simplex Wolfe method. Both of these methods are applied to the Markowitz’s portfolio model, which is to find the proportion of stock funds to obtain maximum profits by combination of three shares, such as BMRI, GGRM, and ICBP. The completion using the quadratic programming method is more effective and efficient with the same optimum value.
Keywords: Markowitz’s portfolio, nonlinear programming, quadratic programming, separable programming
Pemecahan masalah optimasi dapat diselesaikan dengan pemrograman linier dan nonlinier. Semakin kompleksnya permasalahan yang ada di kehidupan nyata membuat pemecahan masalah optimasi seringkali merupakan masalah nonlinier, salah satunya seperti penelitian yang dilakukan oleh Insani (2017) yang membahas tentang optimasi tanaman pangan di kota Magelang dimana fungsi tujuan yang dibentuk merupakan fungsi nonlinier, sehingga diperlukan metode penyelesaian permasalahan pemrograman nonliner untuk memperoleh solusi optimumnya.
Metode untuk memperoleh solusi dari masalah nonlinier secara umum yaitu dengan pemecahan langsung (direct) atau tidak langsung (indirect algorithms) (Taha, 2007). Salah satu contoh metode langsung adalah metode pencarian langsung dan metode gradien. Pada metode pemecahan langsung letak titik optimum ditentukan dengan menyelidiki nilai fungsinya, titik yang memiliki nilai fungsi terbesar atau terkecil dibandingkan dengan nilai fungsi pada titik-titik yang lain maka itulah titik optimumnya. Sedangkan dalam metode tidak
langsung, masalah asli digantikan dengan suatu alat bantu atau asumsi tambahan dalam menentukan nilai optimumnya, contohnya separable programming, quadratic programming, Karush Kuhn Tucker, chance constrained programming dan lainnya.
Separable programming merupakan metode yang dikembangkan oleh C.E Miller pada tahun 1963 yang memiliki asumsi bahwa semua fungsi tujuan dan kendalanya merupakan fungsi yang tiap sukunya hanya melibatkan variabel tunggal, sehingga fungsi tersebut dapat dipisahkan menjadi sejumlah fungsi yang hanya memuat satu variabel (Hillier & Lieberman, 2005). Sedangkan, metode pemrograman kuadratik yaitu permasalahan pemrograman nonlinier dengan fungsi tujuan berupa fungsi kuadratik dan kendala berupa fungsi linier, sehingga perbedaan satu-satunya dengan pemrograman linier adalah fungsi tujuannya melibatkan pangkat dua dari variabel atau perkalian dari dua variabel.
Persamaan ide dari kedua metode ini adalah mentransformasikan fungsi tujuan yang merupakan fungsi nonlinier menjadi fungsi linier
lalu diselesaikan dengan metode simpleks. Selain itu, solusi dari kedua metode ini bersifat taksiran (aproximation) karena sampai saat ini belum ada metode standar yang dapat menyelesaikan permasalahan nonlinier yang memiliki beragam bentuk dan teknik penyelesaian tersendiri, berbeda halnya dengan metode simpleks yang telah menjadi metode standar yang dapat memecahkan berbagai permasalahan pemrograman linier (Mulyono, 1989).
Berdasarkan latar belakang tersebut, maka tujuan penelitian ini adalah membandingan metode separable programming dan quadratic programming dalam pemecahan masalah pemrograman nonlinier dari aspek proses dan hasilnya untuk mengetahui bagaimana karakteristik dari kedua metode ini dalam menyelesaikan suatu permasalahan yang sama. Penerapan kedua metode ini menggunakan portofolio saham sebagai objek penelitian, yaitu mencari proporsi dana untuk memperoleh keuntungan maksimum dari kombinasi proporsi tiga saham menggunakan model portofolio Markowitz.
Jenis data yang digunakan dalam penelitian ini adalah data sekunder yaitu data yang diperoleh tidak secara langsung dari objek penelitian melainkan diperoleh dari website www.investing.com. Data yang digunakan adalah data kuantitatif, yaitu data historis penutupan harga saham (closing price) mingguan perusahaan yang terdaftar di indeks LQ45 dengan teknik pengumpulan data untuk memilih ketiga saham tersebut menggunakan teknik studi dokumen.
Tahapan analisis data dengan metode separable programming dan quadratic programming sebagai berikut
-
1. Menghitung return dari masing-masing data historis harga saham (closing price) dengan persamaan berikut:
∖pi(t-i)J
Rit = Return saham ke-i pada
periode ke-t
Pit = Harga saham ke-i pada
periode ke-t
Pi(t-i) = Harga saham ke-i pada
periode ke-(t — 1)
2. Menghitung expected return, varians dan
kovarian dengan persamaan berikut:
ςr E(Ri> = N | |
dengan, E(Ri) = Expected return saham ke-i Rit = Return saham ke-i pada periode t N = Banyaknya return 2 ∑t^(Rit-E(Ri))2 σi N dengan, = Risiko saham ke-i () = Expected return saham ke-i = Banyaknya return ∑ (())(()) | |
= 1J N = Kovarian antara return saham i dan j = Return saham ke-i pada periode t () = Expected return saham ke-i = Return saham ke-j pada periode t () = Expected return saham ke-j |
-
3. Membentuk model fungsi tujuan dan kendala berdasarkan model portofolio markowitz.
-
4. Menyelesaikan model fungsi tujuan dan kendala yang telah dibentuk dengan metode separable programming dan quadratic
programming menjadi fungsi linier.
Langkah penyelesaian menggunakan
metode separable programming sebagai berikut,
-
a. Membentuk fungsi separable.
Maksimumkan atau minimumkan
z = ∑‰fj(xj)
dengan kendala,
∑1j=ι9ij(xj) (≤, =,≥)bι, i = 1,2, ...,m
Xj ≥ 0,j = 1,2, .,n
-
b. Menentukan banyaknya gridpoint
(Xvj)
-
c. Membentuk nilai fungsi gridpoint
fj(Xvj) dan gij(Xvj').
-
d. Membentuk fungsi tujuan dan kendala linier.
Maksimumkan atau minimumkan z = ∑‰∑k=ι⅛jfj(Xkj)
dengan kendala,
∑ ∑ ( ) (≤,≥) ,
=1,2,…,
∑ =1, =1,2,…,
≥0, =1,2,…, =1,2,…,
-
e. Menyelesaikan bentuk linier dengan
metode simpleks.
Langkah penyelesaian menggunakan metode kuadratik sebagai berikut
-
a. Mengidentifikasi fungsi tujuan dan kendala ke dalam bentuk umum dari
masalah pemrograman kuadratik.
dengan kendala,
=( , ,
=
=
∕ ^ll
'dmι
∕ aιι
∖^mi
⋯
⋯
⋯
⋯
=( , ,…, )
-
b. Membentuk model linier fungsi tujuan dan kendala menggunakan syarat Kuhn Tucker.
Aplikasi syarat Kuhn Tucker berdasarkan permasalahan kuadratik tersebut yaitu
=1,2,…, =0, =1,2,…,
c.
Mencari solusi optimal dengan melakukan proses iterasi simpleks metode wolfe.
Dalam perhitungan simpleks wolfe terdapat kondisi tambahan yang
disebut dengan complementary slackness, yaitu
=0= , untuk setiap dan
Objek penelitian pada studi kasus ini adalah data harga penutupan saham mingguan Bank Mandiri Tbk (BMRI) yang dinotasikan dengan
, Gudang Garam Tbk (GGRM) yang dinotasikan dengan dan Indofood CBP
Sukses Makmur Tbk (ICBP) dinotasikan dengan
periode 1 januari 2017 sampai 23 Desember 2018 yang diperoleh dari website www.investing.com. Sebelum melakukan perhitungan menggunakan metode separable programming dan quadratic programming terlebih dahulu dibentuk model nonlinier berdasarkan model portofolio markowitz dengan langkah-langkah sebagai berikut:
-
1. Menghitung return masing-masing saham menggunakan persamaan (1).
-
2. Menghitung expected return masing-
masing saham menggunakan persamaan (2).
-
3. Menghitung risiko menggunakan
persamaan (3) dan kovarian menggunakan persamaan (4).
Hasil perhitungan total return, expected return, varian dan kovarian disajikan dalam Tabel 1 dan Tabel 2.
Tabel 1. Total return, expected return dan varian.
i |
Saham |
Total Return |
Expected return ( ( )) |
Varian ( ) |
1 |
BMRI |
0,2590 |
0,00257 |
0,00146 |
2 |
GGRM |
0,2608 |
0,00258 |
0,00141 |
ICBP |
0,2036 |
0,00202 |
0,00077 |
Tabel 2. Kovarian ( )
No. |
Saham |
Kovarian ( ) |
1 |
BMRI/GGRM |
0,000625 |
2 |
BMRI/ICBP |
0,000364 |
3 |
GGRM/ICBP |
0,000396 |
Membentuk Model Nonlinier dari
Kombinasi Proporsi Tiga Saham
Berdasarkan Model Portofolio Markowitz.
Expected return, varian dan kovarian yang diperoleh dari perhitungan sebelumnya disubstitusikan kedalam model portofolio Markowitz, yaitu
Maksimumkan,
()=∑ ( )-(∑ +
∑i= 1∑J=1xi Xj σij), i ≠j
dengan kendala,
∑3j= 1xj ≤ 1
dengan = + .
Oleh karena itu, persamaan (5) dituliskan sebagai berikut
dapat
(7)
≥0, untuk = 1,2,3.
Sehingga diperoleh model portofolio untuk mendapatkan keuntungan maksimum dengan
Nilai + = ,
+ = yang memanipulasi aljabar kendala baru, yaitu
+ =
diperoleh
dan dari
selanjutnya menjadi
cara memaksimalkan expected return tingkat risiko tertentu yaitu
Maksimumkan,
dengan kendala,
≥0, untuk = 1,2,3.
pada
Penyelesaian Model Menggunakan Metode Separable programming
Model yang telah diperoleh akan diselesaikan menggunakan metode separable programming dengan langkah-langkah sebagai berikut
1. Membentuk fungsi separable.
Model fungsi tujuan yang terbentuk pada persamaan (5) memiliki perkalian dua variabel sehingga perlu diubah kedalam bentuk fungsi yang hanya terdiri dari satu
variabel dengan menggunakan aljabar yaitu,
manipulasi
()= + +
()= + ()= + ()= +
-
-
-
≤1
=0
=0
=0
(8)
Sehingga fungsi separable yang dapat dibentuk berdasarkan fungsi tujuan dan kendala diatas adalah
( ) = 0,00257
( ) = 0,00258
-
-
0,00044 ,
0,0004 ,
( )=0,002 -0,00001 ,
-
-
-
dengan kendala,
1
=( + )
-
1
2
-
1
2
Misalkan + = diperoleh,
1
v v — _ v4-
=2
-
1
2
-
1
2
Dengan cara yang sama, maka
1 2
=
-
1 2 2⅛
-
1 2
, ,
-
, , , , , ≥0
2. Menentukan banyaknya grid point.
Pada perhitungan ini akan digunakan 11 partisi ( =1,2,…,11) pada interval [0,1],
yaitu 0;0,1;0,2;0,3;0,4;0,5;0,6;0,7;0,8;0,9;1. Diperoleh nilai untuk 11 partisi yaitu
1 2
, ,
Tabel 3. Titik Partisi Masing-Masing Variabel
j |
Xv | ||||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | |
1 |
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
0,6 |
0,7 |
0,8 |
0,9 |
1 |
2 |
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
0,6 |
0,7 |
0,8 |
0,9 |
1 |
3 |
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
0,6 |
0,7 |
0,8 |
0,9 |
1 |
4 |
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
0,6 |
0,7 |
0,8 |
0,9 |
1 |
5 |
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
0,6 |
0,7 |
0,8 |
0,9 |
1 |
6 |
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
0,6 |
0,7 |
0,8 |
0,9 |
1 |
Titik partisi ini selanjutnya disubstitusikan ke persamaan (9) dan (10) untuk memperoleh konstanta baru dari fungsi linier yang akan dibentuk.
-
3. Membentuk nilai fungsi grid point
Titik-titik partisi Xvj yang telah dibentuk selanjutnya disubstitusikan ke persamaan (9) dan (10) untuk memperoleh nilai f j( χvi ) dan 9ij ( xvj ) yang merupakan konstanta baru untuk fungsi liniernya.
-
4. Membentuk fungsi tujuan linier
Nilai f j( xvj ) dan 9ij ( xvj ) yang telah diperoleh selanjutnya disubstitusikan ke persamaan berikut
Z =∑1=1 ∑k-1 Akjfj (xkj )
dengan kendala,
∑j-1 ∑k=ι9ij(xkj ) Akj (≤, ≥)bi,
i = 1,2,3,4.
Sehingga diperoleh fungsi tujuan dan kendala yang baru sebagai berikut
z=[0An + 0,00025A21 + 0,00050A31 + 0,00074A41 + 0,00097A51 + 0,0012Aei + 0,00142A71 + 0,00163^81 + 0,00183Agi + 0,00203Aioi + 0,00222Am]+ [0 A12 + 0,00025A22 + 0,0005A3 2 + 0,00074^42 + 0,00096λ52 + 0,00118A^2 + 0,0014A72 + 0,0016λg2 + 0,00179λ92 + 0,00198⅛02 + 0,00216^112]+ [0Al?y + 0,0002A23 + 0,0004A33 + 0,00061λ43 + 0,00081⅛3 + 0,00101⅜3 + 0,00121A73 + 0,00141Ag3 + 0,00161A93 + 0,00181⅛O3 + 0,00201-^•113]+ [0A44 - 0,00001⅛4 - 0,00003⅛4 -0,00006⅛4 - 0,0001⅛4 -0,00016Aei - 0,00023A74 -0,00031Ag4 - 0,0004A94 -0,00051⅛O4 - 0,00063-^•114]+ [0A45+0A3 5 - 0,00002A35 -
0,00004A45 - 0,00006A55 -
0,0001Aes - 0,00014A7s -
0,00019A8S - 0,00025A95 -0,00032^•105 - 0,0004^•115]+ [0A45+0A3 g - 0,00001A36 -0,00003A4β - 0,00006As6 -0,00009A66 - 0,00013A76 -0,00018A86 - 0,00023A96 -0,00029Aio6 - 0,00036-^•116
dengan kendala,
9ij (xkj )Akj=[0An + 0,1A21 + 0,2A31 + 0,3A41 + 0,4A31 + 0,5A6I + 0,6A71 + 0,7A81 + 0,8A91 + 0,9 -^•101 +1Am]+ [0 A12 + 0,1A22 + 0,2A32 + 0,3A42 + 0,4A53 + 0,5A62 + 0,6A72 + 0,7Ag3 + 0,8A92 + 0,9^102 +1 ^112]+[0A13 + 0,1A23 + 0,2A33 + 0,3A 43 + 0,4As3 + 0,5A63 + 0,6A73 + 0,7A83 + 0,8A93 + 0,9A103+1 -^•113]≤1
9ij (xkj )Akj=[0An + 0,1A21 + 0,2A31 + 0,3A41 + 0,4A6I + 0,5A6I + 0,6A71 + 0,7A81 + 0,8A91 + 0,9-^•101 +1Am]+ [0A12 + 0,1A22 + 0,2A32 + 0,3A42 + 0,4A62 + 0,5A62 + 0,6A72 + 0,7A83 + 0,8A92 + 0,9^102 +1 ^112]+[0A13 + 0,1A23 + 0,2A33 + 0,3A 43 + 0,4A63 + 0,5A63 + 0,6A73 + 0,7A83 + 0,8A93 + 0,9Aios+1 -^•113]≤1
92 j (xkj )Akj=[0An + 0,1A21 + 0,2A31 + 0,3A41 + 0,4A6I + 0,5A6I + 0,6A71 + 0,7A81 + 0,8A9I + 0,9-^•101 +1Am]+ [0A12 + 0,1A22 + 0,2A32 + 0,3A42 + 0,4A62 + 0,5A62 + 0,6A72 + 0,7A82 + 0,8A +0,9λ +1 ]+[-0A -
0,1A24 - 0,2A34 - 0,3A44 - 0,4A64 -0,5A64 - 0,6A74 - 0,7A84 - 0,8A94 -0,9-^•104 -1 -^•114]=0
93 j (Xkj )Akj=[0An + 0,1A21 + 0,2A31 + 0,3A 41 + 0,4A6I + 0,5A6I + 0,6A71 + 0,7A81 + 0,8A91 + 0,9⅛01 +1Am]+ 0A13 + 0,1A23 + 0,2A33 + 0,3A43 + 0,4⅛3 + 0,5A63 + 0,6A73 + 0,7A83 + 0,8A93 + 0,9A103+1 -^•113]+[-0Ai6 -
=1,2,…,11
-
5. Penyelesaian dengan metode simpleks
Fungsi linier yang terbentuk selanjutnya diselesaikan dengan metode simpleks untuk memperoleh masing-masing nilai dengan bantuan aplikasi POM for windows 3, yaitu
¾ 1 = A9 1 = ⅛0 1 = A1 1 1 = 0, A4 1 = 1,
A6 2 = ^ 72 = ⅛2 = A92 = ⅛ 0 2 = ⅛ 1 2 = 0,
0,14,
0, A74 = 1, λg 4 = Λ94 = λj0 4 = A1 14 = 0,
A1 1 6 = 0∙
Setiap nilai selanjutnya disubstitusikan
ke persamaan berikut
Diperoleh proporsi dana, yaitu
= 0,3, = 0,3, = 0,4, = 0,6,
= 0,7, dan = 0,7.
Selanjutnya nilai tersebut disubstitusikan ke persamaan (5), sehingga diperoleh keuntungan maksimum berdasarkan
perhitungan menggunakan separable
programming yaitu 0,001677.
Penyelesaian Model Menggunakan Metode
Quadratic programming
Langkah-langkah penyelesaian pemrograman kuadratik metode wolfe sebagai berikut
-
1. Mengidentifikasi permasalahan kuadratik Fungsi tujuan dan kendala dalam bentuk permasalahan kuadratik yaitu
z = CX +XτDX (11)
dengan,
=[ ] ,
= [0,00257 0,00258 0,00202]
-0,0015 -0,00063 -0,0004
= [-0,0006 -0,0014 -0,00036]
-0,0004 -0,00036 -0,0008
=[1 1 1],
=[1]
dengan kendala,
( )=[ ][ ]-[1]≤
-[ S ]≤ 0
-
2. Membentuk model linier dengan syarat Kuhn Tucker
Setelah diperoleh bentuk umum dari permasalahan kuadratik, maka selanjutnya adalah mentransformasikan bentuk kuadratik tersebut menjadi fungsi linier menggunakan syarat Kuhn Tucker.
Berdasarkan penerapan syarat Kuhn Tucker pada model (5) dan (6), maka diperoleh fungsi linier dan kendala baru sebagai berikut
Z = 0,00496*1 + 0,0048*2 +
μ3 - 0,0072
dengan kendala,
0,00292*1 + 0,00125*2 +
0,000792^3 + ⅛ - μ1 = 0,00257
0,00125¾ + 0,00282χ2 +
0,000728X3 + ⅛ - ⅛ = 0,00258 (13)
0,000792Xi + 0,000728x2 +
0,00154X3 + λι - μ3 = 0,00202
Xi + x2 + x3 + ,^1 =1
-
3. Mencari solusi optimal dengan simpleks wolfe
Setelah diperoleh fungsi tujuan dan kendala yang baru, yaitu persamaan (12) dan (13) selanjutnya dilakukan perhitungan untuk memperoleh solusi optimalnya.
Diperoleh tabel optimum simpleks metode wolfe sebagai berikut
Tabel 4. Nilai Optimum Simpleks Metode Wolfe
Xi |
χ2 |
χ3 |
A1 |
^i |
μ2 |
μ3 |
«1 |
R2 |
R3 |
Sr |
Solusi | |
r |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
-1 |
-1 |
-1 |
0 |
Xi |
1 |
0 |
0 |
0 |
-430,9 |
188,5 |
242,5 |
0 |
430,9 |
-188,5 |
-242,3 |
0,30 |
0 |
0 |
0 |
1 |
-0,17 |
-0,2 |
-0,6 |
0 |
0,2 |
0,2 |
0,6 |
0 | |
χ3 |
0 |
0 |
1 |
0 |
242,5 |
238,3 |
-480,8 |
0 |
-242,5 |
-238,3 |
481,4 |
0,36 |
χ2 |
0 |
1 |
0 |
0 |
188,5 |
-426,8 |
238,3 |
0 |
-188,5 |
426,8 |
-238 |
0,34 |
Berdasarkan Tabel 4, diperoleh bahwa nilai Xi = 0,3, x2 = 0,34 dan x3 = 0,36. Selanjutnya, untuk memperoleh nilai optimum maka nilai Xi , x2 dan x3 disubstitusikan ke persamaan (5) sehingga diperoleh keuntungan maksimum
berdasarkan perhitungan menggunakan metode quadratic programming adalah 0,001679, dengan proporsi dana yang diinvestasikan ke saham BMRI sebesar 30%, GGRM sebesar 34% dan ICBP sebesar 36%.
Kesimpulan
-
1. Perhitungan menggunakan metode
separable programming dan quadratic programming memiliki nilai optimum yang relatif sama.
-
2. Penyelesaian model nonlinier portofolio Markowitz dari kombinasi proporsi tiga saham menggunakan metode quadratic programming lebih efektif dan efisien.
Saran
Bagi pembaca yang ingin menyelesaikan
permasalahan pemrograman nonlinier yang memiliki model fungsi tujuan dan kendala seperti model portofolio Markowitz dapat menggunakan metode quadratic programming untuk memperoleh solusi optimalnya, karena penyelesaian menggunakan metode ini memiliki langkah penyelesaian yang lebih singkat dibandingkan dengan metode separable dengan hasil optimal dan dapat dilakukan tanpa bantuan aplikasi tambahan. Bagi pembaca atau peneliti yang tertarik untuk mengakaji lebih dalam tentang perbandingan penyelesaian pemrograman nonlinier dapat mengkaji metode lainnya seperti Karush Kuhn Tucker, chance-constrained programming, linier combination method dan lainnya.
DAFTAR PUSTAKA
Hillier, F. S., & Lieberman, G. J. (2005). Introduction To Operation Research, Eighth Edition. New York: The McGraw-Hill Companies, Inc.
Insani, S. N. (2017). Optimasi Tanaman Pangan di Kota Magelang dengan Pemrograman Kuadratik dan Metode Pinalti Eksterior.
Jurnal Matematika Vol. 6 No 2.
Mulyono, S. (1989). Program Non Linier. Ekonomi dan Keuangan Indonesia, Vol 37, no 2, 219 - 244.
Taha, H. A. (2007). Operations Research An Introduction. New Jersey: Pearson Pentrice Hall.
284
Discussion and feedback