- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
优化设计--复合形法
优化设计作业
复合形法
题目:课本例1-1。
程序如下:
#include stdlib.h
#include math.h
#include stdio.h
void com(int n,int k,int kg,float ep,float x[],float bl[],float bu[], float xc[][100],float *f) ;
void constraint(float x[],float g[]);
void xcent(int n,int k,int ll,int lh,float x0[],float xcom[][100]);
void fxse(int n,int k,float x[],float xcom[][100],float fxk[]);
float objfx(float x[]);
int gau(float x[],float g[],int kg);
float objfx(float x[])
{
float f1;
f1=120*x[0]+x[1];
return f1;
}
void constraint(float x[],float g[])
{ g[0]=-x[0]+0.1;
g[1]=-x[1]+1;
g[2]=x[0]-3;
g[3]=x[1]-8;
g[4]=1-0.25*x[1];
g[5]=1-7*x[0]*x[1]/45;
g[6]=1-7*x[0]*x[0]*x[0]*x[1]/45;
}
int gau(float x[],float g[],int kg)
{
int i;
constraint(x,g);
for(i=0;ikg;i++)
{
if(g[i]0)
return 0;;
}
return 1;
}
void xcent(int n,int k,int ll,int lh,float x0[],float xcom[][100])
{
int i,l;
float xs;
for(i=0;in;i++)
{
xs=0;
for(l=0;lll;l++)
{
if(l!=lh)
xs=xs+xcom[i][l];
}
if(lh-1)
x0[i]=xs/(ll-1);
else
x0[i]=xs/ll;
}
}
void fxse(int n,int k,float x[],float xcom[][100],float fxk[])
{
int l,lp,lp1,i;
float te;
for(l=0;lk-1;l++)
for(lp=0;lpk-l;lp++)
{
lp1=lp+1;
if(fxk[lp]=fxk[lp1])
{
te=fxk[lp];
fxk[lp]=fxk[lp1];
fxk[lp1]=te;
for(i=0;in;i++)
{
x[i]=xcom[i][lp];
xcom[i][lp]=xcom[i][lp1];
xcom[i][lp1]=x[i];
}
}
}
}
void com(int n,int k,int kg,float ep,float x[],float bl[],float bu[], float xcom[][100],float *f)
{
int i,iw,l,ll,lh,it;
float fx,fx0,sdx,fxh,fxr,alp;
float *x0=(float*)calloc(n,sizeof(float));
float *xh=(float*)calloc(n,sizeof(float));
float *xr=(float*)calloc(
文档评论(0)