xv
2.2.1 Prinsip Keoptimalan
Pendekatan program dinamik didasarkan pada Prinsip optimisasi Bellman. Bellman 1950 mengemukakan bahwa “Suatu kebijakan optimal mempunyai
sifat bahwa apapun keadaan dan keputusan awal, keputusan berikutnya harus membentuk suatu kebijakan optimal dengan memperhatikan keadaan dari hasil
keputusan pertama”.
Prinsip ini mengandung arti bahwa : 1.
Diperkenankan untuk mengambil keputusan yang layak bagi tahap persoalan yang masih tersisa tanpa melihat kembali keputusan-keputusan masa lalu atau
tahap-tahap terdahulu. 2.
Dalam rangkaian keputusan yang telah diambil, hasil dari masing-masing tergantung pada hasil keputusan sebelumnya dalam rangkaian.
Misalkan jika telah diambil keputusan yang salah pada tahap pertama atau tahap kedua, bukan berarti keputusan yang benar tidak dapat diambil pada tahap ketiga,
keempat dan seterusnya. Stuart E. Dreyfuse dan Averill M. Law 1977 dalam bukunya yang
berjudul “Mathematics In Science and Engineering: The Art and Theory of Dynamic Programming” mendefinisikan fungsi nilai optimal sebagai:
max
, ,..,
.
di mana: perolehan keuntungan maksimum dari kegiatan sampai ,
dengan unit sumber daya yang tersisa untuk dialokasikan. = alokasi untuk kegiatan
, , … ,
2.2.2 Karakteristik Persoalan Program Dinamik
Salah satu cara untuk mengetahui bahwa suatu kondisi dapat diformulasikan sebagai persoalan program dinamik, yaitu pembentukan struktur dasar persoalan
Universitas Sumatera Utara
xvi
secara bertahap. Struktur dasar tersebut adalah karakteristik persoalan program dinamik yang disajikan sebagai berikut:
1. Persoalan dapat dibagi menjadi beberapa tahap stage, yang pada setiap tahap
hanya diambil satu keputusan. 2.
Masing-masing tahap terdiri dari sejumlah status state yang berhubungan dengan tahap tersebut. Secara umum, state merupakan bermacam
kemungkinan masukan yang ada pada tahap tersebut. 3.
Hasil dari keputusan yang diambil pada setiap tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya.
4. Ongkos cost pada suatu tahap meningkat secara teratur steadily dengan
bertambahnya jumlah tahapan. 5.
Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah berjalan dan ongkos pada tahap tersebut.
6. Keputusan terbaik pada suatu tahap bersifat saling bebas terhadap keputusan
yang dilakukan pada tahap sebelumnya. 7.
Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk setiap status pada tahap memberikan keputusan terbaik untuk setiap status
pada tahap .
8. Prinsip optimalitas berlaku pada persoalan tersebut.
2.2.3
Pendekatan Penyelesaian Program Dinamik
Pendekatan Penyelesaian yang digunakan dalam program dinamik ada 2 cara, yaitu:
1. Perhitungan Maju Forward
Pada perhitungan maju, suatu persoalan program dinamik umumnya dapat diselesaikan dengan menghitung terlebih dahulu, lalu dilanjutkan berdasarkan
proses rekursif ke dan seterusnya. Urutan perhitungannya adalah:
Universitas Sumatera Utara
xvii
→ →
→ ⋯ → Di mana merupakan fungsi awal dari fungsi rekursif dan merupakan fungsi
akhir. Diagram cara perhitungan maju:
: fungsi keuntungan pada tahap : variabel keadaan pada tahap n
2. Perhitungan Mundur Backward
Pada perhitungan mundur, suatu persoalan program dinamik diselesaikan dengan menghitung terlebih dahulu, lalu dilanjutkan berdasarkan proses rekursif dan
berakhir di . Urutan perhitungannya adalah:
→ →
→ ⋯ → Di mana merupakan fungsi awal dari fungsi rekursif dan merupakan fungsi
akhir. Diagram cara perhitungan mundur:
: fungsi keuntungan pada tahap : variabel keadaan pada tahap n
Perbedaan dari kedua cara perhitungan ini terletak pada rumusan keadaan. Pada perhitungan maju, keadaan dirumuskan sebagai alokasi untuk tahap dan
tahap sebelumnya. Sedangkan pada cara perhitungan mundur, keadaan
Universitas Sumatera Utara
xviii
dirumuskan sebagai alokasi untuk tahap dan tahap berikutnya. Dalam
memecahkan suatu persoalan tidak dapat segera diketahui cara mana yang lebih mudah digunakan. Oleh karena itu, jika mengalami kesulitan untuk merumuskan
persoalan dengan menggunakan perhitungan maju maka dapat menggunakan cara perhitungan mundur.
2.3
Metode Lagrange
Metode pengali Lagrange merupakan sebuah teknik dalam menyelesaikan masalah optimasi dengan kendala persamaan. Inti dari metode pengali Lagrange
adalah mengubah persoalan titik ekstrim terkendala menjadi persoalan ekstrim bebas kendala. Fungsi yang terbentuk dari tranformasi tersebut dinamakan fungsi
Lagrange. Misalkan permasalahan yang dihadapi adalah: MaksimumkanMinimumkan:
, , , … ,
2.3 Dengan kendala:
, , , ,
... , ,
Disini jika terjadi bahwa maka tidak dapat diselesaikan. Akan tetapi untuk
dapat menyelesaikannya maka jumlah kendala lebih kecil daripada
variabel. Metode ini dimulai dengan pembentukan fungsi lagrange yang didefinisikan sebagai :
, .
Arti dari pengali lagrange secara fisik yang menarik misalkan terdapat permasalahan optimasi dengan satu kendala sebagai berikut:
MaksMin : 2.5
Dengan kendala :
Universitas Sumatera Utara
xix
Fungsi lagrangenya adalah ,
2.6 Syarat perlu untuk penyelesaian di atas adalah
untuk , , … ,
Maka persamaan di atas menghasilkan : untuk
, , … ,
atau Diperoleh:
untuk , , … ,
Atau
Atau
Atau
Universitas Sumatera Utara
xx
Karena atau
Dapat diambil kesimpulan bahwa dari persamaan di atas pada penyelesaian optimum, perubahan fungsi tujuan berbanding lurus dengan perubahan kendala
dengan faktor sebesar pengali lagrange .
2.3.1 Monotonicity dalam
Jika suatu nilai bertambah dari 0 sampai ∞, maka ∑
berkurang secara monoton. Sehingga nilai dapat diperkirakan sebagai harga price.
̅ ,
.
.
Jika , dari sifat maksimasi diketahui
. .
Dari persamaan 2.8 dan 2.9 diperoleh .
Sehingga, .
Karena , diperoleh hasil yang diinginkan
Universitas Sumatera Utara
xxi
. Hasil dari persamaan 2.12 digabungkan dengan persamaan 2.8 diperoleh
.
di mana .
Monotonicity ini menyederhanakan penentuan nilai dengan diberikannya nilai .
Universitas Sumatera Utara
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