用拉格朗日乘子法求解最优化程序

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用拉格朗日乘子法求解最优化程序

用拉格朗日乘子法求解以下约束最优化问题:

6)( ..60

410)(min 2121212221=-+=+---+=x x X h t s x x x x x x X f

解:先构造函数 L (x,u )=f (x )+uh(x)

分别对L 中的x 和u 求偏导数,则有

ðL ðx 1

=2x 1−x 2−10+u =0 ðL ðx 2

=2x 2−4+u =0 ðL ðu

=x 1+x 2−6=0 解上述方程组,得

{x 1=4.8x 2=1.2u =1.6

拉格朗日乘子法的M 文件:

syms u

f=x1.^2+x2.^2-x1.*x2-10.*x1-4.*x2+60; h=x1+x2-6;

L=f+u.*h;

dldx1=diff(L,'x1');

dldx2=diff(L,'x2');

dldu=diff(L,'u');

s1='2*x1-x2-10+u';

s2='2*x2-4+u';

s3='x1+x2-6';

[u,x1,x2]=solve(s1,s2,s3);

f=x1.^2+x2.^2-x1.*x2-10.*x1-4.*x2+60; h=x1+x2-6;

L=f+u.*h;

x1

x2

u

f

h

L

运行结果为:

x1 =24/5

x2 = 6/5

u =8/5

f = 648/25 h = 0

L =648/25

相关文档
最新文档