亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? simplex.cpp

?? 用單純性法求解線性規(guī)劃問題
?? CPP
字號:
#include<iostream>
#include<cmath>
using namespace std;
#define M 100000
//全局變量
float **kernel;//核心矩陣表
int m=0,n=0,t=0;//m:結(jié)構(gòu)向量的個(gè)數(shù)
                 //n:約束不等式個(gè)數(shù)
                 //t:目標(biāo)函數(shù)類型:-1代表求最小值,1代表求最大值
void newspace()   //動(dòng)態(tài)開辟數(shù)組
{	
	kernel=new float*[n+2];
	if (kernel==NULL)
	{
		cout<<"對不起,開辟數(shù)組不成功!程序結(jié)束!"<<endl;
		return ;
	}
	int i;
	for (i=0;i<n+2;i++)
	{
		kernel[i]=new float[m+2*n+1];
		if(kernel[i]==NULL)
		{
			cout<<"對不起,開辟數(shù)組不成功!程序結(jié)束!"<<endl;
			return ;
		}
	}
}
void delspace()  //釋放數(shù)組空間
{
	int i;
	for(i=0;i<n+2;i++)
		delete []kernel[i];
	delete []kernel;
}
//輸入接口函數(shù)
void input()
{
	//讀入所求問題的基本條件
	cout<<"----------參 數(shù) 輸 入-----------"<<endl;
	cout<<"請按提示輸入下列參數(shù):"<<endl<<endl;
	cout<<"  變量個(gè)數(shù)m:  "<<"   m=  ";
	cin>>m;
	cout<<endl<<"  約束不等式數(shù)n:"<<"   n=  ";
	cin>>n;
	newspace();
	int i,j;
	//初始化核心向量
	for (i=0;i<=n+1;i++)
    for (j=0;j<=m+n+n;j++) 
	     kernel [i][j]=0;
   //讀入約束條件
	cout<<endl<<"  約束方程矩陣的系數(shù)及不等式方向(1代表<=,-1代表>=,2表示=):"<<endl<<endl<<"          ";
	for (i=1;i<=m;i++)
		cout<<"   x"<<i;
		cout<<"  不等式方向 "<<" 常數(shù)項(xiàng)"<<endl;
	for (i=1;i<=n;i++) 
	{ 
		cout<<"    不等式"<<i<<"  ";
		for (j=1;j<=m+2;j++) 	
			cin>>kernel [i][j];
	}
	for (i=1;i<=n;i++)
	{ 
		kernel [i][0]=kernel [i][m+2];
		kernel [i][m+2]=0;
	}
	//讀入目標(biāo)條件
	cout<<endl<<endl<<" 目標(biāo)函數(shù)的系數(shù)及類型(求最大值:1;求最小值:-1):"<<endl<<endl<<"                ";
	for(i=1;i<=m;i++)
		cout<<"x"<<i<<"   ";
	cout<<"類型"<<endl<<"  ";
	cout<<"  目標(biāo)函數(shù):   ";
	for (i=1;i<=m;i++)
		cin>>kernel [0][i];
		cin>>t;
	//矩陣調(diào)整
	if(t==-1) 
		for(i=1;i<=m;i++) 
			kernel [0][i]=(-1)*kernel [0][i];
	for(i=1;i<n;i++) 
		if(kernel [i][0]<0)
			for(j=0;j<=m+2;j++)
			kernel [i][j]=(-1)*kernel [i][j];	
	for(i=1;i<=n;i++)
	{ 
		kernel [i][m+i]=kernel [i][m+1];
		if(i!=1)
			kernel [i][m+1]=0;
	}
	///*========================
	cout<<"\nkerne矩陣:\n";
	for(i=0;i<n+2;i++)
	{
		for(j=0;j<m+2*n+1;j++)
			cout<<kernel[i][j]<<"\t";
		cout<<endl;
	}
	cout<<"************************"<<endl;
	//========================*/
}
void newellor(float* p)//開辟空間失敗處理
{
	if (p==NULL)
	{
		cout<<"對不起,開辟數(shù)組不成功!程序結(jié)束!"<<endl;
		return ;
	}
}
//算法函數(shù)
void comput()
{
	int i,j,flag,temp0,temp1,temp2,h,k=0,*temp3,*is,nl=0;
	float a,*b,temp,*temp4,*temp5,*xb[2],f=0,aa,d,c,q=2;
	cout.precision (4);
	temp3=new int[n+1];
	if (temp3==NULL)
	{
		cout<<"對不起,開辟數(shù)組不成功!程序結(jié)束!"<<endl;
		return ;
	}
	for(i=0;i<2;i++)
	{
		xb[i]=new float(n);
		newellor(xb[i]);
	}
	temp4=new float[n+2];
	newellor(temp4);
	temp5=new float[n+2];
	newellor(temp5);
	b=new float[n+2];
	newellor(b);
	is=new int[n+1];
	if (is==NULL)
	{
		cout<<"對不起,開辟數(shù)組不成功!程序結(jié)束!"<<endl;
		return ;
	}
	//初始化
	for(i=1;i<=n;i++)
	{
		temp3[i]=0;
		is[i]=0;
	}
	for(i=0;i<n+2;i++)
	{    
		temp4[i]=0;
		temp5[i]=0;
	}
    for(i=1;i<=n;i++)
	{
		if(kernel [i][m+i]==-1)
		{
			kernel [i][m+n+i]=1;
			kernel [0][m+n+i]=-M;
			temp3[i]=m+n+i;
			nl=nl+1;
		}
		else
		{
			temp3[i]=m+i;
			if(abs(kernel [i][m+i])==2)
			{
				kernel [i][m+i]=1;
				kernel [0][m+i]=-M;
				is[i]=m+i;
			}
		}
	}
    for(i=1;i<=n;i++)
		  temp4[i]=kernel [0][temp3[i]];
	//初始單純形表
	cout<<endl<<endl;
	cout<<"----------單純形表求解過程------------"<<endl;
	cout<<"序 "<<"      c    ";
	for(j=1;j<=m+n+nl;j++)
	{
		if(j<=m) cout<<"\t"<<kernel [0][j];
		else if(j<=m+n)	
		{
			if(kernel [0][j]==-M) cout<<"\t-M";
			else cout<<"\t"<<kernel[0][j];
		}
		else 
			cout<<"\t-M"<<"  ";	
	}
	cout<<"\n號 "<<"   cB   xB ";
	for(j=1;j<=m+n+nl;j++) cout<<"\tx"<<j;
	cout<<"\tb"<<"\n-----------------------------------------------------------\n";
	a=0;c=0;temp0=0;
	for(i=1;i<=n;i++)
	{
		if(i==n/2+1) cout<<" 1";
		else cout<<"  ";
		for(j=m+1;j<=m+n+nl;j++)
		if(kernel [i][j]==1)
		{
			if(temp4[i]==-M) 
			cout<<"    -M   x"<<j+temp0;
			else 
			cout<<"    "<<temp4[i]<<"   x"<<j+temp0;
			xb[0][i]=temp4[i];xb[1][i]=j+temp0;
			break;
		}
		else if(kernel [i][j]==-1)
		{
			if(temp4[i]==-M)
			cout<<"    -M   x"<<j+1;
			else 
			cout<<"    "<<temp4[i]<<"   x"<<j+1;
			xb[0][i]=temp4[i];xb[1][i]=j+1;
			temp0=temp0+1;
			break;
		}
		for(j=1;j<=m+n+nl;j++)
		{
			if(j<=m) cout<<"\t"<<kernel [i][j];
			else if(kernel [i][j]==-1) 
			{
				cout<<"\t"<<kernel [i][j]<<"\t"<<kernel [i][m+n+i];
				for(a=j+2;a<=m+n+nl;a++) cout<<"\t"<<0;
				a=j+1;
				c=c+1;				
				break;
			}
			else if(j==a) 
			{
				for(d=1;d<=c;d++) cout<<"\t"<<0;
				cout<<"\t"<<kernel [i][j];
				for(d=j+3;d<=m+n+nl;d++) cout<<"\t"<<0;
				break;
			}
		    else cout<<"\t"<<kernel [i][j];
		}
		cout<<"\t"<<kernel [i][0]<<endl;
	}

	 //循環(huán)求解
	do{ 
		cout<<"  "<<" 檢驗(yàn)數(shù) "; 
		for(i=0;i<=m+n+n;i++)
		{  
			a=0;
			for(j=1;j<=n;j++)
			a+=kernel [j][i]*temp4[j];
			kernel [n+1][i]=kernel [0][i]-a;
			
		}
		for(i=1;i<=m+n+nl;i++)
		{  
			cout<<"\t"<<kernel[n+1][i];
		}
		cout<<"\t"<<kernel[n+1][0];
		cout<<"\n-----------------------------------------------------------\n";
	//=======================
	cout<<"\nkerne矩陣:\n";
	for(i=0;i<n+2;i++)
	{
		for(j=0;j<m+2*n+1;j++)
			cout<<kernel[i][j]<<"\t";
		cout<<endl;
	}
	cout<<"************************"<<endl;
	//=======================
		for(i=1;i<=m+n+n;i++)
		{
			if(kernel [n+1][i]<=0) flag=1;
	        else 
			{  
				flag=-1;
			    break;
			}
		}
		if(flag==1)
		{     
			for(i=1;i<=n;i++)
	        { 
		          if(temp3[i]<=m+n&&kernel[0][temp3[i]]!=is[i]) temp1=1;
					else
					{ 
						temp1=-1;
						break;
					}
	         }
			//輸出結(jié)果
			cout<<endl<<endl;
			cout<<"------------結(jié) 果 輸 出------------"<<endl<<endl;
			if(temp1==1)
			{ 
				cout<<" 此線性規(guī)劃的最優(yōu)解存在!"<<endl<<endl<<"  最優(yōu)解為:"<<endl<<endl<<"     ";
				for(i=1;i<=n;i++)
				    temp5[temp3[i]]=kernel [i][0];

				for(i=1;i<=m;i++)
				    f+=t*kernel [0][i]*temp5[i];
				for(i=1;i<=m;i++) 
				{
					cout<<"x"<<i<<" = "<<temp5[i];
					if(i!=m)
					cout<<", ";
				}
				for(i=1;i<=m;i++)
				{
					if(temp5[i]==0||temp5[i]==1)
						flag=1;
					else
					{
						flag=-1;
						break;
					}
				}
				if(flag==1)
				{
                    cout<<"整數(shù)解已達(dá)到!"<<endl;
					return;
				}
				if(flag==-1)
				{
					for(j=0;j<=n;j++)
						kernel[j][i]=0;

				}
				cout<<" ;"<<endl<<endl<<"     最優(yōu)目標(biāo)函數(shù)值f= "<<f<<endl<<endl;
				return ;
			}
			else 
			{   
				cout<<" 此線性規(guī)劃無解"<<endl<<endl;
				return ;
			}
			
		}
		if(flag==-1)
		{   
			temp=-100000;
			for(i=1;i<=m+n+n;i++)
			if(kernel [n+1][i]>temp)    
			{
				  temp=kernel [n+1][i];
				  h=i;
			}
		    for(i=1;i<=n;i++)
			{	
				if(kernel [i][h]<=0) temp2=1;
		        else 
				{ 
					temp2=-1;
					break;
				}                       
			}
		}
		if(temp2==1)  
		{ 
			cout<<"此線性規(guī)劃無約束"<<endl;
			return  ;
		}
		if(temp2==-1) 
		{   
			c=100000;
			for(i=1;i<=n;i++)
			{
				if(kernel [i][h]!=0)  b[i]=kernel [i][0]/kernel [i][h];
				if(kernel [i][h]==0)  b[i]=100000;
				if(b[i]<0)     b[i]=100000;
				if(b[i]<c) 
				{
					c=b[i];
					k=i;
				}
			}
			xb[1][k]=h;
			xb[0][k]=kernel[0][h];
			temp3[k]=h;
			temp4[k]=kernel [0][h];
			d=kernel [k][h];
			for(i=0;i<=m+n+n;i++)
			kernel [k][i]=kernel [k][i]/d;
			for(i=1;i<=n;i++)
			{	 
				if(i==k) 
				continue;
				aa=kernel [i][h];
				for(j=0;j<=m+n+n;j++)
				kernel [i][j]=kernel [i][j]-aa*kernel [k][j]; 
			}
			a=0;c=0;temp0=0;
			for(i=1;i<=n;i++)
			{
				if(i==n/2+1) cout<<" "<<q;
				else cout<<"  ";
				if(xb[0][i]==-M) cout<<"    -M   x"<<xb[1][i];
				else cout<<"    "<<xb[0][i]<<"   x"<<xb[1][i];
				for(j=1;j<=m+n+nl;j++)
				{
					if(j<=m) cout<<"\t"<<kernel [i][j];
					else if(kernel [i][j]==-1) 
					{
						cout<<"\t"<<kernel [i][j]<<"\t"<<kernel [i][m+n+i];
						for(a=j+2;a<=m+n+nl;a++) cout<<"\t"<<0;
						a=j+1;
						c=c+1;				
						break;
					}
					else if(j==a) 
					{
						for(d=1;d<=c;d++) cout<<"\t"<<0;
						cout<<"\t"<<kernel [i][j];
						for(d=j+3;d<=m+n+nl;d++) cout<<"\t"<<0;
						break;
					}
					else cout<<"\t"<<kernel [i][j];
				}
				cout<<"\t"<<kernel [i][0]<<endl;
			}
			q=q+1;
		}
		
	}
while(1);
delspace();
delete []temp3;
delete []temp4;
delete []temp5;
delete []is;
delete []xb[0];
delete []xb[1];
delete []b;
return ;
}
//主函數(shù)
void main()
{ cout<<"-------------------單純形法算法程序----------------------"<<endl<<endl;
  input();
  comput();
 }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜国产一区99re久久| 欧美日韩国产电影| 久久精品人人做人人综合| 精品一区二区三区久久久| 精品国产麻豆免费人成网站| 国产精品2024| 国产精品九色蝌蚪自拍| 欧洲亚洲国产日韩| 美女视频黄久久| 久久久久97国产精华液好用吗| 国产成人福利片| 亚洲人xxxx| 欧美老女人第四色| 九九九久久久精品| 中文字幕欧美一区| 欧美性色黄大片手机版| 精一区二区三区| 国产精品少妇自拍| 欧美日韩中字一区| 久久不见久久见免费视频7| 国产区在线观看成人精品| 91在线你懂得| 蜜臀av性久久久久蜜臀av麻豆| 精品久久久久久无| 91在线精品一区二区| 日韩精品成人一区二区三区| 久久久久久综合| 色美美综合视频| 狠狠网亚洲精品| 一区二区三区精品视频在线| 精品蜜桃在线看| 色综合色综合色综合色综合色综合 | 成+人+亚洲+综合天堂| 亚洲在线视频免费观看| 久久综合九色欧美综合狠狠| 91成人在线免费观看| 狠狠色综合播放一区二区| 夜夜操天天操亚洲| 国产亚洲精品中文字幕| 欧美三级欧美一级| 不卡av免费在线观看| 蜜臀av一区二区三区| 亚洲精品福利视频网站| 欧美精品一区二区在线观看| 欧美日韩美女一区二区| 成人av免费在线观看| 久久www免费人成看片高清| 一区二区免费在线播放| 久久色.com| 制服丝袜亚洲精品中文字幕| 色香蕉久久蜜桃| 国产剧情在线观看一区二区| 免费美女久久99| 亚洲国产成人va在线观看天堂| 中文字幕在线一区免费| xf在线a精品一区二区视频网站| 欧美亚洲国产一区二区三区| www.成人在线| 国产激情91久久精品导航| 美腿丝袜亚洲色图| 日韩一区精品视频| 亚洲va欧美va天堂v国产综合| 国产精品久久夜| 2023国产精品| www久久久久| 精品国产乱码久久| 日韩免费性生活视频播放| 欧美日本国产一区| 欧美猛男超大videosgay| 欧美亚洲国产一区在线观看网站| 91社区在线播放| 91在线porny国产在线看| 成人激情开心网| 国产乱人伦偷精品视频免下载 | 欧美大片拔萝卜| 欧美美女视频在线观看| 欧美天堂亚洲电影院在线播放| 色综合视频一区二区三区高清| 99免费精品视频| 色香色香欲天天天影视综合网| 91美女视频网站| 欧美探花视频资源| 欧美日韩国产美| 91精品国产综合久久精品麻豆| 欧美伊人久久大香线蕉综合69| 欧美午夜视频网站| 欧美二区乱c少妇| 日韩美女视频一区二区在线观看| 欧美电影精品一区二区| 久久久午夜精品| 成人免费在线视频| 亚洲精品视频一区二区| 亚洲1区2区3区视频| 日韩成人免费电影| 精品系列免费在线观看| 国产成人日日夜夜| 91麻豆精东视频| 欧美亚洲图片小说| 欧美一卡2卡3卡4卡| 国产三级一区二区| 亚洲一区二区三区在线| 奇米精品一区二区三区四区 | 成人亚洲精品久久久久软件| 99re66热这里只有精品3直播| 欧美专区在线观看一区| 3d动漫精品啪啪| 国产日产欧美一区| 亚洲一区二区高清| 国产综合色视频| 色狠狠综合天天综合综合| 555夜色666亚洲国产免| 久久精品在线免费观看| 亚洲欧美偷拍卡通变态| 美女脱光内衣内裤视频久久网站| 成人免费观看av| 欧美日韩国产在线观看| 国产亚洲精品免费| 亚洲国产精品一区二区尤物区| 激情五月激情综合网| 在线观看三级视频欧美| 欧美videofree性高清杂交| 亚洲欧美欧美一区二区三区| 奇米色一区二区| 成人一区二区在线观看| 91精品免费观看| 国产精品沙发午睡系列990531| 日韩激情av在线| 色综合久久99| 欧美哺乳videos| 亚洲综合999| 成人国产一区二区三区精品| 欧美精品一级二级三级| 中文字幕第一区| 美国欧美日韩国产在线播放| eeuss鲁片一区二区三区| 日韩免费看网站| 一区二区三区高清不卡| 国产成人精品一区二| 91精品一区二区三区在线观看| 一区免费观看视频| 国模大尺度一区二区三区| 欧美群妇大交群中文字幕| 中文字幕一区二区三区四区| 精品一区二区av| 欧美日韩夫妻久久| 亚洲乱码国产乱码精品精小说| 国产在线视视频有精品| 777午夜精品视频在线播放| 亚洲欧美日韩电影| 成人午夜免费电影| 久久久久久久久久久久电影| 免费在线观看一区二区三区| 在线看日本不卡| 中文字幕在线一区免费| 国产成人精品一区二| 国产亚洲欧美一区在线观看| 九九国产精品视频| 91精品国产综合久久婷婷香蕉| 午夜欧美大尺度福利影院在线看| 日本高清视频一区二区| 国产精品九色蝌蚪自拍| av亚洲产国偷v产偷v自拍| 国产欧美精品一区二区三区四区 | 欧美精品久久99久久在免费线| 亚洲色图在线播放| 99久久免费视频.com| 国产精品网站在线播放| 国产成人精品亚洲777人妖 | 久久精品国产一区二区| 欧美福利一区二区| 青娱乐精品在线视频| 欧美一级久久久久久久大片| 性欧美大战久久久久久久久| 欧美日韩在线一区二区| 婷婷久久综合九色综合绿巨人| 欧美日韩国产一区二区三区地区| 香蕉乱码成人久久天堂爱免费| 欧美浪妇xxxx高跟鞋交| 天堂久久久久va久久久久| 7777精品伊人久久久大香线蕉的| 日韩高清一区在线| 精品久久久久久久久久久久久久久| 捆绑紧缚一区二区三区视频| 精品国精品国产尤物美女| 精品一二线国产| 亚洲国产精品成人综合色在线婷婷 | 五月婷婷综合网| 在线播放/欧美激情| 麻豆91在线看| 久久久精品免费观看| 91在线观看污| 日日夜夜一区二区| 久久久久久免费网| av在线一区二区三区| 亚洲午夜久久久久中文字幕久| 欧美日精品一区视频| 精品夜夜嗨av一区二区三区| 国产精品入口麻豆九色| 欧美亚洲一区三区| 狠狠色丁香婷综合久久|