BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

Bab 2 LANDASAN TEORI

BAB 3 METODE PENELITIAN

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

12/15/2014. Apa yang dimaksud dengan Pemrograman Bulat? Solusi yang didapat optimal, tetapi mungkin tidak integer.

BAB 2 PROGRAM INTEGER. Program linear merupakan metode matematika untuk mengalokasikan sumber

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 2.1 Perencanaan Produksi

Bab 2 LANDASAN TEORI

Modul 8. PENELITIAN OPERASIONAL INTEGER PROGRAMMING. Oleh : Eliyani PROGRAM KELAS KARYAWAN PROGRAM STUDI TEKNIK INDUSTRI FAKULTAS TEKNOLOGI INDUSTRI

Metode Simpleks M U H L I S T A H I R

BAB 2 LANDASAN TEORI

BAB II KAJIAN PUSTAKA. pemrograman nonlinear, fungsi konveks dan konkaf, pengali lagrange, dan

BAB I PENDAHULUAN. besar dan mampu membantu pemerintah dalam mengurangi tingkat pengangguran.

BAB 2 LANDASAN TEORI

METODE SIMPLEKS DALAM PROGRAM LINIER

METODE SIMPLEKS MATAKULIAH RISET OPERASIONAL Pertemuan Ke-3. Riani Lubis Program Studi Teknik Informatika Universitas Komputer Indonesia

BAB 3 LINEAR PROGRAMMING

Integer Programming (Pemrograman Bulat)

BAB III. METODE SIMPLEKS

Team Dosen Riset Operasional Program Studi Teknik Informatika Universitas Komputer Indonesia

BAB II METODE SIMPLEKS

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

TENTUKAN MODEL MATEMATISNYA!

Matematika Bisnis (Linear Programming-Metode Grafik Minimisasi) Dosen Febriyanto, SE, MM.

PENERAPAN METODE BRANCH AND BOUND DALAM PENYELESAIAN MASALAH PADA INTEGER PROGRAMMING

II LANDASAN TEORI. suatu fungsi dalam variabel-variabel. adalah suatu fungsi linear jika dan hanya jika untuk himpunan konstanta,.

METODE SIMPLEKS DALAM PROGRAM LINIER

Fungsi kendala tidak hanya dibentuk oleh pertidaksamaan tetapi juga oleh pertidaksamaan dan/atau persamaan =. Fungsi kendala dengan pertidaksamaan

METODE SIMPLEKS DALAM PROGRAM LINIER

APLIKASI METODE CUTTING PLANE DALAM OPTIMISASI JUMLAH PRODUKSI TAHUNAN PADA PT. XYZ. Nico, Iryanto, Gim Tarigan

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

OPTIMALISALI KASUS PEMROGRAMAN LINEAR DENGAN METODE GRAFIK DAN SIMPLEKS

BAB 1 PENDAHULUAN Latar Belakang

METODE SIMPLEKS MATAKULIAH RISET OPERASIONAL Pertemuan Ke-5

PROGRAMA INTEGER 10/31/2012 1

BAB II KAJIAN PUSTAKA

RISET OPERASIONAL MINGGU KE-2. Disusun oleh: Nur Azifah., SE., M.Si. Linier Programming: Formulasi Masalah dan Model

BAB II KAJIAN TEORI. masalah fuzzy linear programming untuk optimasi hasil produksi pada bab

BAB IV. METODE SIMPLEKS

PROGRAM LINEAR: METODE SIMPLEX

MATEMATIKA SISTEM INFORMASI 2 [KODE/SKS : IT / 2 SKS]

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

III KERANGKA PEMIKIRAN

PEMROGRAMAN LINEAR I KOMANG SUGIARTHA

I PENDAHULUAN II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

METODE SIMPLEKS DALAM PROGRAM LINIER

BAB II KAJIAN PUSTAKA. Pada bab ini akan diberikan landasan teori tentang optimasi, fungsi, turunan,

Riset Operasional LINEAR PROGRAMMING

APLIKASI PROGRAM INTEGER PADA PERUMAHAN BUMI SERGAI DI SEI RAMPAH

Perhatikan model matematika berikut ini. dapat dibuat tabel

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

PROGRAM LINIER METODE SIMPLEKS

kita menggunakan variabel semu untuk memulai pemecahan, dan meninggalkannya setelah misi terpenuhi

Teknik Riset Operasi. Oleh : A. AfrinaRamadhani H. Teknik Riset Operasi

PROPOSAL PROGRAM HIBAH PENULISAN BUKU AJAR TAHUN 2017

I PENDAHULUAN II LANDASAN TEORI

Pengubahan Model Ketidaksamaan Persamaan

BAB V PROGRAMA LINIER : METODE SIMPLEKS

BAB II LANDASAN TEORI. A. Sistem Persamaan Linear dan Sistem Pertidaksamaan Linear

BAB I PENDAHULUAN. yang dikemukakan oleh George Dantzig pada tahun Linear Programming (LP) adalah perencanaan aktivitas-aktivitas untuk

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

III. METODE PENELITIAN

PROGRAM LINEAR DENGAN METODE SIMPLEX

III KERANGKA PEMIKIRAN

Bab 1 PENDAHULUAN. 1.1 Latar Belakang

sejumlah variabel keputusan; fungsi yang akan dimaksimumkan atau diminimumkan disebut sebagai fungsi objektif, Ax = b, dengan = dapat

III. KERANGKA PEMIKIRAN

BAB II KAJIAN TEORI. Pada bab ini akan dibahas mengenai beberapa definisi dan teori yang akan

PRAKTIKUM II PEMROGRAMAN LINIER (METODE SIMPLEKS)

PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM PADA CV. XYZ. Angeline, Iryanto, Gim Tarigan

Metode Simpleks (Simplex Method) Materi Bahasan

Taufiqurrahman 1

BAB 2 KAJIAN PUSTAKA

Manajemen Operasional

BAB II TINJAUAN PUSTAKA

APLIKASI PROGRAM LINIER MENGGUNAKAN LINDO PADA OPTIMALISASI BIAYA BAHAN BAKU PEMBUATAN ROKOK PT. DJARUM KUDUS

Pengambilan Keputusan dalam keadaan ada kepastian. IRA PRASETYANINGRUM, S.Si,M.T

LINEAR PROGRAMMING. Pembentukan model bukanlah suatu ilmu pengetahuan tetapi lebih bersifat seni dan akan menjadi dimengerti terutama karena praktek.

BAB LINEAR PROGRAMMING : METODE GRAFIK PENDAHULUAN PENDAHULUAN

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

I PENDAHULUAN II LANDASAN TEORI

ALGORITMA METODE SIMPLEKS (PRIMAL)

Pemodelan dalam RO. Sesi XIV PEMODELAN. (Modeling)

I PENDAHULUAN II LANDASAN TEORI

Danang Triagus Setiyawan ST.,MT

BAB II TINJAUAN PUSTAKA

METODE BIG M. Metode Simpleks, oleh Hotniar Siringoringo, 1

METODE dan TABEL SIMPLEX

Transkripsi:

BAB 2 LANDASAN TEORI 2.1 Program Linier Program linier adalah suatu cara untuk menyelesaikan persoalan pengalokasian sumber-sumber yang terbatas di antara beberapa aktivitas yang bersaing, dengan cara terbaik yang mungkin dilakukan. Pokok pikiran utama dalam menggunakan program linier adalah merumuskan masalah dengan jelas dengan menggunakan sejumlah informasi yang tersedia. Sesudah masalah terumuskan dengan baik, maka langkah berikut ialah menerjemahkan masalah ke dalam bentuk model matematika (Siagian, 2006). Program linier berkaitan dengan maksimalisasi atau minimalisasi dari fungsi tujuan linier dengan beberapa variabel yang memiliki kesamaan dan ketaksamaan fungsi kendala. Program linier menggunakan model matematis untuk menjelaskan persoalan yang dihadapinya. Sifat linier memberi arti bahwa seluruh fungsi matematis dalam model merupakan fungsi yang linier, demikian kata program merupakan sinonim untuk perencanaan. Dengan demikian program linier adalah perencanaan aktivitas-aktivitas untuk memperoleh suatu hasil yang optimum, yaitu suatu hasil yang mencapai tujuan terbaik di antara alternatif yang fisibel (Dantzig & Thapa, 1997). Formulasi model matematis dari persoalan pengalokasian sumber-sumber pada permasalahan program linier adalah sebagai berikut (Sitorus, 1997): maks/min: Z= kendala:,=, 0

di mana: = fungsi tujuan = koefisien dari variabel keputusan dalam fungsi tujuan = variabel keputusan = koefisien dari variabel keputusan dalam fungsi kendala = sumber daya yang tersedia dalam fungsi kendala Dalam kehidupan sehari-hari, program linier merupakan bagian yang sangat penting dalam area matematika yang disebut teknik optimasi. Program linier umumnya diaplikasikan dalam permasalahan yang dapat dimodelkan ke dalam suatu model matematika, misalnya dalam mencari keuntungan suatu usaha, pengoptimalan persediaan, juga dalam beberapa masalah industri maupun ekonomi. Adakalanya dalam situasi tertentu solusi yang diinginkan haruslah dalam bilangan bulat, misalnya pada perusahaan manufaktur, perusahaan tidak bisa memproduksi barang setengah, sepertiga, ataupun seperempat dan sebagainya, jadi masalah ini disebut dengan integer linear programming (Syahputra, 2012). 2.1.1 Syarat Utama Program Linier Agar dapat menyusun dan merumuskan suatu persoalan atau permasalahan yang dihadapi ke dalam model program linier, maka ada lima syarat yang harus dipenuhi (Sitorus, 1997): 1. Tujuan Apa yang menjadi tujuan permasalahan yang dihadapi yang ingin dipecahkan dan dicari jalan keluarnya. Tujuan ini harus jelas dan tegas yang disebut fungsi tujuan. 2. Alternatif Perbandingan Harus ada sesuatu atau berbagai alternatif yang ingin diperbandingkan, misalnya antara kombinasi waktu tercepat dan biaya tertinggi dengan waktu terlambat dan biaya terendah. 3. Sumber Daya

Sumber daya yang dianalisis harus berada dalam keadaan yang terbatas. 4. Perumusan Kuantitatif Fungsi tujuan dan kendala harus dapat dirumuskan secara kuantitatif sesuai dengan yang disebut dalam model matematika. 5. Keterkaitan Peubah Peubah-peubah yang membentuk fungsi tujuan dan kendala tersebut harus memiliki hubungan fungsional atau hubungan keterkaitan. 2.1.2 Karakteristik Program Linier Karakteristik-karakteristik dalam program linier yang biasa digunakan untuk memodelkan suatu masalah dan memformulasikannya secara matematik, yaitu (Siswanto, 2006): 1. Variabel Keputusan Variabel keputusan adalah variabel yang secara lengkap menguraikan keputusan-keputusan yang akan dibuat. 2. Fungsi Tujuan Fungsi tujuan merupakan suatu hubungan linier dari variabel keputusan yang berupa fungsi maksimum atau minimum. 3. Fungsi Kendala Fungsi kendala merupakan batasan-batasan dalam penyelesaian program linier yang harus diperhatikan. Kendala diekspresikan dalam persamaan dan pertidaksamaan yang juga merupakan hubungan linier dari variabel keputusan yang mencerminkan keterbatasan sumber daya dalam suatu masalah.

2.1.3 Asumsi dalam Program Linier Dalam membangun model dari formulasi suatu persoalan akan digunakan karakteristik-karakteristik yang biasa digunakan dalam persoalan program linier, yaitu (Syahputra, 2012): 1. Linieritas (Linearity) Fungsi tujuan (objective function) dan kendala kendalanya (constraints ) dibuat dalam fungsi linier. Sifat linearitas suatu kasus dapat ditentukan dengan menggunakan beberapa cara, misalnya dengan menggunakan grafik. 2. Kesetaraan (Propotionality) a. Kontribusi setiap variabel keputusan terhadap fungsi tujuan adalah sebanding dengan nilai variabel keputusan. b. Kontribusi suatu variabel keputusan terhadap ruas kiri dari setiap pembatas juga sebanding dengan nilai variabel keputusan itu. 3. Penambahan (Addivity) Sifat penambahan mengasumsikan bahwa tidak terdapat bentuk perkalian silang pada model, baik bagi fungsi tujuan maupun kendala. 4. Pembagian (Divisibility) dapat berupa bilangan bulat (integer) atau bilangan pecahan. 5. Ketidaknegatifan (Nonnegativity) Nilai variabel keputusan harus lebih besar atau sama dengan nol. 6. Kepastian (Certainty) Koefisien pada fungsi tujuan ataupun fungsi kendala merupakan suatu nilai pasti, bukan merupakan suatu nilai dengan peluang tertentu. Asumsi-asumsi di atas harus dipenuhi apabila ingin menyelesaikan masalah model program linier. Jika asumsi-asumsi tersebut tidak dapat terpenuhi, persoalan dapat diselesaikan dengan program matematika lain seperti integer programming, nonlinear programming, goal programming dan dynamic programming.

2.1.4 Metode Simpleks Cara yang paling sederhana untuk menyelesaikan permasalahan program linier adalah dengan pendekatan grafik. Namun cara tersebut hanya bisa diterapkan untuk program linier dengan dua variabel keputusan. Pada kenyataannya sebagian besar permasalahan program linier mempunyai lebih dari dua variabel keputusan. Hal ini tentu sulit untuk menerapkan pendekatan grafik untuk memperoleh penyelesaian dari permasalahan tersebut. Oleh karen itu, pada tahun 1947 George Dantzig mengajukan suatu metode yang tepat untuk menyelesaiakn permasalahan program linier yang disebut metode simpleks. Metode simpleks merupakan prosedur aljabar yang bersifat iteratif yang bergerak selangkah demi selangkah, dimulai dari titik ekstrim pada daerah feasible menuju titik ekstrim optimum (Siagian, 2006). Berikut langkah-langkah dalam menyelesaikan permasalahan program linier dengan metode simpleks: 1. Konversikan formulasi persoalan ke dalam bentuk standar. Agar persamaan garis batasan memenuhi persyaratan penyelesaian daerah kelayakan (feasible) maka semua pertidaksamaan diubah menjadi persamaan dengan cara menambahkan slack variable, surplus variable dan variabel buatan (artifisial variabel) pada tiap batasan (constraint) serta memberi harga nol pada setiap koefisien tujuannya. Batasan dapat dimodifikasi sebagai berikut: a. Untuk batasan bernotasi diubah ke dalam bentuk persamaan dengan menambahkan variabel slack. b. Untuk batsan bernotasi atau = deselesaikan dengan menambahkan variabel surplus dan variabel buatan. Dengan penambahan variabel buatan ini akan merusak sistem batasan, hal ini dapat diatasi dengan membuat suatu bilangan penalty M (M bilangan positif yang sangat besar) sebagai harga dari variabel buatan tersebut dalam fungsi tujuan. Untuk kasus maksimasi maka dibuat M sebagai harga dari variabel buatan dan untuk

kasus minimasi dibuat +M sebagai harga dari variabel buatan. Cara pendekatan ini dikenal dengan metode M besar (Big M method). 2. Susun persamaan-persamaan ke dalam tabel simpleks Tabel 2.1 Bentuk Tabel Simpleks Program Linier............... Variabel Basis Harga Basis........................................................................... 3. Pilih kolom kunci, yaitu kolom yang memiliki nilai yang paling positif untuk kasus maksimasi atau yang memiliki nilai yang paling negatif untuk kasus minimasi. 4. Pilih baris kunci yang memiliki nilai indeks terkecil. Nilai indeks adalah perbandingan nilai kanan dengan kolom kunci, 5. Tentukan nilai elemen cell, yaitu nilai perpotongan antara kolom kunci dan baris kunci. 6. Lakukan iterasi dengan menentukan baris kunci baru, baris Z baru dan baris variabel-variabel slack baru. a. Baris kunci baru ditentukan dengan membagi baris kunci lama dengan elemen cell. b. Baris Z baru dan baris-baris lainnya ditentukan dengan cara: Baris lama (nilai kolom kunci baris yang sesuai baris kunci baru) c. Letakkan nilai-nilai baris yang baru diperoleh ke dalam tabel. 7. Lakukan uji optimalisasi. Jika semua koefisien pada baris sudah tidak ada lagi yang bernilai positif (untuk kasus maksimasi) atau sudah tidak

ada lagi yang bernilai negatif (untuk kasus minimasi) berarti sudah optiamal. Jika kriteria belum terpenuhi, diulangi dari langkah 3. 2.2 Program Bilangan Bulat Program bilangan bulat (integer programming) merupakan bentuk perluasan dari program linier. Persoalan program bilangan bulat menginginkan solusi yang didapat berupa bilangan bulat, bukan berupa bilangan pecahan. Contoh persoalan yang sering ditemui misalnya menentukan banyaknya mobil yang harus diproduksi, banyaknya unit rumah yang akan dibangun pada suatu proyek perumahan, banyaknya orang yang diperlukan untuk mengerjakan suatu proyek, dan sebagainya. Program bilangan bulat memiliki model matematis yang sama dengan model program linier pada umumnya, tetapi ditambah batasan bahwa variabelnya harus bilangan bulat sebagai berikut (Syahputra, 2012): maks/min: Z= kendala:,=, 0,semua bilangan bulat di mana: = fungsi tujuan = koefisien dari variabel keputusan dalam fungsi tujuan = variabel keputusan = koefisien dari variabel keputusan dalam fungsi kendala = sumber daya yang tersedia dalam fungsi kendala Berdasarkan jenis keputusan yang akan diperoleh, persoalan integer programming dapat dibedakan atas tiga jenis, yaitu: 1. Pemrograman Bilangan Bulat Murni (Pure Integer Programming) 2. Pemrograman Bilangan Bulat Campuran (Mixed Integer Programming) 3. Pemrograman Bilangan Bulat Biner (Binary Integer Programming)

2.2.1 Program Bilangan Bulat Murni (Pure Integer Programming) Pure Integer Programming (PIP) merupakan pemrograman bilangan bulat di mana semua nilai variabel keputusan haruslah bilangan bulat. Bentuk umum pure integer programming yaitu (Syahputra, 2012): maks/min: Z= kendala:,=, 0,semua bilangan bulat di mana: = fungsi tujuan = koefisien dari variabel keputusan dalam fungsi tujuan = variabel keputusan = koefisien dari variabel keputusan dalam fungsi kendala = sumber daya yang tersedia dalam fungsi kendala 2.2.2 Program Bilangan Bulat Campuran (Mixed Integer Programming) Mixed Integer Programming (MIP) merupakan pemrograman bilangan bulat di mana nilai variabel keputusannya berupa campuran antara bilangan bulat dan bilangan desimal atau pecahan. Bentuk umum mixed nteger programming yaitu (Syahputra, 2012): maks/min: Z= + kendala: +,=, 0,semua bilangan bulat 0

di mana: = fungsi tujuan = koefisien dari variabel keputusan dalam fungsi tujuan = variabel keputusan = koefisien dari variabel keputusan dalam fungsi kendala = sumber daya yang tersedia dalam fungsi kendala = nilai kontribusi dari variabel keputusan = variabel keputusan tidak harus berupa bilangan bulat = koefisien dari variabel keputusan dalam fungsi kendala 2.2.3 Program Bilangan Bulat Biner (Binary Integer Programming) Bentuk lain dari masalah program bilangan bulat adalah binary integer programming (BIP). Dalam persoalan binary integer programming nilai variabel keputusannya berupa bilangan biner (0 atau 1). Dalam aplikasi sehari-hari, masalah binary integer programming menyangkut masalah pengambilan keputusan, di mana jika solusi yang didapat berupa angka 1 berarti menyatakan ya atau angka 0 berarti menyatakan tidak. Bentuk umum dari binary integer programming, yaitu (Syahputra, 2012): maks/min: Z= kendala:,=, =0 1 di mana: = fungsi tujuan = koefisien dari variabel keputusan dalam fungsi tujuan = variabel keputusan = koefisien dari variabel keputusan dalam fungsi kendala = sumber daya yang tersedia dalam fungsi kendala

2.3 Metode Penyelesaian Masalah Program Bilangan Bulat Dapat kita lihat bahwasanya cukup untuk mendapatkan solusi bulat dari masalah program linier dengan menggunakan metode simpleks biasa dan kemudian membulatkan nilai pecahan pada solusi optimum. Akan tetapi bukan tugas mudah untuk membulatkan nilai pecahan dalam variabel basis yang menjamin tetap memenuhi semua kendala dan tidak menyimpang cukup jauh dari solusi bulat yang tepat. Akibatnya diperlukan prosedur yang sistematis untuk mendapatkan solusi optimum yang berupa bilangan bulat terhadap suatu masalah. Beberapa metode yang dapat digunakan untuk menyelesaikan masalah program bilangan bulat antara lain (Syahputra, 2012): 1. Metode Pendekatan Grafik 2. Metode Cutting Plane 3. Metode Branch and Bound 2.3.1 Metode Pendekatan Grafik Masalah program bilangan bulat yang melibatkan dua variabel dapat diselesaikan dengan metode pendekatan grafik. Metode ini sama dengan metode grafik yang biasa digunakan dalam program linier. Metode grafik relatif lebih mudah untuk menyelesaikan masalah program bilangan bulat dengan dua variabel yaitu dengan menggambar grafik di atas kertas grafik kemudian menggambarkan sekumpulan titik-titik bilangan bulat dalam ruang solusi layak (Syahputra, 2012). Dalam hal ini ada masalah berikut yang akan diselesaikan dengan pendekatan grafik sebagai berikut: contoh 2.1: carilah nilai bilangan bulat dan dari ketentuan berikut (Wolff, 1985): maks: =3 +20 kendala: + 8 32 2 + 14, 0 adalah bilangan bulat

Model ini serupa dengan model program linier biasa. Perbedaannya terletak pada kendala terakhir yang menginginkan solusi bernilai bilangan bulat positif, solusi grafik untuk masalah ini ditunjukkan pada gambar di bawah: Gambar 2.1 Penyelesaian dengan Pendekatan Grafik optimum masalah program linier di atas adalah =5,3333, =3,3333 dan =82,6666. Untuk mencari solusi optimum yang bernilai bilangan bulat pada masalah ini, garis Z digeser secara sejajar dari titik yang menunjukkan solusi optimum menuju titik asal. optimum berupa bilangan bulat adalah titik bilangan bulat pertama yang bersinggungan dengan garis Z yaitu =0, =4 dan =80. 2.3.2 Metode Cutting Plane Metode cutting plane merupakan metode yang digunakan untuk menyelesaikan program linier bilangan bulat, baik bilangan bulat murni maupun campuran dengan penambahan batasan baru yang disebut gomory. Batasan gomory diberikan jika nilai dari variabel keputusan belum bulat (bernilai pecahan). Batasan-batasan tersebut secara efektif akan menyingkirkan beberapa ruang penyelesaian yang tidak berisi titik bilangan bulat yang layak, tetapi tidak pernah menyingkirkan satupun titik bilangan bulat yang layak (Taha, 1996).

Metode cutting plane dikembangkan untuk menemukan solusi optimum bagi program bilangan bulat. Metode ini dilakukan dengan menambahkan suatu kendala yang dinamakan kendala gomory. Penambahan kendala gomory dilakukan pada tabel optimal sehingga dapat mempersingkat perhitungan (Siagian, 2006). Metode cutting plane digunakan untuk permasalahan yang variabel keputusannya harus bulat. Program linier tidak efektif untuk menyelesaikan permasalahan tersebut sehingga dikembangkan metode cutting plane yang lebih efektif dan memberikan hasil yang lebih baik. Langkah-langkah prosedur gomory diringkas seperti berikut: 1. Selesaikan masalah program bilangan bulat dengan menggunakan metode simpleks. Jika masalah sederhana, gomory dapat diselesaikan dengan pendekatan grafik, sehingga pendekatan gomory kurang efisien. 2. Periksa solusi optimum. Jika semua variabel basis memiliki nilai bilangan bulat, solusi optimum yang berupa bilangan bulat telah diperoleh dan proses solusi telah berakhir. Jika satu atau lebih variabel basis masih memiliki nilai pecah, teruskan ke tahap 3. 3. Buatlah suatu batasan gomory dan cari solusi optimum melalui prosedur dual simpleks. Kembali ke tahap 2 (Taha, 1996). Tabel 2.2 Optimum Masalah Program Linier............... Variabel Harga Basis Basis........................................................................... di mana: = variabel basis = variabel nonbasis

Perhatikan persamaan ke di mana variabel diasumsikan bernilai tidak bilangan bulat sebagai berikut: = di mana: = variabel basis = variabel nonbasis = koefisien dari variabel keputusan dalam fungsi kendala yang berupa noninteger = sumber daya yang tersedia dalam fungsi kendala yang berupa noninteger kemudian pisahkan dan menjadi bagian yang bulat dan bagian pecah non negatif seperti berikut: = + sehingga =, di mana 0 1 = + sehingga =, di mana 0 1 dapat kita lihat contoh berikut: 3 2 7 8 7 3 1 0 2 1 2 7 8 1 3 7 3 3 2 3 1 1 0 2 5 sehingga adapun kendala gomory yang diinginkan sebagai berikut: = di mana: = slack gomory variable 1 3 5 = bagian pecahan dari = bagian pecahan dari = variabel nonbasis

Pada umumnya, persamaan kendala yang berhubungan dengan solusi pecah dipilih untuk menghasilkan suatu kendala gomory. Namun, sebagai aturan main biasanya dipilih persamaan yang memiliki maksimum. Adapun tabel baru setelah penambahan kendala gomory disajikan pada tabel berikut: Tabel 2.3 Penambahan Kendala Gomory.................. Variabel Harga Basis Basis..................... 0............... 0 0............... 0 0 0 0 0... 1........................... Karena diperoleh solusi primal optimum tetapi tidak layak maka digunakan metode dual simpleks. Proses pembentukan kendala gomory berakhir jika solusi baru semua berupa bilangan bulat. Jika tidak, suatu kendala gomory baru dibuat lagi dari tabel yang dihasilkan dan metode dual simpleks digunakan lagi untuk mengatasi ketidaklayakan. Jika pada setiap iterasi metode dual simpleks menunjukkan bahwa tidak ada solusi layak, berarti masalah itu tidak memiliki solusi integer yang layak. Metode cutting plane ini mempunyai dua kelemahan sebagai berikut: 1. Kesalahan pembulatan yang muncul dalam perhitungan otomatis akan mendistorsi data semula terutama dengan bertambahnya ukuran masalah. 2. masalah tetap tidak layak, artinya tidak ada solusi integer yang dapat diperoleh sampai solusi integer optimal dicapai. Ini berarti bahwa tidak ada solusi integer yang baik jika perhitungan dihentikan sebelum mencapai solusi integer yang optimal (Taha, 1996). Kelemahan pertama dapat diatasi dengan penggunaan integer murni. Metode ini dimulai dengan tabel awal yang semuanya terdiri dari integer yang

sesuai dengan metode dual simpleks. Kemudian dilakukan penambahan gomory sehingga penambahannya ke tabel akan mempertahankan sifat integer dari semua koefisien. Dan kelemahan kedua dapat menggunakan metode cutting plane yang dimulai dengan integer dan layak, tetapi tidak optimal. Iterasi yang berlanjut tetap layak dan integer sampai solusi optimum dicapai (Taha, 1996). Dalam hal ini ada masalah diselesaikan dengan metode cutting plane sebagai berikut: contoh 2.2: carilah nilai bilangan bulat dan dari ketentuan berikut (Syahputra,2012): maks: =7 +9 kendala: +3 6 7 + 35, 0 adalah bilangan bulat dari permasalahan di atas maka diperoleh solusi optimumnya sebagai berikut berikut: Tabel 2.4 Optimum Contoh 2.2 7 9 0 0 Variabel Basis Harga Basis 9 0 1 0,3282 0,0455 3,5000 7 1 0-0,0455 0,1364 4,5000 0 0 2,5455 1,3636 63 sehingga dapat diperoleh solusi optimum sebagai berikut: =4,5000, =3,5000 dan =63 karena solusi tidak diperoleh bilangan bulat, suatu kendala gomory ditambahkan pada tabel tersebut. Kedua persamaan ( dan ) pada masalah ini memiliki nilai yang sama yaitu = =0,5000, sehingga salah satu dapat digunakan, misalkan yang digunakan persamaan, maka dapat diperoleh sebagai berikut: +0,3282 +0,0455 =3,5000 kemudian kita pisahkan koefisien yang bernilai pecahan menjadi 2 bagian yaitu yang bernilai bilangan bulat dan bilangan pecahan + 0+0,3282 + 0+0,0455 = 3+0,5000

sehingga kendala gomory menjadi 1 0,3282 0,0455 = 0,5000 sehingga dapat dibentuk tabel baru setelah penambahan kendala gomory sebagai berikut: Tabel 2.5 Penambahan Kendala Gomory Pertama 7 9 0 0 0 Variabel Harga 1 Basis Basis 9 0 1 0,3282 0,0455 0 3,5000 7 1 0-0,0455 0,1364 0 4,5000 1 0 0 0-0,3282-0,0455 1-0,5000 0 0 2,5455 1,3636 0 63 kemudian permasalahan di atas setelah penambahan kendala gomory diselesaikan dengan memakai metode dual simpleks, maka diperoleh hasilnya sebagai berikut: Tabel 2.6 Optimum dengan Penambahan Kendala Gomory Pertama 7 9 0 0 0 Variabel Harga 1 Basis Basis 9 0 1 0 0 1 3 7 1 0 0 0,1428-0,1428 4,5714 1 0 0 0 1 0,1428 3,1428 1,5714 0 0 0 1 8 59 sehingga dapat diperoleh solusi optimum sebagai berikut: =4,5714, =1,5714 dan =55 karena solusi tidak diperoleh bilangan bulat, suatu kendala gomory ditambahkan kembali pada tabel tersebut. Dapat dilihat bahwa persamaan memiliki = 0,5714, sehingga persamaan dapat diperoleh sebagai berikut: +0,1428 0,1428 =4,5714 kemudian kita pisahkan koefisien yang bernilai pecahan menjadi 2 bagian yaitu yang bernilai bilangan bulat dan bilangan pecahan

+ 0+0,1428 0+0,1428 = 4+0,5714 sehingga kendala gomory menjadi 2 0,1428 0,1428 1 = 0,5714 sehingga dapat dibentuk tabel baru setelah penambahan kendala gomory yang baru sebagai berikut: Tabel 2.7 Penambahan kendala Gomory Kedua 7 9 0 0 0 0 Variabel Harga 1 2 Basis Basis 9 0 1 0 0 1 0 3 7 1 0 0 0,1428-0,1428 0 4,5714 1 0 0 0 1 0,1428 3,1428 0 1,5714 2 0 0 0 0-0,1428-0,1428 1-0,5714 0 0 0 1 8 0 59 kemudian permasalahan di atas setelah penambahan kendala gomory yang baru diselesaikan dengan memakai metode dual simpleks, maka diperoleh hasilnya sebagai berikut: Tabel 2.8 Optimum dengan Penambahan Kendala Gomory Kedua 7 9 0 0 0 0 Variabel Harga 1 2 Basis Basis 9 0 1 0 0 1 0 3 7 1 0 0 0-1 1 4 1 0 0 0 1 0-4 1 1 2 0 0 0 0 1 6-7 4 0 0 0 0 2 7 55 sehingga dapat diperoleh solusi optimum dengan bilangan bulat sebagai berikut: =4, =3 dan =55

2.3.3 Metode Branch and Bound Metode branch and bound adalah salah satu metode untuk mendapatkan penyelesaian optimal pada program linier yang menghasilkan variable-variabel keputusan bilangan bulat. Metode ini membatasi penyelesaian optimum yang akan menghasilkan bilangan pecahan dengan cara membuat cabang atas dan bawah bagi masing-masing variabel keputusan yang bernilai pecahan agar bernilai bulat sehingga setiap pembatasan akan menghasilkan cabang baru. Metode branch and bound telah menjadi kode komputer standar untuk program bilangan bulat dan penerapan-penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efisien dibanding dengan metode cutting plane. Metode branch and bound dapat digunakan untuk menyelesaikan masalah pure maupun mixed integer programming (Syahputra, 2012). Adapun langkah-langkah penyelesaian masalah maksimasi dengan metode branch and bound sebagai berikut (Syahputra, 2012): 1. Selesaikan masalah program linier biasa tanpa pembatasan bilangan bulat dengan metode simpleks biasa. 2. Teliti solusi optimumnya. Jika semua variabel basis telah bernilai bulat, maka solusi optimum telah tercapai dan proses berakhir. Jika satu atau lebih variabel basis belum bernilai bulat, lanjut ke tahap 3. 3. Jadikan solusi pada penyelesaian tahap 1 (relaxed solution) menjadi batas atas dan sebagai batas bawahnya digunakan solusi yang variabel basisnya telah dibulatkan ke bawah (rounded down). 4. Pilih variabel yang mempunyai nilai pecahan yang terbesar untuk dijadikan pencabangan ke dalam sub-sub masalah. Tujuannya adalah untuk menghilangkan solusi kontinu yang tidak memenuhi persyaratan bulat dalam masalah itu. Pencabangan dilakukan secara mutually exclusive untuk memenuhi persyaratan bulat dengan jaminan tidak ada solusi bulat layak yang tidak diikut sertakan. 5. Untuk setiap sub masalah, nilai solusi optimum kontinu fungsi tujuan ditetapkan sebagai batas atas. bulat terbaik menjadi batas bawah (pada

awalnya, ini adalah solusi kontinu yang dibulatkan ke bawah). Sub-sub masalah yang memiliki batas atas kurang dari batas bawah yang ada, tidak diikut sertakan pada analisa selanjutnya. Suatu solusi bulat layak adalah sama baik atau lebih baik dari batas atas untuk setiap sub masalah yang dicari. Jika solusi yang demikian terjadi, suatu sub masalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali ke langkah 4. Untuk masalah minimasi, solusi yang menjadi batas atas dibulatkan keatas, atau dengan kata lain batas atas dan bawah pada kasus minimasi berlawanan pada kasus maksimasi (Syahputa, 2012). Dalam hal ini ada masalah berikut yang akan diselesaikan dengan metode branch and bound sebagai berikut: contoh 2.3: carilah nilai bilangan bulat dan dari ketentuan berikut (Wolfe,1985): maks: =5 +2 kendala: 6 +10 69 3 +10 60 6 15 24, 0 adalah bilangan bulat dari permasalahan tersebut maka diperoleh solusi optimumnya sebagai berikut berikut: Tabel 2.9 Optimum Contoh 2.3 5 2 0 0 0 Variabel Harga Basis Basis 2 0 1 0,0400 0-0,0400 1,8000 0 0 0-0,7000 1 0,2000 16,500 5 1 0 0,1000 0 0,0667 8,5000 0 0 0,5800 0 0,2533 46,100 sehingga dapat diperoleh solusi optimum sebagai berikut: =8,5000, =1,8000 dan =46,100

dan solusi tersebut belum diperoleh bilangan bulat maka diterapkan metode branch and bound, kita ketahui bahwa dan belum berupa bilangan bulat, maka kita pilih variabel yang solusinya bernilai pecahan terbesar untuk dicabangkan, yang dalam hal ini merupakan nilai pecahan terbesar, jadi yang dicabangkan. Untuk menghilangkan bagian pecahan pada, dua kendala baru dibuat. Nilai bulat terdekat terhadap 8,5000 yaitu 8 dan 9. Sehingga diperoleh dua kendala baru yang saling mutually exclusive, yaitu 8 dan 9, kendala-kendala baru tersebut secara efektif akan menghilangkan semua nilai pecah yang mungkin ada pada. Kemudian akan diuraikan permasalahan tersebut kedalam bagian A dan bagian B sebagai berikut: Bagian A: maks: =5 + 2 kendala: 6 +10 69 3 +10 60 6 15 24 1 + 0 8, 0 Bagian B: maks: =5 + 2 kendala: 6 +10 69 3 +10 60 6 15 24 1 + 0 9, 0 kemudian bagian A dan bagian B diselesaikan dengan metode simpleks tanpa pembatasan bilangan bulat, adapun solusi optimumnya sebagai berikut:

Tabel 2.10 Optimum pada Bagian A 5 2 0 0 0 0 Variabel Harga Basis Basis 0 0 0 1,5000 0 1-15 7,5000 0 0 0-1,0000 1 1 3,0000 15 5 1 0 0 0 0 1 8 2 0 1 0,1000 0 0-0,6000 2,1000 0 0-0,2000 0 0,2533 3,8000 44,200 sehingga dapat diperoleh solusi optimum sebagai berikut: =8, =2,1000 dan =44,200 dan pada bagian B tidak diperoleh solusi yang layak. Dari solusi pada bagian A belum diperoleh bilangan bulat maka diterapkan metode branch and bound, kita ketahui bahwa belum berupa bilangan bulat maka yang dicabangkan. Untuk menghilangkan bagian pecahan pada, dua kendala baru dibuat. Nilai bulat terdekat terhadap 2,1000 yaitu 2 dan 3. Sehingga diperoleh dua kendala baru yang saling mutually exclusive, yaitu 2 dan 3, kendala-kendala baru tersebut secara efektif akan menghilangkan semua nilai pecah yang mungkin ada pada. Kemudian akan diuraikan permasalahan bagian A kedalam bagian C dan bagian D sebagai berikut: Bagian C: maks: =5 + 2 kendala: 6 +10 69 3 +10 60 6 15 24 1 + 0 8 0 + 1 2, 0

Bagian D: maks: =5 + 2 kendala: 6 +10 69 3 +10 60 6 15 24 1 + 0 8 0 + 1 3, 0 kemudian bagian C dan bagian D diselesaikan dengan metode simpleks tanpa pembatasan bilangan bulat, adapun solusi optimumnya sebagai berikut: Tabel 2.11 Optimum pada Bagian C 5 2 0 0 0 0 0 Variabel Harga Basis Basis 0 0 0 1 0 0-6 -10 1 0 0 0 0 1 0-3 -10 16 5 1 0 0 0 0 1 0 8 2 0 1 0 0 0 0 1 2 0 0 0 0 0 1 6 15 6 0 0 0 0 0 5 2 44 sehingga dapat diperoleh solusi optimum sebagai berikut: =8, =2 dan =44 dan terlihat bahwa solusi optimum pada bagian C sudah semua merupakan bilanagan bulat.

Tabel 2.12 Optimum pada Bagian D 5 2 0 0 0 0 0 Variabel Harga Basis Basis 5 0 0 0,1667 0 0 0 1,1667 6,5000 0 0 0-0,5000 1 0 0 5 10,500 0 1 0-1 0 1 0-25 30 0 0 1-0,1667 0 0 1-1,1667 1,5000 2 0 0 0 0 0 0-1 3 0 0 0,8333 0 0 0 6,3333 38,500 sehingga dapat diperoleh solusi optimum sebagai berikut: =6,5000, =3 dan =38,5000 dan terlihat bahwa solusi optimum pada bagian D belum semua merupakan bilangan bulat. Dari solusi pada bagian belum diperoleh bilangan bulat maka diterapkan metode branch and bound, kita ketahui bahwa belum berupa bilangan bulat maka yang dicabangkan. Untuk menghilangkan bagian pecahan pada, dua kendala baru dibuat. Nilai bulat terdekat terhadap 6,5000 yaitu 6 dan 7. Sehingga diperoleh dua kendala baru yang saling mutually exclusive, yaitu 6 dan 7, kendala-kendala baru tersebut secara efektif akan menghilangkan semua nilai pecah yang mungkin ada pada. Kemudian akan diuraikan permasalahan bagian D kedalam bagian E dan bagian F sebagai berikut: Bagian E: maks: =5 + 2 kendala: 6 +10 69 3 +10 60 6 15 24 1 + 0 8 0 + 1 2 1 + 0 6, 0

Bagian F: maks: =5 + 2 kendala: 6 +10 69 3 +10 60 6 15 24 1 + 0 8 0 + 1 2 1 + 0 7, 0 kemudian bagian E dan bagian F diselesaikan dengan metode simpleks tanpa pembatasan bilangan bulat, adapun solusi optimumnya sebagai berikut: Tabel 2.13 Optimum pada Bagian E 5 2 0 0 0 0 0 0 0 Variabel Harga Basis Basis 0 0 0 0,1000 0 0 0-1 1-0,6000 0,3000 0 0 0-1 1 0 0 0 0 3 9 0 0 0 1,5000 0 1 0 0 0-1,5000 37,5000 0 0 0 0 0 0 1 0 0-1 2 5 0 1 0,1000 0 0 0 0 0-0,6000 3,3000 2 1 0 0 0 0 0 0 0 1 6 0 0 0,200 0 0 5 0 0 3 36,600 sehingga dapat diperoleh solusi optimum sebagai berikut: =6, =3,3000 dan =36,6000 dan terlihat bahwa solusi optimum pada bagian E belum semua merupakan bilangan bulat, kemudian pada bagian F tidak diperoleh solusi yang layak. Jadi dari solusi pada bagian E belum diperoleh bilangan bulat maka diterapkan metode branch and bound, kita ketahui bahwa belum berupa bilangan bulat maka yang dicabangkan. Untuk menghilangkan bagian pecahan pada, dua kendala

baru dibuat. Nilai bulat terdekat terhadap 3,3000 yaitu 3 dan 4. Sehingga diperoleh dua kendala baru yang saling mutually exclusive, yaitu 3 dan 4, kendala-kendala baru tersebut secara efektif akan menghilangkan semua nilai pecah yang mungkin ada pada. Kemudian akan diuraikan permasalahan bagian E kedalam bagian G dan bagian H sebagai berikut: Bagian G: maks: =5 + 2 kendala: 6 +10 69 3 +10 60 6 15 24 1 + 0 8 0 + 1 2 1 + 0 6 0 + 1 3, 0 Bagian H: Maks: =5 + 2 kendala: 6 +10 69 3 +10 60 6 15 24 1 + 0 8 0 + 1 2 1 + 0 6 0 + 1 4, 0

bagian G dan bagian H diselesaikan dengan metode simpleks tanpa pembatasan bilangan bulat, adapun solusi optimumnya sebagai berikut: Tabel 2.14 Optimum pada Bagian G 5 2 0 0 0 0 0 0 0 0 Variabel Harga Basis Basis 0 0 0 1 0 0 0 0 0-6 -10 3 0 0 0 0 1 0 0 0 0-3 -10 12 0 0 0 0 0 1 0 0 0-6 15 33 0 0 0 0 0 0 1 0 0-1 0 2 5 0 1 0 0 0 0 0 0 0 1 3 2 1 0 0 0 0 0 0 0 1 0 6 0 0 0 0 0 0-1 1 0 1 0 0 0 0 0 0 0 0 0 5 2 36 sehingga dapat diperoleh solusi optimum sebagai berikut: =6, =3 dan =36. Dan terlihat bahwa solusi optimum pada bagian G sudah semua merupakan bilanagan bulat.

Tabel 2.15 Optimum pada Bagian H 5 2 0 0 0 0 0 0 0 0 0 Variabel Basis Harga Basis 5 1 0 0,1667 0 0 0 0 0 0-1,6667 1,6667 4,8333 0 0 0-0,5000 1 0 0 0 0 0-5 5 5,5000 0 0 0-1 0 1 0 0 0 0 25-25 55 0 0 0-0,1667 0 0 1 0 0 0 1,6667-1,6667 3,1667 2 0 1 0 0 0 0 0 0 0 1-1 4 0 0 0-0,1667 0 0 0 0 0 1 1,6667-1,6667 1,1667 0 0 0 0 0 0-1 1 0 1-1 1 0 0 0,8333 0 0 0 0 0 0-6,3333 6,3333 36,1670 sehingga dapat diperoleh solusi optimum sebagai berikut: =4,8333, =4 dan =32,1670 terlihat bahwa solusi optimum pada bagian H belum semua merupakan bilanagan bulat, kita ketahui bahwa solusi optimum pada bagian G dan bagian H memiliki nilai fungsi tujuan yang lebih rendah (buruk) dibandingkan solusi yang dihasilkan pada bagian E, maka proses pencabangan dihentikan. Sehingga solusi optimum yang menghasilkan berupa bilangan bulat terletak pada bagian C dengan =8, =2 dan =44.

36 Awal =8,5000 =1,8000 =46,1000 8 A 9 B =8 =2,1000 =44,2000 TIDAK LAYAK 2 C 3 D =8 =2 =44 =6,5000 =3 =38,5000 6 E 7 F =6 =3,3000 =36,60000 TIDAK LAYAK 3 G 4 H =3 =6 INFERIOR =36 Gambar 2.2. Diagram Prosedur Permasalahan dengan Metode Branch and Bound