Linear programming is a method of optimizing a linear objective function subject to linear equality and inequality constraints. It involves representing problems as systems of linear equations and using matrix algebra to solve them. The goal is typically to maximize profits or minimize costs by finding the optimal values of variables. Both the objective function and constraints must be linear, and all parameters must be known with certainty and variables must be non-negative. Common solution methods include the graphical method and simplex method.