OR-Tools adalah software open source untuk pengoptimalan kombinasi, yang berupaya menemukan solusi terbaik untuk masalah dari serangkaian kemungkinan solusi yang sangat besar. Berikut adalah beberapa contoh masalah yang dipecahkan oleh OR-Tools:
- Perutean kendaraan: Temukan rute optimal untuk armada kendaraan yang mengambil dan mengirimkan paket berdasarkan batasan (mis., "truk ini tidak dapat menampung lebih dari 20.000 pound" atau "semua pengiriman harus dilakukan dalam jangka waktu dua jam").
- Penjadwalan: Temukan jadwal yang optimal untuk serangkaian tugas yang kompleks, beberapa di antaranya harus dilakukan sebelum yang lain, pada set mesin tetap, atau resource lainnya.
- Pengemasan sampah: Mengemas objek dengan berbagai ukuran sebanyak mungkin ke dalam sejumlah tempat sampah dengan kapasitas maksimum.
Umumnya, masalah seperti ini memiliki banyak kemungkinan solusi—terlalu banyak komputer untuk menelusuri semuanya. Untuk mengatasi hal ini, OR-Tools menggunakan algoritme canggih untuk mempersempit kumpulan penelusuran guna menemukan solusi yang optimal (atau hampir optimal).
OR-Tools mencakup pemecah masalah untuk:
- Pemrograman Batasan
- Kumpulan teknik untuk menemukan solusi yang mungkin untuk masalah yang dinyatakan sebagai batasan (misalnya, ruangan tidak dapat digunakan untuk dua peristiwa secara bersamaan, atau jarak ke pemangkasan harus kurang dari panjang selang, atau tidak lebih dari lima acara TV yang dapat direkam sekaligus).
- Pemrograman Linear dan Integer-Integer
- Pengoptimal linear Glop menemukan nilai optimal dari fungsi tujuan linear, dengan serangkaian ketidaksetaraan linear sebagai batasan (misalnya, menetapkan orang ke pekerjaan, atau menemukan alokasi terbaik dari sekumpulan resource sambil meminimalkan biaya). Glop dan perangkat lunak pemrograman bilangan bulat campuran SCIP juga tersedia melalui Layanan Pengoptimalan Google Apps Script.
- Perutean Kendaraan
- Library khusus untuk mengidentifikasi rute kendaraan terbaik berdasarkan batasan.
- Algoritme Grafik
- Kode untuk menemukan jalur terpendek dalam grafik, alur biaya minimum, alur maksimum, dan penetapan jumlah linear.
Bagian berikutnya akan membantu Anda memulai penggunaan OR-Tools dengan cepat.