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 持有成本

第 1 周的总持有成本 = 4*0.00019 + 11*0.00019 = 0.00285 万 = 2850

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

3轮

第1周现金存款订单 - 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轮。这意味着每周 3 轮。如果选择21135包,则表示每月4轮,即每周1轮。特定月份的四个星期没有 5,3,1 的混合组合。只有所有的四个星期都是在 1、3 或 5 轮中完成的。我们必须考虑持有成本和包装成本来选择最佳包装。

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

当存款轮数增加时,持有成本降低,但存款成本增加。当轮数减少时,存款成本会降低,但持有成本会增加。所以我需要找到每个月每个星期的存款顺序和每月的存款套餐,这样可以在总持有成本和总存款成本之间做出很好的权衡,消耗最少的时间。

对该方法的任何见解都将非常有帮助。

4

1 回答 1

0

在您的情况下,您选择的每种套餐都有固定的月度成本 (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是第i天的剩余量,这一切都归结为最小化每周的剩余量。在计算VMCk*时,您可以使用本文中描述的 DP算法纸,目的是尽量减少每周的剩余量。

所以在高层次上:

  1. 对于每个存款包{1,3,5},使用 DP 获得每周最小可变成本 -> 每周最小剩余金额。然后将可变每月成本作为 4 周的总和。
  2. 从考虑每个包裹的固定成本和在 1 处获得的可变成本中选择最小总成本。
于 2018-07-11T11:53:29.363 回答