我想用matlab梯度法求解目标函数

我想用matlab梯度法求解目标函数,第1张

(i)编写M文件detafm如下

function [f,df]=detaf(x);

f=x(1)^2+x(2)^2-x(1)x(2)-10x(1)-4x(2)+60;

df(1)=2x(1)-x(2)-10;

df(2)=2x(2)-x(1)-4;

(ii)编写M文件tidum

clc

x=[2;2];

[f0,g]=detaf(x);

while norm(g)>0001

p=-g'/norm(g);

t=10;f=detaf(x+tp);

while f>f0

t=t/2;f=detaf(x+tp);

end

x=x+tp

[f0,g]=detaf(x)

end

在命令窗口运行tidu,回车

x =

09285

03714

f0 =

498848

g =

-85144 -41857

x =

18259

08126

f0 =

410013

g =

-71608 -42008

x =

26884

13186

f0 =

332628

g =

-59417 -40513

x =

35147

18819

f0 =

266059

g =

-48526 -37508

x =

43059

24935

f0 =

209888

g =

-38818 -33189

x =

50659

31433

f0 =

163877

g =

-30115 -27793

x =

58008

38215

f0 =

127914

g =

-22200 -21577

x =

65179

45185

f0 =

101958

g =

-14828 -14808

x =

72254

52252

f0 =

86002

g =

-07743 -07751

x =

79322

59326

f0 =

80046

g =

-00683 -00669

x =

80215

60201

f0 =

80004

g =

00229 00187

x =

79973

60003

f0 =

80000

g =

-00058 00034

x =

80006

59984

f0 =

80000

g =

00029 -00039

x =

79995

59999

f0 =

80000

g =

10e-003

-09686 03678

x =

79999

59997

f0 =

80000

g =

10e-003

01177 -04353

最优结果为:

x =

79999

59997

f0 =

80000

g =

10e-003

01177 -04353

非线性目标函数的几何意义可以理解为一个三维坐标系,z是x,y的函数(z为纵坐标),求它的最大值或最小值。又因为线性函数没有极值,但在一些约束条件下(限制在某一x,y区域)就有最大值最小值。目标函数(objective function)是指所关心的目标(某一变量)与相关的因素(某些变量)的函数关系。简单的说,就是你求解后所得出的那个函数。在求解前函数是未知的,按照你的思路将已知条件利用起来,去求解未知量的函数关系式,即为目标函数。线性规划是优化的一种,目标函数就是你优化要达到的目的,比如说两个人怎么分工,使产量最大,就设产量为目标函数。

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量

从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

显而易见,等值线(面)是一簇簇超曲线(面),在同一条超曲线(面)上有很多设计点,代表了不同的设计方案,但它们却对应有相同的目标值不同的等值线有不同的目标值。

由z=2x+y得y=-2x+z,

平移直线y=-2x+z,

由图象可知当直线y=-2x+z经过点(6,0)时,直线y=-2x+z的截距最大,

此时z最大.

代入目标函数z=2x+y得z=2×6+0=12.

即目标函数z=2x+y的最大值为12.

故选:C

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12183416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存