⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wode

📁 数据矩阵的最优化算法
💻
字号:
#include "wode优化.h"
#include "stdio.h"
#include "conio.h"

int main()
{
	printf("");
	float A[3][5]={-1,2,1,0,0,
		2,3,0,1,0,
		1,-1,0,0,1};
	float B[3][3]={1,0,0,
		0,1,0,
		0,0,1};
	float B1[3][3]={0,0,0,
		0,0,0,
		0,0,0};
	float N[3][2]={
		-1,2,2,
			3,1,-1};
		float b[3][1]={4,12,3};
		float C[1][5]={0,0,0,-4,-1};
		float Cb[1][3]={0,0,0};
		float Cn[1][2]={-4,-1};
		float sum;
		int flag;
		flag=10;
		do
		{
			printf("first step:\n");
			if(0==qiuni(&(B[0][0]),&(B1[0][0]),3))
			{
				printf("qiuni wrong");
				return 0;
			}
			int i;
			int j;
			printf(" B1: \n");
			for(i=0;i<3;i++)
			{
				for(j=0;j<3;j++)
				{
					printf("%.4f   ",B1[i][j]);
				}
				printf("\n");
			}
			sum=CbB1b(&Cb[0][0],1,3,&B1[0][0],3,3,&b[0][0],3,1);
			if(sum==1000001)
			{
				printf("sum counter wrong!\n");
				return 0;
			}
			printf("\nf0=%.4f\n",sum);
			float F0;
			F0=sum;
			printf("second step:\n");
			float Z[1][2]={0,0};
			sum=CbB1p(&Cb[0][0],1,3,&B1[0][0],3,3,&N[0][0],3,2,&Z[0][0],1,2);
			if(sum==1000001)
			{
				printf("sum counter wrong!\n");
				return 0;
			}
			i=0;
			printf("Z: \n");
			for(i=0;i<2;i++)
				printf("%.4f  ",Z[0][i]);
			printf("\n");
			int result;
			
			result=getmaxZn_Cn(&Z[0][0],1,2,&Cn[0][0],1,2);
			if(result==10001)
			{
				printf("getmaxZn_Cn wrong\n");
				return 0;
				
			}
			if(result==65534)
			{
				
				printf("the min of F is : %.4f \n",F0);
				
				printf("any key exit.");
				getch();
				return 0;
			}
			printf("\n%d\n",result);
			
			printf("third step:\n");
			int result2;
			result2=0;
			float b1[3][1]={0,
				0,
				0};
			result2=B1b(&B1[0][0],3,3,&b[0][0],3,1,&b1[0][0],3,1);
			
			float Yn[3][1]={0,
				0,
				0};
			int result4=0;
			result4 =B1Pn(&B1[0][0],3,3,&N[0][0],3,2,result,&Yn[0][0],3,1);
			if(result4==1001)
			{
				printf("wrong");
				return 0;
			}
			
			int result5;
			result5=getminbYn(&b1[0][0],3,1,&Yn[0][0],3,1);
			if(result5==10001)
			{
				printf("find result\n");
			}
			if(result5==0)
			{
				printf("wrong \n");		
				return 0;
			}
			printf("\nd:%d\n",result5);
			printf("forth step:\n");
			printf("change B %d with N %d",result5,result+1);
			
			result5--;
			
			int result6;
			result6=0;
			result6=changeBN(&B[0][0],3,3,result5,&N[0][0],3,2,result,&Cb[0][0],&Cn[0][0]);
			
			
			flag--;
			printf("\n*********************************************************************************\n");
			
		}while(flag);
		return 0;
}

⌨️ 快捷键说明

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