Linear programming and Extensions