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