Model pemrograman linier
Optimalisasi multi-tujuan bisa menjadi proposisi yang rumit, tetapi pemrograman linier menawarkan solusi. Dalam metode ini, faktor-faktor seperti tujuan dan kendala diterjemahkan ke dalam persamaan linier untuk membantu orang membuat keputusan. Pelajaran ini membahas cara menggunakan solusi berbantuan komputer untuk menyelesaikan model persamaan linier yang mewakili tujuan manusia yang dapat ditindaklanjuti.
Dalam pemrograman linier, tujuan disederhanakan dan direpresentasikan dalam serangkaian hubungan linier. Hubungan ini kemudian dianalisis untuk menentukan solusi optimal untuk masalah yang dihadapi. Misalnya, masalah umum yang mungkin Anda teliti adalah menentukan rute terpendek ke tujuan liburan Anda. Saat Anda menentukan kemungkinan rute terpendek ke lokasi dari semua kemungkinan opsi yang tersedia, Anda menggunakan hubungan linier di kepala Anda (atau di GPS Anda) untuk menghitung rute terbaik untuk membawa Anda ke sana.
Saat bekerja dengan masalah yang lebih kompleks, seperti memaksimalkan keuntungan untuk perusahaan yang membuat banyak jenis widget, tidak selalu mungkin untuk menentukan solusi optimal hanya dengan memikirkannya. Lagipula, manusia bukanlah mesin logika sempurna dengan ingatan yang sempurna. Anda mungkin tidak memperhitungkan variabel penting seperti pajak atau biaya pasokan, misalnya, membuat solusi menjadi tidak layak. Untungnya, kami memiliki gadget seperti kalkulator dan komputer. Mereka dapat membantu kita memecahkan masalah kompleks dengan informasi yang tepat.
Contoh: Maksimalkan Keuntungan
Program perangkat lunak yang dikenal sebagai R adalah utilitas gratis yang sangat berguna yang populer dengan banyak ilmuwan data karena dapat dengan mudah menghitung solusi optimal menggunakan pemrograman linier hanya dalam beberapa langkah. Mari kita lihat contohnya.
Acme Manufacturing, Inc., yang menciptakan dan menyediakan solusi untuk rumah dan usaha kecil, menawarkan dua lini produk yang populer dan mudah digunakan; laptop dan komputer desktop. Produk ini masing-masing dijual seharga $400 dan $500. Kedua solusi memerlukan sumber daya untuk dibangun, seperti penutup, prosesor, modul memori, dan drive penyimpanan data, yang totalnya tersedia 10.000 drive setiap hari. Laptop membutuhkan 12 drive untuk membuat produk jadi, sedangkan desktop membutuhkan 20 drive. Ada waktu produksi 15 menit (karena otomatisasi berat), namun karyawan tetap harus bekerja 9 jam sehari. Berapa banyak dari setiap lini yang harus diproduksi untuk memastikan keuntungan terbesar bagi perusahaan?
Representasi masalah matematika
Dengan program seperti R, menyelesaikan masalah rumit ini dengan banyak variabel menjadi cepat dan mudah. Pertama, mari pecahkan soal kata ini menjadi persamaan matematika yang lebih mudah dikelola.
Variabel keputusan dalam hal ini harga barang yang disepakati digunakan untuk merumuskan solusi.
Hal lain yang perlu diingat untuk situasi ini adalah kendala non-negatif , yang menyatakan bahwa nilai keputusan harus lebih besar dari angka nol (0). Anda tidak dapat menghasilkan keuntungan jika Anda tidak membebankan biaya apa pun kepada pelanggan!
Fungsi tujuan , tujuan akhir dari seluruh proyek ini (yaitu, laba maksimum), adalah:
Maks.z = 400x + 500y
- z adalah keuntungan yang ingin diperoleh perusahaan. Oleh karena itu, Max.z berarti keuntungan maksimal.
- x adalah harga total baris A, laptop.
- dan itu adalah harga total baris B, komputer desktop.
Keterbatasan:
(Ini adalah biaya yang dikeluarkan untuk memproduksi produk.)
12x + 20th ≤ 10.000
- Di sini, x adalah unit sumber daya yang digunakan untuk lini A, laptop.
- Di sini, dan adalah unit sumber daya yang digunakan untuk baris B, komputer desktop.
- 10000 adalah total unit sumber daya yang tersedia.
15x + 15y ≤ 540
- Di sini, x adalah waktu terakhir yang diperlukan untuk mendapatkan produk akhir lini A, yaitu laptop.
- Di sini, y adalah waktu terakhir yang dibutuhkan untuk mendapatkan produk akhir dari lini B, komputer desktop.
- 540 adalah 9 jam sehari.
Pemecahan masalah dengan R: entri data
Mari kita lihat masukan perangkat lunak untuk R:
install.packages(”lpSolve”) # Pertama instal
pustaka paket ”lpSolve” (lpSolve) # Atur koefisien variabel keputusan object.in = c(400,500) # Matriks Kendala const.mat = matriks (c (12,20,15,15), nrow = 2, byrow = T) # mendefinisikan batasan const_time = 540 #dalam menit const_res = 10000 # RHS untuk batasan const.rhs = c(const_res, const_time) # Arah untuk batasan const. dir = c(”<=”, ”<=”) # Temukan solusi optimal opt = lp(direction = ”max”, aim.in, const.mat, const.dir, const .rhs) ringkasan (opt) # Nilai objektif x dan y opt $solution # Nilai fungsi objektif pada titik optimalopt $objval
Pemecahan masalah dengan R: keluaran data
Sekarang mari kita lihat apa yang dihitung R untuk kita sebagai solusi optimal, yaitu berapa banyak laptop dan desktop yang kita perlukan untuk mendapatkan manfaat maksimal.
Hasil menjalankan perhitungan di R. |
Jadi, berdasarkan keluaran komputer, kami melihat bahwa Acme Manufacturing harus membuat 0 laptop dan 36 desktop. Keuntungan total dari penjualan komputer desktop ini adalah $18.000.
Ringkasan Pelajaran
Pelajaran ini membahas bagaimana model pemrograman linier dapat digunakan untuk memecahkan masalah pribadi, seperti berpindah dari titik A ke titik B, atau masalah yang lebih kompleks, seperti memaksimalkan keuntungan perusahaan. Contoh diselesaikan menggunakan R, alat pemrograman gratis untuk tugas ilmu data.
Dalam pemrograman linier, variabel keputusan digunakan untuk merumuskan solusi dan mewakili informasi yang tidak dapat diubah. Batasan non-negatif berarti bahwa nilai keputusan harus selalu lebih besar dari 0. Tidak ada untungnya jika Anda memberikan produk tersebut. Terakhir, fungsi tujuan adalah hasil akhir yang dicari.