青岛农业大学优化设计作业文档格式.docx
《青岛农业大学优化设计作业文档格式.docx》由会员分享,可在线阅读,更多相关《青岛农业大学优化设计作业文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
取:
3)
4)
取:
程序框图如下
源程序:
以第1题为例,其他题只需修改方程和相应参数即可
#include"
math.h"
stdio.h"
stdlib.h"
#defineE10.001
#defineep0.00001
#definen2
#definek4
doubleaf;
inti,j;
doubleX0[n],XX[n],X[k][n],FF[k];
doublea[n],b[n];
doublerm=2657863.0;
doubleF(doubleC[n])
{
doubleF;
F=pow(C[0]-2,2)+pow(C[1]-1,2);
returnF;
}
intcons(doubleD[n])
if((D[0]>
=-5)&
&
(D[1]>
(D[0]<
=6)&
(D[1]<
=8)&
((D[1]-pow(D[0],2))>
=0)&
((2-D[0]-D[1])>
=0))
return1;
else
return0;
voidbou()
a[0]=-5;
b[0]=6;
a[1]=-5;
b[1]=8;
doubler()
doubler1,r2,r3,rr;
r1=pow(2,35);
r2=pow(2,36);
r3=pow(2,37);
rm=5*rm;
if(rm>
=r3){rm=rm-r3;
=r2){rm=rm-r2;
=r1){rm=rm-r1;
rr=rm/r1;
returnrr;
voidproduce(doubleA[n],doubleB[n])
intjj;
doubleS;
sl:
for(i=0;
i<
n;
i++)
{
S=r();
XX[i]=A[i]+S*(B[i]-A[i]);
}
if(cons(XX)==0)
{gotosl;
X[0][i]=XX[i];
for(j=1;
j<
k;
j++)
for(i=0;
{
S=r();
X[j][i]=A[i]+S*(B[i]-A[i]);
}
X0[i]=0;
for(jj=1;
jj<
j+1;
jj++)
{
X0[i]+=X[jj][i];
}
X0[i]=(1/j)*(X0[i]);
if(cons(X0)==0)
gotosl;
{XX[i]=X[j][i];
while(cons(XX)==0)
for(i=0;
X[j][i]=X0[i]+0.5*(X[j][i]-X0[i]);
XX[i]=X[j][i];
main()
doubleEE,Xc[n],Xh[n],Xg[n],Xl[n],Xr[n],Xs[n],w;
intl,lp,lp1;
bou();
s111:
produce(a,b);
s222:
for(j=0;
XX[i]=X[j][i];
FF[j]=F(XX);
for(l=0;
l<
k-1;
l++)
for(lp=0;
lp<
lp++)
lp1=lp+1;
if(FF[lp]<
FF[lp1])
w=FF[lp];
FF[lp]=FF[lp1];
FF[lp1]=w;
for(i=0;
{
XX[i]=X[lp][i];
X[lp][i]=X[lp1][i];
X[lp1][i]=XX[i];
}
Xh[i]=X[0][i];
Xg[i]=X[1][i];
Xl[i]=X[k-1][i];
Xs[i]=0;
for(j=0;
Xs[i]+=X[j][i];
Xs[i]=1/(k+0.0)*Xs[i];
EE=0;
EE+=pow((FF[j]-F(Xs)),2);
EE=pow((1/(k+0.0)*EE),0.5);
if(EE<
=E1)
gotos333;
Xc[i]=0;
for(j=1;
Xc[i]+=X[j][i];
Xc[i]=1/(k-1.0)*Xc[i];
if(cons(Xc)==1)
af=1.3;
ss:
Xr[i]=Xc[i]+af*(Xc[i]-Xh[i]);
if(cons(Xr)==1)
if(F(Xr)>
=F(Xh))
if(af<
=ep)
Xh[i]=Xg[i];
af=1.3;
gotoss;
else
{af=1/2.0*af;
else
X[0][i]=Xr[i];
gotos222;
{af=1/2.0*af;
if(Xl[i]<
Xc[i])
{a[i]=Xl[i];
b[i]=Xc[i];
{a[i]=Xc[i];
gotos111;
s333:
printf("
F(Xmin)=%f\n"
F(Xl));
printf("
\nTheX%dis%f."
i,Xl[i]);
程序运行结果:
1)
2)
3)
4)
实验结果分析
复合形法就是在n维设计空间内,对复合型各顶点的目标函数值逐一进行比较,不断去掉最坏点,代之以既能使目标函数值有所下降,又满足所有约束条件的新点,逐步调向最优点。
那些计算很繁琐的计算题,通过编程借助计算机强大的计算能
力,就很轻松的得到结果。