运筹优化基本知识
Simplex,单纯形法
基本思路:用来解决线性规划(Linear Programming, LP),其中会有松弛变量,构成初始基与初始可行解,然后通过不断计算检验数(Reduced Cost),决定出基与入基的变量,一直迭代直到检验数都非负或非正。
https://blog.csdn.net/cpluss/article/details/100806516
https://www.bilibili.com/video/BV1XE411P7NG?from=search&seid=1569469188430616928
Dual Theory,对偶理论
大概理解:https://www.zhihu.com/question/26658861/answer/53394624
Branch and Bound, 分支定界
基本思路:关键是解原问题的线性松弛,设定upper bound和low bound,然后进行分枝和剪枝。
https://www.cnblogs.com/dengfaheng/p/11225612.html
Cutting Plane Method,割平面法
基本思路:是一种行生成方法,不断加入约束割去LP与IP的一些无用区域。先考虑线性松弛,然后用单纯形法求得最优解,然后写出非整数变量的对应关系式,然后将整数和分数分离开,产生新的cut,然后重复上述过程,直至求得结果为满足原问题。
https://www.bilibili.com/video/BV17t41197zp?from=search&seid=14046790459469644411
https://www.bilibili.com/video/BV1if4y1U75z?from=search&seid=14046790459469644411
Branch and Cut,分支剪界
基本思路:是Branch and Bound 和 Cutting Plane Method的结合。在每次分枝计算后加入新的cut,割去不必要的区域,有利于剪枝。
https://www.cnblogs.com/dengfaheng/p/11344488.html
Column Genration,列生成方法
难点在于 单纯形法中Reduced Cost,对偶问题,基变换等概念。
基本思路:
-
先把原问题(master problem)restrict到一个规模更小(即变量数比原问题少的)的restricted master problem,在restricted master problem上用单纯型法求最优解,但是此时求得的最优解只是restricted master problem上的,并不是master problem的最优解。
-
此时,就需要通过一个subproblem去check在那些未被考虑的变量中是否有使得reduced cost小于零的?如果有,那么就把这个变量的相关系数列加入到restricted master problem的系数矩阵中,回到第1步。
经过反复的迭代,直到subproblem中的reduced cost rate大于等于零,那么master problem就求到了最优解。
https://www.cnblogs.com/dengfaheng/p/11249879.html的
https://www.bilibili.com/video/BV1Sv411z7VY?from=search&seid=13273936792586114292
Branch and Price,分支定价
基本思路:是Branch and Bound 和 Column Genration的结合。其中列生成算法用于求节点的下界,即节点松弛模型的最优解。列生成算法因其求解方法的本质会大大减少计算量,求解的并非节点松弛模型本身,而是受限制的松弛模型,即减少了决策变量规模。分支定价算法其他步骤与分支定界算法相同,只是下界计算由列生成算法完成。
https://blog.csdn.net/luzaijiaoxia0618/article/details/108134470
Benders Decomposition Algorithm
https://www.bilibili.com/video/BV1Sv411z7VY?from=search&seid=13273936792586114292
https://www.youtube.com/watch?v=vQzpydNOWDY
https://zhuanlan.zhihu.com/p/61515390?from_voters_page=true
https://blog.csdn.net/qx3501332/article/details/104978928
https://cloud.tencent.com/developer/article/1103437