This project investigates algorithmic techniques for optimization, with an emphasis on problems related to graphs. The goal is faster and more space-efficient algorithms. A special focus is the use of semidefinite programming for modelling graph optimization problems. A new approach to approximately solving semidefinite programming problems is being pursued. Using the work on semidefinite programming as a guide, the project studies improving the efficiency of a broad class of approximation algorithms for optimization.