Source: http://www.dmi.usherb.ca/~dussault/RennesOptim/OPTChap4-5.pdf