An overview of mathematical programming solvers: Theory, development, and recent advances | Synapse