资源描述:
《单纯形法完全c语言程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、单纯形法完全c语言程序,能运行#include"math.h"#include"stdio.h"#defineN2voidpaixu(p,n)intn;doublep[];{intm,k,j,i;doubled;k=0;m=n-1;while(kp[i+1]){d=p;p=p[i+1];p[i+1]=d;m=i;}j=k+1;k=0;for(i=m;i>=j;i--)if(p[i-1]>p){d=p;p=p[i-1];p[i-1]=d;k=i;}}return;}doublemubiao(double*x){doubl
2、ey;y=x[1]-x[0]*x[0];y=100.0*y*y;y=y+(1.0-x[0])*(1.0-x[0]);return(y);}main(){inti,j,k,l,m=0;doublec,xx[N+1][N],f0[N+1],f[N+1],x0[N]={1.2,1},x1[N],s=0.0;doublea,b;doublexa[N],xb[N],xc[N],xe[N],xw[N],xr[N],xo[N];doublefr,fe,fw,fc,fo;doubleaef=1.0,r=1.0,eps1=1.0e-30,eps2=1.0e-30,bt=0.5,rou=0.5;c=1.0;b
3、=(c/(N*sqrt(2)))*(sqrt(N+1)-1);a=b+c/sqrt(2);//printf("a=%13.7eb=%13.7e",a,b);//printf("");//给xx[N][N+1]赋值,每一行构成单纯形的一个定点//***********************for(i=0;i4、][%d]%13.7e",i,j,xx[j]);printf("");}loop1://求单纯形的每个定点的函数值f0,f和x1是过渡数组printf("");printf("");for(i=0;i=0;i--)printf("f[
5、%d]=%13.7e",i,f);//找最好点和最坏点分别是哪一个点,即xx[][]的行数for(i=0;i6、k][j]);printf("fmin=%13.7e",f[0]);}else{m=m+1;//把xx[][]中最好点移到第一行,最坏点移到最后一行for(j=0;j7、c[]for(i=0;i