前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运筹学教学|Benders Decomposition (二)应用实例及算法实现(附源代码及详细的代码注释)

运筹学教学|Benders Decomposition (二)应用实例及算法实现(附源代码及详细的代码注释)

作者头像
用户1621951
发布2020-06-17 16:23:20
2.3K1
发布2020-06-17 16:23:20
举报
文章被收录于专栏:数据魔术师数据魔术师

我们在运筹学教学|Benders Decomposition(一)技术介绍篇中已经介绍了Benders Decomposition的基本原理,下面为大家提供具体的应用实例和相应的代码。

实例

带固定花费的运输问题

已知某种物资有m个供应点(源点),

i = 1, 2,…, m,供应量分别为

;有n个需求点(终点),

j = 1, 2, …, n,需求量分别为

。从

运输单位物资的运价为cij,固定费用为

。若用xij表示从

的运量,

表示是否有物资从

运送到

,可通过下面的混合型整数优化模型(mixed integer programming model,简称MIP模型)求得总费用最小的运输方案:

其中

为一个足够大的实数,

可以看作是

的一个上界,故可设:

模型(7)可以重写为:

子问题:

则(10)的对偶问题可以写为:

松弛主问题可以写成:

其中(12b)和(12c)是通过Benders算法求解过程中添加的切平面,(12b)是通过极射线添加的切平面,(12c)是通过极点添加的切平面。

算例说明

算例1

sources demands

4 3

supply

10 30 40 20

demand

20 50 30

variable cost

2 3 4

3 2 1

1 4 3

4 5 2

fixed cost

10 30 20

10 30 20

10 30 20

10 30 20

最优解:350

算例2

sources demands

8 7

supply

20 20 20 18 18 17 17 10

demand

20 19 19 18 17 16 16

variable cost

31 27 28 10 7 26 30

15 19 17 7 22 17 16

21 17 19 29 27 22 13

9 19 7 15 20 17 22

19 7 18 10 12 27 23

8 16 10 10 11 13 15

14 32 22 10 22 15 19

30 27 24 26 25 15 19

fixed cost

649 685 538 791 613 205 467

798 211 701 506 431 907 945

687 261 444 264 443 946 372

335 385 967 263 423 592 939

819 340 233 889 211 854 823

307 620 845 919 223 854 656

560 959 782 417 358 589 383

375 791 720 416 251 887 235

最优解:4541

代码(Java版本)展示

注:展示代码分为两部分,第一部分是上述实例Benders求解过程代码,第二部分是cplex内部算例代码。(欲下载本文的java源代码,请移步留言区。)

第一部分

上述算例代码:

第二部分

cplex提供的算法代码:

编辑和代码:黄楠(huangnanhust@163.com,华中科技大学管理学院博士一年级)

指导老师:秦时明月(professor.qin@qq.com)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据魔术师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档