On Semidefinite Programming and Applications in Combinatorial Optimization