Materi
Riset operasi mengubah keputusan menjadi model matematika. Coffelt dan Hendrickson (§5.2) merumuskannya sebagai tiga pertanyaan berurutan: keputusan apa yang bisa diambil dan bagaimana mewakilinya sebagai variabel keputusan; apa tujuannya dan apakah bisa ditulis sebagai fungsi linear dari variabel itu; dan batasan apa yang berlaku pada nilai variabelnya. Buku itu juga menyebut perumusan sebagai bagian yang paling menantang, karena perangkat lunak penyelesainya sudah banyak.
Variabel keputusan adalah besaran yang dipilih pengambil keputusan, misalnya banyak unit tiap produk. Fungsi tujuan, menurut kamus algoritma NIST, adalah fungsi yang menentukan seberapa bagus sebuah solusi: laba yang dimaksimumkan atau biaya yang diminimumkan. Kendala adalah pertidaksamaan atau persamaan yang membatasi variabel, seperti jam mesin, bahan, atau permintaan. Himpunan semua solusi yang memenuhi seluruh kendala disebut daerah layak, dan setiap anggotanya solusi layak.
Program linear berarti fungsi tujuan dan semua kendalanya linear: setiap variabel hanya dikalikan konstanta lalu dijumlahkan, tanpa perkalian antarvariabel atau pangkat. Kendala nonnegatif (x ≥ 0) hampir selalu ada karena produksi negatif tidak bermakna.
# toko roti: a = roti tawar, b = roti manis (loyang per hari)
# oven: 3a + 2b <= 36 jam, tepung: a + 2b <= 20 kg
# laba: 25 ribu per loyang tawar, 30 ribu per loyang manis
a, b = 8, 5
print(3*a + 2*b <= 36, a + 2*b <= 20) # True True -> layak
print(25*a + 30*b) # 350 (ribu)