funct.c

来自「内点法是从可行域内某一初始内点出发」· C语言 代码 · 共 29 行

C
29
字号
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
const int kkg=3;
double r0;
double f(double x[])
{double ff;
ff=pow((x[0]-8),2)+pow((x[1])-8,2);
return(ff);
}
void strain(double  x[],double g[])
{   g[0]=x[0]-1;
    g[1]=x[1]-1;
    g[2]=11-x[0]-x[1];
}
double objf(double p[])
{int i;
double ff,sg,*g;
g=(double *)malloc(kkg *sizeof(double));
sg=0;
strain(p,g);
for(i=0;i<kkg;i++)
  {if(*(g+i)>0) sg=sg+r0/(*(g+i));
   else sg=sg+r0*(1e+10);
  }
  free(g);
  ff=f(p)+sg;
  return(ff);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?