Linear Programming Introduction of LP Nughthoh Arfawi Kurdhi, M.Sc Lecture I: Introduction A. Masalah Optimisasi Dalam kehidupan sehari-hari, manusia cenderung untuk berprinsip ekonomi, yaitu dengan sumber daya terbatas dapat memperoleh hasil sebanyak-banyaknya. Banyak hal disekitar kita yang ingin dicari nilai optimumnya, seperti keuntungan maksimum, biaya minimum, dsb. Halhal tersebut menjadi dasar timbulnya masalah optimisasi. Jika masalah yang dioptimumkan bersifat kuantitatif, maka masalah tersebut merupakan masalah ekstrem (maksimum dan minimum). Banyak hal yang ingin dicari nilai optimumnya memiliki kuantitatif. Pada kasus ini, istilah optimum dan ekstrem memiliki arti yang sama. Sebagian materi mengenai ekstrem sudah dibahas dalam mata kuliah kalkulus. Berikut ini merupakan tinjauan ulang masalah ekstrem untuk kemudian sampai ke masalah program linear. 1. Optimisasi Fungsi tanpa Kendala Fungsi Satu Peubah Jika diberikan fungsi satu peubah = ( ), ∈ yang terdiferensialkan + 1 kali, maka melalui deret Taylor di sekitar dapat disimpulkan bahwa jika ′( ) = ′′ ( ) = ⋯ = ( ) = 0, ( ) ≠ 0, a. untuk (n+1) genap: terjadi ekstrem, dan jika ( ) < 0, maka ( ) mencapai maksimum di titik (i) ( ) > 0, maka ( ) mencapai minimum di titik . (ii) b. untuk (n+1) ganjil: terjadi titik infleksi bagi ( ) di titik . Contoh a. Diberikan fungsi ′ ( ) = cos ′′ ( ) = − sin = ( ) = sin , sehingga diperoleh = , diperoleh ′ = 0 ′′ = −1. (i) Untuk Karena (n+1) genap dan maksimum di = +2 Department of Mathematics FMIPA UNS . ′′ < 0, maka sin mencapai Linear Programming Introduction of LP (ii) Untuk Nughthoh Arfawi Kurdhi, M.Sc = , diperoleh ′ = 0 ′′ = 1. Karena (n+1) genap dan minimum di = +2 ′′ > 0, maka sin mencapai . b. Diberikan fungsi = ( ) = , sehingga diperoleh ′ ( ) = 3 ′′ ( ) = 6 ′′′ ( ) = 6. Untuk = 0 diperoleh ′ (0) = 0 ′′ (0) = 0 ′′′ (0) = 6. Karena ( + 1) ganjil, maka fungsi = memiliki titik infleksi stasioner di titik = 0. Fungsi Dua Peubah Diberikan fungsi dua peubah Jika di titik ( , ) berlaku = 0, ∆= = ( , ) yang terdiferensialkan 2 kali. = 0 (syarat stasioner) − maka z akan mencapai ekstrem di titik ( , >0 ). Selanjutnya, a. Jika > 0 , maka z mencapai maksimum di titik ( , b. Jika < 0 , maka z mencapai minimum di titik ( , ). ). Contoh. Suatu perusahaan memproduksi dua macam sepatu ( dan ) dengan fungsi laba (keuntungan) sebagai berikut. =− − − 2 + 5 + 13 , dengan x : tingkat produksi y : tingkat produksi . Tentukan banyak kedua jenis sepatu yang harus diproduksi agar diperoleh keuntungan maksimum (1 unit = 1000 pasang sepatu). Penyelesaian: Syarat stasioner: = 0 ↔ −2 − + 5 = 0 = 0 ↔ − − 4 + 13 = 0 Department of Mathematics FMIPA UNS Linear Programming Introduction of LP Nughthoh Arfawi Kurdhi, M.Sc Dari kedua persamaan di atas diperoleh titik stasioner Selanjutnya, diperoleh ∆= (−2)(−4) − (−1) = 7 > 0. (1,3). = −2 < 0. Akibatnya, L mencapai maksimum di titik (1,3). dan Dengan demikian, perusahaan harus memproduksi 1000 pasang sepatu dan 3000 pasang sepatu agar diperoleh keuntungan maksimum. Masalah ekstrem di atas merupakan ekstrem stasioner, karena diperoleh jika turunan pertama suatu fungsi sama dengan nol. Berikut diberikan jenis ekstrem selain esktrem stasioner. 2. Optimisasi Fungsi dengan Kendala Kendala Berbentuk Persamaan Contoh. Kawat sepanjang 24 m akan digunakan untuk memagari sebuah kandang kambing berbentuk persegi panjang. Tentukan ukuran pagar tersebut agar luasnya maksimum. Penyelesaian: Misalkan p: panjang kandang, dan l : lebar kandang. Sehingga diperoleh optimisasi: Mencari nilai p dan q yang memaksimumkan L = pq dengan kendala = 2( + ) = 24 , ≥ 0. Masalah ini dapat diubah menjadi masalah ekstrem fungsi 1 peubah tanpa kendala, dengan cara mengeliminasi salah satu peubah. Dari kendala keliling diperoleh = 12 − Sehingga memaksimumkan = (12 − ). Melalui syarat stasioner diperoleh titik ( , ) = (6, 6) yang memberikan luas maksimum sebesar 36 . Berarti kandang kambing tersebut berbentuk bujur sangkar. Department of Mathematics FMIPA UNS Linear Programming Introduction of LP Nughthoh Arfawi Kurdhi, M.Sc Kendala Berbentuk Pertidaksamaan Contoh 1. Tentukan semua ekstrem fungsi ( ) = untuk −1 ≤ ≤ 2. Selain = 0 sebagai ekstrem minimum (stasioner), diperoleh juga = 2 yang menyebabkan ( ) maksimum. Ekstrem tersebut bukan ekstrem stasioner, melainkan ekstrem batas, karena terjadi pada batas daerah peubah x. Contoh 2. Diberikan suatu fungsi linear ( , ) = 100 − − . tidak mempunyai ekstrem stasioner, karena dan tidak pernah sama dengan nol. Tetapi jika diberikan kendala pada kedua peubah: ≤ 40 dan ≤ 20, maka f mencapai minimum di titik ( , ) = (40, 20) sebesar 40. Ekstrem ini juga merupakan ekstrem batas. Jenis ekstrem tersebut yang terutama ditemui dalam program linear. 3. Masalah Program Linear (Linear Programming) Secara umum ekstrem dengan kendala berbentuk pertidaksamaan dapat dirumuskan sebagai berikut. Mencari , = 1,2, … , yang mengoptimumkan (maks/min) = ( , ,…, ) terhadap kendala ( , , … , )(≤, =, ≥)0, = 1,2, … . Tanda (≤, =, ≥) artinya setiap kendala memilih satu di antara ketiga relasi tersebut dan tidak harus semua sama. Dalam masalah Program Linear berlaku: 1. Fungsi objektif merupakan persamaan linear. 2. Fungsi kendala , = 1,2, … merupakan pertidaksamaan linear. 3. Peubah harus memenuhi syarat tak negatif: ≥ 0, = 1,2, … , . Jadi, ekstrem dalam Program Linear selalu berupa ekstrem batas. Department of Mathematics FMIPA UNS Linear Programming Introduction of LP Nughthoh Arfawi Kurdhi, M.Sc Secara umum, masalah program linear dirumuskan sebagai berikut. Optimumkan (maksimum/mininimum) = + +⋯+ terhadap kendala + +⋯+ (≤, =, ≥) + +⋯+ (≤, =, ≥) .............................................................. + +⋯+ (≤, =, ≥) dan kendala tak negatif , ,…, ≥ 0 Perumusan di atas dapat disingkat sebagai berikut. Optimumkan (maksimum/minimum) =∑ terhadap kendala ∑ (≤, =, ≥) , = 1, 2, … , dan kendala tak negatif ≥ 0, = 1, 2, … , Dalam bentuk matriks dapat ditulis sebagai berikut. Optimumkan (maksimum/minimum) = terhadap kendala (≤, =, ≥) dan kendala tak negatif ≥0 dengan = ( , , … , ) =( ) = ⋮ , = Catatan 1: 1. Kendala tak negatif ⋮ ≥ 0, = 1, 2, … , sebenarnya tidak mutlak harus disertakan, tetapi karena metode simpleks menuntut syarat tersebut. Selain itu, dalam penerapannya, banyak masalah yang dihadapi juga memuat syarat tak negatif bagi peubah-peubahnya. Department of Mathematics FMIPA UNS Linear Programming Introduction of LP 2. 3. Nughthoh Arfawi Kurdhi, M.Sc Dalam masalah yang akan kita pelajari, selalu diasumsikan memuat syarat tak negatif. Masalah Program Linear yang tidak mengharuskan syarat tak negatif akan dipelajari dalam materi Program Linear tingkat berikutnya. Masalah ekstrem dengan kendala pertidaksamaan yang umum (tidak semua fungsinya linear) dapat diselesaikan dengan berbagai metode yang akan dibahas dalam mata kuliah Program Tak Linear (PTL). Sedangkan untuk masalah Program Linear tersedia dua metode penyelesaian (metode grafik dan simpleks). Catatan 2: 1. Penyelesaian yang memenuhi semua kendala disebut penyelesaian fisibel. 2. Himpunan Penyelesaian Fisibel (HPF) merupakan himpunan konveks. 3. Penyelesaian fisibel yang memenuhi fungsi objektif disebut penyelesaian optimal. 4. Penyelesaian optimal berada di titik ekstrem dari HPF-nya. Asumsi-asumsi Dasar Linear Programming 1. Proporsionality. Naik turunnya nilai dan penggunaan sumber daya yang tersedia akan berubah secara sebanding (proportional) dengan perubahan tingkat kegiatan. Misal a. = + + ⋯+ Setiap pertambahan 1 unit akan menaikkan dengan . Setiap pertambahan 2 unit akan menaikkan dengan , dan seterusnya. b. + + ⋯+ (≤, =, ≥) Setiap pertambahan 1 unit akan menaikkan penggunaan sumber 1 dengan . Setiap pertambahan 1 unit akan menaikkan penggunaan sumber 2 dengan . 2. Additivity. Nilai tujuan tiap kegiatan tidak saling mempengaruhi, atau dalam LP dianggap bahwa kenaikan dari nilai tujuan ( ) yang diakibatkan oleh kenaikan suatu kegiatan dapat ditambahkan tanpa mempenga-ruhi bagian nilai yang diperoleh dari kegiatan lain. Misal = 3 + 5 , maka tidak ada korelasi antara dan . 3. Divisibility. Keluaran (output) yang dihasilkan oleh setiap kegiatan dapat berupa bilangan pecahan. Demikian pula dengan nilai yang dihasilkan. Misal = 4,3; = 500,75. 4. Deterministic (Certainty). Semua parameter yang terdapat dalam model LP ( , , ) dapat diperkirakan dengan pasti, meskipun jarang dengan tepat. Department of Mathematics FMIPA UNS Linear Programming Introduction of LP Nughthoh Arfawi Kurdhi, M.Sc Teori Pendukung dalam Program Linear 1. Vektor dan matriks 2. Operasi Baris Elementer (OBE). 3. Kombinasi konveks dan himpunan konveks. B. Perumusan Masalah Nyata Dalam kehidupan sehari-hari, selalu terdapat masalah yang dihadapi oleh suatu negara, perusahaan, atau lingkungan tertentu. Jika suatu masalah nyata bersifat kuantitatif, maka masalah tersebut dapat dianalisis secara matematik. Berikut merupakan alur penyelesaian masalah nyata secara matematik. Masalah nyata pemodelan Model matematis (PL, PTL, dsb) penyelesaian Metode penyelesaian matematis tafsiran Penyelesaian matematis Secara umum, langkah-langkah penyelesaian dalam analisis masalah adalah sebagai berikut. 1. mengidentifikasi masalah 2. mencari metode penyelesaian 3. memilih metode yang paling cocok 4. melaksanakan (implementasi) 5. mengevaluasi hasil Contoh: 1. Produksi tekstil. Waktu penggunaan 2 mesin (A &B) dialokasikan untuk memproduksi 2 jenis tekstil (t.biasa dan t.halus). Dalam satu periode produksi, mesin A punya waktu 80 jam, mesin B punya waktu 60 jam. Per kodi, tekstil biasa perlu waktu pengolahan 2 jam di mesin A dan 3 jam di B, tekstil halus perlu waktu 4 jam di A dan 2 jam di B. Harga jual t.biasa $40/kodi, t.halus $60/kodi. Berapa tiap jenis tekstil dibuat agar harga jual maksimum? Department of Mathematics FMIPA UNS Linear Programming Introduction of LP Nughthoh Arfawi Kurdhi, M.Sc Penyelesaian: Melihat ketentuan-ketentuan yang diketahui lebih baik bila yang diandaikan sebagai peubah bebas-nya adalah jumlah tekstil biasa dan halus yang diproduksi. Untuk mempermudah penyusunan model disusun tabel sebagai berikut. Mesin A Mesin B Harga jual ($) Tekstil biasa Tekstil halus 2 3 40 4 2 60 Alokasi waktu mesin (jam) 80 60 Identifikasi variabel Misalkan x : jumlah tekstil biasa yang diproduksi (dalam kodi). y : jumlah tekstil halus yang diproduksi. Identifikasi fungsi tujuan Pendapatan total yang harus dimaksimumkan adalah = 40 + 60 Identifikasi fungsi-fungsi kendala Keterbatasan alokasi waktu setiap mesin menimbulkan kendala: Mesin A: 2 + 4 ≤ 80 Mesin B: 3 + 2 ≤ 60 Peubah x dan y mewakili besaran yang tidak boleh bernilai negatif: , ≥0 Model Program Linear lengkap Maksimumkan = 40 + 60 terhadap kendala 2 + 4 ≤ 80 3 + 2 ≤ 60 , ≥0 2. Reddy Mikks. Perusahaan cat memproduksi cat interior dan cat eksterior. Dua bahan A & B digunakan. Kebutuhan bahan untuk tiap cat beserta persediaannya terlihat pada tabel di bawah. Survey menunjukkan bahwa permintaan harian cat interior melebihi cat eksterior tidak lebih dari 1 ton. Permintaan maksimum cat interior adalah 2 ton/hari. Harga jual cat eksterior $3000/hari, sedangkan cat interior $2000. Berapa produksi tiap cat supaya harga jual maksimum ? Department of Mathematics FMIPA UNS Linear Programming Introduction of LP Bahan A Bahan B Harga jual ($) Nughthoh Arfawi Kurdhi, M.Sc Cat eksterior Cat interior 1 2 3000 2 1 2000 Persediaan bahan 6 8 Penyelesaian: Melihat ketentuan-ketentuan yang diketahui lebih baik bila yang diandaikan sebagai peubah bebas-nya adalah jumlah cat interior dan eksterior yang diproduksi. Identifikasi variabel Misalkan x : jumlah cat eksterior yang diproduksi. y : jumlah cat interior yang diproduksi. Identifikasi fungsi tujuan Pendapatan total yang harus dimaksimumkan adalah = 3000 + 2000 Identifikasi fungsi-fungsi kendala Keterbatasan persediaan bahan menimbulkan kendala: Bahan A: + 2 ≤ 6 Bahan B: 2 + ≤ 8 Permintaan cat interior melebihi cat eksterior tidak lebih dari 1 ton: − + ≤1 Permintaan maksimum cat interior 2 ton/hari ≤2 Peubah x dan y mewakili besaran yang tidak boleh bernilai negatif: , ≥0 Model Program Linear lengkap Maksimumkan = 3000 + 2000 terhadap kendala +2 ≤6 2 + ≤8 − + ≤1 ≤2 , ≥0 3. Model PL lebih dari 2 variabel. Sebuah bank sedang dalam proses merumuskan kebijakan pinjaman yang melibatkan jumlah total uang sebesar $12 juta. Bank tersebut berkewajiban memberikan pinjaman kepada berbagai nasabah. Tabel berikut memberikan jenis-jenis Department of Mathematics FMIPA UNS Linear Programming Introduction of LP Nughthoh Arfawi Kurdhi, M.Sc pinjaman, suku bunga yang dikenakan oleh bank dan probabilitas pinjaman macet yang diestimasi dari pengalaman masa lalu. Jenis pinjaman Pribadi Mobil Rumah Pertanian Komersial Suku bunga 0,140 0,130 0,120 0,125 0,100 Probabilitas pinjaman macet 0,10 0,07 0,03 0,05 0,02 Pinjaman macet diasumsikan tidak dapat diperoleh kembali sehingga tidak menghasilkan pendapatan bunga. Persaingan dengan lembaga keuangan lainnya di wilayah tersebut mengharuskan bank itu untuk mengalokasikan setidaknya 40% dari dana total untuk pinjaman pertanian dan komersial. Untuk membantu industri perumahan di wilayah itu, pinjaman perumahan harus setidaknya sama dengan 50% dari pinjaman pribadi, mobil dan perumahan. Bank tersebut juga memiliki kebijakan tertulis yang menyatakan bahwa rasio keseluruhan untuk pinjaman macet atas semua pinjaman tidak boleh lebih besar dari 0,04. Penyelesaian: Identifikasi variabel Misalkan : pinjaman pribadi : pinjaman mobil : pinjaman rumah : pinjaman pertanian : pinjaman komersial Identifikasi fungsi tujuan Maksimumkan z = 0,14(0,9x1) + 0,13(0,93x2) + 0,12(0,97x3) + 0,125(0,95x4) + 0,1(0,98 x5) – 0,1x1 – 0,07x2 – 0,03x3 – 0,05x4 – 0,02x5 = 0,026 + 0,059 + 0,0864 + 0,06875 + 0,078 Identifikasi fungsi-fungsi kendala Dana total x1 + x2 + x3 + x4 + x5 ≤ 12 Pinjaman pertanian dan komersial x4 + x5 ≥ (0,4)( x1 + x2 + x3 + x4 + x5) Pinjaman perumahan x3 ≥ 0,5 (x1 + x2 + x3) Department of Mathematics FMIPA UNS Linear Programming Introduction of LP Nughthoh Arfawi Kurdhi, M.Sc Batas pinjaman macet 0,01x1 0,07 x 2 0,03x3 0,05x 4 0,02 x5 0,04 x1 x 2 x3 x 4 x5 Non negativitas x1, x2, x3, x4, x5 ≥ 0 Model Program Linear lengkap Maksimumkan = 0,026 + 0,059 + 0,0864 + 0,06875 + 0,078 terhadap kendala x1 + x2 + x3 + x4 + x5 ≤ 12 0.4x1 + 0.4x2 + 0.4x3 – 0.6x4 − 0.6x5 ≤ 0 0,5x1 + 0,5x2 − 0,5x3 ≤ 0 0,06 + 0,03 − 0,01 + 0,01 − 0,02 ≤ 0 x1, x2, x3, x4, x5 ≥ 0 Department of Mathematics FMIPA UNS