Approximation and Optimization Approaches for Graph Cuts, Experimental Design, and Routing Problems