資源簡介
用C++程序實現復合型法算法,求解優(yōu)化解!
代碼片段和文件信息
#include
#include
double?mubiao(double?x1double?x2)
{
double?z;
z=pow((x1-2)2)+pow((x2-1)2);
return?z;
}
int?yueshu1(double?x1double?x2)
{
int?s1;double?g1;
g1=pow(x12)-x2;
if(g1<=0)?s1=1;
else?s1=0;
return?s1;
}
int?yueshu2(double?x1double?x2)
{
int?s2;double?g2;
g2=x1+x2-2;
if(g2<=0)?s2=1;
else?s2=0;
return?s2;
}
void?main()
{
int?N=2k=4n=0ijms[2];
float?r[4]={0.31f0.39f0.47f0.55f};
double?wcdf[6]p[6]ya[2]b[2]x[6][2]q[6][2];
c=1e-300;a[0]=-2;b[0]=1;a[1]=0;b[1]=4;
printf(“求解約束優(yōu)化問題:\n“);
printf(“??????minf(x)=pow((x1-2)2)+pow((x2-1)2)\n“);
printf(“s.t.??g1(x)=pow(x12)-x2<=0\n“);
printf(“??????g2(x)=x1+x2<=0\n“);
loop1:
for(j=0;j for(i=0;i x[j][i]=a[i]+r[j]*(b[i]-a[i]);
評論
共有 條評論