• Tidak ada hasil yang ditemukan

PROGRAM LINEAR BILANGAN BULAT DUAL SKRIPSI

N/A
N/A
Protected

Academic year: 2021

Membagikan "PROGRAM LINEAR BILANGAN BULAT DUAL SKRIPSI"

Copied!
96
0
0

Teks penuh

(1)

PROGRAM LINEAR BILANGAN BULAT DUAL

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Sains (S.Si)

Program Studi Matematika

Oleh:

Bernadeta Widiasih

NIM : 013114017

PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)
(3)
(4)

iv

HALAMAN PERSEMBAHAN

 

Terima kasih 

Telah mengajariku membedakan yang benar dan yang salah 

Mendorongku untuk mempertahankan mimpi­mimpiku 

Menunjukkan padaku untuk tidak terpengaruh oleh rintangan 

Dan untuk mengubah kebingunganku menjadi senyuman 

 

Telah mengatakan bahwa kalian menyayangiku 

Menunjukkan betapa istimewanya cinta itu 

Menghapuskan air mataku kala aku sedih 

Dan untuk menenangkanku saat aku ingin marah 

 

Telah membantu sesama dengan perbuatan baik kalian 

Mengajariku bahwa aku pun mesti menolong sesama 

Memelukku ketikaaku merasa sunyi 

Dan membisikkan padaku 

AKU SAYANG PADAMU

Terima kasih keluargaku atas segala yang kalian lakukan 

Entah bagaimana jadinya diriku tanpa kalian  

 

Kupersembahkan karya ini untuk:

Tuhan Yesus Kristus dan Bunda Maria

Almarhum Bapak, Ibu, Mba eta, Lia dan

Semua Keluarga Besarku.

(5)
(6)

vi

ABSTRAK

Program linear bilangan bulat merupakan bagian dari program linear di mana

menginginkan penyelesaian dalam bentuk bilangan bulat. Dalam program linear

bilangan bulat terdapat dua model, yakni program linear bilangan bulat fraksional

dual dan program linear bilangan bulat dual. Program linear bilangan bulat fraksional

dual memungkinkan adanya nilai variabel berupa bilangan pecahan dalam

perhitungannya, sedangkan dalam program linear bilangan bulat dual semua nilai

variabel dalam perhitungan haruslah berupa bilangan bulat. Masalah program linear

bilangan bulat dapat diselesaikan dengan menggunakan beberapa metode, seperti

metode bidang pemotong, metode cabang dan batas, dan metode enumerasi. Pada

penulisan ini masalah program linear bilangan bulat akan diselesaikan dengan

metode bidang pemotong.

Penyelesaian masalah program linear bilangan bulat dengan metode bidang

pemotong dimulai dengan mengubah bentuk baku menjadi bentuk kanonik, dan

menyusun tabel awal. Setelah itu dilanjutkan dengan mencari baris sumber dan

kolom pivot serta menentukan bentuk kendala bidang pemotong. Bentuk kendala

bidang pemotong tersebut kemudian ditambahkan ke dalam tabel, yang selanjutnya

diselesaikan dengan metode simpleks. Proses iterasi ini diulang hingga penyelesaian

optimum dicapai.

(7)

vii

ABSTRACT

Integer programming is a part of linear programming where its solutions are

integer. There are two models of integer programming, dual fractional integer

programming and dual all-integer integer programming. The value of variables in

calculations of dual fractional integer programming can be in the form of fractional,

while in dual all-integer integer programming all of variable values in calculations

must be in the form of integer. Some methods, such as cutting plane method, branch

and bound method and enumeration method can solve the integer programming

problem. In this paper, we use cutting plane method to solve integer programming

problem.

The first step in solving integer programming problem by cutting plane

method is changing standard form to canonic form, and arranging the beginning

table. After that, we choose the source row and pivot column, and then determine the

form of the Gomory Cut. We will add the Gomory Cut into the table and solve it by

dual simplex method. We repeat this iteration process until optimum integer solution.

(8)

viii

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Tuhan Yesus atas segala kasih dan

perlindungan-Nya sehingga penulisan skripsi ini dapat terselesaikan. Skripsi ini

disusun dalam rangka melengkapi salah satu syarat untuk memperoleh gelar Sarjana

Sains pada Program Studi Matematika, Jurusan Matematika, Fakultas Matematika

dan Ilmu Alam, Universitas Sanata Dharma Yogyakarta.

Penulisan skripsi ini tidak lepas dari bantuan dan dukungan dari berbagai

pihak. Oleh karena itu, pada kesempatan ini penulis ingin menyampaikan ucapan

terima kasih kepada:

1.

Ibu Lusia Krismiyati, S.Si, M.Si sebagai dosen pembimbing yang penuh

perhatian dan kesabaran telah membimbing serta memberi saran dan kritik

kepada penulis selama proses penulisan skripsi ini.

2.

Bapak Ir. Ig. Aris Dwiatmoko, M.Sc selaku Dekan fakultas MIPA yang telah

memberi dukungan dalm penulisan skripsi ini.

3.

Bapak Y.G. Hartono, S.Si, M.Sc selaku Ketua Program Studi Matematika, dan

dosen penguji yang memberikan dukungan, saran dan kritik dalam skripsi ini.

4.

Ibu Any Herawati, S.Si, M.Si selaku dosen penguji yang telah memberikan saran

dan kritik dalam skripsi ini.

5.

Bapak dan Ibu dosen di Fakultas MIPA yang telah membimbing dan mendidik

penulis selama menuntut ilmu di Universitas Sanata Dharma.

6.

Bapak dan Ibu karyawan Universitas Sanata Dharma, khususnya sekretariat

fakultas MIPA dan perpustakaan Universitas Sanata Dharma atas segala bantuan

dan fasilitas yang telah diberikan.

7.

Almarhum Bapak (pak aku belum bisa buat bapak bahagia dengan kelulusan ini

tapi aku tau bapak selalu menyertai hidupku, makasih pak aku sayang bapak),

(9)

ix

Ibu, Mba eta, Lia dan semua keluargaku tercinta atas kasih sayang, doa,

semangat, dukungan dan kesabarannya menanti kelulusan ini.

8.

Sahabat-sahabatku seperjuangan angkatan 2001: Maria(jangan lupain masa2 qta

nunggu 21 ya!!!), Indah, Erika, Ajeng(tunggu aku dijakarta ya), Very, Upik,

Yuli, Dani, Tabita, Fanya(makasih laptopnya), Andre, Ariel, Agnes, Wiwit,

Rita+Alam (makasih semangat n bantuannya), Vrysca, Daniel, Tedy, Ray, April,

Ardi, serta kakak-kakak angkatan 1998, 1999, 2000 dan adik-adik angkatan

2002, 2003, 2004 yang telah membantu dan mendukung penulis.

9.

Untuk seseorang yang selama ini mengisi hatiku yang telah memberi dukungan,

semangat, nasehat, doa, cinta dan rasa sayangnya.

10.

Untuk saudara-saudaraku yang menemaniku dijogja: Wahyu(makasih dah mau

anter aku n pinjemin komputernya), Nita, Wiwit, mas Lus dan keluargaku yang

telah memberi dukungan, semangat, saran dan doanya.

11.

Anak-anak kost gang endro no 8 : Mba lina(makasih atas perhatiannya hingga ku

bisa mengerti arti hidup), Mba rini, Mba armi, Ayu, Tia, Mery, F3, Cu2, Weni,

Rini, Ika, Lia, Ratna, Riska, Winda,Beni dan teman-teman kost dari awal sampai

akhir aku kuliah yang telah memberi dukungan, semangat, doa dan candanya.

12.

Semua pihak yang telah membantu penulis baik secara langsung maupun tidak

langsung hingga selesainya penulisan skripsi ini.

Penulis menyadari bahwa skripsi ini masih banyak kekurangannya. Oleh

karena itu, penulis mengucapkan terima kasih bila ada kritik dan saran yang dapat

membangun penulis. Penulis berharap semoga skripsi ini dapat bermanfaat dan

menjadi referensi bagi pembaca.

(10)

x

DAFTAR ISI

Halaman

HALAMAN JUDUL ………..…… i

HALAMAN PERSETUJUAN PEMBIMBING ………. ii

HALAMAN PENGESAHAN ……… iii

HALAMAN PERSEMBAHAN ………..…….. iv

PERNYATAAN KEASLIAN KARYA ……….…... v

ABSTRAK ……….…… vi

ABSTRACT ……….………... vii

KATA PENGANTAR ……….…….. viii

DAFTAR ISI ……….……. x

DAFTAR GAMBAR ……….……. xii

DAFTAR TABEL ……….……. xiii

BAB I

PENDAHULUAN ………..……. 1

A.

Latar Belakang Masalah ……….…… 1

B.

Rumusan Masalah ………...…….. 2

C.

Pembatasan Masalah ………...….. 2

D.

Tujuan Penulisan ………. 3

E.

Manfaat Penulisan ……….. 3

F.

Metode Penulisan ………..…………..……... 3

G.

Sistematika Penulisan ……….……… 4

(11)

xi

BAB II PROGRAM LINEAR DENGAN DUAL………..……... 5

A.

Program Linear ……….…… 5

B.

Metode Grafik ……….…… 9

C.

Metode simpleks………...………... 10

D.

Metode Simpleks Dual ………..…….. 16

E.

Program Linear Bilangan Bulat ..………...…… 21

BAB III

PROGRAM LINEAR BILANGAN BULAT FRAKSIONAL DUAL 25

A.

Masalah Program Linear Bilangan Bulat...………... 25

B.

Penyelesaian Masalah Program Linear Bilangan Bulat Fraksional

Dual ……….….…… 29

BAB IV PROGRAM LINEAR BILANGAN BULAT DUAL ... 60

A.

Masalah Program Linear Bilangan Bulat Dual Dengan Metode

Bidang Pemotong...…… 60

B.

Penyelesaian Masalah Program Linear Bilangan Bulat Dual... 68

BAB IV PENUTUP ...….. 81

A.

Kesimpulan ………...…….. 81

B.

Saran ………...…… 82

(12)

xii

DAFTAR GAMBAR

Halaman

Gambar 2.1.Ilustrasi Penyelesaian Masalah Program Linear dengan metode

grafik……… 10

Gambar 3.1.Ilustrasi Penyelesaian Masalah Program Linear Bilangan Bulat dengan

metode bidang pemotong …………..……....………... 26

Gambar 3.2.Penyelesaian Masalah Program Linear Bilangan Bulat Fraksional

Dual……….. 51

Gambar 4.1. Penyelesaian Masalah Program Linear Bilangan Bulat Dual……... 80

(13)

xiii

DAFTAR TABEL

Halaman

Tabel 2.1 Tabel Awal Simpleks……… 14

Tabel 2.2 Tabel Awal Simpleks Dual………...…… 19

Tabel 3.1 Tabel Awal Program Linear Bilangan Bulat Fraktional Dual...…………... 30

Tabel 3.2. Tabel Dengan Bentuk Kendala Bidang Pemotong... ………. 32

Tabel 3.3. Tabel Awal Pada Contoh Masalah Program Linear Bilangan Bulat………… 40

Tabel 3.4. Tabel Setelah Operasi Baris Elementer Pada Iterasi 1.………...…. 41

Tabel 3.5. Tabel Setelah Operasi Baris Elementer Pada Iterasi 2……….. 42

Tabel 3.6. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 1………...…. 45

Tabel 3.7. Tabel Setelah Dilakukan Operasi Baris Elementer Pada Iterasi 1...…….. 46

Tabel 3.8. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 2... 48

Tabel 3.9. Tabel Setelah Dilakukan Operasi Baris Elementer Pada Iterasi 2... 49

Tabel 3.10. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 3... 54

Tabel 3.11. Tabel Setelah Dilakukan Operasi Baris Elementer Pada Iterasi 3... 55

Tabel 3.12. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 4... 57

Tabel 3.13. Hasil setelah dilakukan operasi baris elementer pada iterasi 4... 58

Tabel 4.1. Tabel Awal Program Linear Bilangan Bulat... 65

Tabel 4.2. Tabel Awal Pada Contoh Masalah Program Linear Bilangan Bulat... 73

Tabel 4.3. Tabel Bentuk Kendala Bidang Pemotong Pada Iterasi 1... 75

Tabel 4.4. Tabel Setelah Dilakukan Operasi Baris Elementer Pada Iterasi 1... 75

Tabel 4.5. Tabel Dengan Bentuk Kendala Bidang Pemotong Pada Iterasi 2... 78

(14)

BAB I P ENDAHULUAN

A. Latar Belakang Masalah

Program linear adalah teknik optimasi yang bertujuan untuk menentukan pemecahan masalah dari suatu program matematika yang linear sehingga dapat ditemukan nilai sasaran yang optimal. Hasil akhir penyelesaian masalah program linear bisa dapat berupa bilangan pecahan atau bilangan bulat. Dalam penyelesaian masalah yang berupa bilangan bulat diperlukan suatu penyelesaian khusus untuk menjawabnya, yaitu program linear bilangan bulat.

Program linear bilangan bulat merupakan salah satu bentuk dari program linear dengan satu variabel atau lebih. Dalam masalah program linear bilangan bulat ini variabel masukannya bernilai bilangan bulat. Banyak sekali ditemukan permasalahan program linear bilangan bulat dalam kehidupan sehari-hari dan industri. Permasalahan tersebut tidak dapat diselesaikan hanya dengan program linear biasa, misalnya masalah produksi, masalah transportasi, masalah penjadwalan para pekerja dan mesin-mesin kantor, desain jaringan telekomunikasi dan masalah salesmen yang berpergian (traveling salesman).

Dalam program linear bilangan bulat terdapat dua model, yakni program linear bilangan bulat fraksional dual dan program linear bilangan bulat dual. Program linear bilangan bulat fraksional dual memungkinkan adanya nilai variabel berupa bilangan pecahan dalam perhitungannya, sedangkan dalam

(15)

program linear bilangan bulat dual semua nilai variabel dalam perhitungan haruslah berupa bilangan bulat.

Masalah program linear bilangan bulat dapat diselesaikan dengan menggunakan beberapa metode, seperti metode bidang pemotong, metode cabang dan batas, dan metode enumerasi. Pada penulisan ini masalah program linear bilangan bulat akan diselesaikan dengan metode bidang pemotong. Metode bidang pemotong untuk pertama kalinya diaplikasikan pada masalah program linear bilangan bulat fraktional dual kemudian diperbaiki menjadi masalah program linear bilangan bulat dual. Penyelesaian kedua masalah program linear bilangan bulat tersebut menggunakan metode simpleks dual.

B. Rumusan Masalah

Pokok permasalahan yang akan dibahas dalam skripsi ini dapat dituliskan dengan beberapa pertanyaan sebagai berikut :

1. Bagaimana menyelesaikan masalah program linear bilangan bulat fraksional dual dengan metode bidang pemotong ?

2. Bagaimana menyelesaikan masalah program linear bilangan bulat dual dengan metode bidang pemotong ?

C. Pembatasan Masalah

Dalam skripsi ini hanya akan dibahas tentang program linear bilangan bulat, yakni program linear bilangan bulat fraksional dual dan program linear bilangan bulat dual yang diselesaikan dengan metode bidang pemotong yang

(16)

menggunakan metode simpleks dual dan landasan teori yang berkaitan dengan aljabar linear seperti sistem persamaan linear, matriks dan ruang vektor yang telah dipelajari pada saat kuliah tidak akan dibahas dalam skripsi ini.

D. Tujuan Penulisan

Sesuai dengan latar belakang di atas, penulisan skripsi ini bertujuan untuk dapat menyelesaikan masalah program linear bilangan bulat khususnya tentang masalah program linear bilangan bulat fraksional dual dan masalah program linear bilangan bulat dual dengan metode bidang pemotong dan dapat dipertanggungjawabkan langkah demi langkah.

E. Manfaat Penulisan

1. Dapat menyelesaikan masalah program linear bilangan bulat fraksional dual

2. Dapat menyelesaikan masalah program linear bilangan bulat dual

F. Metode Penulisan

Metode penulisan yang digunakan dalam penulisan skripsi ini adalah metode studi pustaka, yaitu dengan membaca dan mempelajari materi dari buku - buku acuan yang berkaitan dengan topik skripsi ini, sehingga tulisan ini tidak ada penemuan hal-hal yang baru.

(17)

G. Sistematika Penulisan

Sistem penulisan skripsi ini terdiri dari 5 bab dengan urutan sebagai berikut:

Bab I PENDAHULUAN

Bab ini menjelaskan uraian mengenai hal-hal yang menjadi dasar dalam pembahasan skripsi ini. Uraian tersebut berisi latar belakang masalah, perumusan masalah, pembatasan masalah, tujuan penulisan, manfaat penulisan, metode penulisan dan sistematika penulisan.

BAB II PROGRAM LINEAR DENGAN DUAL

Bab ini memberikan penjelasan secara singkat beberapa dasar pengetahuan, yaitu tentang program linear, metode grafik, metode simpleks, metode simpleks dual dan program linear bilangan bulat. BAB III PROGRAM LINEAR BILANGAN BULAT FRAKSIONAL DUAL

Bab ini membahas tentang langkah-langkah penyelesaian masalah program linear bilangan bulat fraksional dual menggunakan metode bidang pemotong.

BAB IV PROGRAM LINEAR BILANGAN BULAT DUAL

Bab ini membahas tentang langkah-langkah penyelesaian masalah program linear bilangan bulat dual menggunakan metode bidang pemotong.

BAB V Penutup

Bab ini berisi beberapa kesimpulan dan saran berdasarkan hasil pembahasan dan keseluruhan proses penyusunan skripsi.

(18)

BAB II

PROGRAM LINEAR DENGAN DUAL

A. Program Linear

Penerapan program linear untuk pertama kalinya adalah di bidang perencanaan militer, yakni pada perang dunia II oleh angkatan bersenjata Amerika Serikat dan Inggris. Kemudian pada tahun1930-an ahli matematika seperti Von Neuman dan Leontief melahirkan teknik-teknik penyelesaian masalah program linear dengan menggunakan pendekatan aljabar linear (aljabar matriks). Karya Leontif yang terkenal adalah model input-output. Setelah itu ahli matematika Dr George B. Dantzig, seorang anggota dari pasukan Angkatan Udara tersebut, memformulasikan masalah program linear secara umum dan menemukan penyelesaian dengan metode simpleks pada tahun 1947.

Program linear adalah suatu metode optimasi yang digunakan untuk menyelesaikan masalah dengan fungsi sasaran dan kendala-kendala berbentuk linear.

Secara umum masalah program linear dapat dinyatakan sebagai berikut : 1. Bentuk Baku Masalah Program Linear :

Minimumkan ( atau maksimumkan) :

n nx c x c x c z= 1 1+ 2 2+K+ (2.1)

(19)

dengan kendala-kendala : ⎪ ⎪ ⎭ ⎪ ⎪ ⎬ ⎫ ≥ = ≤ + + + ≥ = ≤ + + + ≥ = ≤ + + + m n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a } , , { } , , { } , , { 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11 K M O O M K K (2.2) xj ≥0, j=1,2,K,n (2.3)

Rumus di atas dapat diringkas sebagai berikut : Minimumkan ( atau maksimumkan) :

= = n j j jx c z 1 (2.4) dengan kendala

= = ≥ = ≤ n j ij j i m i b x a 1 , , 2 , 1 , ) , , ( K (2.5) n j xj ≥0 , =1,2,K, (2.6) 2. Bentuk Matriks Masalah Program linear :

Minimumkan (atau maksimumkan) : z=cx (2.7) dengan kendala-kendala :

{

0 } , , ≥ ≥ = ≤ x b Ax (2.8) dengan : ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = mn m m n n a a a a a a a a a K M O M K K 2 1 2 22 21 1 12 11 A , ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = n x x x M 2 1 x , ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = n b b b M 2 1 b ,c=

(

c1,c2,K,cn

)

(20)

Definisi 2.1Fungsi sasaran atau fungsi tujuan Fungsi sasaran masalah program linear berbentuk

= = p j j jx c z 1

dengan p merupakan banyaknya variabel, xj merupakan variabel ke- j, dan cj

merupakan koefisien ongkos dari variabel ke- j.

Definisi 2.2Kendala utama dan kendala tak negatif

Persamaan atau pertidaksamaan dalam masalah program linear

(

, ,

)

, 1 ,

= ≥ = ≤ n j i j j i x b a i=1,2,...,m disebut kendala utama, dengan m merupakan banyaknya kendala, dan ai,j

(koefisien teknis) merupakan koefisien kendala ke-i dari variabel ke-j dan bi

menyatakan konstanta di ruas kanan untuk kendala ke-i.

Sedangkan xj ≥0; j=1,2,...,p disebut kendala tak negatif

Untuk mengembangkan suatu metode penyelesaian, secara umum harus sesuai dengan karakter dari masalah program linear. Karakter tersebut dinyatakan dalam bentuk baku sebagai berikut :

1. Fungsi sasarannya berpola minimum atau maksimum.

2. Semua kendalanya berbentuk persamaan. Bentuk ini disebut bentuk kanonik dari masalah program linear.

(21)

Definisi 2.3Penyelesaian layak

Penyelesaian layak adalah penyelesaian yang memenuhi semua kendala yakni kendala utama dan kendala tak negatif.

Definisi 2.4Penyelesaian optimum

Penyelesaian optimum adalah penyelesaian layak yang takhingga banyak yang mengoptimumkan fungsi sasaran.

Definisi 2.5Penyelesaian basis

Suatu vektor x merupakan penyelesaian basis, jika:

(i) x memenuhi persamaan kendala utama dalam program linear.

(ii) kolom-kolom matriks kendala yang bersesuaian dengan vektor tak nol x

adalah bebas linear.

Definisi 2.6Penyelesaian layak basis

Suatu vektor x disebut penyelesaian layak basis jika x adalah penyelesaian basis dan memenuhi kendala tak negatif x0.

Definisi 2.7Penyelesaian layak basis optimum

Suatu vektor x disebut penyelesaian layak basis optimum jika x adalah penyelesaian layak basis yang juga mengoptimumkan fungsi sasaran.

(22)

Masalah program linear biasanya diselesaikan dengan dua metode penyelesaian, yaitu metode grafik dan metode simpleks. Masalah program linear dapat diselesaikan dengan menggunakan metode grafik bila masalah tersebut hanya memiliki dua variabel keputusan. Tetapi untuk masalah yang memiliki variabel keputusan lebih dari dua tidak mungkin menggunakan metode grafik. Lalu pada tahun 1947 George Dantzig dan pakar-pakar lainnya mengembangkan metode simpleks yang dapat menyelesaikan masalah program linear yang memuat tiga variabel keputusan atau lebih.

B. Metode Grafik

Masalah program linear dengan dua variabel dapat diselesaikan menggunakan metode grafik. Meskipun masalah program linear jarang yang hanya memuat dua variabel tetapi metode grafik memudahkan dalam penyelesaian masalah tersebut. Masalah program linear dapat diilustrasikan dengan melihat Gambar 2.1, yakni Pasangan

(

x1,x2

)

yang memenuhi semua kendala disebut penyelesaian layak (feasible solution). Titik-titik dalam daerah layak disebut titik layak. Himpunan titik layak yang terlihat dalam Gambar 2.1, yakni daerah OABCD adalah daerah layak yang diperoleh dari perpotongan kendala-kendala utama. Grafik fungsi sasaran ini berupa garis lurus z dan disebut garis selidik karena menggambarkan pasangan-pasangan

(

x1,x2

)

yang memberikan nilai z yang sama. Pada masalah program linear yang memaksimumkan fungsi sasaran z maka akan ditemukan penyelesaian optimum titik B, yakni titik yang memaksimumkan fungsi sasaran.

(23)

0 x1 2 x A B D C z

Gambar2.1. Ilustrasi Penyelesaian Masalah Program Linear dengan metode grafik

C. Metode simpleks

Untuk menyelesaikan masalah program linear dengan metode simpleks, kendala yang masih berbentuk pertidaksamaan ini harus diubah dahulu ke bentuk persamaan dengan penambahan variabel slack atau variabel pengetat yang mempunyai koefisien ongkos nol. Jika kendala berpola kurang dari (≤) , yakni kendala berbentuk pertidaksamaan :

k n kn k k x a x a x b a 1 1+ 2 2 +K+ ≤

maka kendala tersebut dapat diubah ke bentuk persamaan dengan menambah variabel pengetat xn+1dengan 0xn+1 > . Dengan demikian , persamaan untuk kendala tersebut adalah

0 , 1 1 2 2 1 1 + k + + kn n + n+ = k n+ > k x a x a x x b x a K .

(24)

Dengan cara yang sama, kendala berpola lebih besar dari (≥), yakni kendala berbentuk pertidaksamaan :

ak1x1+ak2x2 +K+aknxnbk

dapat diubah ke bentuk persamaan dengan mengurangi pertidaksamaan tersebut dengan variabel pengetat xn+1 dengan xn+1 >0

ak1x1+ak2x2+K+aknxnxn+1=bk ,xn+1>0

Untuk menyesuaikan dengan bentuk kendala baru, fungsi sasaran yang semula berbentuk z=c1x1+c2x2+K+cnxn diubah menjadi

p n n j x x c x c x c x c z= 1 1+ 2 2 +K+ n n + j( n+1+K+ p) , = +1, +2,K,

dengan 0cn+1 =cn+2 =K=cp = danxi,i=n+1,n+2,K,p adalah variabel

pengetat.

Dengan demikian masalah yang telah diubah kedalam bentuk kanonik akan menjadi seperti ini :

Minimumkan ( atau maksimumkan ) :

= = n j j jx c z 1 (2.9) dengan kendala

= = = n j i j ijx b i m a 1 , , 2 , 1 , K (2.10) n j xj ≥0 , =1,2,K, (2.11)

(25)

Definisi 2.8Bentuk kanonik

Bentuk pertidaksamaan yang sudah diubah dalam bentuk persamaan disebut bentuk kanonik dari masalah program linear.

Berikut ini akan diberikan contoh masalah program linear yang diubah ke bentuk kanonik

Contoh 2.1

Ubah soal dibawah ini ke bentuk kanonik. Maksimumkan :z=10x1−20x2+5x3 dengan kendala 10 2 8 3 2 1 3 2 1 ≤ + − ≤ + − x x x x x x Penyelesaian :

Pada masing-masing kendala yang masih berbentuk pertidaksamaan ditambahkan satu variabel pengetat, misalkan x4 dan x5 sehingga masala program linear di atas menjadi : Maksimumkan : z=10x1−20x2+5x3+0x4 +0x5 Dengan kendala : 10 2 8 5 3 2 1 4 3 2 1 = + + − = + + − x x x x x x x x Soal ini sudah berbentuk kanonik dan berpola maksimum, dengan x1,x2,x3

(26)

Jika masalah program linear yang telah diubah ke dalam bentuk persamaan berpola maksimum maka masalah sudah dapat diselesaikan dengan metode simpleks. Bila masalah program linear berpola maksimum atau berpola minimum dan mempunyai penyelesaian basis yang tidak layak, karena memuat nilai negatif untuk variabel pengetat, maka masalah program linear tersebut belum bisa diselesaikan dengan metode simpleks.

Masalah program linear yang masih memuat nilai negatif pada variabel pengetatnya memerlukan variabel semu, yaitu variabel yang ditambahkan kedalam persamaan kendala-kendala. Jika a adalah variabel semu yang disisipkan pada persamaan yang memuat variabel pengetat bernilai negatif maka masalah program linear tersebut sudah memuat suatu penyelesaian layak basis. Variabel semu ini bersifat sebagai katalisator (penghubung) dan mempunyai nilai nol supaya masalah semula mempunyai penyelesaian optimum. Bila ada variabel semu yang dipakai maka fungsi sasaran yang baru untuk pola maksimum berbentuk z=zMa, sedangkan fungsi sasaran yang baru untuk pola minimum berbentuk z=z+Ma dengan M bilangan positif yang cukup besar.

Salah satu cara untuk menyelesaikan masalah program linear dengan menggunakan metode simpleks adalah melalui tabel simpleks.

Langkah-langkah penyelesaian masalah program linear dengan menggunakan metode simpleks melalui tabel simpleks adalah sebagai berikut :

(27)

Langkah 1:

Membentuk masalah program linear menjadi bentuk kanonik yaitu kendalanya harus berbentuk persamaan, dengan menambahkan variabel pengetat, variabel semu dan bi ≥0 sehingga memenuhi bentuk baku program linear.

Langkah 2 :

Menyusun tabel awal seperti dalam tabel berikut ( Tabel 2.1 )

Tabel 2.1 Tabel Awal Simpleks

j c c1 c2 K cn i c xi \xj x1 x2 K xn bi Ri m c c c M 2 1 m x x x M 2 1 mn m m n n a a a a a a a a a K M O M K K 2 1 2 22 21 1 12 11 m b b b M 2 1 m R R R M 2 1 j z z1 z2 K zn z j j c zz Keterangan : j x : variabel-variabel keputusan ij a : koefisien teknis i

b : suku tetap (tak negatif)

j

c : koefisien ongkos

i

x : variabel yang menjadi basis dalam tabel yang ditinjau

n n c z c z c z11 22 K

(28)

i

c : koefisien ongkos milik variabel basis xi

j z :

= m i ij ia c 1 z :

= m i i ib c 1 j j c z − : selisih zj dengancj i R : ik i a b hanya untuk

a

i

0

Langkah 3 :

Menguji keoptimuman, dengan memperhatikan nilai zjcj. Untuk masalah dengan pola maksimum, tabel dikatakan optimum bila nilai zjcj ≥0 untuk semua j. Sedangkan untuk masalah dengan pola minimum tabel dikatakan optimum bila nilai zjcj ≤0 untuk semua j. Bila sudah optimum berarti sudah didapatkan penyelesaiannya. Jika belum optimum maka dilanjutkan ke Langkah 4.

Langkah 4 :

Memperbaiki tabel. Dalam hal ini artinya memilih variabel baru yang masuk menjadi variabel basis. Untuk masalah yang berpola maksimum adalah dengan memilih kolom pivot, yaitu kolom dengan nilai zjcj terkecil atau

paling minimum. Untuk masalah yang berpola maksimum adalah dengan memilih nilai zjcj terbesar atau paling maksimum. Setelah ditemukan

(29)

kolom pivot maka selanjutnya dicari nilai rasio (Ri ) untuk setiap baris,

yaitu bi dibagi unsur-unsur pada kolom pivot yang bernilai positif. Tidak

berbeda untuk pola maksimum dan pola minimum, dipilih nilai Ri terkecil

atau ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ = ik i i a b

R min . Baris dengan Ri terkecil kemudian menjadi baris

pivot. Setelah baris pivot dan kolom pivot terpilih, maka perpotongan antara baris pivot dan kolom pivot

( )

ars disebut sebagai elemen pivot dimana variabelnya akan menjadi variabel basis baru yang akan menggantikan variabel basis lama dan selanjutnya menuju ke Langkah 5.

Langkah 5 :

Pada tabel selanjutnya elemen ars diubah supaya bernilai satu dan semua

elemen pada kolom yang bersesuaian diubah menjadi nol dengan melakukan operasi baris elementer. Variabel basis baru dan koefisien ongkos menyesuaikan dengan variabel basis baru tersebut. Selanjutnya kembali ke langkah 3.

D. Metode Simpleks Dual

Masalah program linear memiliki dua macam metode simpleks, yaitu metode simpleks primal dan metode simpleks dual. Untuk setiap masalah program linear dapat diubah ke bentuk dual dimana kendala dan variabelnya adalah kebalikan dari primal, yakni koefisien variabel dalam masalah primal menjadi koefisien kendala dalam masalah dual. Jika dalam masalah primal mempunyai n

(30)

variabel dan m kendala maka masalah dualnya akan menjadi m variabel dan n

kendala. Dapat dikatakan bahwa jumlah kendala dalam masalah primal sama dengan jumlah variabel dalam masalah dual. Bila masalah primal memaksimumkan fungsi sasaran maka masalah dualnya pasti meminimumkan fungsi sasaran, dan begitu sebaliknya.

Berikut akan diberikan contoh bentuk dual dari bentuk primal pada masalah program linear

Contoh 2.2 Masalah primal Minimumkan z=6x1+2x2x3+2x4 dengan kendala 4x1+3x2−2x3+2x4 ≥10 188x1+x2+2x3+4x4 ≥ dan x1,x2,x3,x4≥0 Penyelesaian : Masalah dual Maksimumkan g =10y1+18y2 dengan kendala 4y1+8y2 ≤6 2 3y1+y2 ≤ 1 2 2 1+ 2 ≤− − y y 2 4 2y1+ y2≤ dan y1,y2 ≥0

(31)

Dalam metode simpleks dual penyelesaiannya dimulai dari penyelesaian basis yang tidak layak dan memenuhi ciri optimum sedangkan metode simpleks primal penyelesaiannya dimulai dari penyelesaian layak basis tetapi tidak harus optimum.

Masalah program linear yang akan dicari dualnya harus berpola maksimum baku atau minimum baku yang memiliki bentuk baku sebagai berikut :

Pola maksimum baku : Maksimumkan z=cx

memenuhi Axb ( semua berbentuk ≤ )

Pola minimum baku : Minimumkan z=cx

memenuhi Axb ( semua berbentuk ≥ )

Untuk dapat menyusun suatu masalah primal kedalam bentuk dual maka harus dibuat kedalam bentuk kanonik sebagai berikut :

Pola maksimum (atau pola minimum):

Maksimumkan (atau minimumkan) z=cx (2.12) yang memenuhi Ax=b (2.13)

(32)

Langkah-langkah metode simpleks dual adalah sebagai berikut : Langkah 1 :

Membentuk masalah program linear menjadi bentuk kanonik, yaitu kendalanya harus berbentuk persamaan, dengan menambahkan variabel pengetat, variabel semu dan bi ≥0 sehingga memenuhi bentuk baku program linear.

Langkah 2 :

Menyusun tabel awal dual simpleks yang disajikan sebagai berikut

Tabel 2.2 Tabel Awal Simpleks Dual

i c c1 c2 K cn j c xi \xj x1 x2 K xn bi m c c c M 2 1 m x x x M 2 1 mn m m n n a a a a a a a a a K M O M K K 2 1 2 22 21 1 12 11 m b b b M 2 1 j z z1 z2 K zn z j j c zz i R R1 R2 K Rn Keterangan : ij j j i a c z R = − , hanya untuk aij <0 n n c z c z c z1− 1 2− 2 K −

(33)

Langkah 3 :

Memilih baris pivot, yakni dengan memilih baris i yang mempunyai nilai bi

paling minimum dengan (bi<0)

Jika ada nilai bi yang sama maka dipilih sembarang bi.

Langkah 4 :

Memilih kolom pivot, yakni mencari nilai rasio. Nilai rasio Ri diperoleh dengan membagi zjcj dan nilai mutlak dari koefisien teknis yang

berkoefisien negatif atau Ri

⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = ij j j a c z

dengan aij < 0. Untuk masalah

yang berpola minimum dipilih nilai rasio yang terkecil atau Ri

⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = ij j j a c z

min , sedangkan masalah yang berpola maksimum dipilih nilai

rasio aij yang terkecil atau Ri

⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = ij j j a c z

min . Jika koefisien teknis aij

bernilai positif atau nol maka masalah program linear tersebut tidak ada penyelesaian yang layak.

Langkah 5 :

Melakukan operasi baris elementer agar perpotongan antara baris pivot dan kolom pivot (ars) yang disebut elemen pivot ini bernilai 1 dan yang lainnya bernilai 0.

(34)

Langkah 6 :

Menguji keoptimuman. Jika semua bi ≥0 maka penyelesaian sudah optimum, jadi iterasi harus dihentikan. Jika belum optimum maka harus dilanjutkan ke Langkah 2.

Perbedaan masalah program linear dengan menggunakan metode simpleks primal dan metode simpleks dual adalah sebagai berikut :

1. Jika masalah program linear dalam primal memiliki pola maksimum maka dalam dualnya masalah program linear tersebut akan memiliki pola minimum.

2. Jumlah variabel primal sama dengan jumlah kendala pada bentuk dualnya. 3. Dalam masalah primal, matriks koefisien teknis adalah

( )

aij tetapi dalam

masalah dualnya berbentuk tranpose dari matriks tersebut, yakni

( )

t.

ij

a

4. bi dalam masalah program linear yang berbentuk primal disebut suku tetap tetapi dalam bentuk dualnya bi menjadi koefisien ongkos.

5. cj dalam masalah program linear yang berbentuk primal disebut koefisien ongkos tetapi dalam bentuk dualnya cj menjadi suku tetap.

6. Dalam masalah dual, koefisien kendala ke-i berasal dari koefisien variabel ke-i masalah primal.

7. Dalam masalah dual, koefisien variabel ke-j berasal dari koefisien kendala ke-j masalah primal.

(35)

D. Program Linear Bilangan Bulat

Program linear bilangan bulat merupakan bagian dari program linear dengan tambahan kendala, dimana beberapa atau semua variabel keputusannya memiliki nilai-nilai bilangan bulat. Masalah-masalah program linear bilangan bulat menyangkut masalah-masalah yang harus diselesaikan dengan bentuk bilangan bulat.

Program linear bilangan bulat ada dua model, yaitu program linear bilangan bulat murni atau biasa disebut program linear bilangan bulat (integer

programming) dan program linear bilangan bulat campuran (mixed integer

programming). Program linear bilangan bulat murni adalah suatu model program linear yang semua variabelnya adalah bilangan bulat, sedangkan program bilangan bulat campuran adalah suatu model program linear dengan beberapa variabelnya berupa bilangan bulat .

Secara umum bentuk masalah program linear bilangan bulat murni dan campuran adalah sebagai berikut :

1. Bentuk baku masalah program linear bilangan bulat murni. Maksimumkan (atau minimumkan ) :

n nx c x c x c Z = 1 1+ 2 2+K+ (2.14) dengan kendala-kendala : ⎪ ⎪ ⎭ ⎪ ⎪ ⎬ ⎫ ≥ = ≤ + + + ≥ = ≤ + + + ≥ = ≤ + + + m n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a } , , { } , , { } , , { 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11 K M O O M K K (2.15) n j xj ≥0, =1,2,K, (2.16)

(36)

Rumus di atas dapat diringkas sebagai berikut : Maksimumkan (atau minimumkan)

= = n j j jx c Z 1 (2.17) dengan kendala :

(

)

= ≥ = ≤ n j i j ijx b a 1 , , (2.18) . , , 2 , 1 , , , 2 , 1 , 0 n j m i bulat bilangan x xj j K K = = ≥ (2.19) 2. Bentuk baku masalah program linear bilangan bulat campuran.

Maksimumkan (atau minimumkan) :

= = + = n j p k k k j jx d y c Z 1 1 (2.20) dengan kendala : . , , 2 , 1 , , , 2 , 1 , , , 2 , 1 , 0 , 0 1 1 p k n j m i bulat bilangan x y x b atau y g x a j k j i p k k ik n j j ij K K K = = = ≥ ≥ ≥ ≤

= = (2.21)

Dalam tulisan ini hanya akan dibahas program linear bilangan bulat murni (integer programming).

Masalah program linear bilangan bulat dapat diselesaikan dengan menggunakan beberapa metode, seperti metode bidang pemotong (cutting plane

method), metode cabang dan batas (branch and bound method), dan metode

enumerasi (enumerative methods). Secara umum, langkah pertama dalam menyelesaikan masalah program linear bilangan bulat adalah dengan

(37)

merupakan bilangan bulat maka penyelesaian program linear bilangan bulat sudah dicapai. Jika ternyata masih terdapat penyelesaian yang merupakan bilangan pecahan maka dilakukan suatu proses untuk menentukan penyelesaian bilangan bulat dari masalah tersebut. Dalam tulisan ini hanya akan dibahas menggunakan metode bidang pemotong untuk menyelesaikan masalah program linear bilangan bulat.

Pada tahun 1958 Ralph Gomory mengembangkan metode bidang pemotong (cutting plane method) yang untuk pertama kalinya diaplikasikan pada masalah program linear bilangan bulat fraktional dual (dual fractional integer

programming) adalah penyelesaian metode bidang pemotong yang menggunakan

metode simpleks dual dan memungkinkan adanya bilangan pecahan dalam perhitungannya. Lalu pada tahun 1960 Ralph Gomory memperbaiki metode bidang pemotong tersebut, yakni menjadi masalah program linear bilangan bulat dual (dual all-integer integer programming) yang dalam perhitungannya harus berupa bilangan bulat. Metode bidang pemotong dalam kedua masalah program linear bilangan bulat ini menggunakan metode simpleks dual. Uraian untuk kedua masalah program linear bilangan bulat tersebut akan dijelaskan pada bab-bab berikutnya.

(38)

BAB III

PROGRAM LINEAR BILANGAN BULAT FRAKSIONAL DUAL

A. Masalah Program Linear Bilangan Bulat

Salah satu langkah yang dilakukan dalam penyelesaian masalah program linear bilangan bulat yang menggunakan metode bidang pemotong adalah dengan menambahkan kendala baru. Penambahan kendala baru dalam metode ini diperoleh dengan menyusun suatu persamaan yang memenuhi setiap penyelesaian layak dari masalah program linear bilangan bulat yang semula. Penambahan kendala tersebut memungkinkan diperolehnya penyelesaian yang optimum dari masalah program linear yang berupa bilangan bulat.

Masalah program linear bilangan bulat yang diselesaikan dengan metode bidang pemotong dapat diilustrasikan dengan melihat Gambar 3.1. ABCDE adalah daerah layak yang diperoleh dari perpotongan kendala-kendala utama. Penyelesaian dari masalah program linear bilangan bulat dapat digambarkan sebagai titik-titik layak pada daerah layak tersebut dan titik D adalah penyelesaian optimum program linear yang pertama kali diperoleh. Sebuah kendala baru x′≥0 ditambahkan sehingga titik D terbuang dari daerah layak dan jika dilakukan optimisasi kembali akan didapat penyelesaian optimum program linear yang baru, yakni titik F sehingga daerah layak yang baru adalah ABCGFE. Sebuah kendala baru kedua x′′≥0 ditambahkan agar menghapus titik F dari daerah layak sehingga diperoleh daerah layak yang baru adalah ABCGHIE. Dalam

(39)

m p G d b l b s menyelesaik penyelesaian Gambar 3.1. b Perb dengan masa bernilai -1. Perh linear bilang berpola mak sebagai berik kan kembali n optimum b Ilustrasi Peny bidang pemoto edaan metod alah program atikan kemb gan bulat. S ksimum dap kut : masalah pr bilangan bula yelesaian Masa ong de simpleks m linear bila bali pada b ecara umum pat dinyataka rogram linea at, yakni titi

alah Program dual yang su angan bulat a bab sebelum m masalah pr an dalam be ar bilangan ik H. Linear Bilang udah dibahas adalah pada mnya menge rogram linea entuk kanon bulat akan

gan Bulat den

s pada bab s elemen pivo

enai masalah ar bilangan nik dan bent

ditemukan ngan metode ebelumnya otnya yaitu h program bulat yang tuk matriks

(40)

1. Bentuk kanonik masalah program linear bilangan bulat : Maksimumkan : n nx c x c x c z= 1 1+ 2 2+K+ (3.1) dengan kendala-kendala :

+

+

+

+

=

+

+

+

+

=

+

+

+

+

+ + + m m n n mn m m n n n n n n

b

x

x

a

x

a

x

a

b

x

x

a

x

a

x

a

b

x

x

a

x

a

x

a

K

M

O

O

M

K

K

2 2 1 1 2 2 2 2 22 1 21 1 1 1 2 12 1 11 (3.2) n j xj ≥0, =1,2,K, (3.3) dan xj bilangan bulat.

2. Bentuk matriks masalah program linear bilangan bulat : Maksimumkan :

cx = z (3.4)

dengan kendala-kendala :

Ax b (3.5) x 0 dan komponen-komponen x adalah bilangan bulat. (3.6) dengan A=

( )

aij matriks kendala berukuran m x n.

Bentuk kanonik pada masalah program linear bilangan bulat disusun ke dalam bentuk seperti dibawah ini :

Maksimumkan :

(

c x

)

(

c

(

x

)

)

(

cn

(

xn

)

)

(41)

dengan kendala-kendala :

(

)

(

)

(

(

)

)

(

(

)

)

(

)

(

)

(

(

)

)

(

(

)

)

(

)

(

m

)

(

m

(

)

)

(

mn

(

n

)

)

n m m n n n n n n b x x a x a x a b x x a x a x a b x x a x a x a = + − − + + − − + − − = + − − + + − − + − − = + − − + + − − + − − + + + K M M M O O M K K 2 2 1 1 2 2 2 2 22 1 21 1 1 1 2 12 1 11 (3.8) n j xj ≥0, =1,2,K,

dan xj bilangan bulat.

Bentuk kanonik di atas dapat diubah ke dalam bentuk seperti dibawah ini : Maksimumkan :

(

x

)

a

(

x

)

a n

(

xn

)

a a x0 = 00 + 011 + 022 +K+ 0 − (3.9) dengan kendala-kendala :

( )

( )

( )

=

=

=

n n

x

x

x

x

x

x

1

1

1

2 2 1 1

O

M

(3.10)

( )

( )

( )

( )

( )

( )

+

+

+

+

=

+

+

+

+

=

+ + + + + + + + + + n n m n m n m n m n m n n n n n n n n

x

a

x

a

x

a

a

x

x

a

x

a

x

a

a

x

, 2 2 , 1 1 , 0 , , 1 2 2 , 1 1 1 , 1 0 , 1 1

K

M

O

O

O

O

M

K

(3.11) dengan xj ≥0,j=1,2,K,n+m

dan xj bilangan bulat untuk j=0,1,K,n+m.

Persamaan (3.10) merupakan persamaan kendala untuk variabel keputusan (original variables), yakni variabel awal pada masalah program linear bilangan bulat. Persamaan (3.11) merupakan persamaan kendala untuk kendala utama (original constraints) yang ada pada masalah program linear bilangan

(42)

bulat. Pada bentuk di atas, n dan m masing-masing menunjukkan banyaknya variabel keputusan dan variabel slack yang muncul dari kendala utama.

Dengan membandingkan persamaan (3.7), (3.8), (3.10) dan (3.11) dapat didefinisikan x0 = z, a00 =0, cj =−a0j, ( j=1,K,n), bi =an+i,0

(

i=1,K,m

)

, dan aij =an+i,j

(

i=1,K,m; j=1=1,K,n

)

.

B. Penyelesaian Masalah Program Linear Bilangan Bulat Fraksional Dual Metode yang digunakan untuk mencari penyelesaian program linear bilangan bulat fraksional dual merupakan perluasan dari metode simpleks dual, yakni dengan menambah kendala baru pada masalah tersebut. Langkah-langkah masalah program linear bilangan bulat fraksional dual adalah sebagai berikut : 1. Mengubah bentuk baku menjadi bentuk kanonik seperti persamaan (3.2)

2. Menyusun tabel awal dari masalah program linear bilangan bulat. Pada persamaan (3.2) tabel awal tersebut disajikan sebagai berikut :

(43)

Tabel 3.1 Tabel Awal Program Linear Bilangan Bulat Fraktional Dual. 1

(

x1

)

K

( )

xj K

(

xn

)

= 0 x a00 a01 K a0j K a0n 0 0 0 M M 0 0 1 M M − K O L O K 0 1 0 M M − K O L O K 1 0 0 − M M = = + + m n n x x M 1 0 , 0 , 1 m n n a a + + M 1 , 1 , 1 m n n a a + + M K O K j m n j n a a , , 1 + + M K O K Keterangan : j j a c a z x0 = , 00 =0, =− 0 , ( j=1,K,n), bi =an+i,0 (i=1,K,m), dan

(

i m j n

)

a aij = n+i,j =1,K, ; =1=1,K, , xi ≥0(i=1,K,n+m).

3. Masalah program linear bilangan bulat ini diselesaikan dahulu sebagai masalah program linear, yakni dengan menggunakan metode simpleks dual. Dengan langkah-langkah sebagai berikut :

Langkah 1: Memilih baris pivot, yakni dengan memilih baris v yang mempunyai nilai av0 paling minimum dengan av0 <0 ,v≠0

= = = n j x x x M M 1 n m n n n a a , , 1 + + M

(44)

Langkah 2 : Memilih kolom pivot, yakni kolom dengan nilai rasio yang paling minimum dan nilai rasio =

⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ vj j a a0 min

Langkah 3 : Mengganti variabel nonbasis pada kolom pivot dengan variabel

v

x , yakni variabel pada baris pivot.

Langkah 4 : Melakukan operasi kolom agar elemen-elemen baris xv pada kolom pivot bernilai -1 dan yang lain bernilai 0.

Langkah 5 : Bila nilai av0 masih ada yang bernilai negatif maka kembali ke langkah 1. Jika sudah tidak ada lagi yang bernilai negatif maka langkah dihentikan dan penyelesaian masalah program linear bilangan bulat sudah optimum.

4. Menguji keoptimuman.

Bila penyelesaian optimum yang diperoleh pada langkah sebelumnya adalah bilangan bulat maka masalah program linear bilangan bulat sudah selesai. Jika penyelesaian optimumnya belum berupa bilangan bulat maka langkah-langkah penyelesaian dilanjutkan lagi menggunakan metode bidang pemotong dengan menambahkan kendala bidang pemotong yang baru yang memuat variabel pengetat xn+m+k. Lalu kendala bidang pemotong yang baru ditambahkan pada tabel yang ditulis pada baris terakhir maka bentuk tabel akan menjadi :

(45)

Tabel 3.2. Tabel Dengan Bentuk Kendala Bidang Pemotong 1

(

x1

)

K

( )

xj K

(

xn

)

= 0 x a00 a01 K a0j K a0n = = + + m n n x x M 1 0 0 0 M M 0 , 0 , 1 m n n a a + + M 0 0 1 M M − K O L O K 0 1 0 M M − K O L O K 1 0 0 − M M 1 , 1 , 1 m n n a a + + M K O K j m n j n a a , , 1 + + M K O K = + +m k n x an+m+k,0 an+m+k,1Kan+m+k,j K an+m+k,n

Dalam menentukan kendala bidang pemotong harus ditentukan dahulu baris sumber. Berikut ini akan dijelaskan bagaimana cara menentukan bentuk kendala bidang pemotong dan cara memilih baris sumber :

a. Memilih baris sumber

Cara memilih baris sumber adalah dengan memilih baris yang memuat variabel-variabel basis yang nilainya belum berupa bilangan bulat. Dalam hal ini variabel yang akan terpilih harus memberikan ketaksamaan yang kuat yaitu nilai dengan bilangan pecahan terbesar supaya dapat mempercepat pencapaian penyelesaian program linear bilangan bulat yang optimum.

= = = n j x x x M M 1 n m n n n a a , , 1 + + M

(46)

Jika variabel basis xi pada persamaan ke-i bukan merupakan bilangan bulat

maka variabel tersebut dapat dinyatakan sebagai :

(

( )

)

0 1 J j i n j ij i a x a x

− = = (3.12)

Keterangan : ai0bukan bernilai bilangan bulat aij dapat berbentuk bilangan bulat

J adalah himpunan indeks variabel nonbasis

J(j) adalah elemen j di dalam J

xJ( )j adalah variabel nonbasis j di dalam J

Persamaan (3.12) dapat ditulis sebagai berikut

n

(

J( )j

)

j ij i i a a x x = +

− =1 0 (3.13)

Setiap persamaan seperti di atas dinyatakan sebagai baris sumber (source row). Misalkan : ai0 =

[ ]

ai0 + fi dan aij =

[ ]

aij + fij (3.14) dengan :

(47)

[ ]

ai0 adalah bilangan bulat terbesar yang kurang dari atau sama dengan ai0, dan

[ ]

aij adalah bilangan bulat terbesar yang kurang dari atau sama dengan aij

maka 10< fi < dan 0≤ fij <1

Ada dua cara untuk memilih baris sumber yaitu : 1. Baris dengan nilai fi0 yang paling maksimum.

2. Baris dengan nilai

⎪ ⎪ ⎭ ⎪⎪ ⎬ ⎫ ⎪ ⎪ ⎩ ⎪⎪ ⎨ ⎧

= n j ij i f f 1

0 yang paling maksimum.

Jika nilai fi0 atau

⎪ ⎪ ⎭ ⎪⎪ ⎬ ⎫ ⎪ ⎪ ⎩ ⎪⎪ ⎨ ⎧

= n j ij i f f 1

0 untuk setiap baris selalu sama maka dapat dipilih

sebarang baris untuk menjadi baris sumber. b. Menentukan bentuk kendala bidang pemotong

Dari uraian pemilihan baris sumber, dengan persamaan (3.13) akan menjadi :

(48)

[ ]

(

[ ]

)

(

J( )j

)

n j ij ij i i i a f a f x x = + +

+ − =1 0

[ ]

[ ]

(

( )

)

n

(

J( )j

)

j ij j J n j ij i i f a x f x a + + − + − =

= =1 1 0 atau ( )

(

)

[ ]

[ ]

(

J( )j

)

n j ij i i j J n j ij i f x x a a x f +

− = − −

− = = 1 0 1 (3.15)

Supaya nilai xi dan

(

xJ( )j

)

adalah bilangan bulat, maka ruas kanan dari persamaan (3.15) harus bernilai bilangan bulat yang mengakibatkan ruas kiri persamaan (3.15) haruslah bernilai bilangan bulat. Karena fij ≥0 dan

( )

(

xJ j

)

≤0 untuk setiap nilai i dan j, maka

( )

(

)

0 1 ≤ −

= J j n j ij x f dengan demikian n

(

J( )j

)

i j ij i f x f f +

− ≤ =1 . Karena fi <1 maka

(

( )

)

1 1 < − +

= J j n j ij i f x f (3.16) atau ( )

(

J j

)

n j ij i f x f < −

− =1 1

(49)

Karena ruas kiri persamaan (3.15) harus bernilai bilangan bulat, maka berdasarkan persamaan (3.15), haruslah

( )

(

)

0 1 ≤ − +

= J j n j ij i f x f

Jika bentuk di atas ditambahkan dengan variabel pengetat xn+m+k dengan 0

+ +m k n

x bilangan bulat, maka didapat :

( )

(

)

0 1 = + − + + + =

J j n m k n j ij i f x x f atau ( )

(

J j

)

i n j ij k m n f x f x =−

− − = + + 1 (3.17)

Persamaan (3.17) merupakan bagian pecahan (fractional cut) atau disebut juga pembatas sekunder. Jika pembatas sekunder ini sudah dimasukkan ke dalam tabel yang berada pada baris terakhir dalam tabel dan dilakukan operasi kolom maka tabel terakhir didapat

(

xJ( )j

)

=0 sehingga xn+m+k = fi, yang berarti

tidak layak. Hal ini berarti pembatas sekunder yang baru tersebut tidak dipenuhi oleh penyelesaian yang diperoleh karena mengakibatkan nilai yang didapat belum berupa bilangan bulat sehingga untuk mengatasi ketidaklayakan ini dapat digunakan metode simpleks dual, yang pada dasarnya sama dengan memotong daerah layak ke arah penyelesaian optimum yang berupa bilangan bulat.

(50)

Dari penjelasan yang sudah dijabarkan di atas dan cara-cara memilih baris sumber serta menentukan pembatas sekunder, secara umum langkah pertama yang dilakukan dalam menyelesaikan masalah program linear bilangan bulat fraksional dual adalah mengubah masalah ke dalam bentuk kanonik dan menyusun tabel awal, menyelesaikan masalah program linear bilangan bulat dengan cara simpleks biasa dan dilanjutkan dengan langkah-langkah sebagai berikut :

Langkah 1 :

Memilih baris sumber xv dengan dua cara di bawah ini :

1. Baris dengan nilai fv0 yang paling maksimum.

2. Baris dengan nilai

⎪ ⎪ ⎭ ⎪⎪ ⎬ ⎫ ⎪ ⎪ ⎩ ⎪⎪ ⎨ ⎧

= n j vj v f f 1

yang paling maksimum.

Langkah 2 :

Menentukan bentuk kendala bidang pemotong yang baru, yakni pembatas sekunder seperti persamaan (3.17)

( )

(

J j

)

v n j vj k m n f x f x =−

− − = + + 1 Langkah 3 :

(51)

Langkah 4 :

Mencari baris pivot dengan melihat nilai koefisien av0 yang bernilai negatif dan dipilih yang paling minimum

Langkah 5 :

Mencari kolom pivot dengan melihat niali R=

vj j a a0 yang terkecil. Langkah 6 :

Menggantikan variabel non basis pada kolom pivot dengan Variabel xv.

Langkah 7 :

Melakukan operasi kolom agar elemen-elemen baris xv pada kolom pivot bernilai -1 dan yang lainnya bernilai 0.

Langkah 8 :

Jika masih ada nilai xv yang nilainya belum berupa bilangan bulat maka dilanjutkan ke Langkah 1. Jika sudah tidak ada maka proses dihentikan dan diperoleh tabel optimum.

Masalah program linear bilangan bulat fraksional dual tidak membedakan antara variabel keputusan dan variabel pengetat yakni bahwa semua variabel harus berupa bilangan bulat. Adanya koefisien yang tidak bulat dalam kendala tidak

(52)

memungkinkan untuk variabel pengetat berupa bilangan bulat. Dalam hal ini, masalah program linear bilangan bulat fraksional dual dapat menyatakan bahwa tidak terdapat penyelesaian layak, sekalipun masalah tersebut mempunyai penyelesaian layak yang bernilai bilangan bulat dalam bentuk bukan variabel pengetat.

Berikut akan diberikan contoh penyelesaian masalah program linear bilangan bulat menggunakan metode bidang pemotong

Contoh 3.1

Selesaikan masalah program linear bilangan bulat berikut: Maksimumkan: z=−4x1−5x2

Dengan kendala: −x1−4x2 ≤−5 −3x1−2x2 ≤−7 dan x1,x2 ≥0

Penyelesaian :

Masalah program linear di muka dapat dibuat ke bentuk kanonik sebagai berikut : Maksimumkan: z=−4x1−5x2

Dengan kendala: −x1−4x2 +x3 =−5 −3x1 −2x2 +x4 =−7 dan x1,x2,x3,x4 ≥0

(53)

1. Menyusun tabel awal simpleks.

Tabel 3.3. Tabel Awal Pada Contoh Masalah Program Linear Bilangan Bulat

1

(

x1

)

(

x2

)

0 x 0 4 5 4 3 2 1 x x x x 7 5 0 0 − − 3 1 0 1 − − − 2 4 1 0 − − −

2. Menyelesaikan dengan metode simpleks dual. ITERASI 1

Langkah 1 : Memilih baris pivot

Dari tabel awal diperoleh nilai a30 =−5 dan a40 =−7 maka nilai min

{

a30,a40

}

= min

{

−5,−7

}

=−7. Jadi baris empat sebagai baris pivot.

Langkah 2 : Memilih kolom pivot

Dengan memilih nilai rasio terkecil yakni R4 =min

⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ 42 02 41 01 , a a a a = min 3 4 2 5 , 3 4 = ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ −

− . Jadi kolom pertama akan terpilih sebagai kolom

pivot.

Langkah 3 : Menggantikan variabel x1 dengan variabel x4

(54)

Tabel 3.4. Tabel Setelah Operasi kolom Pada Iterasi 1 1

(

x4

)

(

x2

)

0 x 3 28 − 3 4 3 7 4 3 2 1 x x x x 3 7 0 3 8 − 0 3 1 − 3 2 0 -1 3 1 − 3 10 − -1 0 Langkah 5 : Karena masih ada nilai

3 8 30 =−

a maka kembali ke Langkah 1

ITERASI 2

Langkah 1 : Memilih baris pivot

Dari tabel diatas diperoleh nilai min

{

a10,a30

}

= min

3 8 3 8 , 3 7 = ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ =

jadi baris ketiga sebagai bari pivot. Langkah 2 : Memilih kolom pivot

Dengan memilih nilai rasio terkecil yakni R4 =min

⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ 32 02 31 01 , a a a a =min 3 7 3 10 3 7 , 3 1 3 4 = ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ −

− maka kolom kedua akan terpilih sebagai kolom

pivot.

(55)

Langkah 4 : Melakukan operasi kolom, sehingga diperoleh tabel baru sebagai berikut

Tabel 3.5. Tabel Setelah Operasi kolom Pada Iterasi 2

1

(

x4

)

(

x3

)

0 x 10 112 − 10 11 10 7 2 x 3 x 4 x 10 18 10 8 0 0 10 4 − 10 2 10 1 0 -1 -1 0

Langkah 5 : Karena sudah tidak ada av0 <0 maka proses dihentikan. dengan nilai 10 18 1 = x dan 10 8 2 = x 3. Menguji keoptimuman.

Dari iterasi kedua telah dapatkan penyelesaian optimum dari masalah program linear, yaitu

10 18 1 = x dan 10 8 2 =

x , tetapi penyelesaian tersebut belum bulat maka penyelesaian dilanjutkan dengan menggunakan metode bidang pemotong. 1 x 10 3 −

Gambar

Gambar 2.1.  Ilustrasi Penyelesaian Masalah Program Linear  dengan metode grafik
Tabel 3.1 Tabel Awal Program Linear Bilangan Bulat Fraktional Dual.   1  ( − x 1 ) K     ( )−xj    K    ( − x n )     0 =x a  00 a      K     01 a 0 j      K      a 0 n 000MM 00 1MM−       KOLOK       0 10MM −        KOLOK       100−MM         == ++ mnnxxM
Tabel 3.2. Tabel Dengan Bentuk Kendala Bidang Pemotong   1  ( − x 1 ) K     ( )−xj    K    ( − x n ) 0 =x a 00 a 01      K      a 0 j      K      a 0 n == ++ mnnxxM1 000MM 0,0,1mnnaa++M 00 1MM−       KOLOK       0 10MM −        KOLOK       100−MM1,1,1mnnaa
Tabel  3.3. Tabel Awal Pada Contoh Masalah Program Linear Bilangan Bulat
+7

Referensi

Dokumen terkait

SDLC adalah pengembangan atau rekayasa sistem informasi (system development) dan atau perangkat lunak (software engineering) dapat berarti menyusun sistem

Sumber data yang digunakan dalam penelitian ini, yaitu (1) data primer dalam penelitian ini adalah data yang diperoleh secara langsung dengan menyebarkan

motor induksi yaitu memiliki beberapa karakteristik parameter yang tidak linier, terutama resistansi rotor yang memiliki nilai yang bervariasi untuk kondisi operasi

Berdasarkan observasi yang dilakukan diketahui faktor-faktor yang memengaruhi terjadinya kesalahan dalam penulisan kalimat past tense oleh siswa adalah bahwa dari

Pengamatan nilai TAN dilakukan di Lab Ligkungan Departemen Budidaya Perairan, Fakultas Perikanan dan Ilmu Kelautan, Institut Pertanian Bogor. Pengambilan air sampel dilakukan

Berdasarkan analisis data dan pengujian hipotesis yang telah dilakukan maka dapat ditarik kesimpulan sebagai berikut. Koefisien determinasi atau R square adalah

Gambar.5 distribusi frekuensi tingkat pengetahuan tentang menopause di Dusun Ngepoh Badran Kranggan Temanggunng Jawa Tengah didapatkan hasil tingkat pengetahuan

Selain indikator kuantitatif di atas, indikator spesifik lokasi dapat bersifat kualitatif yang mengindikasikan gejala adanya rawan pangan di suatu wilayah, antara