Pemrograman tujuan

**Pemrograman tujuan** (; disingkat dengan *GP*), adalah sebuah metode optimisasi multiobjektif dalam bidang analisis keputusan multi-kriteria (*multi-criteria decision analysis*, MCDA). Metode ini dapat dianggap sebagai perumuman dari pemrograman linear, agar dapat menangani beberapa objektif secara serentak yang umumnya saling berkonflik. Contoh masalah ini dapat berupa mencari solusi yang dapat meningkatkan keuntungan bersih sekaligus mengurangi besarnya ongkos usaha. Menggunakan informasi target nilai yang ingin dicapai setiap objektif, GP melakukan optimisasi dengan meminimumkan besar penyimpangan-penyimpangan yang tidak diinginkan solusi dengan nilai target-target tersebut. Fungsi objektif dalam GP disebut dengan *fungsi pencapaian*, dan digunakan untuk menghampiri preferensi pengambil keputusan terkait caranya meminimumkan penyimpangan-penyimpangan tersebut. Fungsi ini dapat bernilai skalar maupun vektor, tergantung varian GP yang digunakan.

Model GP menggunakan filosofi *satisficing* ketimbang *optimising* dalam pengambilan solusi. GP dapat digunakan untuk melakukan analisis terkait: daftar sumber daya yang diperlukan untuk memenuhi suatu kumpulan objektif, besarnya ketercapaian (atau kompromi) setiap objektif yang dihasilkan suatu kombinasi sumber daya, dan solusi dominan dari berbagai kendala dan tingkat kepentingan setiap objektif. Saat ini, GP telah diterapkan dalam pemilihan portofolio, perencanaan agrikultur, penjadwalan, dan banyak lagi.

## Sejarah
Formulasi model GP paling awal diperkenalkan oleh Charnes et al. dalam masalah menentukan kompensasi untuk manajer. Walaupun pada saat itu model dianggap sebagai adaptasi dari pemrograman linear (LP), formulasi tersebut menampilkan konsep "regresi terbatas" yang menjadi dasar minimisasi dalam GP. Istilah *goal programming* baru muncul pada buku teks oleh Charnes dan Cooper pada tahun 1961 -- walau model masih disajikan sebagai perumuman pemrograman linear (LP) untuk menyelesaikan masalah LP yang *infeasible* (tidak memiliki solusi). Pengembangan model GP lebih lanjut yang dilakukan oleh oleh Ijiri, Lee, dan Ignizio, membuat model ini menjadi umum digunakan sebagai alat riset operasi.

Pada perkembangannya, salah satu aspek yang membuat model GP menjadi pilihan metode MCDA/MCDM yang umum digunakan, adalah faktor formulasi yang sederhana dan kemiripan dengan model LP. Dalam masa ini pula, berbagai varian GP juga dikembangkan untuk menyelesaikan masalah dalam banyak bidang. Akan tetapi banyak kritik disampaikan terkait GP pada tahun 1980-an, yang oleh sebagian pihak dianggap terjadi karena kesalahan mendasar yang disebabkan oleh kurangnya pemahaman praktik MCDA/MCDM. Perdebatan terkait fundamental model GP selanjutnya menghasilkan publikasi buku teks oleh Romero, yang menunjukkan masalah yang terjadi lebih diakibatkan oleh praktik pemodelan yang buruk, dan memberikan praktik-praktik GP yang baik.

Schniederjans merangkum perkembangan GP sampai tahun 1995, dan mencatat bibliografi banyak artikel yang berkaitan dengan GP. Selain itu, Jones dan Tamiz memberikan bibliografi serta deskripsi untuk artikel periode 1990-2000. Sebuah buku teks tahun 2010 oleh Jones dan Tamiz berisi penjelasan komprehensif terkait metode GP yang terbaru.

## Bentuk dasar
Karena model GP dibuat dari adaptasi model pemrograman linear (LP), perumusan model GP dapat dihasilkan dari mengubah notasi dan asumsi-asumsi model LP. Pada model LP, rumusan model dapat dinyatakan dalam *bentuk kanonik* sebagai

\begin{align}
\min                  &\, Z=\sum_{j=1}^nc_jx_j \\
\text{dengan kendala} &\, f_i(\mathbf{x})\geq b_i;\,\text{untuk }i=1,\,\dots,\,m\\
                      &\, \quad\, x_j\geq0;\,\text{untuk }j=1,\,\dots,\,n.
\end{align}

Pada bentuk di atas, m menyatakan banyaknya *kendala*, x_jdisebut *variabel keputusan*, dan Z disebut *fungsi objektif*. Fungsi linearf_i(\mathbf{x})=\sum_{j=1}^na_{ij}x_jmenyatakan persamaan kendala ke-i, yang dapat bernilai lebih besar (memiliki deviasi positif) daripada nilai *target* b_i. Dengan bantuan aritmetika dasar, model LP tersebut juga dapat menyertakan kendala dalam bentuk "kurang dari" dan "sama dengan." Akan tetapi, terlepas dari jenis kendala yang digunakan, model LP hanya mempertimbangkan solusi yang memenuhi semua kendala. Ketika kendala-kendala dalam model LP tidak semuanya dapat saling dipenuhi, model LP disebut *infeasible* dan tidak memiliki solusi. Agar tetap menghasilkan solusi yang wajar dalam kondisi tersebut, Charnes dan Cooper menganggap masing-masing kendala yang menyusun model LP sebagai sebuah fungsi:h_i(\mathbf{x})=\Big|f_i(\mathbf{x})-b_i\Big|;\;\;\text{untuk }i=1,\,\dots,\,Q.Fungsi-fungsi ini dianggap sebagai sebuah tujuan (*goal*) yang perlu dipenuhi agar menghasilkan solusi *feasible*. Dengan kata lain, solusi *feasible* dihasilkan ketika h_i(\mathbf{x})=0. Pada keadaan hal tersebut tidak mungkin terjadi, solusi "terbaik" selanjutnya adalah solusi yang terletak sedekat mungkin dengan tujuan-tujuan yang ditetapkan, dan dapat dicari dengan melakukan optimisasi\begin{align}

\min &\, Z=\sum_{i=1}^Q(d_i^++d_i^-)\\

\text{dengan kendala} &\, f_i(\mathbf{x}) -d_i^++d_i^- = b_i;\,\text{untuk }i=1,\,\dots,\,Q\\
&\, d_i^+,\,d_i^-\geq0;\,\,\text{untuk }i=1,\,\dots,\,Q\\
&\, x_j\geq0;\,\,\text{untuk }j=1,\,\dots,\,n

\end{align}dengan d_i^+ disebut *variabel deviasi positif* dan d_i^- disebut *variabel deviasi negatif*. Variabel Q digunakan untuk menyatakan banyaknya tujuan yang dipertimbangkan model. Bentuk di atas selanjutnya menjadi dasar dari model GP. Kendala-kendala pada model GP yang melibatkan variabel-variabel deviasi disebut dengan *kendala lunak* (*soft constraint*, juga disebut *goal constraint*). Istilah 'kendala lunak' digunakan untuk membedakannya dengan kendala pada model LP, yang selanjutnya dirujuk sebagai *kendala tegas* (*hard constraint*). Kendala tegas dapat disertakan dalam model GP tetapi disarankan tidak dalam jumlah yang banyak. Penggunaan kendala tegas yang berlebihan dapat meniadakan solusi-solusi alternatif yang mungkin menarik bagi pengambil keputusan. Tanpa mengurangi keumuman, semua kendala pada model GP dalam artikel ini dianggap sebagai kendala lunak -- dengan kata lain, Q:=m.

Lebih lanjut, fungsi Z pada bentuk di atas disebut dengan *fungsi pencapaian*, untuk membedakannya dengan model LP. Fungsi ini hanya menyertakan variabel-variabel deviasi yang ingin diminimumkan dan tidak melibatkan variabel-variabel keputusan. Variabel-variabel deviasi dapat dihasilkan dari f_i(\mathbf{x}), menggunakan hubungan

d_i^+ = \frac{1}{2}\Big[|h_i(\mathbf{x})| + h_i(\mathbf{x})\Big] =
\begin{cases}
h_i(\mathbf{x})-b_i & \text{jika } h_i(\mathbf{x}) \geq b_i\\
0 & \text{lainnya.}\\
\end{cases}dan

d_i^- = \frac{1}{2}\Big[|h_i(\mathbf{x})| - h_i(\mathbf{x})\Big] = \begin{cases}
b_i-h_i(\mathbf{x}) & \text{jika } h_i(\mathbf{x}) \leq b_i\\
0 & \text{lainnya.}\\
\end{cases}

Pendefinisian variabel-variabel deviasi di atas mengartikan sebuah kendala tidak dapat mengalami pencapaian melebihi target (nilai deviasi positif d_i^+>0) sekaligus pencapaian dibawah target (nilai deviasi d_i^->0) secara bersamaan.

## Varian
Model GP dapat diklasifikasikan ke dalam beberapa varian, yang masing-masing dicirikan oleh metrik jarak yang mendasari atau fungsi utilitas yang berbeda. Tiga varian umum dari model GP akan dideskripsikan di sini.

### GP Berbobot
Pada varian model GP yang pertama, fungsi pencapaian akan mengukur jumlah berbobot besar penyimpangan yang tidak diinginkan dari nilai targetnya. Bobot tersebut disesuai dengan ukuran kepentingan relatifnya bagi pengambil keputusan. Metrik jarak yang mendasari model ini adalah jarak Manhattan. Varian ini dikenal sebagai GP berbobot (*weighted GP* atau *non-preemptive GP*) dan selanjutnya disingkat dengan WGP. Formulasi WGP dengan Q tujuan dapat dinyatakan sebagai

\begin{align}
\min &\, Z=\sum_{i=1}^Q\frac{1}{k_i}\Big(w_i^+d_i^++w_i^-d_i^-\Big)\\
\text{dengan kendala} &\, f_i(\mathbf{x}) -d_i^++d_i^- = b_i;\,\text{untuk }i=1,\,\dots,\,Q\\
&\, d_i^+,\,d_i^-\geq0;\,\,\text{untuk }i=1,\,\dots,\,Q\\
&\,  x_j\geq0;\,\,\text{untuk }j=1,\,\dots,\,n
\end{align}

Konstanta w_i^+ dan w_i^- masing-masing menyatakan bobot (bernilai non-negatif) untuk variabel-variabel deviasi dalam fungsi pencapaian. Bobot akan diberi nilai nol jika pengambil keputusan menganggap variabel deviasi yang bersangkutan tidak penting untuk diminimumkan. Setiap variabel deviasi dalam fungsi pencapaian selanjutnya perlu dinormalisasi agar memiliki satuan ukuran yang sama. Beberapa pilihan normalisasi dapat dilihat di bagian Normalisasi.

Model WGP digunakan ketika semua tujuan dapat dibandingkan secara langsung, dan pengambil keputusan bersedia dan mampu memberikan bobot yang mencerminkan kepentingan relatif dari tujuan-tujuan dalam situasi tersebut. Selain itu, WGP sebaiknya digunakan ketika pengambil keputusan tertarik pada solusi yang memberikan total deviasi terbobot terkecil dari tujuan-tujuan, dan bukan keseimbangan dari keseluruhan pencapaian tujuan-tujuan tersebut. Dalam situasi seperti ini, WGP merupakan alat yang ampuh yang tidak hanya memberikan solusi, tetapi juga memberikan informasi mengenai tarik-ulur (*trade-off*) antar tujuan-tujuan.

### GP Leksikografik
Varian umum lain dari GP dihasilkan ketika variabel deviasi ditetapkan ke dalam sejumlah tingkat prioritas, lalu diminimumkan secara berurutan (leksikografis). Lebih spesifik, minimisasi dilakukan bertahap dari prioritas tertinggi ke terendah, sambil mempertahankan nilai minimum yang dicapai oleh semua minimisasi pada tahap-tahap sebelumnya. Varian GP ini dikenal sebagai model GP leksikografik (*lexicographic GP* atau *pre-emptive GP*) dan selanjutnya akan dirujuk dengan LGP. Varian LGP diperkenalkan dan dikembangkan (terutama) oleh Ijiri, Lee, dan Ignizio.

Model LGP dapat dituliskan sebagai berikut:

\begin{align}
\text{lex min} &\, \mathbf{a} = \Big[g_1(\mathbf{d}^+,\,\mathbf{d}^-),\,\dots,g_L(\mathbf{d}^+,\,\mathbf{d}^-)\Big] \\
\text{dengan kendala} &\, f_i(\mathbf{x}) -d_i^++d_i^- = b_i;\,\text{untuk }i=1,\,\dots,\,Q\\
&\, d_i^+,\,d_i^-\geq0;\,\,\text{untuk }i=1,\,\dots,\,Q\\
&\, x_j\geq0;\,\,\text{untuk }j=1,\,\dots,\,n
\end{align}

Model ini memiliki L tingkat prioritas, dan Q tujuan. Fungsi pencapaian \mathbf{a} adalah fungsi bernilai vektor terurut dari L tingkat prioritas tersebut. Setiap kendala tegas ditempatkan, berdasarkan konvensi, pada tingkat prioritas pertama. Fungsi g umumnya (dalam setiap tingkat prioritas) memiliki bentuk

g_l(\mathbf{d}^+,\,\mathbf{d}^-) = \sum_{i=1}^Q \frac{1}{k_i}\Big(w_{il}^+d_i^+ + w_{il}^-d_i^- \Big),

dengan w_{il}^+ dan w_{il}^- menyatakan bobot relatif intra-prioritas. Seperti WGP, bobot bernilai nol diberikan pada variabel-variabel deviasi yang tidak penting untuk diminimumkan. Ketika variabel-variabel deviasi pada suatu tingkat prioritas memiliki satuan pengukuran yang berbeda, teknik normalisasi WGP dapat diterapkan agar aritmetika wajar dilakukan.

Model LGP adalah varian yang paling banyak diperdebatkan dalam aspek fungsi utilitas yang mendasarinya. Romero memberikan diskusi tentang topik ini serta praktik-praktik pemodelan ketika menggunakan pemrograman tujuan leksikografis. Varian ini digunakan ketika pengambil keputusan memiliki tujuan-tujuan yang dapat diurutkan secara alami, dan bukan yang berbentuk perbandingan relatif. Hal ini juga digunakan ketika pengambil keputusan tidak dapat, atau tidak mau memberikan kepentingan relatif yang relevan, dari tujuan-tujuan dengan menggunakan bobot. Pemrograman tujuan leksikografis secara historis merupakan varian pemrograman tujuan yang paling banyak digunakan.

### GP Chebyshev
Varian lain yang kurang banyak digunakan tetapi secara teoretis signifikan adalah varian GP Chebyshev, juga dikenal sebagai GP Minmax. Dalam varian ini, model akan memimumkan nilai deviasi terbesar dari kumpulan deviasi-deviasi, bukan jumlah dari deviasi-deviasi itu sendiri. Formulasi aljabar dari model GP Chebyshev diberikan sebagai:

\begin{align}
\min &\, \lambda\\
\text{dengan kendala}
&\, \sum_{i=1}^Q\frac{1}{k_i}\Big(w_i^+d_i^++w_i^-d_i^-\Big) \leq \lambda ;\text{untuk }i=1,\,\dots,\,Q\\
&\, f_i(\mathbf{x}) -d_i^++d_i^- = b_i;\,\text{untuk }i=1,\,\dots,\,Q\\
&\, d_i^+,\,d_i^-\geq0;\,\,\text{untuk }i=1,\,\dots,\,Q\\
&\, x_j\geq0;\,\,\text{untuk }j=1,\,\dots,\,n
\end{align}

Model tersebut mempertimbangkan Q tujuan. Konstanta bobot relatif w_i^+ dan w_i^-, dan normalisasi k_i, memiliki sifat yang sama dengan yang telah disampaikan pada varian WGP. Akan tetapi, berbeda dengan WGP, GP Chebyshev meminimumkan nilai deviasi terbesar, ketimbang total nilai deviasi. Akibatnya, GP Chebyshev sebisa mungkin akan menghasilkan keseimbangan antar besar penyimpangan pada setiap tujuan. Pengambil keputusan sebaiknya menggunakan GP Chebyshev jika kendala-kendala mereka didefinisikan dalam aspek keseimbangan dan keadilan.

## Normalisasi
Dalam proses penyelesaian model GP, peran variabel-variabel deviasi dalam fungsi pencapaian perlu dinormalisasi. Normalisasi menyebabkan variabel-variabel deviasi memiliki satuan dan magnitudo yang sama, sehingga perhitungan antar variabel-variabel deviasi masuk akal dilakukan dan hasilnya dapat dibandingkan. Akan tetapi, ada banyak pilihan metode normalisasi beserta untung-rugi dalam menggunakan mereka; pilihan yang sesuai tergantung pada situasi masalah yang terjadi dan preferensi pengambil keputusan.

Metode normalisasi pada bagian ini difokuskan pada varian GP berbobot. Walaupun demikian, konsep setiap normalisasi dapat diterapkan atau disesuaikan untuk banyak varian model GP lainnya. Menggunakan masalah WGP di bawah ini sebagai contoh

\begin{align}
\min &\, d_1^+ + d_2^- + d_3^- + d_4^-\\
\text{dengan kendala} &\, 3x_1 + 4x_2 - d_1^+ + d_1^- = 560\\
&\, 100x_1 + 150x_2 - d_2^+ + d_2^- = 7800\\
&\, x_1 - d_3^+ + d_3^- = 80\\
&\, x_2 - d_4^+ + d_4^- = 90\\
&\, x_1 + x_2 \leq 160\\
&\, d_i^+,\,d_i^-\geq0;\text{untuk }i=1,\,\dots,\,m\\
&\, x_j\geq0;\text{untuk }j=1,\,\dots,\,n
\end{align}

Berikut adalah beberapa teknik normalisasi yang umum dilakukan.

### Normalisasi persentase
Normalisasi ini akan menskala setiap variabel deviasi sehingga kontribusinya di fungsi pencapaian menyatakan persen penyimpangan dari nilai target yang ditetapkan. Secara matematis, fungsi pencapaian pada model di atas akan berubah menjadi

\min \Bigg(\frac{d_1^+}{560} + \frac{d_2^-}{7800} + \frac{d_3^-}{80} + \frac{d_4^-}{90}\Bigg)

Normalisasi jenis ini mudah diterapkan dan konsep total persentase penyimpangan sederhana untuk diartikan. Akan tetapi, metode ini tidak cocok jika pengambil keputusan ingin membandingkan secara langsung beberapa tujuan yang diukur dalam unit satuan yang sama. Sebagai contoh, misalkan masalah GP dengan dua tujuan berikut yang dinyatakan dalam satuan rupiah:

\begin{align}
x_1 + 3x_2 - d_1^+ + d_1^- &= 1000\\
2x_1 + x_2 - d_1^+ + d_2^- &= 500
\end{align}

Menerapkan normalisasi persentase akan menghasilkan fungsi pencapaian\min \Bigg(\frac{d_1^-}{1000} + \frac{d_2^-}{500}\Bigg)yang mengartikan penyimpangan seribu rupiah dari tujuan pertama, setara dengan setengah penyimpangan seribu rupiah dari tujuan kedua. Sudut pandang ini benar jika persentase penyimpangan yang ingin dibandingkan, tetapi tidak sesuai jika penyimpangan kedua tujuan dibandingkan dalam satuan rupiah. Beberapa masalah lain terkait normalisasi adalah formulasinya yang tidak kokoh (*robust*), karena perubahan nilai target akan menghasilkan persentase penyimpangan yang berbeda (walaupun besar penyimpangannya sama); tidak dapat digunakan ketika target bernilai nol; dan perlu modifikasi pada fungsi pencapaian untuk target-target bernilai negatif.

### Normalisasi nol-satu
Normalisasi nol-satu akan menskala setiap variabel deviasi agar bernilai di antara 0 sampai 1 dalam fungsi pencapaian. Dengan kata lain, normalisasi ini mengukur penyimpangan terburuk yang dapat terjadi untuk setiap variabel deviasi. Suatu nilai batas yang realistis dapat ditetapkan bagi variabel deviasi yang *unbounded* (tidak terbatas). Fungsi pencapaian pada model akan berubah menjadi

\min \Bigg(\frac{d_1^+}{\max d_1^+} + \frac{d_2^-}{\max d_2^-} + \frac{d_3^-}{\max d_3^-} + \frac{d_4^-}{\max d_4^-}\Bigg),

dengan masing-masing nilai \max didapatkan dari optimisasi satu-objektif (model LP standar) dari kendala-kendala model GP di atas. Variasi lain dari normalisasi ini adalah membagi setiap variabel deviasi dengan rentang nilainya. Hal ini mengakibatkan fungsi pencapaian memiliki bentuk

\min \Bigg(\frac{d_1^+}{\max d_1^+ - \min d_1^+} + \frac{d_2^-}{\max d_2^- - \min d_2^-} + \frac{d_3^-}{\max d_3^- - \min d_3^-} + \frac{d_4^-}{\max d_4^- - \min d_4^-}\Bigg),

Metode ini cocok pada kasus masalah dengan setiap objektif memiliki interval nilai yang jelas, dan setiap solusi pada ruang solusi ingin diperhatikan pengambil keputusan. Tapi, tujuan yang tidak terbatas (tidak memiliki batas penyimpangan terburuk), atau masalah dengan banyak ruang solusi yang *unbounded*, dapat menghasilkan solusi-solusi yang tidak relevan ketika menggunakan normalisasi ini. Disamping itu, normalisasi nol-satu memerlukan optimisasi satu-objektif sebanyak variabel deviasi yang disertakan dalam fungsi pencapaian. Hal ini mungkin tidak praktis pada masalah yang kompleks dengan waktu komputasi yang lama.

### Normalisasi Euklides
Pada beberapa kasus, model GP perlu mengukur jarak geometris antara nilai suatu tujuan dengan targetnya, ketimbang mengukur besar deviasi antara keduanya. Sebagai contoh, titik (20,\,20) pada tujuan pertama, akan memiliki jarak geometris sebesar 12 dari target 560. Perubahan koefisien normalisasi dalam tujuan ini tidak akan mengubah jarak geometris tersebut. Oleh karena itu, normalisasi perlu dilakukan agar setiap variabel deviasi dapat mengukur jarak Euklides nilai tujuan dari targetnya. Untuk contoh masalah GP di atas, fungsi pencapaian pada model akan berubah menjadi\min \Bigg(\frac{d_1^+}{\sqrt{4^2+3^2}} + \frac{d_2^-}{\sqrt{100^2+150^2}} + \frac{d_3^-}{\sqrt{1^2}} + \frac{d_4^-}{\sqrt{1^2}}\Bigg).Normalisasi Euklides kokoh secara komputasi; karena dapat dilakukan untuk setiap tujuan dan nilai target, dan tidak memerlukan optimisasi atau perhitungan yang kompleks untuk mendapatkan konstanta normalisasi. Akan tetapi, dua jenis permasalahan terkait metode ini terlihat jelas dari fungsi pencapaian yang dihasilkan. Pertama, normalisasi ini tidak mempertimbangkan nilai target sehingga menghasilkan konstanta yang rendah untuk tujuan ke-3 dan ke-4. Sedangkan permasalahan kedua, berbeda dengan kedua normalisasi sebelumnya, nilai optimal yang dihasilkan oleh fungsi pencapaian tidak memiliki makna yang mudah diintepretasikan. Karena dua hal tersebut, normalisasi ini sebaiknya digunakan untuk kasus permasalahan yang tidak praktis untuk menggunakan normalisasi persentase maupun nol-satu.

### Normalisasi lainnya
Terdapat beberapa normalisasi lainnya yang dipertimbangkan dan digunakan dalam literatur. Normalisasi penjumlahan akan membagi masing-masing variabel deviasi dengan jumlah mutlak koefisien kendala lunak. Pada contoh masalah, variabel d_2^- akan dinormalisasi menjadi

\frac{d_2^-}

Metode ini memiliki pembagi yang lebih besar daripada metode Euklides dan terbukti lebih baik ketika menskalakan masalah yang sangat tidak dapat dibandingkan. Metode ini sama kokohnya dengan metode Euklides, tetapi tidak memberikan makna berarti pada nilai fungsi pencapaian. Lebih lanjut, Tamiz dan Jones mengembangkan metode hibrida untuk menentukan jenis normalisasi -- Euklides atau penjumlahan -- yang cocok untuk setiap tujuan dalam model. Di lain pihak, Romero membahas metode yang menggabungan normalisasi persentase dan Euklides, dan konsekuensi dari penggunaannya.

## Restorasi solusi
Filosofi yang mendasari model GP adalah teori Simon tentang *[[satisficing]]*. Filosofi ini diterapkan dengan mencoba sebisa mungkin memenuhi sekumpulan nilai target yang ditetapkan oleh pengambil keputusan. Akan tetapi, model GP yang juga mencakup elemen-elemen dari filosofi *optimising*, karena dikembangkan dari sudut pandang pemrograman linear. Secara matematis, model GP merupakan sebuah optimasi tunggal atau serangkaian optimasi yang saling terkait. Menggabungkan kedua filosofi pengambilan keputusan mengakibatkan model GP dapat menghasilkan solusi tak-efisien Pareto -- yakni, solusi dengan nilai satu atau lebih objektif yang dapat dibuat lebih baik, tanpa membuat nilai objektif lain pada solusi tersebut menjadi lebih buruk.

Beberapa metode telah dikembangkan untuk mendeteksi dan memperbaiki solusi tak-efisien Pareto yang dihasilkan model GP. Sebelum metode restorasi dapat dilakukan, setiap tujuan harus dijaga agar nilainya tidak mengalami degradasi. Hal ini dapat dicapai dengan menempatkan batas atas atau bawah pada variabel deviasi. Sebagai contoh, misalkan masalah LGP

\begin{align}
\min &\, \Big[d_1^- ,\, 5d_2^- + 2d_3^+\Big]\\
\text{dengan kendala} &\, f_1(\mathbf{x}) - d_1^+ + d_1^- = b_1\\
&\, f_2(\mathbf{x}) - d_2^+ + d_2^- = b_2\\
&\, f_3(\mathbf{x}) - d_3^+ + d_3^- = b_3\\
&\, d_i^+,\,d_i^-\geq 0;\text{untuk }i=1,\,\dots,\,m\\
&\, x_j\geq0;\text{untuk }j=1,\,\dots,\,n
\end{align}

menghasilkan solusi (yang mungkin tak-efisien Pareto) dengan variabel-variabel deviasi bernilai

\Big( (d_1^+)^*,\, (d_1^-)^*,\, (d_2^+)^*,\, (d_2^-)^*,\, (d_3^+)^*,\, (d_3^-)^*\Big) 

Nilai tujuan-tujuan yang dihasilkan model dapat dijaga dengan menambahkan kendala-kendala berikut pada kendala model tersebut

\begin{align}
d_1^- \leq (d_1^-)^* \\
d_2^- \leq (d_2^-)^* \\
d_3^+ \leq (d_3^+)^* \\
d_1^+ \geq (d_1^+)^* \\
d_2^+ \geq (d_2^+)^* \\
d_3^- \geq (d_3^-)^* \\
\end{align}

Dengan adanya batasan-batasan ini, setiap perbaikan dalam tujuan apapun akan menjadi langkah Pareto yang dapat diterima menuju batas efisien. Mungkin terdapat banyak solusi pada batas efisien yang merupakan hasil dari proses restorasi. Metode restorasi yang baik akan memilih satu titik di antara sekumpulan solusi tersebut yang optimal sehubungan dengan preferensi DM. Ada beberapa metode restorasi yang mungkin dilakukan, dan diuraikan di bawah ini.

### Restorasi langsung
Pada metode ini, variabel-variabel deviasi yang tidak diperhatikan pada setiap tujuan dalam penyelesaian model GP akan dimaksimumkan. Hal ini dilakukan dengan menambahkan satu prioritas tambahan pada fungsi pencapaian LGP, atau dengan mengonversi varian WGP menjadi LGP dengan dua tingkat prioritas. Sebagai contoh, fungsi pencapaian pada contoh di atas berubah menjadi (dengan asumsi ketiga tujuan tak-efisien),

\min \, \Big[d_1^- ,\, 5d_2^- + 2d_3^+, -(d_1^+ + d_2^+ + d_3^-)\Big]

Metode ini akan memastikan solusi yang dihasilkan bersifat efisien Pareto, asalkan model masalah awal terbatas Pareto -- tidak ada tujuan yang selalu dapat dibuat menjadi lebih baik. Akan tetapi, restorasi ini tidak mempertimbangkan bobot relatif pada setiap variabel deviasi.

### Restorasi berbasis preferensi
Pada metode ini, variabel-variabel deviasi yang tidak diperhatikan akan dimaksimumkan, dengan cara yang berbeda dengan restorasi langsung. Restorasi ini menggunakan kembali bobot-bobot relatif dan/atau tingkat prioritas yang digunakan model awal. Sebagai contoh, restorasi berbasis preferensi untuk pencapaian pada contoh di atas adalah

\min \, \Big[d_1^- ,\, 5d_2^- + 2d_3^+, -(d_1^+),\, -(5d_2^+ + 2d_3^-)\Big]

Metode ini memastikan kontinuitas preferensi, baik di-bawah maupun di-atas nilai target, sehingga memastikan solusi efisien Pareto yang ditemukan sesuai dengan preferensi awal pengambil keputusan.

### Restorasi interaktif
Dalam metode ini, serangkaian tujuan yang tidak efisien disajikan kepada pengambil keputusan. Selanjutnya mereka diminta untuk memilih tujuan yang paling mendesak untuk diperbaiki. Proses ini berlanjut secara berulang hingga solusi yang efisien dihasilkan. Restorasi interaktif mempertimbangkan fakta bahwa preferensi pengambil keputusan dapat tidak kontinu. Hal ini sering terjadi dalam penerapan model GP, sebagai contoh ketika beberapa tujuan mewakili standar yang harus dipenuhi (persyaratan hukum, standar lingkungan, dll.) sementara yang lain mewakili keinginan pengambil keputusan (biaya rendah, keuntungan tinggi, dll.). Metode restorasi interaktif memiliki keuntungan dalam melibatkan pengambil keputusan dalam proses restorasi. Sebagai akibatnya, restorasi ini juga termasuk dalam metode multi-objektif interaktif. Untungnya, jumlah iterasi interaktif yang diperlukan untuk memperbaiki efisiensi solusi umumnya kecil.

## Perumuman
Dalam model GP, sifat matematis dari tujuan dan/atau variabel keputusan, maupun hubungan antar keduanya, dapat diperumum menyesuaikan masalah nyata yang diteliti. Model yang dihasilkan ini berbeda dengan model-model dalam bagian Varian, yang mencatat variasi metrik dan fungsi utilitas model yang umum. Pada kenyataannya, banyak implementasi model GP disusun dari gabungan dari dua atau lebih variasi, dan dapat memiliki beberapa nama berbeda. Berikut adalah beberapa perumuman model GP secara garis besar.

### GP Interval
GP interval adalah salah satu cara tertua untuk memperbesar struktur preferensi dalam model GP. Charnes dan Collomb (1972) mengusulkan sebuah model untuk memperlonggar syarat setiap nilai target dapat didefinisikan dengan pasti. Dalam model ini, mereka memungkinkan pengambil keputusan untuk menentukan interval kepuasan dan menetapkan penalti untuk nilai deviasi yang tidak termasuk dalam interval tersebut.

Metode ini berdasar pada LP interval, dengan suatu nilai batas bawah _Lb dan suatu nilai batas atas _Ub menjadi batas interval untuk nilai ekspresi di ruas-kanan; secara matematis:

{_Lb_i} \leq f_i(\mathbf{x}) \leq {_Ub_i}.

Bentuk GP interval yang bersesuaian dapat dihasilkan dengan menggunakan dua pasang variabel deviasi:

\begin{align}
f_i(\mathbf{x}) - {_Ud_i}^+ + {_Ud_i}^- &= {_Ub_i}\\
f_i(\mathbf{x}) - \,{_Ld_i}^+ + \,{_Ld_i}^- &= \,{_Lb_i}.\\
\end{align}\,

Variabel deviasi {_Ud_i}^+ dan {_Ld_i}^- perlu diminimumkan dalam fungsi pencapaian, sedangkan variabel deviasi yang lain diperbolehkan mengambil nilai yang dihasilkan dari hasil optimasi. GP Interval dapat digunakan untuk menyelesaikan banyak masalah formulasi yang umumnya digunakan untuk mengkritik model-model GP, seperti penetapan besar nilai (yang spefisik) target untuk setiap tujuan.

Dalam aspek teoretis, pembaca dapat membaca bukti-bukti dasar yang diberikan oleh Charnes dan Cooper. Beberapa penelitian juga telah dilakukan terkait penggunaan interval pada nilai pembobotan dan/atau target, penggunaan relasi preferensi, dan penggunaan analisis sensitivitas. Sedangkan beberapa penelitian lain telah dilakukan untuk merangkum dan menyatukan banyak macam penggunaan GP interval.

### GP Samar
GP Samar (*fuzzy GP*) salah satu cara selain GP Interval untuk menangani ketidakpastian nilai dalam model GP. Ketidakpastian ini umumnya berhubungan dengan besar nilai target b_i, tetapi juga dapat dikembangkan untuk aspek-aspek GP yang lain seperti struktur prioritas. Konsep GP samar didasarkan pada fungsi keanggotaan samar (*fuzzy membership function*) dalam teori himpunan samar, menyatakan besar bobot maupun rentang realisasi nilai tujuan. Sebagai contoh, jika kita ingin memaksimumkan fungsi keuntungan pada rentang nilai lima sampai dengan enam juta rupiah, kita dapat memberikan bobot 0 pada keuntungan dibawah lima juta, bobot 0.5 untuk keuntungan lima setengah juta, dan 1.0 untuk keuntungan di atas enam juta rupiah. Hubungan antara pembobotan dan fungsi keuntungan dapat bersifat non-linear. Hal ini memungkinkan pengambil keputusan yang tidak dapat menyatakan tujuan-tujuan dengan pasti, untuk setidaknya menyatakannya dalam bentuk bobot dan rentang realisasi nilai. Hal ini membuat GP samar sebagai pendekatan yang baik ketika tujuan-tujuan dalam model GP memiliki sifat fungsi utilitas.

Fungsi keanggotaan samar yang digunakan model GP memiliki nilai 1 untuk keadaan "*puas seluruhnya*" dan nilai 0 untuk keadaan "*tidak-puas seluruhnya*". Bentuk aljabar dari salah satu bentuk fungsi keanggotaan samar linear yang umum digunakan adalah fungsi trapesium:

\mu \Big[ f_i(\mathbf{x})\Big] \begin{cases}
0 & f_i(\mathbf{x}) \leq {_Lb_i} - n_{\max} \\
1 - \frac{_Lb_i - f_i(\mathbf{x})}{n_{\max}} & {_Lb_i} - n_{\max} \leq f_i(\mathbf{x}) \leq {_Lb_i} \\
1 & {_Lb_i} \leq f_i(\mathbf{x}) \leq {_Ub_i} \\
1 - \frac{f_i(\mathbf{x}) - \,_Ub_i}{p_{\max}} & {_Ub_i} \leq f_i(\mathbf{x}) \leq {_Ub_i} + p_{\max} \\
0 & {_Ub_i} + p_{\max} \leq f_i(\mathbf{x}).\\
\end{cases}Fungsi  \mu \big[ f_i(\mathbf{x})\big] tersebut menyatakan fungsi keanggotaan samar untuk tujuan ke-i, dengan rentang nilai  \big[{_Lb_i},\,{_Ub_i}\big] menyatakan daerah nilai fungsi  f_i(\mathbf{x}) "*memuaskan seluruhnya*". Sedangkan, nilai fungsi di luar rentang \big[{_Lb_i} - n_{\max} ,\, {_Ub_i} + p_{\max}\big] dianggap "*tidak memuaskan sama sekali*". Yaghoobi berhasil menyusun model yang menyatukan empat fungsi keanggotaan samar yang umum digunakan: segitiga, sisi-kiri, sisi-kanan, dan trapesium. Sebagai contoh, jika semua tujuan dalam masalah dapat dianggap sebagai fungsi trapesium tersebut, model GP yang perlu diselesaikan dapat ditulis secara aljabar sebagai berikut:

\begin{align}
\min &\, \sum_{i=1}^Q w_i\Bigg( \frac{d_i^+}{p_{\max}} + \frac{d_i^-}{n_{\max}}\Bigg)\\
\text{dengan kendala}
&\, f_i(\mathbf{x}) - d_i^+ \leq {_Ub_i}\\
&\, f_i(\mathbf{x}) + d_i^- \geq {_Lb_i}\\
&\, \mu_i + \frac{d_i^+}{p_{\max}} + \frac{d_i^-}{n_{\max}} = 1\\
&\, \mu_i,\, d_i^+,\,d_i^-\geq0;\text{untuk }i=1,\,\dots,\,Q\\
&\, x_j\geq0;\text{untuk }j=1,\,\dots,\,n.
\end{align}

Pada model tersebut, \mu_i menyatakan besar nilai keanggotaan samar (*kepuasan*) untuk fungsi tujuan ke-i. Formulasi model oleh Yaghoobi memungkinkan GP berbobot samar diselesaikan menggunakan sembarang *software* pemrograman linear standar.

## Daftar pustaka

### Buku

* 
* 
* 
* 
* 
* 
* 
* 
* 
* 

Abraham Charnes and William Wager Cooper, Management Models and Industrial Applications of Linear Programming (Wiley, 1961), [OpenLibrary:OL173690W]().

### Makalah dan bab buku

*   
*   
*   
*   
*   
*   

*   
*   
*   
*   
*   
*   
*   
*     
*     
*     
*     
*     
*     
*     
*     
*     
*     

* Yuji Ijiri, Management Goals and Accounting for Control (Amsterdam : North-Holland Pub. Co., 1965), https://openlibrary.org/works/OL4814197W/Management_goals_and_accounting_for_control.
* D. F. Jones, “The Design and Development of an Intelligent Goal Programming System.” (Ph.D., University of Portsmouth, 1995), https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.282556

## Referensi


### Catatan kaki