Konsep Dasar dalam Dynamic programming Kriteria Dynamic programming

sesuai dengan persoalaannya. Pada penyelesaian dengan metode ini ada beberapa hal yang harus diperhatikan, yaitu: 1. Terdapat sejumlah berhingga pilihan yang mungkin. 2. Solusi pada setiap tahap dibangun dari hasil solusi tahap sebelumnya. 3. Persyaratan optimasasi dan kendala digunakan untuk membatasi sejumlah pilihan yang harus dipertimbangkan pada suatu tahap.

3.5.1. Konsep Dasar dalam Dynamic programming

Konsep – konsep dasar dalam dynamic programming, yaitu: 1. Dekomposisi Persoalan dynamic programming dapat dipecah-pecah menjadi sub-persoalan atau tahapan yang lebih kecil dan berurutan. Setiap tahap disebut juga sebagai titik keputusan. Setiap keputusan yang dibuat pada suatu tahap akan mempengaruhi keputusan-keputusan pada tahap berikutnya. 2. Status Status adalah kondisi awal S n dan kondisi akhir S n-1 pada setiap tahap, di mana pada tahap tersebut keputusan dibuat D n . Status akhir pada sebuah tahap tergantung keadaan status awal dan keputusan yang dibuat pada tahap tersebut. Status akhir pada suatu tahap merupakan input bagi tahap berikutnya. 3. Variabel keputusan dan hasil Keputusan yang dibuat pada setiap tahap D n merupakan keputusan yang berorientasi kepada return yang diakibatkannya R n |D n . Universitas Sumatera Utara 4. Fungsi transisi Fungsi transisi menejelaskan secara pasti bagaimana tahap-tahap saling berhubungan. Fungsi ini berbentuk fungsi hubungan antar status pada setiap tahap berurutan. Fungsi transisi secara umum berbentuk berikutnya: S n-1 = S n -D n . . . hal Dimana Sn-1 = status pada tahap n-1, atau status akhir pada tahap-n. Sn adalah status awal pada tahap n. 5. Optimisasi tahap Optimisasi tahap dalam dynamic programming adalah menentukan keputusan optimal pada setiap tahap dari berbagai kemungkinan nilai status inputnya. Fungsi umum dari keputusan optimal, yaitu: fnS n , D n = Return pada tahap n dari nilai status input S n , keputusan D n . fnS n = Return optimal pada tahap n dari nilai input status S n . 6. Fungsi Rekursif Fungsi rekursif biasanya digunakan pada berbagai program komputer, di mana nilai sebuah variabel pada fungsi itu merupakan nilai kumulatif dari nalai variabel tersebut pada tahap sebelumnya. Pada dynamic programming, fungsi umum dituliskan sebagai: f n S n , D n = R n + f n-1 S n-1 , D n-1 .....

3.5.2. Kriteria Dynamic programming

Asumsi-asumsi dalam dynamic programming sebagai berikut: 1. Setiap persoalan memliki nilai atau konstanta yang berhingga. Universitas Sumatera Utara 2. Setiap bagian dari persoalan merupakan satu kesatuan yang utuh. 3. Persoalannya diasumsikan bersifat dependen. 4. Kedatangan pesanan bersifat dinamis atau berubah-ubah. Persyaratan dari dynamic programming sebagai berikut: 1. Persoalan dapat dibagi menjadi beberapa tahap yang pada setiap tahap hanya diambil satu keputusan. 2. Masing-masing tahap terdiri dari sejumlah status yang berhubungan dengan tahap tersebut. Secara umum, status merupakan bermacam-macam kemungkinan masukan yang ada pada tahap tersebut. 3. Hasil keputusan yang diambil pada setiap tahap ditansformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya. 4. Ongkos pada suatu tahap meningkat secara teratur dengan bertambahnya jumlah tahapan. 5. Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah berjalan ditambah dengan ongkos pada tahap tersebut. 6. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya.

3.5.3. Prosedur solusi