Approximation algorithms for combinatorial problems | Synapse