Linear Optimization And Extensions