  We present a new duality theory for non-convex variational problems, under
possibly mixed Dirichlet and Neumann boundary conditions. The dual problem
reads nicely as a linear programming problem, and our main result states that
there is no duality gap. Further, we provide necessary and sufficient
optimality conditions, and we show that our duality principle can be
reformulated as a min-max result which is quite useful for numerical
implementations. As an example, we illustrate the application of our method to
a celebrated free boundary problem. The results were announced in \cite{BoFr}.
