xxii
BAB 3 PEMBAHASAN
3.1 Persoalan Program Dinamik
Masalah utama dalam pemrograman dinamik adalah mengubah masalah asal menjadi bentuk persamaan rekursif. Komponen dalam persamaan rekursif adalah
tahap, keputusan, state, fungsi transformasi, dan fungsi return. Berdasarkan komponen tersebut pemrograman dinamik dapat diklasifikasikan menjadi :
1. Berdasarkan variabel keputusan variabel state
a. Pemrograman dinamik dengan variabel diskrit
b. Pemrograman dinamik dengan variabel kontinu
2. Berdasarkan jumlah state
a. Pemrograman dinamik dengan satu state
b. Pemrograman dinamik dengan beberapa state
3. Berdasarkan jumlah tahap
a. Pemrograman dinamik dengan tahap berhingga
b. Pemrograman dinamik dengan tahap tak berhingga
4. Berdasarkan hubungan antar tahap
a. Pemrograman dinamik dengan tahap seri
b. Pemrograman dinamik dengan tahap paralel
5. Berdasarkan fungsi transformasi
a. Pemrograman dinamik deterministik
b. Pemrograman dinamik probabilistik
Dalam penulisan ini, penulis hanya akan membahas beberapa masalah di atas, yaitu pemrograman dinamik deterministik dengan beberapa state pada variabel
diskrit.
3.1.1 Pembentukan Persamaan Rekursif Secara Umum
Universitas Sumatera Utara
xxiii
Pemrograman dinamik deterministik adalah pemrograman dinamik yang diterapkan pada masalah-masalah deterministik, dimana keadaan pada tahap
berikutnya ditentukan secara lengkap dan pasti oleh keadaan dan keputusan pada tahap yang sedang berlangsung.
Misalkan fungsi tujuan sebagai berikut: max
, ,…,
, , … ,
.
Dimana ⋯
Fungsi harus dapat dipisahkan ,
, … , …
. Fungsi tujuan didekomposisi
max
, ,…,
, , … ,
.
terhadap
max
, ,…,
max
, ,...,
… .
terhadap Dari definisi
dapat ditulis max
, ,…,
… .
max
, ,…,
.
Dengan melakukan proses yang sama untuk ,....,
maka diperoleh sub masalah yaitu:
Universitas Sumatera Utara
xxiv
max
, ,…,
. .
. .
max
, ,…,
. .
. .
max .
Secara umum persamaan rekursif dapat ditulis sebagai berikut: max
, ,…,
. max
, ,…,
Persamaan rekursif di atas disebut persamaan rekursif maju. Dalam persamaan rekursif maju, nilai variabel state tahap ke – harus diketahui, agar variabel
keputusan yang optimal dapat dicari. Jika variabel state yang diketahui nilainya adalah variabel state tahap awal, maka persamaan rekursif yang digunakan adalah
persamaan rekursif mundur yaitu: max
, ,…,
.
Jika pemrograman dinamik merupakan pemrograman dinamik dengan beberapa variabel state, maka nilai awal atau nilai akhir seluruh variabel state tersebut
harus diketahui.
3.1.2 Contoh Kasus Aplikasi
Seorang pengusaha percetakan membeli 2 jenis mesin cetak, masing-masing 3 unit tipe A dan 3 unit tipe B. Kedua jenis mesin cetak tersebut akan dialokasikan
kepada 3 buah perusahaannya. Karena jumlah produksi tiap perusahaan berbeda,
Universitas Sumatera Utara
xxv
akibatnya jumlah keuntungan yang diperoleh juga berbeda. Data return dalam satuan jutaan tiap perusahaan kegiatan disajikan dalam tabel berikut.
Tabel 3.1 Data return Tiap Kegiatan = 3
, ,
, 0 1 2 3
0 1 2 3 0 1 2 3
0 0 1 3 6 0 0 2 4 6
0 0 3 5 8 1 4 5 6 7
1 1 4 6 7 1 2 5 7 9
2 5 6 7 8 2 4 6 8 9
2 4 7 9 11 3 6 7 8 9
3 6 8 10 11 3 6 9 11 13
Tujuan perusahaan yaitu memaksimumkan return dengan terbatasnya jumlah mesin cetak yang tersedia.
Variabel state : jumlah mesin cetak tipe A pada kegiatan 1
: jumlah mesin cetak tipe A pada kegiatan 2 : jumlah mesin cetak tipe A pada kegiatan 3
: jumlah mesin cetak tipe B pada kegiatan 1 : jumlah mesin cetak tipe B pada kegiatan 2
: jumlah mesin cetak tipe B pada kegiatan 3 Memodelkan fungsi tujuan dan kendala
Tujuannya adalah memaksimumkan total return dengan menjumlahkan return tiap kegiatan.
Maximum : ,
, ,
. Masing-masing tipe hanya ada 3 unit mesin cetak yang tersedia untuk
dialokasikan, maka:
Universitas Sumatera Utara
xxvi
Sehingga, jika digabungkan diperoleh program matematis sebagai berikut: Maksimum
∶ ,
.
Kendala ∶
, , , Andaikan
, = return maksimum dari kegiatan k sampai
, dengan unit mesin cetak tipe A dan mesin cetak tipe B yang
tersedia. Maka, persamaan rekursif untuk permasalahan di atas adalah:
, max
, ,…, , ,…,
, ,
.
dimana: ,
, .
Berdasarkan persamaan rekursif, perhitungan diimulai dari tahap akhir.
Tahap 3
Untuk = 0, dan
= 0, 1, 2 dan 3. ,
max [0] = 0, ,
0, 0 ,
max [0, 3] = 3,
, 0, 1
, max
[0, 3, 5] = 5, ,
0, 2 ,
max [0, 3, 5, 8] = 8, , = 0, 3
Universitas Sumatera Utara
xxvii
Untuk = 1, dan
= 0, 1, 2 dan 3. ,
max [0, 2] = 2, ,
1, 0 ,
max [0, 3, 2, 5] = 5,
, 1, 1
, max [0, 3, 5, 2, 5, 7] = 7,
, 1, 2
, max
[0, 3, 5, 8, 2, 5, 7, 9] = 9, ,
1, 3 Untuk
= 2, dan = 0, 1, 2 dan 3.
, max [0, 2, 4] = 4,
, 2, 0
, max
[0, 3, 2, 5, 4, 7] = 7, ,
2, 1 ,
max [0, 3, 5, 2, 5, 7, 4, 7, 9] = 9, ,
2, 2 ,
max [0, 3, 5, 8, 2, 5, 7, 9, 4, 7, 9, 11] = 11,
, 2, 3
Untuk = 3, dan
= 0, 1, 2 dan 3. ,
max [0, 2, 4, 6] = 6, ,
3, 0 ,
max [0, 3, 2, 5, 4, 7, 6, 9] = 9,
, 3, 1
, max [0, 3, 5, 2, 5, 7, 4, 7, 9, 6, 9, 11] = 11,
, 3, 2
, max
[0, 3, 5, 8, 2, 5, 7, 9, 4, 7, 9, 11, 6, 9, 11, 13] = 13, ,
3, 3
Tahap 2
Untuk = 0, dan
= 0, 1, 2 dan 3. ,
max [0 + 0] = 0, , = 0, 0
, max
[0 + 3, 2 + 0] = 3, , = 0, 0
, max [0 + 5, 2 + 3, 4 + 0] = 5,
, = 0, 0 atau 0, 1
Universitas Sumatera Utara
xxviii
, max
[0 + 8, 2 + 5, 4 + 3, 6 + 0] = 8, , = 0, 0
Untuk = 1, dan
= 0, 1, 2 dan 3. ,
max [0 + 2, 1 + 0] = 2, , = 0, 0
, max
[0 + 5, 2 + 2, 1 + 3, 4 + 0] = 5, , = 0, 0
, max [0 + 7, 2 + 5, 4 + 2, 1 + 5, 4 + 3, 6 + 0] = 7,
, = 0, 0, 0, 1 atau 1, 1 ,
max [0 + 9, 2 + 7, 4 + 5, 6 + 2, 1 + 8, 4 + 5, 6 + 3, 7 + 0] = 9,
, = 0, 0, 0, 1, 0, 2, 1, 0, 1, 1 atau 1, 2 Untuk
= 2, dan = 0, 1, 2 dan 3.
, max [0 + 4, 1 + 2, 4 + 0] = 4,
, 0, 0 atau 1, 2
, max
[0 + 7, 2 + 4, 1 + 5, 4 + 2, 4 + 3, 6 + 0] = 7, ,
0, 0 atau 2, 0 ,
max [0 + 9, 2 + 7, 4 + 4, 1 + 7, 4 + 5, 6 + 2, 4 + 5, 6 + 3, 8 + 0] = 9
, 0, 0, 0, 1, 1, 1, 2, 0 atau 2, 1
, max
[0 + 11, 2 + 9, 4 + 7, 6 + 4, 1 + 9, 4 + 7, 6 + 5, 7 + 2, 4 + 8, 6 + 5, 8 + 3, 9 + 0] = 12,
, 2, 0
Untuk = 3, dan
= 0, 1, 2 dan 3. ,
max [0 + 6, 1 + 4, 4 + 2, 6 + 0] = 6, ,
0, 0, 2, 0 atau 3,
, max
[0 + 9, 2 + 6, 1 + 7, 4 + 4, 4 + 5, 6 + 2, 6 + 3, 8 + 0] = 9 ,
0, 0, 2, 0 atau 3, 0
Universitas Sumatera Utara
xxix
, max
[0 + 11, 2 + 9, 4 + 6, 1 + 9, 4 + 7, 6 + 4, 4 + 7, 6 + 5, 8 + 2, 6 + 5, 8 + 3, 10 + 0] = 11,
, 0, 0, 0, 1, 1, 1, 2, 0, 2, 1, 3, 0 atau 3, 1
, max
[0 + 13, 2 + 11, 4 + 9, 6 + 6, 1 + 11, 4 + 9, 6 + 7, 7 + 4, 4 + 9, 6 + 7,
8 + 5, 9 + 2, 6 + 8, 8 + 5, 10 + 3, 11 + 0] = 14, ,
3, 0
Tahap 1
Untuk = 3, dan
= 3 ,
max [0 + 14, 1 + 11, 3 + 9, 6 + 6, 4 + 12, 5 + 9, 6 + 7, 7 + 4, 5 + 9, 6 +
7, 7 + 5, 8 + 2, 6 + 8, 7 + 5, 8 + 3, 9 + 0] = 16,
, 1, 0
Diperoleh , = 16, dengan
, 1, 0.
Nilai optimal = 1,
= 0, = 2,
= 0, = 0,
= 3. Pada tahap 1, dialokasikan 1 unit mesin cetak tipe A dan 0 tidak ada mesin
cetak tipe B pada perusahaan I. Dengan perolehan return sebesar Rp 4.000.000,00.
Pada tahap 2, dialokasikan 2 unit mesin cetak tipe A dan 0 tidak ada mesin cetak tipe B pada perusahaan II. Dengan perolehan return sebesar Rp
4.000.000,00. Pada tahap 3, dialokasikan 0 tidak ada mesin cetak tipe A dan 3 unit mesin
cetak tipe B pada perusahaan III. Dengan perolehan return sebesar Rp 8.000.000,00.
Sehingga total return yang diperoleh adalah sebesar: Rp 4.000.000,00 + Rp 4.000.000,00 + Rp 8.000.000,00 = Rp 16.000.000,00.
Universitas Sumatera Utara
xxx
3.2 Pengurangan Perhitungan dengan Metode Lagrange