最近在调研大规模的cutting stock问题,发现了分支定价(price and bound) 方法。但是网上关于分支定价(price and bound)的资料很少,对自己的学习过程做个记录,希望能帮助到有需要的小伙伴。
第一部分主要讲cutting stock问题的定义,以及如何用列生成算法解决cutting stock问题。
一. cutting stock问题的定义
问题描述:有一批钢管数量为 N,长度都为 L;假设m个顾客,来钢厂下订单,每位顾客需要长度为 Li的钢管 Di根。
优化目标: 如何切割钢管使得既能满足客户的需求又使得的消耗的钢管数量最少?
整数规划模型如下
二. 列生成算法
列生成算法的主要流程如下:
step1:给出模型的初始解,其解代表可行列
step2: 求解主问题(RMP)并获取乘子π
step3: 求解子问题 ,并计算检验数,如果小于0,向限制主问题中添加一列求解,返回s