Source: https://transp-or.epfl.ch/courses/RechOp/09-10/slides/PDF/06-Dualite.pdf