Matlab Toolboxes for Optimization

Penggunaan Matlab, dewasa ini, masih menjadi bagian yang tak terpisahkan dari dunia akademis. Bisa jadi, Matlab lebih populer daripada program sejenis: Mapple atau Mathematica. Yup, meskipun bekerja berbasiskan sistem matrix, Matlab menawarkan banyak kemudahan, termasuk fasilitas toolbox yang lengkap dan kemampuan untuk programming. Untuk bidang optimasi, Matlab menawarkan Optimization Toolbox dan Genetic Algorithm and Direct Search Toolbox

Keberadaan kedua toolbox ini, tentu saja sangat membantu dalam penyelesaian suatu persoalan optimasi. Perbedaan di antara keduanya terletak pada bentuk masalah yang dihadapi dan teknik optimasi yang digunakan.

Optimization Toolbox

Optimization Toolbox menawarkan teknik optimasi yang umum digunakan dalam penyelesaian standard and large-scale optimization problem. Yang dimaksud dengan standard di sini adalah linear programming (LP), quadratic programming (QP) dan binary integer programming (BIP). Teknik optimasi yang digunakan untuk penyelesaian LP adalah interior point method dan simplex method; sementara untuk QP digunakan metode trust region, preconditioned conjugate gradient dan active set, dan untuk BIP diselesaikan dengan algoritma branch-and-bound.

Selain itu, toolbox ini dapat digunakan untuk menyelesaikan persoalan nonlinear optimization (NLO) dan multicriteria optimization (MCO). Untuk NLO tanpa kehadiran kendala (unconstrained nonlinear optimization), metode yang digunakan adalah Quasi-Newton, Nelder-Mead dan trust region; sementara untuk yang berkendala, digunakan trust region, active set sequential QP dan interior point. Melalui pengklasifikasian menjadi permasalahan goal attainment dan minimax, sebuah permasalahan MCO ditransformasikan menjadi standard constrained optimization problem (permasalahan optimasi berkendala standar, yang berarti single-objective) yang kemudian diselesaikan dengan menggunakan pendekatan sequential QP.

opttoolbox-1opttoolbox-2

Di samping masalah optimasi, toolbox ini juga dapat digunakan untuk penyelesaian masalah nonlinear least squares, data fitting dan sistem persamaan nonlinear. Metode yang digunakan adalah Levenberg-Marquardt (LM), LM dengan trust region dan Gauss-Newton. Gambar kiri adalah salah satu contohnya. Sementara gambar kanan adalah tampilan hasil iterasi dari fungsi keluaran yang didefinisikan oleh user.

Lebih lanjut dapat dilihat di sini.

Genetic Algorithm and Direct Search Toolbox. 

Kehadiran toolbox ini membantu kita dalam menangani permasalahan optimasi yang sulit diselesaikan dengan menggunakan teknik optimasi tradisional. Permasalahan optimasi yang tidak well-defined atau yang sulit dimodelkan secara matematis, juga dapat diselesaikan dengan toolbox ini. 

ga-toolbox-tablega-toolboxAlgoritma yang tersedia untuk setiap tahapan dalam genetic algorithm dapat dilihat pada tabel di samping kiri.

Gambar kanan merupakan visualisasi dari sebuah fungsi yang memiliki banyak local minima dan satu global minimumGenetic algorithm membantu untuk menemukan solusi terbaik dari fungsi-fungsi semacam itu, termasuk fungsi yang didefinisikan oleh user.

Selain itu, toolbox ini memiliki dua algoritma direct search, yakni generalized pattern search (GPS) dan mesh adaptive search (MADS). Apabila banyak teknik optimasi tradisional yang membutuhkan informasi mengenai gradient atau turunan tingkat tinggi untuk mencari sebuah titil optimal, maka kedua algoritma di atas, GPS dan MADS, sama sekali tidak mensyaratkan fungsi yang kontinyu (continuous) atau dapat diturunkan (differentiable). 

Yang menarik di sini adalah toolbox ini dapat diintegrasikan dengan Optimization Toolbox dan Matlab routines. Dengan demikian, keberadaannya adalah untuk membantu kita semata untuk menemukan good starting point. Hanya digunakan sebagai pendekatan dan untuk menghindari jebakan yang mengarahkan kita ke satu titik local minimum. Karena bagaimana pun juga, teknik optimasi tradisional telah terbukti secara matematis.

Lebih lanjut silahkan klik ini.

9 comments on “Matlab Toolboxes for Optimization

  1. bagaimana cara mendapatkan “Matlab Toolboxes for Optimization” di atas?apakah sudah termasuk dalam package saat meng-instal matlap pd pc?

  2. Tergantung versi Matlab yang Anda miliki. Berdasarkan info dari Matlab, student version sudah mencakup tujuh toolboxes, dan Optimization Toolbox termasuk salah satunya. Keenam lainnya adalah: Control System Toolbox, Signal Processing Toolbox, Signal Processing Blockset, Statistics Toolbox, Symbolic Math Toolbox dan Image Processing Toolbox. Sementara GADS Toolbox harus dibeli tersendiri.

    Bila Anda memiliki commercial license atau academic license, keduanya, Optimization Toolbox dan GADS Toolbox, sudah tercakup.

    Semoga membantu !

  3. Dear..

    Saya membaca artikel mengenai metode Biconjugate Gradient Stabilized, dimana dapat digunakan utk asymmetric matrix dan dalam proses operasinya tdk melibatkan tranformasi matrix. Misalkan saya operasikan matrix Ax = B, dimana A adalah matrix 3×2 dan matriks B adalah matriks 3×1, matriks adalah matriks berisi variabel yg akan dicari dgn ukuran 2×1. apakah penyelesaiannya dpt menggunakan metode Biconjugate Gradient Stabilized?

    Trm kasih

    Humbang

  4. Terima kasih atas pertanyaan yang sangat spesifik itu.

    Bioconjugate Gradient Stabilized, atau disingkat BCGSTAB, membutuhkan dua perkalian matriks-vektor [ie. two matrix-vector products] dan empat perkalian dalam [ie. four inner products].

    Kalau Anda hanya ingin mencari matriks x untuk menyelesaikan persoalan Ax = B, dimana A adalah matriks 3×2 dan B adalah matriks 3×1, penggunaan metode BCGSTAB mungkin bukan solusi yang tepat.

  5. Optimization toolbox di MATLAB, seperti halnya MATLAB, berlaku untuk small- dan mid-size systems.

    Coba deh nge-run optimization di MATLAB dengan ribuan variables, apakah sanggup ?

    Orang2 di Meteorologi, untuk data assimilation (weather forecasting) yg juga optimization umumnya menggunakan customized optimization package, yg paling terkenal LBFGS-nya Nocedal.

  6. @detu: Memang benar, MATLAB umumnya digunakan sebagai simulasi dalam eksperimen yang tidak melibatkan large-scale problem. Untuk large-scale, biasanya orang terlebih dahulu mereduksi hingga jumlah variabelnya dipandang cukup mewakili. Sebagian lagi, orang lebih senang mem-program sendiri sehingga bisa memenuhi kebutuhan yang spesifik. Kalau punya dana berlebih, baru membeli software jadian, seperti yang Anda gunakan itu.

    Menarik apabila Anda berkenan membagi pengetahuan akan optimization tool yang digunakan dalam software tersebut. Terima kasih sebelum dan sesudahnya.

  7. Ide yang menarik ! Mungkin Anda mau menuliskan pengalaman Anda tersebut ? Bila ya, dengan senang hati saya akan menerimanya. Terima kasih.

  8. mas,, saya mau minta tolong..
    bisakah anda memberikan saya informasi dimana / bagaimana caranya saya untuk mendapatkan toolbox mengenai Fractal image compression ?? saya sangat butuh sekali😦
    mksh

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s