首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有运输约束和存储水平的CLSP优化算法

具有运输约束和存储水平的CLSP优化算法
EN

Stack Overflow用户
提问于 2018-07-11 06:45:08
回答 1查看 125关注 0票数 0

银行有自动取款机。对于某一周,现金的使用以百万计如下所示。

  • 5-星期一
  • 4-星期二
  • 1-周三
  • 15-星期四
  • 6日-星期五
  • 2-星期六
  • 4日-周日

银行雇用一家存款公司,每周存入5、3或1轮存款。

存款公司在收取存款费用时,向银行提供下列套餐,

  • 每月4轮存款的费用- 21135
  • 每月12轮存款费用- 32000
  • 每月20轮存款费用- 41975

订购仍为星期一,星期二,星期三,星期四,星期五,星期六,星期日。在对值进行分类时,不应违反此顺序。

示例

  • 5轮

(5+4),1,15,6,(2+4)

(5+4),1,(15+6)=20+1,2,4

可以有许多其他的组合,不破坏秩序。

  • 3轮

(5+4+1),15,(6+2+4)

(5+4),(1+15),(6+2+4)

可以有许多其他的组合,不破坏秩序。

  • 1轮

(5+4+1+15+6+2+4)

此外,银行必须承担一天结束时剩余金额的0.019%的持有成本。

示例

考虑第一周现金使用情况如下(以百万计)

星期一- 13

图-5

韦德-4

清华-4

星期五-2

卫星- 11

太阳-1

5 -回合

第一周现金存款令- 13,(5+4),4,(2+11),1

假设一个月的所有4周都在5轮存款,(5*4 = 20)

存款费用总额= 41975

交存1- 13份,提取13份,剩余0份,持有费用0

2- (5+4)存放,5提取,4剩余,4*0.00019持有成本

3- 0存放,4提取,0剩余,0持有成本

4- 4存放,4提取,0剩余,0持有成本

5- (2+11)存放,2份提取,11份剩余,11*0.00019美元

交存6- 0,撤回11份,剩余0份,持有费用0

7- 1存放,1提取,0剩余,0持有成本

第一周总持有费用= 4*0.00019 + 11*0.00019 = 0.00285 millions= 2850

同样,考虑到每个星期,我需要找到这个月的总持有成本。

三轮

第一周- 13周(5+4+4),(2+11+1)=(1+1+12)的现金存款命令

编辑-假设选择每月12轮,因此每周3轮( 3*4 =12)

存款费用总额= 32000

交存1- 13份,提取13份,剩余0份,持有费用0

2- (5+4+4)存放,5提取,(4+4)剩余,(4+4)*0.00019持有成本

3- 0存放,4提取,4剩余,4*0.00019持有成本

4- 0存放,4提取,0剩余,0持有成本

5- (2+11+1)存放,2提取,(11+1)剩余,(11+1)*0.00019持有成本

交存6- 0,撤回11份,剩余1份,持有费用1*0.00019

7- 0存放,1提取,0剩余,0持有成本

第一周总持有成本= (4+4)*0.00019 + 4*0.00019 + (11+1)*0.00019 + 1*0.00019 =0.00475亿= 4750

同样,考虑到每周,我需要找到这个月的总持有成本。

编辑-假设选择了41975包。那就意味着每月存入20轮的现金。这意味着每周5发子弹。如果选择了32000套餐,那么每月12发。这意味着每周三轮。如果选择21135套餐,那么它意味着每月4轮,这意味着每周1轮。一个月的四周没有5,3,1的混合组合。只需在1、3或5轮中完成所有四个星期。我们必须选择最好的包装考虑持有成本和包装成本。

一个良好的组合5轮不违反秩序,可以优于所有的3轮解决方案和1轮解决方案。同样适用于三轮解决方案。否则,1轮解决方案可以优于所有5轮和3轮解决方案。

当存放轮增加时,持有成本降低,而存款成本增加。当轮数减少时,沉积成本降低,而持有成本增加。因此,我需要找出每月每周存款的顺序和每月存款方案,这样才能在总持有成本和总存款成本之间做出一个很好的权衡,而且所花费的时间最少。

任何对这种方法的洞察力都会很有帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-07-11 11:53:29

在您的情况下,您有一个固定的每月成本(FMC)和一个可变月成本(VMC)用于每个包的选择。FMC为{x,x+10000,x+20000},而VMC为4周可变周成本VWC之和。VWC是由d= (M,T,W,T,F,S,S)的区间划分为k个不相交的子区间,其中k为{1,3,5}。

因此,您必须选择min{FMC1+VMC1*FMC3+VMC3*FMC5+VMC5*},,其中VMCk*表示将D划分为k间隔的每月最小可变成本(注意,对于k=1的情况,答案是微不足道的,因为每周都有一个分区)。由于可变的每周成本是VWC= 0.7*(r1+r2+r3+r4+r5+r6+r7),而ri是第一天的剩余量,这一切归结为最小化每周的剩余量。在计算VMCk*时,可以使用论文中描述的DP算法,目的是使每周的剩余量最小化。

所以在高层次上:

  1. 使用DP为每个存款包{1,3,5}获得每周最小可变成本->最小剩余金额。然后将可变的月成本作为4周的总和。
  2. 从每个包的固定成本和在1处获得的可变成本中选择最小总成本。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51278864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档