100分求一算法,分不够再加
题目是这样的:
市场上有n种资产(如股票、债券、…)Si ( i=1,…n) 供投资者选择,某公司有数额为M的一笔相当大的资金可用作一个时期的投资。公司财务分析人员对这n种资产进行了评估,估算出在这一时期内购买Si的平均收益率为ri,并预测出购买Si的风险损失率为qi。考虑到投资越分散,总的风险越小,公司确定,当用这笔资金购买若干种资产时,总体风险可用所投资的Si中最大的一个风险来度量。购买Si要付交易费,费率为pi,并且当购买额不超过给定值ui时,交易费按购买ui计算(不买当然无须付费)。另外,假定同期银行存款利率是r0, 且既无交易费又无风险(r0=5%)
已知n = 4时的相关数据如下:试给该公司设计一种投资组合方案,即用给定的资
金M,有选择地购买若干种资产或存银行生息,使净收益尽可能大,而总体风险尽可能小
Si ri(%) qi(%) pi(%) ui(元)
S1 28 2.5 1 103
S2 21 1.5 2 198
S3 23 5.5 4.5 52
S4 25 2.6 6.5 40
希望大家能说说这道题的算法,不需要源程序的,我实在想不出,谢谢!