1 / 34

# 实验七 最优化方法 - PowerPoint PPT Presentation

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' 实验七 最优化方法' - mandek

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

①　需要确定一组变量的值，这些变量通常称为决策变量，简称变量，它们通常是非负的.

②　对于决策变量，存在着可用一组线性等式或不等式来表达的限制条件，这些条件称为约束条件.

③　有一个可以表示为决策变量的线性函数的目标要求，这一函数称为目标函数．按问题的不同要求，可要求目标函数达到最大值或最小值．

x=linprog(c,A,b)

x=linprog(c,A,b,Aeq,beq)

x=linprog(c,A,b,Aeq,beq,VLB,VUB)

x=linprog(c,A,b,Aeq,beq,VLB,VUB,X0)

[x,fval=linprog(…)返回最优解x及x处的目标函数值fval

beq=[ ]

2.其中X0表示初始点

A=[1 1;1 2;1 0;0 1];

b=[6,8,4,3];

c=-[2,3];

A1=[];

b1=[];

v1=[0,0];

x=linprog(c,A,b,A1,b1,v1) ↙

Optimization terminated.

x =

4.0000

2.0000

[x,fval]=linprog(c,A,b,A1,b1,v1) ↙

Optimization terminated.

x =

4.0000

2.0000

fval =

-14.0000

x =

0

8.0000

15.0000

17.0000

10.0000

0

z =

3.6500e+003

a=[1,1,1,0,0,0;0,0,0,1,1,1;1,0,0,1,0,0;0,1,0,0,1,0;0,0,1,0,0,1];

b=[23,27,17,18,15];

c=[50,60,70,60,110,160];

v1=zeros(1,6);

[x,feval]=linprog(c,[],[],a,b,v1) ↙

a=[-2,1;1,-1];

b=[4,2];

c=-[1,1];

v1=[0,0];

x=linprog(c,a,b,[ ],[ ],v1) ↙

Exiting: One or more of the residuals, duality gap, or total relative error has stalled:

the dual appears to be infeasible (and the primal unbounded).

(The primal residual < TolFun=1.00e-008.)

x =

1.0e+009 *

1.4007

2.8007

Optimization terminated. 具有最小值。

x =

0.0000

10.0000

30.0000

10.0000

30.0000

10.0000

0.0000

fval =

90.0000

c=ones(1,7);

a=ones(7);

a1=triu(a,1);a3=triu(a,3);a5=tril(a,-5);

A=-(a-a1+a3-a5);

b=-[50 50 50 50 80 90 80];

v1=zeros(1,7);

[x,fval]=linprog(c,A,b,[],[],v1)↙

x =

0.0000

3.3333

33.3333

10.0000

33.3333

10.0000

3.3333

fval =

93.3333

1.某厂用两台机床加工三种零件，情况如下表所示，问怎样安排两台机床一个生产周期的加工任务，才能使加工成本最低？

2. 具有最小值。有四个煤产地A1,A2,A3,A4,今年产量（单位：万吨）分别为35，45，55，65；有6个销地B1~B6 ，今年销量分别为40，20，30，40，30，40，预计明年6个销地的销量各增加5万吨。计划部门为了使产销平衡，打算增加年产30万吨的采煤设备，把它分别拨给煤产地A1,A2,A3,A4使用，因此增加了生产成本（单位：万元）分别为20，30，15，25。问应将这套设备拨给哪个产地能使增加的总成本（生产成本和运输成本）最低？运价如下表：

H=[1,-1;-1,2]; 具有最小值。

c=[-2,-6];

A=[-1,2;2,1];b=[2;3];

Aeq=[1,1];beq=[2];VLB=[0,0];VUB=[];

Optimization terminated.

x =

0.6667

1.3333

z =

-8.2222

1.求单变量有界非线性函数在区间上的极小值

[x,fval]=fminbnd(fun,x1,x2,options)

function y=f(x)

y=2*exp(-x)*sin(x)；

[xmin,ymin]=fminbnd('f',0,8) ↙

xmin =

3.9270

ymin =

-0.0279

f1='-2*exp(-x).*sin(x)';

[xmax,ymax]=fminbnd(f1,0,8) ↙

xmax =

0.7854

ymax =

-0.6448

2. 具有最小值。求多变量函数的极小值

[x,fval]=fminunc(fun,x0,options,p1,p2,…)

function f=fun1(x)

f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);

x0=[-1,1];

x=fminunc(‘fun1’,x0) ↙

x =

0.5000 -1.0000

y=fun1(x) ↙

y =

1.4644e-015

（1）建立M文件，定义目标函数

（2）若约束条件中有非线性约束：C(x)<=0或Ceqx=0，则建立M文件定义函数C(x)与Ceq(x)

（3）建立主程序，非线性规划求解的函数是fmincon

function f=fun1(x)

f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);

function [g,ceq]=mycon(x)

g=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];

ceq=0;

x0=[-1,1];A=[];b=[];

Aeq=[1,1];beq=[0];

vlb=[];vub=[];

[x,fval]=fmincon('fun1',x0,A,b,Aeq,beq,vlb,vub,'mycon') ↙

x = 具有最小值。

-1.2247 1.2247

fval =

1.8951

1.求极值

2.对边长为3米的正方形铁板，在四个角剪去相等的正方形以制成无盖水槽，问如何剪法是水槽的容积最大？

3.解下列二次规划