重庆大学-数学实验-5非线性规划
- 格式:doc
- 大小:246.60 KB
- 文档页数:8
开课学院、实验室:数学与统计DS1422 实验时间 : 2012 年
课程
名称 数学实验 实验项目
名 称 世界本复杂,如何做的更好——非线性规划 实验项目类型
验证 演示 综合 设计 其他
指导
教师 肖剑 成 绩
一、实验目的及意义
[1] 学习非线性规划模型的标准形式和建模方法;
[2] 掌握建立非线性规划模型的基本要素和求解方法;
[3] 熟悉MATLAB软件求解非线性规划模型的基本命令;
[4] 通过范例学习,了解建立非线性规划模型的全过程,与线性规划比较其难点何在。
通过该实验的学习,使学生掌握最优化技术,认识面对什么样的实际问题,提出假设和建立优化模型,并且使学生学会使用MATLAB软件进行非线性规划模型求解的基本命令,并进行灵敏度分析。解决现实生活中的最优化问题是本科生学习阶段中一门重要的课程,因此,本实验对学生的学习尤为重要。
二、实验内容
1.建立非线性规划模型的基本要素和步骤;
2.熟悉使用MATLAB命令对非线性规划模型进行计算与灵敏度分析;
3.学会计算无约束优化问题和有约束优化问题的技巧。
三、实验步骤
1.开启MATLAB软件平台,开启MATLAB编辑窗口;
2.根据问题,建立非线性规划模型,并编写求解规划模型的M文件;
3.保存文件并运行;
4.观察运行结果(数值或图形),并不断地改变参数设置观察运行结果;
5.根据观察到的结果和体会,写出实验报告。
四、实验要求与任务
根据实验内容和步骤,完成以下实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论)
基础实验
1求解无约束优化
1) 画出该曲面图形, 直观地判断该函数的最优解;
2) 使用fminunc命令求解, 能否求到全局最优解? 2212120.20.5()0.5(cos(2)cos(2))12min(,)2022.713..55,1,2xxxxifxxeestxi
2. 求解非线性规划,试判定你所求到的解是否是最优?
应用实验
3. 组合投资问题
设有8种投资选择:5支股票,2种债券,黄金. 投资者收集到这些投资项目的年收益率的历史数据
(见表6.1), 投资者应如何分配他的投资资金,即需要确定这8种投资的最佳投资分配比例.
表6.1 8种投资项目的年收益率历史数据
项目
年份 债券1 债券2 股票1 股票2 股票3 股票4 股票5 黄金
1973 1.075 0.942 0.852 0.815 0.698 1.023 0.851 1.677
1974 1.084 1.020 0.735 0.716 0.662 1.002 0.768 1.722
1975 1.061 1.056 1.371 1.385 1.318 1.123 1.354 0.760
1976 1.052 1.175 1.236 1.266 1.280 1.156 1.025 0.960
1977 1.055 1.002 0.926 0.974 1.093 1.030 1.181 1.200
1978 1.077 0.982 1.064 1.093 1.146 1.012 1.326 1.295
1979 1.109 0.978 1.184 1.256 1.307 1.023 1.048 2.212
1980 1.127 0.947 1.323 1.337 1.367 1.031 1.226 1.296
1981 1.156 1.003 0.949 0.963 0.990 1.073 0.977 0.688
1982 1.117 1.465 1.215 1.187 1.213 1.311 0.981 1.084
1983 1.092 0.985 1.224 1.235 1.217 1.080 1.237 0.872
1984 1.103 1.159 1.061 1.030 0.903 1.150 1.074 0.825
1985 1.080 1.366 1.316 1.326 1.333 1.213 1.562 1.006
1986 1.063 1.309 1.186 1.161 1.086 1.156 1.694 1.216
1987 1.061 0.925 1.052 1.023 0.959 1.023 1.246 1.244
1988 1.071 1.086 1.165 1.179 1.165 1.076 1.283 0.861
1989 1.087 1.212 1.316 1.292 1.204 1.142 1.105 0.977
1990 1.080 1.054 0.968 0.938 0.830 1.083 0.766 0.922
1991 1.057 1.193 1.304 1.342 1.594 1.161 1.121 0.958
1992 1.036 1.079 1.076 1.090 1.174 1.076 0.878 0.926
1993 1.031 1.217 1.100 1.113 1.162 1.110 1.326 1.146
1994 1.045 0.889 1.012 0.999 0.968 0.965 1.078 0.990 421237212221371230.201max10..67500.419010036,05,0125xxxzstxxxxxxx 五、实验过程及结果
1求解无约束优化
1) 画出该曲面图形, 直观地判断该函数的最优解;
2) 使用fminunc命令求解, 能否求到全局最优解?
编写程序:
x1=-5:0.08:5;
x2=-5:0.08:5;
[M,N]=meshgrid(x1,x2);
Z=-20*exp(-0.2*sqrt(0.5*(M.^2+N.^2)))-exp(0.5*(cos(2*pi*M)+cos(2*pi*N)))+22.731;
mesh(M,N,Z);
运行结果:
function f=yan(x)
f=-20*exp(-0.2*sqrt(0.5*(x(1)^2+x(2)^2)))-exp(0.5*(cos(2*pi*x(1))+cos(2*pi*x(2))))+22.731
输出结果:
[x,fval]= fminunc('zhu',[-1 1])
f =
3.6381 2212120.20.5()0.5(cos(2)cos(2))12min(,)2022.713..55,1,2xxxxifxxeestxi
Warning: Gradient must be provided for trust-region method;
using line-search method instead.
> In fminunc at 243
f = 3.6381
f =3.6381
f =0.0127
f =0.0127
f = 0.0127
f = 4.9038
f = 4.9038
f = 4.9038
f = 0.7759
f = 0.7759
f =0.7759
f =0.0540
f =0.0540
f =0.0540
f =0.0168
f = 0.0168
f = 0.0162
f = 0.0132
f = 0.0132
f = 0.0132
f =0.0128
f =0.0128
f = 0.0128
f =0.0127
f = 0.0128
f = 0.0127
f =0.0127
f =0.0127
f =0.0127
f =0.0127
f = 0.0127
f =0.0127
f =0.0127
f =0.0127
f =0.0127
f = 0.0127
f =0.0127
f =0.0127
Line search cannot find an acceptable point along the current
search direction.
x =0 0
fval = 0.0127
分析:画出该曲面图形, 可以判断该函数的最优解;使用fminunc命令求解, 不能求到全局最优解
2. 求解非线性规划,试判定你所求到的解是否是最优?
M程序:
function f=yan(x)
f=(-0.201*x(1)^4*x(2)*x(3)^2)/10^7
function [g,h]=hh(x)
g=[x(1)^2*x(2)-675;x(1)^2*x(3)^2/10^7-0.419];
h=[];
x0=[1,1,1]';
L=[0;0;0];
U=[36;5;125];
[x,fhh]=fmincon('zhu',x0,[],[],[],[],L,U,'hh');
fyan=-fhh
x1=x(1),x2=x(2),x3=x(3)
运行结果:
fyan =
2.0100e-008
x1=1
x2 =1
x3 = 1
应用实验
3. 组合投资问题
设有8种投资选择:5支股票,2种债券,黄金. 投资者收集到这些投资项目的年收益率的历史数据 (见表6.1), 投资者应如何分配他的投资资金,即需要确定这8种投资的最佳投资分配比例
一、问题分析
设投资的期限是一年,不妨设投资总数为1个单位,用于第i项投资的资金比例为xi , X=(x1,x2,…,xn)称为投资组合向量. 显然有x1+x2+…+xn=1, xi0
预计第j种投资的平均收益率为: 421237212221371230.201max10..67500.419010036,05,0125xxxzstxxxxxxx1()/TjjkkrrT