Anggara Hayun Anujuprana D0104 Riset Operasi I Kuliah XXI - XXII Goal Programming Anggara Hayun Anujuprana D0104 Riset Operasi I Kuliah XXI - XXII
Goal Programming Goal programming digunakan untuk menyelesaikan programa linier dengan obyektif majemuk, dan tiab obyektif sebagai goal. Pada goal programming, di+ and di- , deviation variables, adalah besaran goal i yang ditargetkan yang dapat dicapai atau tidak, secara berurutan. Goals itu sendiri ditambahkan pada suatu set pembatas dengan di+ dan di- berperan sebagai surplus dan slack variables.
Goal Programming Satu pendekatan goal programming adalah untuk memenuhi goal dalam suatu urutan prioritas. Goal prioritas kedua ditetapkan tanpa mengurangi goal prioritas pertama. Untuk tiap tingkat prioritas, fungsi obyektifnya adalah meminimumkan jumlah dari goal deviation. Pencapaian awal dari goal ditambahkan kepada set pembatas maka tidak akan penurunan ketika berusaha mencapai prioritas goal yang terendah.
Formulasi Goal Programming Step 1: Tetapkan tingkat prioritas tiap goal. Step 2: Tetapkan bobot tiap goal. Jika suatu tingkat prioritas mempunyai lebih dari satu goal, untuk tiap goal i ditetapkan bobot, wi , diletakan pada deviasi, di+ dan/atau di-, dari goal.
Formulasi Goal Programming Step 3: Bentuk programa linier awal. Min w1d1+ + w2d2- s.t. Batasan Fungsional, dan and Batasan Goal Step 4: Selesaikan programa linier saat ini. Jika ada suatu tingkat prioritas terendah ke step 5, Kalau tidak solusi akhir telah dicapai.
Formulasi Goal Programming Step 5: Bentuk Programa Linier Baru Pertimbangkan tingkat prioritas goal terendah berikutnya dan formulasikan fungsi obyektif yang didasarkan pada goal tersebut. Tambahkan pembatas yang diperlukan untuk mencapai tingkat prioritas tertinggi berikutnya. Programa Linier yang baru adalah : Min w3d3+ + w4d4- s.t. Batasan-batasan fungsional, Batasan-batasan Goal, dan w1d1+ + w2d2- = k ke step 4. (Ulangi steps 4 dan 5 sampai semua tingkat prioritas telah diuji.)
Contoh: Conceptual Products Conceptual Products is a computer company that produces the CP400 and CP500 computers. The computers use different mother boards produced in abundant supply by the company, but use the same cases and disk drives. The CP400 models use two floppy disk drives and no zip disk drives whereas the CP500 models use one floppy disk drive and one zip disk drive.
Contoh: Conceptual Products The disk drives and cases are bought from vendors. There are 1000 floppy disk drives, 500 zip disk drives, and 600 cases available to Conceptual Products on a weekly basis. It takes one hour to manufacture a CP400 and its profit is $200 and it takes one and one-half hours to manufacture a CP500 and its profit is $500.
Contoh: Conceptual Products Ada Empat Goal dari Perusahaan : Priority 1: Memenuhi kontrak 200 mesin CP400 tiap minggu. (Goal 1) Priority 2: Membuat paling sedikit total 500 tiap minggu. (Goal 2) Priority 3: Mendapatkan keuntungan paling sedikit $250,000 per-minggu. (Goal 3) Priority 4: Menggunakan tidak lebih 400 man- hours per-minggu. (Goal 4)
Goal Programming: Formulasi Variables x1 = Jumlah CP400 computers dihasilkan per minggu x2 = Jumlah CP400 computers dihasilkan per minggu di- = besaran sisi kanan goal i yang deficient di+ = besaran sisi kanan goal i yang exceeded Functional Constraints Ketersediaan floppy disk drives: 2x1 + x2 < 1000 Ketersediaan zip disk drives: x2 < 500 Ketersediaan cases: x1 + x2 < 600
Goal Programming: Formulation Goals (1) 200 CP400 computers per minggu: x1 + d1- - d1+ = 200 (2) 500 total computers per-minggu: x1 + x2 + d2- - d2+ = 500 (3) $250(ribu),keuntungan : .2x1 + .5x2 + d3- - d3+ = 250 (4) 400 total man-hours per-minggu: x1 + 1.5x2 + d4- - d4+ = 400 Non-negativity: x1, x2, di-, di+ > 0 for all i
Goal Programming: Formulation Objective Functions Priority 1: Minimasi besaran kontrak : Min d1- Priority 2: Minimasi jumlah komputer dibawah 500 computers diproduksi : Min d2- Priority 3: Minimasi besaran dibawah $250,000 yang diperoleh per-minggu: Min d3- Priority 4: Minimasi man-hours lebih dari 400 yang digunakan per-minggu: Min d4+
Goal Programming: Formulation Formulation Summary Min P1(d1-) + P2(d2-) + P3(d3-) + P4(d4+) s.t. 2x1 +x2 < 1000 +x2 < 500 x1 +x2 < 600 x1 +d1- -d1+ = 200 x1 +x2 +d2- -d2+ = 500 .2x1+ .5x2 +d3- -d3+ = 250 x1+1.5x2 +d4- -d4+ = 400 x1, x2, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+ > 0
Goal Programming : Solusi Grafik Iteration 1 Menyelesaikan secara grafis, grafik I dari batasan fungsional. Grafik goal I : x1 = 200. Catatan pada slide berikut bahwa ada satu set yang melebihi x1 = 200 (dimana d1- = 0).
Goal Programming: Graphical Solution Batasan Fungsional dan grafik Goal I x2 1000 800 600 400 200 2x1 + x2 < 1000 Goal 1: x1 > 200 x2 < 500 x1 + x2 < 600 Points Satisfying Goal 1 x1 200 400 600 800 1000 1200
Goal Programming : Solusi Grafik Iteration 2 Tambahkan Goal 1 sebagai x1 > 200 dan grafik Goal 2: x1 + x2 = 500. Catatan pada slide berikut bahwa masih ada suatu set of points memenuhi goal I yang juga memenuhi goal II (dimana d2- = 0).
Goal Programming : Solusi Grafik Goal 1 (Constraint) and Goal 2 Graphed x2 1000 800 600 400 200 2x1 + x2 < 1000 Goal 1: x1 > 200 x2 < 500 x1 + x2 < 600 Points Satisfying Both Goals 1 and 2 Goal 2: x1 + x2 > 500 x1 200 400 600 800 1000 1200
Goal Programming : Solusi Grafik Iteration 3 Tambahkan Goal 2 sebagai x1 + x2 > 500 dan Goal 3: .2x1 + .5x2 = 250. Pada slide berikut tidak ada points memenuhi batasan fungsional sebelumnya dan goals memenuhi batasan ini. Maka, untuk Min d3-, nilai minimum adalah dicapai ketika Max .2x1 + .5x2. Catatan ini terjadi pada x1 = 200 dan x2 = 400, maka .2x1 + .5x2 = 240 atau d3- = 10.
Goal Programming : Solusi Grafik Goal 2 (Constraint) and Goal 3 Graphed x2 1000 800 600 400 200 2x1 + x2 < 1000 Goal 1: x1 > 200 x2 < 500 x1 + x2 < 600 (200,400) Points Satisfying Both Goals 1 and 2 Goal 2: x1 + x2 > 500 Goal 3: .2x1 + .5x2 = 250 x1 200 400 600 800 1000 1200