When a linear program has many variables, it is not possible to solve it by a simplex. The generation of columns makes it possible to generate the useful variables progressively until obtaining an optimal solution. The goal of this method is to solve a small problem with a limited set of variables.

The problem of finding the best variable to add to the restricted problem is called the sub-problem associated with the master (or oracle) problem. It aims to find the minimum cost variable (or column) (ie the most promising one to improve the solution).

The reduced cost of the variables is calculated using the dual variables obtained after solving the restricted problem. This point in the sub-problem is called the point of separation. Often, it is an optimal solution of the dual of the restricted problem.

We consider the following continuous linear program (PL):

We assume that the number of variables in T is too large for the problem (LP) to be resolved in reasonable time, and we want to solve it by generating columns. We try to solve the restricted problem associated with the master problem with a restricted set of variables noted R_{l}. The restricted problem must be achievable. It is possible to use simple columns, for example random columns, or those resulting from a feasible solution obtained from a heuristic.

The restricted problem (RLP) is given in the following form:

The problem (RLP) is now small and will be easier to solve by a solver. This resolution will provide us the optimal values of the dual variables v_{j} associated with the constraints. These values are passed to the subproblem which obtains the column or columns to be added in the set R_{l}.

The reduced cost calculation allows us to know if a column has decreased the value of the goal (and therefore improve it). Take for example the column x_{i} of the master problem (LP), its reduced cost is:

Since (LP) is a minimization problem, the sub-problem also seeks to minimize this reduced cost. If the minimum reduced cost is positive, then no column can be added to the restricted problem (RLP) to improve the goal. The optimal solution of the restricted problem is therefore an optimal solution of the master problem (LP). Otherwise, we add one or more columns among those having a reduced negative cost by updating the set R_{l} and then resolving the new restricted problem (RLP).