关于投资问题建模的一些思考

一、问题

m 元钱,n项投资, fi (x): 将 x 元投入第 i 个项目的效益. 求使得总效益最大的投资方案。

二、分析

这个问题是一个优化问题,我们要找到一种投资方案(组合方式),这种方案就是你可以把一个钱拆开,所有的钱都是整数,把钱拆开成若干份,每一份都是大于等于0,并且是整数范围内的,所有的前的总数是不变的,所以所有的总数约束条件不变,总数不变的前提下,如何把钱分配的更加合理

三、建模

问题的解是向量 < x1, x2, …, xn >, xi 是投给项目i 的钱数,i =1, 2, … , n. 目标函数 max{ f 1 f_1 f1( x 1 x_1 x1)+ f 2 f_2 f2( x 2 x_2 x2)+…+ f n f_n fn( x n x_n xn)} 约束条件 x1+x2+…+xn=m,xi∈N

四、实例

5万元钱,4个项目
收益函数表

x f 1 f_1 f1(x) f 2 f_2 f2(x) f 3 f_3 f3(x) f 4 f_4 f4(x)
0 0 0 0 0
1 11 0 2 20
2 12 5 10 21
3 13 10 30 22
4 14 15 32 23
5 15 20 40 24

五、子问题界定和计算顺序
子问题界定:由参数 k 和 x 界定
k:考虑对项目1, 2, …, k 的投资
x:投资总钱数不超过 x

投资问题是有两个参数的,第一个可不可以挑出一个子集,把问题进行简化,问题里的项目太多了,投资的时候考虑不过来,如果我只在两个项目上来考虑,可能这个问题要简单很多,如果我在三个项目上考虑,又变得复杂一些,如果在n个项目上就更复杂了,所以能不能把项目数量降下来,然后在一个子集上来考虑,另外一个投资的时候钱如果太多,分配的时候会,有很多计算量,如果这个钱本身多,可以考虑把两个量都作为子问题,那这两个参数与矩阵链的参数有什么不同?其实很重要的一点就是他们的问题考虑的角度是不一样的,因为问题性质就不一样了

猜你喜欢

转载自blog.csdn.net/Prototype___/article/details/124110117