LINIER PROGRAMMING MENCARI PENYELESAIAN MASALAH MAKSIMASI MENGGUNAKAN BAHASA PEMROGRAMAN R

1.LINEAR PROGRAMMING

Linear programming adalah metode matematika dalam menentukan pemecahan masalah nilai maksimum dan nilai minimum.permasalahan yang berhubungan dengan program linear selalu berhubungan dengan fungsi objektif(fungsi tujuan) berdasarkan kondisi-kondisi yang membatasinya.

2.MASALAH MAKSIMISASI

contoh:

Aziza adalah produser snack popcorn dan snack diet. untuk memproduksi kedua snack dibutuhkan bahan baku berupa jagung dan snack diet . maksimum penyediaan jagung 40 kg/hari, padi 15 kg/hari dan tenaga robot 20 jam/hari. fungsi kendala 3,2, 0,3, 1,2. dengan keuntungan sebesar RP.10.000.000,- untuk snack diet dan RP.7.500.000,- untuk popcorn. Bagaimana menentukan jumlah unit setiap jenis produk yang akan di produksi setiap hari agar keuntungan yang diperoleh maksimal? menentukan variabel:

x1 = popcorn x2 = snack diet Tujuan : Smax= 10x1 + 7.5x2

library(lpSolve)
#memasukkan koofosien dari fungsi tujuan pada f.obj
f.obj <- c (10,7.5)

fungsi kendala/batasan 1. 3X1 + 2X2 <= 40 (Jagung) 2. 3X2 <= 15(Beras) 3. X1 + 2X2 <=20(Tenaga Robot)

#memasukkan koofosien fungsi kendala dalam bentuk matriks
#row menunjukkna banyaknya kendala yaitu 3 dan angka yang diinput disusun perbaris sehingga byrow= TRUE
f.con <- matrix(c(3,2,
                  0,3,
                  1,2),nrow=3,byrow = TRUE)
#memasukkan tanda pertidaksamaan pada setiap kendala
f.dir <- c("<=",
           "<=",
           "<=")
#memasukkan koofosien ruas kanan
f.rhs <- c(40,
           15,
           20)

Mendapatkan solusi Optimal

#keuntungan maksimum
lp("max",f.obj,f.con,f.dir,f.rhs)
## Success: the objective function is 137.5
#nilai variabel agar mencapai keuntungan maksimum
lp("max",f.obj,f.con,f.dir,f.rhs)$solution
## [1] 10  5
#koofosien sensitivitas
lp("max",f.obj,f.con,f.dir,f.rhs, compute.sens = TRUE)$sens.coef.from
## [1] 0.000000 6.666667
lp("max",f.obj,f.con,f.dir,f.rhs, compute.sens = TRUE)$sens.coef.to
## [1] 1.125e+01 1.000e+30
#bayangan harga ganda dari kendala dan variabel keputusan
lp("max",f.obj,f.con,f.dir,f.rhs, compute.sens = TRUE)$duals
## [1] 3.3333333 0.2777778 0.0000000 0.0000000 0.0000000
#batas bawah batasan harga bayangan/ganda dan masing-masing variabel keputusan
lp("max",f.obj,f.con,f.dir,f.rhs, compute.sens = TRUE)$duals.from
## [1]  1.000000e+01 -1.776357e-15 -1.000000e+30 -1.000000e+30 -1.000000e+30
#batas atas batasan harga bayangan/ganda dan masing-masing variabel keputusan 
lp("max",f.obj,f.con,f.dir,f.rhs, compute.sens = TRUE)$duals.to
## [1] 4.0e+01 1.5e+01 1.0e+30 1.0e+30 1.0e+30
  1. KESIMPULAN

nilai S maksimum yang dapat diperoleh saat memenuhi kendala yang diberikan adalah 137.5( keuntuan sebesar 137.5 juta), dimana X1=10 DAN X2=5. Koofisien sensitivitas berubah dari 0.00000 dan 6.666667 ke 1.125e+01 1.000e+30. Bayangan/ harga ganda dari kendala adalah 3.3333333,0.2777778,0.0000000. untuk variabel keputusan masing-masing adalah 0.0000000 dan 0.0000000. Batas bawah harga bayangan adalah 1.000000e+01 -1.776357e-15 -1.000000e+30, sedangkan untuk variabel keputusan berturut-turut adalah -1.000000e+30 -1.000000e+30. yang terakhir , batas atas harga bayangan adalah 4.0e+01 1.5e+01 1.0e+30 , sedangkan untuk variabel keputusan masing-masing adalah 1.0e+30 1.0e+30.

  1. REFERENSI

https://rpubs.com/suhartono-uinmaliki/885865#