动态规划(投资问题)

动态规划(投资问题)

一、问题描述:

一般性描述:设m元钱,n项投资项目,函数fi(x)表示将x元投入第i项项目所产生的效益,i=1,2,···,n;
问:如何分配这m元钱,使得投资总效益最高?
组合优化问题:假设分配给第i个项目的钱数是xi,
目标函数:max{f1(x1)+ f2(x2)+···+ fn(xn)};
约束条件:x1+x2+x3+···+xn=m,xi∈n;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NCY8uopg-1623723891072)(https://z3.ax1x.com/2021/06/07/20oewn.png)]

动态规划(投资问题)

设计:

int maxprofit(int a[M][N],int b[M][N],int reward,int number){
	for(int i=1;i<=number;i++){
		for(int j=0;j<money;j++){
			a[i][j]=0;
			for(int k=0;k<=j;k++){
				if(a[i][j]<b[i][j]+a[i-1][j-k]){
					a[i][j]=b[i][k]+a[i-1][j-k];
				} 
			} 
		}
	}
	return a[number][reward];
}

分析

动态规划(投资问题)

源码:https://github.com/Ace16602/dongtaiguihua/blob/main/动态规划.cpp

02/dongtaiguihua/blob/main/动态规划.cpp

上一篇:【语音去噪】基于matlab GUI LMS+RLS语音去噪【含Matlab源码 528期】


下一篇:java中最常见的几种运行时异常,你get了吗?