Documentation

The geometry of linear optimization problems

Before showing optimization models that exhibit bad behavior, we first need to understand the geometry behind them. Consider a problem of the form

\begin{displaymath}\begin{array}{ll}
\max & cx\\
s.t. & Ax \leq b.\\
\end{array}\end{displaymath}

For example:

\begin{displaymath}\begin{array}{lrrl}
\max & x + y & \vec{c}=&(1,1)\\
s.t. & -...
...dot}=&(0,-1)\\
& y \leq 1 & A_{4\cdot}=&(0,1).\\
\end{array}\end{displaymath}

Note that if we denote $b^t:=(0,1,0,1)$, then the problem can be stated as

\begin{displaymath}\max_{x\in\mathbb{R}^2}\{ \vec{c}x:Ax\leq b\}.\end{displaymath}

The feasible region, direction of improvement $\vec{c}$, and optimal solution $x^*$ can be depicted as
Image codedraw3
Note that whenever we move in the direction of $\vec{c}$, the value $\vec{c}x$ increases. Furthermore, since we can not move from $x^*$ to another feasible point with better objective value, we can conclude that $x^*$ is indeed the optimal solution for the problem. Note that $x^*$ is a corner point of the feasible region. This is not a coincidence; you will always find an optimal solution at a corner point if the feasible region is bounded and $\vec{c}$ is not zero. If the objective is zero then all feasible solutions are optimal; we will talk more about zero objectives and their implications later.

To understand how changes in the input data affect the feasible region and the optimal solution, consider a small modification: $\tilde{b}^t=(\varepsilon,1,0,1)$, $\tilde{\vec{c}}=(1+\varepsilon,1)$, and $\tilde{A_{4\cdot}}=(\varepsilon,1)$. Then our optimization problem would look like

Image codedraw4

Note that although we changed the right-hand side, this change had no effect in the optimal solution to the problem, but it did change the feasible region by enlarging the bottom part of the feasible area.

Changing the objective vector tilts the corresponding vector in the graphical representation. This of course also changes the optimal objective value. Perturbing a constraint tilts the graphical representation of the constraint. The change in $A_{4\cdot}$ changes the primal solution itself. The amount of tilting constraint undergoes depends on the relative value of the perturbation. For example, although the constraint $x \leq 1$ and the constraint $100 x \leq 100$ induce the same feasible region, the perturbation $x + \varepsilon y\leq 1$ will induce more tilting that the perturbation $100 x + \varepsilon y \leq 100$.