Optimization

Optimization, atau yang dialihbahasakan menjadi optimasi atau optimisasi, adalah disiplin ilmu yang mempelajari teknik-teknik algoritma pengoptimalan sebuah penyelesaian permasalahan. Optimal berarti memaksimalkan atau meminimalkan fungsi tujuan, tergantung pada konteksnya masing-masing.

Bagaimana hubungannya dengan Riset Operasi ?

Bila dihubungkan dengan Riset Operasi, maka optimasi adalah bagian matematis dari (the mathematical part of) Riset Operasi yang khusus mempelajari pelbagai teknik algoritma pengoptimalan, sementara Riset Operasi mencakup mulai dari identifikasi permasalahan nyata, pemodelan matematis hingga penerapan algoritma yang sesuai untuk memperoleh solusi yang optimal. Dengan demikian, optimasi memainkan peranan yang sangat vital dari Riset Operasi. Bahkan karena sangat vitalnya, keduanya tidak dapat dipisahkan, sehingga seringkali disamaartikan.

Optimasi semakin dibutuhkan karena dalam menyelesaikan sebuah persoalan yang nyata, seringkali dihadapkan pada kenyataan-kenyataan, misalnya berikut ini.

  • banyaknya kendala yang dihadapi → large scale optimization problem
  • multi tujuan yang ingin dicapai → multicriteria optimization problem
  • semua yang diketahui berupa kendala-kendala → constraint programming

Hingga hari ini, ada banyak teknik pengoptimalan yang telah dikenal dan masih terus dikembangkan, mulai dari yang konvensional matematis, seperti mathematical programming (linear-, integer-, dual-, goal-, non-linear programming, etc.), convexity, Pareto, hingga yang menggunakan teknik metaheuristik. Sementara teknik diferensial untuk menentukan titik optimal tidak dipelajari dalam optimasi melainkan menjadi bagian dari Kalkulus, yang khusus mempelajari mengenai diferensial dan integral.

Untuk keperluan studi, saat ini sudah banyak tersedia software atau library yang berhubungan dengan optimasi. Yang paling populer adalah CPLEX yang dikembangkan oleh ILOG di Perancis. Selain itu, ada pula bahasa pemrograman yang khusus untuk menangani mathematical programming, AMPL, yang mendukung CPLEX.

Artikel-artikel selanjutnya dalam blog ini akan lebih berfokus ke optimasi, dengan tujuan untuk memperkenalkan teknik-teknik pengoptimalan secara garis besarnya. Demikian pula dengan aplikasinya. Keterbatasan tempat di blog ini sajalah yang menghalangi pembahasan secara detail.

2 comments on “Optimization

  1. CPLEX itu untuk linear programming saja kan?

    Berbicara tentang optimization, scope-nya sangat luas sekali. Masalah2 classic min/max di variational calculus juga termasuk dalam optimization.

    AMPL rasanya lebih ke arah modelling tool, bukan programming language.
    Programming di optimization, pada awalnya (tahun 70-an) adalah Fortran. Lalu sekarang untuk mempercepat runtime umumnya diprogram dalam bahasa C atau C++, seperti CPLEX, KNITRO, IPOPT.

  2. Ruang lingkup Optimasi memang luas sekali. Anda benar. Karena itulah, pembahasan optimasi dengan menggunakan teknik Kalkulus dikeluarkan dari konteks. Apalagi Kalkulus sudah dijadikan mata kuliah wajib untuk mahasiswa MIPA dan Teknik. Sementara teknik2 optimasi lainnya, masih sangat sedikit dibahas.

    AMPL, seperti MATLAB, bisa digunakan sebagai programming language. Lebih tepatnya, modelling programming language, yang memang didesain khusus untuk pemodelan. Fortran hingga kini masih digunakan, namun memang benar, runtime-nya kalah dengan C family.

    CPLEX tidak sebatas untuk Linear Programming saja. Mereka sudah mengembangkannya sebagai sebuah solver. Beberapa permasalahan yang bisa ditanganinya: integer programming dan quadratic programming. Bahkan kabarnya, constraint programming pun akan dimasukkan.

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