重庆大学-数学实验-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, xi0

预计第j种投资的平均收益率为: 421237212221371230.201max10..67500.419010036,05,0125xxxzstxxxxxxx1()/TjjkkrrT