กำหนดการเชิงเส้น
ให้ปัญหาของกำหนดการเชิงเส้นเขียนอยู่ในรูป
\[
\begin{array}{ll}
\left\{
\begin{array}{l}
\mbox{maximize} \\
\mbox{minimize}
\end{array}
\right\} &
f(\mathbf{x})=\mathbf{c}^T\mathbf{x} \\
\mbox{ภายใต้เงื่อนไข} &
\mathbf{A}\mathbf{x}
\left\{\begin{array}{c} \leqslant \\ = \\ \geqslant \end{array}\right\}
\mathbf{b} \\
\mbox{และ} & \mathbf{x} \geqslant 0
\end{array}
\]
โดยที่
$\mathbf{x}=\{x_1,x_2,\ldots,x_n\}$ เป็นเวกเตอร์ขนาด $n$ ของตัวแปร
$\mathbf{c}$ เป็นเวกเตอร์ขนาด $n$ ของสัมประสิทธิ์
$\mathbf{b}$ เป็นเวกเตอร์ขนาด $m$ ของค่าทางขวามือ
$\mathbf{A}$ เป็นเมตริกซ์ขนาด $m\times n$
เวกเตอร์ทั้งหมดและเมตริกซ์มีสมาชิกเป็นจำนวนจริง
แอปพลิเคชันนี้ใช้คำนวณหาค่า $\mathbf{x}$ ที่จะทำให้ฟังก์ชัน $f(\mathbf{x})$ มีค่ามากที่สุดหรือน้อยที่สุดตามที่เราต้องการ
ข้อมูลอินพุท
แอปพลิเคชันนี้ต้องใช้ข้อมูลอินพุทสองส่วน
ส่วนแรกมีสองบรรทัดโดยบรรทัดแรกต้องเป็นคำว่า max หรือ min เท่านั้นและบรรทัดที่สองเป็นเวกเตอร์ $\mathbf{c}$
ยกตัวอย่างเช่น เราต้องการหาค่ามากที่สุดของ $f(\mathbf{x})$ เมื่อ $f(\mathbf{x})=x_1+2x_2+3x_3$ เราจะใส่ส่วนแรกของอินพุทเป็น
max 1 2 3
ส่วนที่สองของอินพุทเป็น linear constraints โดยเราจะใส่อินพุทเหมือนกับข้อมูลเมตริกซ์ขนาด $m\times (n+2)$
$m$ คือจำนวนของ constraints
$n$ คือจำนวนของตัวแปร
โดยใน $n$ หลักแรกเป็นสมาชิกของเมตริกซ์ $\mathbf{A}$ ข้างต้น
หลักที่ $n+1$ แทนเครื่องหมาย น้อยกว่า เท่ากับ มากกว่า ดังนี้
เลข -1 แทนเครื่องหมาย $\leqslant$
เลข 0 แทนเครื่องหมาย $=$
เลข 1 แทนเครื่องหมาย $\geqslant$
ดังนั้นหลักนี้จะมีค่าที่เป็นไปได้เพียงสามค่าเท่านั้นคือ -1 0 1 ส่วนหลักสุดท้ายเป็นสมาชิกของเวกเตอร์ $\mathbf{b}$
ยกตัวอย่างเช่น เรามี linear constraints เป็นดังนี้ \[ \begin{array}{rcl} x_1 + x_2 - x_3 & = & 1 \\ -2x_1 + x_2 + 2x_3 & \geqslant & -5 \\ x_1 - x_2 & \leqslant & 4 \\ x_2 + x_3 & \leqslant & 5 \end{array} \] เราจะใส่ส่วนที่สองของอินพุทเป็น
1 1 -1 0 1 -2 1 2 1 -5 1 -1 0 -1 4 0 1 1 -1 5โปรดสังเกตว่าเราใส่ 0 ในแถวที่สามและสี่ตรงส่วนของ $x_3$ และ $x_1$ เพราะว่าตัวแปรเหล่านี้ไม่มีใน constraints ดังกล่าว