(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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)