Mathematical Programming by Kenneth D Lawrence