Agar tidak menjadi kebingunan dikemudian hari, mari kita bedakan antara solver dengan Algebraic Modeling Language (AML) seperti Google OR-Tools.
AML, seperti Google OR-Tools dan Pyomo adalah library yang memudahkan kita dalam mempresentasikan optimization problem.
Seperti mendefinisikan variable, objective function dan constraint. Kemudian melalui framework juga kita bisa memilih solver yang akan digunakan untuk menyelesaikan masalah optimisasi.
Solver yang umum digunakan adalah Gurobi, CPLEX dan GLPK.
Gurobi
Solver Gurobi mendukung linear programmming, mixed-integer programming dan quadratic programming.
Bisa didownload di https://www.gurobi.com/downloads/
Kekurangannya adalah tidak free. Disediakan free trial untuk commercial use dan free untuk akademisi.
CPLEX
CPLEX adalah solver dari IBM, mendukung linear programming, mixed-integer programming dan quadratic programming.
Bisa download di https://www.ibm.com/analytics/cplex-optimizer
Sama seperti Gurobi, hanya disediakan free untuk akademisi dan free trial untuk commercial use.
GLPK
Jika Anda tidak memiliki academic licensed dan enggan menggunakan free trial, solver GLPK bisa menjadi pilihan. GLPK mendukung linear programming dan mixed integer programming.
Bisa download di http://winglpk.sourceforge.net/
Untuk instalasi sangat mudah, extrac file hasil download. Anda bisa pindahkan file tersebut ke direktori tertentu. Kemudian tambahkan path dari w64 ke environment variable.
Contoh pada tutorial file glpk ada di direktori C. Path ke w64 ditambahkan ke environment variables.
C:\glpk-4.65\w64
Tabel Perbandingan AML dan Solver
| AML | Linear | NonLinear | Mudah Digunakan | Konfigurasi |
|---|---|---|---|---|
| Pyomo | Ya | Ya | Mudah | Mudah |
| OR-Tools | Ya | Sangat Mudah | Kurang Mudah | |
| PuLP | Ya | Mudah | Mudah | |
| SCIP | Ya | Ya | Sangat Mudah | Tidak Bisa Konfigurasi |
| SciPy | Ya | Ya | Kurang Mudah | Kurang Mudah |
| Solver | Linear | NonLinear | Free/Commercial |
|---|---|---|---|
| Gurobi | Ya | Commercial | |
| Cplex | Ya | Commercial | |
| CBC | Ya | Free | |
| GLPK | Ya | Free | |
| IPOPT | ya | Free | |
| SCIP | Ya | ya | Free |
| Baron | ya | Commercial |
Tutorial akan menggunakan GLPK karena free.SIlakan download dan install solver tersebut untuk keperluan tutorial. Jika Package Solver sudah terinstall, Anda dapat gunakan sebagai melalui OR-Tools atau Pyomo.
Pada tutorial tidak akan dibahas proses instalasi, karena prosesnya cukup mudah dan jelas.