Optimasi
Tugas Pertemuan 4
Email : putri.angelina@matanauniversity.ac.id
RPubs : https://rpubs.com/putriangelinaw/
GitHub : https://github.com/putriangelinaw/
Jurusan : Statistika Bisnis
Address : ARA Center, Matana University Tower
Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.
Pertanyaan
Sebuah perusahaan memproduksi dua model kursi: A dan B. Model A membutuhkan 4 balok, 1 dudukan kursi, dan 1 sandaran kursi. Sedangkan model B membutuhkan 3 balok dan 1 dudukan kursi. Perusahaan memiliki stok awal 200 balok, 500 dudukan kursi, dan 100 sandaran kursi. Jika perusahaan membutuhkan lebih banyak balok, dudukan kursi, dan sandaran kursi, mereka dapat membeli kayu balok standar, yang harganya 80 euro per balok. Perusahaan dapat memproduksi 20 balok, 10 dudukan kursi, dan 2 sandaran kursi dari balok kayu standar. Biaya produksi model A adalah 30 euro/kursi, sedangkan biaya model B adalah 40 euro/kursi. Jika perusahaan menginformasikan bahwa jumlah minimum kursi yang harus diproduksi adalah 1000 unit per bulan. Tentukan model program linier, yang dapat meminimalkan total biaya.
Selesaikan permasalahan optimasi diatas dengan cara:
- Grafik
- Manual
- Menggunakan R
- Menggunakan Python
Jawaban
Jawaban grafik, manual, dan python sudah ditampilkan pada google colab.
R
# install.packages("lpSolve")
library(lpSolve)
ftujuan <- c(30,40,80)
kendala_kiri <- matrix(c(4,3,-20,
1,1,-10,
1,0,-2,
1,1,0),nrow = 4, byrow = TRUE)
kendala_kanan <- c(200,500,100,1000)
arah_kendala <- c("<=","<=","<=",">=")
solusi_r <- lp(objective.in = ftujuan,
const.mat = kendala_kiri,
const.rhs = kendala_kanan,
const.dir = arah_kendala,
all.int = T,
compute.sens = TRUE)
print(solusi_r$status)## [1] 0
best_sol <- solusi_r$solution
names(best_sol) <- c("x1","x2","x3")
print(best_sol)## x1 x2 x3
## 420 580 161
print(paste("Total Cost:", solusi_r$objval, sep=""))## [1] "Total Cost:48680"