Semidefinite Programming and Structural Optimization