Notes on Linear Programming