Easy way to generate a dual problem
Consider the following Primal Problem:
$$\min c^T x \quad s.t. \quad Ax \ge b, x \ge 0$$Then the Lagrange function will be
$$
L(x,p) = c^T x + p^T(b-Ax)
$$
If we stare at it for a while, we notice that we can rewrite the primal problem as
$$\min_{x\ge0} \max_{p\ge0} L(x,p)$$(Suppose $b-Ax\ge0$. Then by letting $p$ large, we can make $\max_{p\ge0} L(x,p)$ arbitrarily large. In order to have a sensible solution, we need $b-Ax \le 0$; the constraint is implicitly incorporated by this $max$ operator.)
Flip min and max, and then you get the dual problem:
$$\max_{p\ge0} \min_{x\ge0} L(x,p)$$