首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >算法只计算当年支出利息时的最大可能支出金额?

算法只计算当年支出利息时的最大可能支出金额?
EN

Stack Overflow用户
提问于 2015-09-23 17:06:04
回答 1查看 381关注 0票数 3

我的头衔可能有点模糊,但我尽量把它弄清楚。我会在下面解释我的意思:

我想要创建一个动态规划算法,它可以计算出你可以花费的最大金额,当你每年能花的唯一的钱,就是你从银行得到的利息。也就是说,如果一个人的起始资本是35,000美元,这个人只能在10%的利率下最多花费3500美元。

我想到了以下几点:

兴趣i(t)或基本上是您可以花费的金额,在上面的示例中,这是3500。

支出e(t),所以你当年花的钱,所以这可能是任何低于3500,作为一个例子,我将使用1000。

利率r,这本身就说明了问题。

公式:i(t + 1) = i(t) + r * (i(t) - e(t)),意思是你下一年可以花多少钱,就是你今年得到的利息加上你支出后剩下的利率乘以什么。

例如,我想计算的是,在10年期间,开支的最高金额,即某一年的开支总是低于所收取的利息。我不知道该怎么做,也不知道从哪里开始。

EN

回答 1

Stack Overflow用户

发布于 2015-09-23 17:53:38

那么,让我们改革你的问题。有一个向量E=(e_1,e_2,.,e_n)。您希望在两个条件下使点积<(1,1,...,1);(E)>最大化。

(1) e_t >= 0/ t。

(2) e_t <= i_t。

由于右部pf (2)中的每个条件都可以扩展为e_t、i_0和r的线性组合(您给出了一个递归公式),所以所有条件都可以写成

(2') e_t <= sumj=0..n A_tj e_j,或

(2'') c_t <= sumj=0..n B_tj e_j,其中B_tj和c_t是一些固定的比率,因此是一个n*n大小的矩阵和n个大小的向量。

所以,现在有一个经典的线性规划问题。我不会描述解决这些问题的所有技术,因为这里有很多这样的技术,而你的情况就是典型的。

UPD通过公式i(t+1) = (1 + r)i(t) - e(t)显式展开约束。

e(0) <= i(0)

e (1 ) <= i(1) = i(0) (1+ r) - e(0)

e(2) <= i(2) = i (1 ) (1 + r) - e (1 ) = (i(0) (1+ r) - e(0)) (1+ r) - e(1) =

i(0) (1 + r) ^2-e(0) (1 +r)- e(1)

它可以通过归纳来证明,但也可以看到

e(t) <= i(0) (1 + r) ^(0) (1 +r)^(t-1)-e (1 +r)^(t-2)-.-e(t-2) (1 +r)-e(t-1)-e(t-1)

对此进行改革

e(t) +和J=t-1.0^(t-1-j) e(j) <= i(0) (1 + r)^t

所以,我们有一个方阵:

  • B_tj = (1 +r)^(t-1-j)表示j=0.t-1,
  • B_tt =1
  • J>t的B_tj =0

现在您的约束形式为sumj=0..n B_tj e(j) <= c_t

(显然,c_t = i(0) (1 + r)^t)

它是LP约束的规范形式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32745465

复制
相关文章

相似问题

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