Source: https://ocw.mit.edu/courses/15-053-optimization-methods-in-management-science-spring-2013/1542510abf20fa6145dfb0b1551be6c2_MIT15_053S13_tut07.pdf