Optimization for data-driven learning and control