Introduction to Optimization
Material and many examples from Nick Henderson, Steven Diamond, and Stephen Boyd.