Gradient Free Optimization Methods