百年孤独 发表于 2016-3-29 16:58

数学建模十类经典算法(3)

98年全国大学生数学建模竞赛A题
投资的收益和风险
一、模型的建立
设购买Si的金额为Xi,所需的交易费ci (xi)为:

http://imgsrc.baidu.com/forum/w%3D580/sign=d5171bf79822720e7bcee2f24bca0a3a/2c993bc79f3df8dc0de03104cd11728b46102818.jpg
设存银行的金额为x0,显然c0(x0)=0
对si投资的净收益为Ri(xi)=rixi-ci(xi)
投资组合x=(x0,x1,…xn)的净收益为
http://imgsrc.baidu.com/forum/w%3D580/sign=1afa3bf4f81986184147ef8c7aec2e69/fbb9ce1b9d16fdfa06b0787bb48f8c5495ee7b19.jpg
由题意,投资的风险为Q(x)=max(qixi)
因此,问题的数学模型是一个双目标优化:
minz1=Q(x)
minz2=-R(x)
s.t
http://imgsrc.baidu.com/forum/w%3D580/sign=c2fabbeb251f95caa6f592bef9157fc5/31744f4a20a446235c071bf79822720e0df3d728.jpg
二、模型求解

对于上述双目标优化模型这类问题大多用某种方式化为单目标问题来求解,主要有以下三种:(1)固定风险水平,优化收益;(2)固定赢利水平,极小化风险;(3)确定投资者对风方法险—收益的相对偏好系数。前(1)、(2)两种方法分别是以牺牲某一目标来达到另一目标的优化,而对第三种则由于决策者很难知道偏好系数具体的值。故这三种方法都不太理想, 下面我们考虑用遗传算法来解决这个问题。
由于在双目标情况下,两目标通常本质上是相互矛盾的,最优解需要替代为非劣解,即对于任何目标函数在不牺牲其它目标的情况下就不能改进的解。
三个定义
定义1:非劣解:可行解
定义2:正理想解:正理想解由所有可达到的最好的目标值构成
定义3:负理想解:负理想解由所有可达到的最坏的目标值构成
我们考虑用遗传算法产生整个非劣解的集(和谐)合,或近似的集(和谐)合,然后让决策者自己来选择最好地表达他对各个目标的权衡取舍的非劣解。对于这个双目标规划问题可采用自适应移动线技术建立一种求加权和的方法,这种方法可迫使遗传搜索去探索目标空间中非劣解的集(和谐)合。

总的步骤:
步骤1:构造染色体,产生初始种群:选用二进制编码,随机产生一组染色体xk放入**E中
步骤2:染色体交叉,对上面产生的种群按交叉概率pc
选择“个体对”进行单点交叉。一般取pc从0.25到1.00之间。
步骤3: 染色体变异:为使群体保持多样性,可按变异率pm进行变异(可随机选择变异点)
步骤4:
更新**E:1)对双亲和后代的每个染色体计算两个目标的值;
(2)将新的非劣解加入E,从而更新E并从E删去劣点;
(3)确定**E 中新的特殊点
步骤5:评估:按公式计算双亲和后代的每个染色体的适值。

步骤6 :
选择:
(1)删去所有重复的染色体;
(2)按降序排列余下的染色体;
(3)选择前pop_size 个染色体组成新的种群.
步骤7: 检查终止条件:若运行次数已达预先确定的代数目则停止,否则转步骤2
故运用该算法若干次后最终能得到一个非劣解集,供决策者参考.
遗传算法从多个初始点开始寻优,沿多路径搜索,可获全局或准全局最优解. 我们可类似地用上述算法获得多目标规划模型的非劣解**.

页: [1]
查看完整版本: 数学建模十类经典算法(3)