Mathematical Programming: Structures and Algorithms | Synapse