Graphs, Algorithms, and Optimization