干货 | 10分钟带你掌握branch and price(分支定价)算法超详细原理解析
2021/6/9 12:21:34
本文主要是介绍干货 | 10分钟带你掌握branch and price(分支定价)算法超详细原理解析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
20192019
分支定界算法
从入门到跑路放弃
1
前言
相信大家对branch and price的神秘之处也非常好奇了。今天我们一起来揭秘该算法原理过程。
不过,在此之前,请大家确保自己的branch and bound和column generation的知识务必过关,而且是非常熟悉的那种。
因为branch and price算法就是branch and bound和column generation的结合体。
2
应用背景
branch and price算法就是branch and bound和column generation的结合体。具体是怎么结合的呢?先看一张BP的算法流程图,相信大家会清晰很多:
3
具体流程
我们知道branch and bound求解整数规划的过程,如果不知道看看下面这张图回顾一下:
在该过程中,定界的操作是通过求解当前问题的线性松弛(LP relaxation)得到的。对于一个变量很多的大规模整数规划问题而言,其线性松弛(LP relaxation)变量无疑也是非常多的。那么,这时候,我们上节课介绍的column generation就可以出马了。
但在每一个节点中,并不需要每一次都完完整整调用一次column generation,重新构建一次RMP再求解。分子以后子节点的RMP可以直接将父节点的RMP挪过来,只不过由于加了分支约束,此时RMP需要重新添加column,再次求解以便得到最优。而子节点的RMP重新添加column,再次求解的过程就是节点的bound操作了。那么,将以上的元素综合起来,就形成了我们的branch and price算法。
4
代码
目前没有相关的能够公开的代码,后续可能会写一下这个算法的,嗯肯定会写。可以关注公众号【程序猿声】获取第一时间的消息。
END
注:对文中或者代码有疑问可联系小编,可提供有偿辅导服务。
图片来源:网络(侵删)扫码关注
更多精彩
这篇关于干货 | 10分钟带你掌握branch and price(分支定价)算法超详细原理解析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享