【动态规划案例】详细介绍投资问题

目录

投资问题描述

动态规划分析

案例分析

第一阶段

第二阶段

第三阶段

第四阶段

代码实现


投资问题描述

现有m万元资金,n个项目投资,假设:x_{i}为分配给第i个项目的资金;f_{i}(x_{i})为第i个项目投资得到的收益(万元)。问:如何投资使得总效益最大?

动态规划分析

根据动态规划的一般性步骤,首先建立目标函数和约束条件,根据上面假设得到:

目标函数:F=max{\sum_{i=1}^{n}}f_{i}(x_{i});

约束条件:\begin{cases} \sum_{i=1}^{n}x_{i}\leqslant m \\ x_{i}\geqslant 0,i=1,2,...,n \end{cases};

假设F_{k}(x)x万元钱投资给前k个项目获得的最大收益,用动态规划思路求解,问题就转成求F_{k}(m)

k=1时,也就是说只投一个项目时最大收益为:

F_{k}(x)=f_{1}(x)

1<k\leqslant n时,即至少投资两个项目以上时,设p0\leqslant p\leqslant x)为分配给第k个项目的资金,此时还剩下x-p的资金可分配给前k-1个项目,则获得的最大收益为:

f_{k}(p)+F_{k-1}(x-p)

根据上面的分析,可以得到转移方程:

F_{k}(x)=\begin{cases} max\{f_{k}(p)+F_{k-1}(x-p)\}, 0\leqslant p\leqslant x\&\&0<k\leqslant n\\ f_{1}(x),k=1\end{cases}

案例分析

以上得到的转移方程分析比较理论话,下面用一个例子来做一下案例分析,比较直观和容易理解。

设某机构有60万元准备投资给4个项目,每个项目获得的收益和投资金额如下所示:

 根据问题要求,求出F_{4}(60)

第一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值