Nondifferential optimization via adaptive smoothing