The problem we are given is:
\begin{align} & \text{Find a vector} && \mathbf{x} \\ & \text{that maximizes} && \mathbf{D}^T \mathbf{x}\\ & \text{subject to} && W \mathbf{x} = \mathbf{\pi} \\ & \text{and} && \mathbf{x} \ge \mathbf{0}. \end{align} Where $W$ is an $N$ by $M$ matrix.
And we want to convert it into a standard LP (linear program)
\begin{align} & \text{Find a vector} && \mathbf{x} \\ & \text{that maximizes} && \mathbf{c}^T \mathbf{x}\\ & \text{subject to} && A \mathbf{x} \leq \mathbf{b} \\ & \text{and} && \mathbf{x} \ge \mathbf{0}. \end{align}
The textbook way of doing this would be replacing the contraint $W \mathbf{x} = \mathbf{\pi}$, by the constraints $W \mathbf{x} \leq \mathbf{\pi}$ and $-W \mathbf{x} \leq -\mathbf{\pi}$, and stacking these two inequalities on top of each other.
Question: Is there a way of converting this problem into an LP without using this trick?
My attempt: Replace the constraint $W \mathbf{x} = \mathbf{\pi}$, by the constraint $W \mathbf{x} \leq \mathbf{\pi}$ and the additional maximization condition $\text{max}(W\mathbf{q})$. Unfortunately, these are now $N+1$ maximization problems, instead of one (because $W$ is a matrix).