You can use \begin{matrix} \end{matrix} too. Here's how your example will be typeset:
\documentclass{amsart}
\usepackage{amssymb}
\begin{document}
Maximize $z=x_1 + 12 x_2$ such that
\[
\begin{matrix}
\phantom{15}x_1 + &x_2&+&12x_3 &\leqslant 5 & \\
\phantom{15}x_1 \phantom{+} & &+&\phantom{12}x_3 &\leqslant 16& \\
15x_1 + &x_2& & &= 14& \\
& & & &x_j &\geqslant 0 & j=1,2,3. \\
\end{matrix}
\]
\end{document}
Output:

Attempt 2:
This time, I tried using alignat* as Peter Grill suggested below:
\begin{alignat*}{6}
&x_1&{}+{}&x_2&{}+{}&12&&x_3 &&\leqslant 5 & \\
&x_1& & &{}+{}& && &&\leqslant 16 & \\
15&x_1&{}+{}&x_2& & && &&=14 & \\
& & & & & &&x_3 &&\geqslant0 &\quad j=1,2,3.
\end{alignat*}
Output:

Attempt 3 :(Just fitting in Peter Grill's suggestions)
\begin{alignat*}{7}
\text{Max}\quad\rlap{$z = x_1 + 12x_2$} \\
\text{s.t.}\quad&13&x_1&{}+{}&x_2&{}+{}&12&&x_3 &&\;\leqslant &\;5 \\
& &x_1& & &{}+{}& &&x_3 &&\;\leqslant &\;16 \\
&15&x_1&{}+{}&x_2& & && &&\; = &\;14 \\
& \rlap{$x_j \geqslant 0,\; j=1,2,3.$}
\end{alignat*}

Thanks Peter for the suggestion. The output now looks much better.