Variational Methods In Shape Optimization Problems