Pemrograman linier merupakan satu dari cara paling sederhana untuk melakukan optimasi, yang dapat membantu menyelesaikan masalah beberapa masalah amat rumit dengan membuat beberapa asumsi penyederhanaan [1], dan termasuk dalam teknik pemodelan matematika, dengan suatu fungsi linier dimaksimumkan atau diminimumkan saat dikenakan pada berbagai kendala, yang berguna sebagai panduan pengambilan keputusan secara kuantitatif dalam perencanaan bisnis, rekayasa industri, dan juga bidang sosial dan ilmu-ilmu fisika [2].
Secara umum pemrograman linier atau linear programming (LP) mendefinsikan masalahnya secara generik dalam langkah-langkah [1]
Untuk LP semua variabel desisi, fungsi obyektif, dan kendala harus merupakan fungsi linier.
Variabel desisi umumnya dinyatakan sebagai
\begin{equation}\label{eqn:decision-variable} x = [x_1, x_2, \dots, x_n] \in \mathbb{R}^n, \end{equation}
dengan $n$ menyatakan dimensi atau jumlah elemen dari $x$ yang merupakan bagian dari himpunan bilangan riil $\mathbb{R}$.
Fungsi obyektif $f: \mathbb{R}^n \mapsto \mathbb{R}$ memetakan $x \in \mathbb{R}^n$ menjadi $f(x) \in \mathbb{R}$ dalam bentuk
\begin{equation}\label{eqn:objective-function} f(x) = c^Tx = c_1 x_1 + c_2 x_2 + \dots + c_n x_n \end{equation}
dengan $c = [c_1, c_2, \dots, c_n]^T \in \mathbb{R}^n$ seperti halnya $x$.
Kendala dituliskan dalam bentuk pertidaksamaan
\begin{equation}\label{eqn:constraint} a_{j1} a_1 + a_{j2} x_2 + \dots + a_{jn} x_n \le b_j, \end{equation}
dengan $j = 1, 2, \dots, m$, bila terdapat $m$ buah kendala.
Solusi dicari dengan meminimukan Persamaan \eqref{eqn:objective-function} dengan kendala pada Persamaan \eqref{eqn:constraint}.
Metode grafik digunakan untuk optimasi pemrograman linier dua-variabel, sehingga bila masalah memiliki dua variabel desisi, suatu metode grafik merupakan metode terbaik untuk menemukan solusi optimalnya [3]. Dikarenakan hanya terdapat dua variabel desisi maka masalah dapat digambarkan pada bidang $xy$. Himpunan pertidaksamaan merupakan kendala yang dilukiskan pada bidang $xy$, sehingga menghasilkan wilayah feasibel yang merupakan wilayah perpotongan yang dihasilkan. Solusi optimal terdapat pada wilayah ini, misalnya pada salah satu titik sudutnya atau verteks [4]. Hal ini dikarenakan hanya pada titik-titik batas tersebut, yang bukan terletak baik pada sumbu $x$ ataupun $y$, turunan fungsi obyektif memiliki solusi [5].
Bahan $x$ memiliki harga $4 {\rm / g}$ dan bahan $y$ memiliki harga $10 \ {\rm / g}$. Biaya produksi maksimal yang diijinkan adalah $36 {\rm}$ dan massa maksimal bahan adalah $6 \ {\rm g}$. Kekuatan bahan ditentukan dengan fungsi $f(x,y) = 3x + 4y$. Maksimalkan kekuatan bahan yang akan dibuat. Sebagai catatan, sebenarnya yang dicari adalah massa bahan $x$ dan massa bahan $y$, yang untuk penyederhaan digunakan saja simbol $x$ dan $y$ ketimbang $m_x$ dan $m_y$.
Langkah-langkah dapat dilakukan dengan hasil per langkahnya adalah sebagai berikut ini.
Ilustrasi wilayah feasibel dan titik-titik batasnya diberikan pada gambar berikut ini.
Gambar 1. Wilayah feasible dan batas-batasnya serta nilai fungsi obyektif pada titik-titik batas tersebut.
Dengan demikian diperoleh bahwa mass bahan $x$ adalah $4 \ {\rm g}$ dan massa bahan $y$ adalah $2 \ {\rm g}$, yang akan memberikan kekuatan maksimum $f(4, 2) = 20$. Pembatasan tidak negatif ($x \ge 0$ dan $y \ge 0$) tidak dilukiskan pada Gambar 1 agar tidak menjadi terlalu kompleks. Gambar 1 dibuat dengan menggunakan GeoGebra yang versi daringnya dapat dilihat serta dimodifikasi di dvtnyfrb.
Metode simpleks menggunakan pendekatan yang sangat efisien dengan tidak menghitung semua nilai fungsi obyektif akan tetapi mulai dari suatu titik sudut atau verteks dari wilayah feasibel, di mana semua variabel utama bernilai nol, dan secara sistematis berpindah dari satu titik sudut ke titik sudut lain sambil memperbaiki nilai fungsi obyektif pada setiap tahapnya [6], dengan langkah-langkahnya adalah seperti di bawah ini.
Sebagai contoh akan digunakan kembali contoh sebelumnya, yang telah dipecahkan oleh metode grafik.
Deskripsi contoh tidak dituliskan kembali akan tetapi langsung ke penulisan langkah-langkahnya.
Dengan demikian diperoleh $x_1 = 4$ dan $x_2 = 2$, serta hasil fungsi obyektifnya $f(x_1, x_2) = 20$. Hasil ini cocok dengan yang diperoleh pada Gambar 1. Dapat pula dituliskan hasil pada langkah 8
\begin{equation}\label{eqn:solution} \left[ \begin{array}{cccc} x_1 & x_2 & z & c \newline 1 & 0 & 0 & 4 \newline 0 & 1 & 0 & 2 \newline 0 & 0 & 1 & 20 \end{array} \right] \end{equation}
yang merupakan solusinya. Perhatikan bahwa telah ditukar baris R1 dengan R2 agar menjadi bentuk echelon baris tereduksi.
— Sparisoma Viridi (@6unpnp) February 8, 2022