Anda di halaman 1dari 31

METODE

STOKASTIK

PARANITA ASNUR
BILANGAN BULAT
DEFINISI DAN OPERASI
Definisi bilangan bulat
Bilangan bulat merupakan bilangan yang terdiri dari bilangan cacah dan negatifnya. Yang
termasuk dalam bilangan cacah yaitu 0,1,2,3,4,… sehingga negatif dari bilangan cacah yaitu -1,-
2,-3,-4,… dalam hal ini -0 = 0 maka tidak dimasukkan lagi secara terpisah.
Bilangan bulat dapat dituliskan tanpa menggunakan komponen desimal atau pecahan.
Himpunan semua bilangan bulat dilambangkan dengan Z atau yang berasal dari Zahlen ( bahasa
jerman untuk bilangan ).
Garis bilangan

Berdasarkan garis bilangan diatas, bilangan bulat positif terletak disebelah


kanan nol atau disebut dengan bilangan asli sedangkan bilangan bulat negatif
terletak disebelah kiri nol.
Operasi bilangan bulat (Penjumlahan dan Pengurangan Bilangan
Bulat)

d. Menjumlahkan bilangan bulat negatif


dengan bilangan positif.
Misalnya :
-5 + 8 = 3
-4 + 9 = 5
Perkalian Bilangan Bulat (Sifat-sifat perkalian suatu
bilangan)
Perkalian bilangan positif dengan bilangan Perkalian bilangan negatif dengan bilangan
positif, hasilnya positif. positif, hasilnya negatif.
Contoh:     Contoh:
1) 4 x 5 = 5 + 5 + 5 + 5 = 20     1) -4 x 5 = -(5 + 5 + 5 + 5) = -20.
2) 7 x 8 = 56     2) -7 x 8 = -56
3) 12 x 15 = 180     3) -12x 15 = -180

Perkalian bilangan positif dengan bilangan Perkalian bilangan negatif dengan bilangan
negatif, hasilnya negatif. negatif, hasilnya positif.
   Contoh:     Contoh:
    1) 4 x (-5) = (-5) + (-5) +(-5) +(-5) = -20     1) -4 x (-5) = -[-5 + (-5) + (-5) + (-5)] = -[-20] =
    2) 7 x (-8) = -56 20
    3) 12 x (-15) = -180     2) -7 x (-8) = 56
    3) -12 x (-15) = 180
Pembagian bilangan bulat (Sifat-sifat pembagian bilangan
bulat)
Pembagian bilangan positif dengan bilangan Pembagian bilangan negatif dengan bilangan
positif, hasilnya positif positif, hasilnya negatif
    Contoh     Contoh:
    1) 63 : 7 = 9     1) -63 : 7 = -9
    2) 143 : 11 = 13     2) -120 : 10 = -12
Pembagian bilangan positif dengan bilangan Pembagian bilangan negatif dengan bilangan
negatif, hasilnya negatif negatif, hasilnya positif.
    Contoh:     Contoh:
    1) 63 : (-9) = -7     1) -72 : (-8) = 9
    2) 72 : (-6) = -12     2) -120 : (-12) = 10
Sifat Operasi Hitung Bilangan Bulat
Sifat komutatif Operasi Campuran
Sifat komutatif (pertukaran) pada penjumlahan dan Aturan dalam mengerjakan operasi campuran
perkalian.
a+b=b+a
adalah sebagai berikut.
a x b = b x a, berlaku untuk semua bilangan bulat 1 .Operasi dalam tanda kurung dikerjakan terlebih
dahulu.
2. Perkalian dan pembagian adalah setara, yang
Sifat asosiatif ditemui terlebih dahulu dikerjakan terlebih
Sifat asosiatif (pengelompokan) pada penjumlahan dan dahulu.
perkalian. 3. Penjumlahan dan pengurangan adalah setara,
(a + b) + c = a + (b+c) yang ditemui terlebih dahulu dikerjakan terlebih
(a x b) x c = a x (bxc), berlaku untuk semua bilangan bulat
dahulu.
4. Perkalian atau pembagian dikerjakan lebih
Sifat distributif (penyebaran) dahulu daripada penjumlahan atau
a x (b + c) = (a x b) + (a x c), yang berlaku untuk semua     pengurangan.
bilangan bulat.
PERCABANGAN
DAN PEMBATASAN
BRANCH AND BOUND
Algoritma percabangan dan pembatasan (Branch And Bound)

Branch and bound merupakan metode yang


membagi permasalahan menjadi subregion yang
mengarah ke solusi (branching) dengan
membentuk sebuah struktur pohon pencarian
(search tree) dan melakukan pembatasan
(bounding) untuk mencapai solusi optimal
Branch and bound
Metode Branch and Bound adalah sebuah teknik algoritma yang secara khusus mempelajari bagaimana
caranya memperkecil Search Tree menjadi sekecil mungkin.

Sesuai dengan namanya, metode ini terdiri dari 2 langkah yaitu :


Branch yang artinya membangun semua cabang tree yang mungkin menuju solusi

Bound yang artinya menghitung node mana yang merupakan active node (E-node) dan node mana yang
merupakan dead node (D-node) dengan menggunakan syarat batas constraint (kendala)

Metode ini hanya dapat digunakan untuk masalah optimasi saja (optimazion problem).
Teknik branch and bound
1.  FIFO Branch and Bound
          Adalah teknik Branch and Bound yang menggunakan bantuan queue untuk perhitungan Branch  and
Bound secara First In First Out

2. LIFO Branch and Bound


        Adalah teknik Branch and Bound yang menggunakan bantuan stack untuk perhitungan Branch and
Bound secara Last In First Out

3. Least Cost Branch and Bound


       Teknik ini akan menghitung cost setiap node. Node yang memiliki cost paling kecil dikatakan memiliki
kemungkinan paling besar menuju solusi.
Branch and Bound dapat digunakan untuk
memecahkan berbagai masalah yang menggunakan
Search Tree

–Traveling Salesman Problem

–N-Queen Problem

–15 Puzzle Problem

–0/1 Knapsack Problem

–Shortest Path
Fifo branch and bound

Menggunakan queue
E-node dimasukkan ke dalam queue, kemudian dibangun branch (cabang) berikutnya.
D-node tidak digunakan untuk membangun branch berikutnya.
Didapatkan Partial Space Tree yang dicari.
Lifo branch and bound

Menggunakan stack
E-node dimasukkan ke dalam stack, kemudian dibangun branch (cabang)
berikutnya.
D-node tidak digunakan untuk membangun branch berikutnya.
Didapatkan Partial Space Tree yang dicari.
Least cost branch and bound
Pada teknik FIFO dan LIFO, node dibuka sesuai urutannya
Pada LC Branch and Bound, node yang memiliki cost terendah dibuka terlebih dulu
(menjadi E-node berikutnya)
Pada sebuah node x berlaku b ≤ c(x) ≤ u
– b adalah batas bawah
– c(x) adalah cost node x
– u adalah batas atas
Jika terjadi b > u maka simpul x dapat dimatikan (dinyatakan sebagai D-node).
Contoh LC Branch and Bound yaitu Traveling Salesman Problem dapat dipecahkan
dengan Least Cost Branch and Bound
Algoritma branchand bound untuk ILP (integer linier
programing)
Misalkan diberikan suatu masalah pemrograman bilangan bulat sebagai berikut:
Maksimasi Z = cx
dengan pembatas
          Ax = b
x ≥  0
xj bilangan bulat untuk j € I
dimana I adalah himpunan variabel bilangan bulat. Langkah-langkah yang harus dilakukan untuk
menyelesaikan masalah tersebut adalah :
Langkah pertama adalah memecahkan masalah ILP sebagai LP dengan mengabaikan
pembatas bilangan bulat (bounding). Kemudian misalkan masalah LP dinyatakan sebagai LP-
1 yang mempunyai nilai optimal dari fungsi tujuan Z1.
Ø  PL-1
    Maksimasi Z = cx
    dengan pembatas
    Ax = b
    x ≥ 0
Jika solusi optimal dari LP-1 mengandung beberapa variabel bilangan bulat yang mempunyai
nilai pecahan, maka solusi optimal bilangan bulat untuk ILP belum diperoleh dan Z1 menjadi
batas atas (upper bound) dari nilai maksimum Z untuk ILP.
Langkah berikutnya adalah mempartisi daerah layak dari LP-1 dengan mencabangkan (branching) salah
satu variabel bilangan bulat yang nilainya pecahan.
Misalkan variabel xj dipilih untuk dicabangkan dengan nilai pecahan βj dalam LP-1. Kemudian dibuat
dua masalah pemrograman linier baru, LP-2 dan LP-3 dengan memasukkan masing-masing pembatas
baru xj ≤ [β] dan xj ≥ [β]+1 dan selesaikan kedua permasalahan hingga diperoleh x1,x2,dan z yang baru
dari masalah tersebut :

Ø  PL-2 Ø  PL-3

      Maksimasi Z = cx Maksimasi Z = cx
      dengan pembatas dengan pembatas
      Ax = b  Ax = b
      xj ≤ [β]   xj ≥ [β]+1
      x ≥ 0 x≥0
Lakukan poin dua hingga semua node dalam kondisi fathomed. Fathoming suatu
node (masalah LP) terjadi jika:
a. Solusi optimal LP merupakan bilangan bulat (tidak terdapat lagi bilangan
pecahan). dan nilainya lebih besar dari nilai solusi optimal sebelumnya yang
semua variabelnya adalah bilangan bulat (jika ada)
b. Masalah LP adalah tak layak (terjadi ketika salah satu atau kedua variabel
masih  mempunyai nilai pecahan, namun z nya lebih kecil daripada z
sebelumnya)
c. Nilai optimal Z dari masalah LP tidak lebih baik daripada batas bawah (lower
bound) saat ini.
Pemograman Bilangan Bulat
(Integer Programming)

Sebuah program linear dengan persyaratan tambahan bahwa semua variabelnya merupakan
bilangan bulat

 Algoritma Pencabangan (Branching)


 Algoritma Pemotongan/Gomory

Algoritma Pencabangan (Branching)


1. Aproksimasi pertama

Abaikan persyaratan bilangan bulat dan selesaikan pemrograman linearnya dengan salah satu
teknik yang telah dipelajari sebelumnya (misalkan dengan metoda grafik). Jika solusi
optimalnya berbentuk bilangan bulat maka pemecahan tersebut juga merupakan pemecahan
optimal untuk program bilangan bulat
2. Aproksimasi kedua
Jika solusi optimal dengan teknik sebelumnya tidak bulat (keadaan ini sering terjadi) maka
komponen-komponen dari aproksimasi pertama dapat dibulatkan ke bilangan bulat terdekat
yang layak sehingga diperoleh aproksimasi kedua. Prosedur ini lebih efektif apabila
aproksaimasinya mengandung bilangan besar

Langkah/proses :
Jika aproksimasi pertama masih mengandung variabel yang tidak bulat, misalnya X*j maka i1 <
< i2 dimana i1 dan i2 adalah dua bilangan bulat tak negatif yang berturutan.

Buatlah 2 program (model) bilangan bulat yang baru dengan cara memperluas program (model)
sebelumnya dengan kendala xj ≤ i1 atau kendala Xj ≥ i2. Proses ini disebut pencabangan
(Branching)
Contoh 1
Diketahui model matematis sbb:
Maksimumkan : Z = 10X1 + X2
dengan kendala : 2 X1 + 5 X2 ≤ 11
dan : x1 dan X2 bulat tak negatif

Dengan mengabaikan persyaratan bilangan bulat, dengan


metode grafik maka solusi optimalnya adalah:

X*1 = 5.5, X*2 = 0, dan Z* = 55

5 < X*1 < 6

Maks Z = 10X1 + X2 Maks Z = 10X1 + X2


kendala 2X1 + 5 X2 ≤ 11 kendala 2X1 + 5 X2 ≤ 11
X1 ≤ 5 X1 ≥ 6
dan X1danX2 bulat tak negatif dan X1danX2 bulat tak negatif

X*1 = 5, X*2 = 0.2, dan Z* = 50.2 Pemecahan tidak layak

0 < X*2 < 1

Maks Z = 10X1 + X2 Maks Z = 10X1 + X2


kendala 2X1 + 5 X2 ≤ 11 kendala 2X1 + 5 X2 ≤ 11
X1 ≤ 5 X1 ≥ 6
X2 ≤ 0 X2 ≥ 1
dan X1danX2 bulat tak negatif dan X1danX2 bulat tak negatif

X*1 = 5, X*2 = 0, dan Z* = 50 X*1 = 3, X*2 = 1, dan Z* = 31


Hasil Perhitungn dalam bentuk diagram

Z* = 50

0 4
x2 ≤
Z* = 50.2 (5, 0)

5 2 x2 ≥ 1 Z* = 30
Z* = 55 x1 ≤
(5, 0.2) 5
1
x1 (3, 1)
≥ 6 Tidak Layak
(5.5 , 0)
3

Latihan

Maksimumkan z = 3X1 + 4 X2
Dengan kendala 2X1 + X2 ≤ 6
2X1 + 3X2 ≤ 9
Dan X1 dab X2 bulat tak negatif

Catatan:

 Jika hasil aproksimasi pertamanya menunjukkan


kedua variabel keputusannya tidak bulat, pilihlah
yang paling besar penyimpangan dari bilangan bulat
terdekatnya

 Jika kedua variabel tersebut penyimpangannya sama


maka kita bisa membuat pencabangan dari salah
satunya, atau pilihlah yang mempunyai nilai Z
Contoh metode branch and bound
Sebuah home-industry tekstil “NUYS COLLECTION” membuat dua macam produk tekstil yang
sering digunakan masyarakat dewasa ini, yaitu kemeja dan kaos. Dalam home-industry tersebut,
kemeja dan kaos harus melalui 4 workstation agar dapat menjadi produk jadi, yaitu:
Workstation 1 : pemotongan kain dan pembuatan pola
Workstation 2 : penjahitan
Workstation 3 : pressing dan pemeriksaan (quality control)
Workstation 4 : pengemasan
Pemilik home-industry tersebut memiliki 4 operator dan masing-masing operator
menangani 1 workstation. Pemilik mengalokasikan waktu kerja per hari sebanyak
10 jam yang dimulai dari pukul 08.00 hingga pukul 18.00. Sistem kerja yang
diterapkan pada home industry tersebut merupakan sistem kerja seri, yang
artinya proses kerja tersebut dilakukan secara berurutan yang dimulai dari
workstation 1 dan berakhir di workstation 4. Pemilik menerapkan waktu kerja per
shift, yang dimaksudkan bahwa workstation 1 akan mendapatkan shift pertama,
workstation 2 akan mendapatkan shift kedua, dan seterusnya

Pemilik menetapkan shift per hari untuk 4 workstation seperti dibawah ini :
  Shift 1 (Workstation 1) : pukul 08.00-09.30
  Shift 2 (Workstation 2) : pukul 09.30-13.00
  Shift 3 (Workstation 3) : pukul 13.00-16.00
  Shift 4 (Workstation 4) : pukul 16.00-18.00
Kapasitas produksi untuk kemeja dan kaos per harinya dalam
home-industry tersebut adalah 200 buah dan 120 buah. Produk
kemeja dan kaos tersebut memiliki waktu proses per produk
yang berbeda-beda disetiap workstation seperti yang tertera
pada Tabel 3.1
Pemilik menetapkan harga jual kemeja sebesar
Rp.35000 dan kaos sebesar Rp.40000. Pemilik
akan mengambil profit sebesar 45% dari harga jual
kemeja dan 50% dari harga jual kaos, sehingga
keuntungan yang didapat sebesar Rp.15750 untuk
satu kemeja dan sebesar Rp.20000 untuk satu
kaos. Berapa kemeja dan kaos yang harus
diproduksi setiap harinya agar home-industry
tekstil tersebut memperoleh keuntungan yang
optimal?
Model matematika
Definisi  :
X1 = Jumlah Produksi Kemeja
X2 = Jumlah Produksi kaos
Fungsi Tujuan :
Memaksimasikan Z = 15750 X1 + 20000 X2

Pembatas :
0.45 X1 +  0.5 X2 ≤ 90
1.05 X1 +  0.45 X2 ≤ 210
0.9 X1 + 0.45 X2 ≤ 180
0.6 X1 + 0.5 X2 ≤ 120
X1 ≤ 200
X2 ≤ 120
X1 , X2 ≥ 0

Anda mungkin juga menyukai