According to the theorem of convex sets, the optimal solution of linear programming must be a basic feasible solution, and a basic feasible solution must be at a convex set vertex. The feasible region of the linear programming problem is a convex set, and the feasible region is the set of feasible solutions. Therefore, to find the optimal solution, you need to find basic feasible solutions.
This is why the steps of linear programming are: find base - find basic solution - verify if it is a basic feasible solution - verify if it is the optimal solution - if not the optimal solution, iterate (base transformation).
- First, transform the linear programming problem into a standard mathematical model.
- Next, find an initial base and verify that it is a feasible base.
- Find Base: Find a maximum full-rank submatrix of the coefficient matrix ( order).
- Find Basic Solution: Let non-basic variables be 0, then the constraint equations form an order linear system of equations, which must have a unique solution. Solving the current constraint equations gives the basic solution.
- Verify if it is a basic feasible solution: If all basic variables in the basic solution satisfy the non-negative constraints, then the basic solution is a basic feasible solution.
- Check if it is the optimal solution:
- If all , then it is the optimal solution.
- If all , but there exists one , then there are infinitely many optimal solutions.
- If there exists , and all coefficients corresponding to non-basic variable , then there is no optimal solution.
- If there exists , and among the coefficients corresponding to non-basic variable , there exists , then iteration can continue.
- If iteration can continue, perform base transformation.
- Determine entering variable: Select the non-basic variable that achieves the maximum positive number as the entering variable.
- Determine leaving variable: Select the basic variable corresponding to that achieves the minimum positive number as the leaving variable.
- Base transformation: Let , and transform the coefficient matrix of the new basic variables into an identity matrix to obtain a new base.
- Re-verification: Re-"find basic solution - verify if it is a basic feasible solution - verify if it is the optimal solution..." for the new base, continue iterating until it is no longer possible.
is the change in the objective function after the base transformation. (All means there is no better choice than the current one).
is the smallest positive value for non-basic variables.