Approximation algorithms for submodular optimization and graph problems