【MIP】Column generation Algorithm

Column generation

Standard form LP
min ⁡ c ′ x s . t . A x = b x ≥ 0 \begin{aligned} &\min &c'x\\ &s.t. & Ax=b\\ &&x\geq 0 \end{aligned} mins.t.cxAx=bx0
where A A A is m × n m\times n m×n matrix with linearly independent rows. Suppose n n n is too large, making it impossible to generate and store the entire A A A matrix. If we can select the entering variable with explicitly constructing all the columns of A A A and computing all the reduced costs, we can still carry out revised simplex iterations.

A master iteration consists of solving the restricted master problem (RMP) and the column generating subproblem (GCSP).

Basic scheme

  1. In the basic scheme, we have simply modified the classical greedy Dantzig’s variable selection rule, to prioritize variables in I I I.
  2. We first choose entering columns by the most negative reduced cost of variables in I I I.
  3. Once they are all nonnegative, seek in CGSP.

The cutting stock problem

m m m rolls of length L ∈ Z + , i ∈ [ n ] : = { 1 , 2 , … , n } L\in \mathbb{Z}_+, i\in[n]:=\{1,2,\dots, n\} LZ+,i[n]:={1,2,,n}
min ⁡ ∑ j = 1 m y j s . t . ∑ j = 1 m x i j = d i , i ∈ [ n ] x i j ≤ d i y j , i ∈ [ n ] , j ∈ [ m ] x i j ∈ Z + , i ∈ [ n ] , j ∈ [ m ] y j ∈ 0 , 1 , j ∈ [ m ] \begin{aligned} &\min &\sum_{j=1}^m y_j\\ &s.t. &\sum_{j=1}^m x_{ij}=d_i, i\in [n]\\ && x_{ij}\leq d_iy_j,i\in [n], j\in [m]\\ && x_{ij}\in \mathbb{Z}_+, i\in [n], j\in [m]\\ && y_j\in {0, 1}, j\in [m] \end{aligned} mins.t.j=1myjj=1mxij=di,i[n]xijdiyj,i[n],j[m]xijZ+,i[n],j[m]yj0,1,j[m]

Column Generation Formulation

Column generation techniques are possible as the Simplex method only requires some of the variables initially, and the addition of columns that can potentially improve the solution can be delayed. In addition, the simplex method theory of reduced cost allows to define a criterion on wheter a new pattern may or not improve the current solution.

The initial problem with a limited subset of columns is known as the master problem while the problem of generating new columns is known as the sub problem.

The master problem can be intialized with dummy variables with costs which are higher than standard patterns that will be generated later. And, dual values can be used in the sub-problem in charge of generating new pattern with negative (minimization) reduced cost:

The column generation process will then loop on master and sub problems util no new pattern with negative reduced cost can be generated.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值