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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cprograme.txt

?? 原始單純型算法求解優化問題
?? TXT
字號:
#include<stdio.h> 
#include<math.h> 
#include<iostream.h> 
float matrix[100][100],x[100]; /* 記錄總方程的數組,解的數組 */ 
int a[100]; /* 記錄基礎,非基礎的解的情況,0:非基礎,1:基礎 */ 
int m,n,s,type; /* 方程變量,約束數,求最大最小值的類型,0:最小 1:最大 */ 
int indexe,indexl,indexg; /* 剩余變量,松弛變量,人工變量 */ 
void Jckxj() 
{ 
int i,j; 
for(i=0;i<n;i++) 
for(j=0;j<s;j++) 
if(matrix[i][j]==1&&a[j]==1){ 
x[j]=matrix[i][s]; 
j=s; 
} 
for(i=0;i<s;i++) 
if(a[i]==0) x[i]=0; 
} 
int Rj() 
{ 
int i; 
for(i=0;i<s;i++) 
if(fabs(matrix[n][i])>=0.000001) 
if(matrix[n][i]<0) return 0; 
return 1; 
} 
int Min() 
{ 
int i,temp=0; 
float min=matrix[n][0]; 
for(i=1;i<s;i++) 
if(min>matrix[n][i]){ 
min=matrix[n][i]; 
temp=i; 
} 
return temp; 
} 
void JustArtificial() 
{ 
int i; 
for(i=m+indexe+indexl;i<s;i++) 
if(fabs(x[i])>=0.000001){ 
printf("No Answer\n"); 
return; 
} 
} 
int Check(int in) 
{ 
int i; 
float max1=-1; 
for(i=0;i<n;i++) 
if(fabs(matrix[i][in])>=0.000001&&max1<matrix[i][s]/matrix[i][in]) 
max1=matrix[i][s]/matrix[i][in]; 
if(max1<0) 
return 1; 
return 0; 
} 
int SearchOut(int *temp,int in) 
{ 
int i; 
float min=10000; 
for(i=0;i<n;i++) 
if(fabs(matrix[i][in])>=0.000001&&(matrix[i][s]/matrix[i][in]>=0)&&min>matrix[i][s]/matrix[i][in])
{ 
min=matrix[i][s]/matrix[i][in]; 
*temp=i; 
} 
for(i=0;i<s;i++) 
if(a[i]==1&&matrix[*temp][i]==1) return i; 
} 
void Mto(int in,int temp) 
{ 
int i; 
for(i=0;i<=s;i++) 
if(i!=in) 
matrix[temp][i]=matrix[temp][i]/matrix[temp][in]; 
matrix[temp][in]=1; 
} 
void Be(int temp,int in) 
{ 
int i,j; 
float c; 
for(i=0;i<=n;i++){ 
c=matrix[i][in]/matrix[temp][in]; 
if(i!=temp) 
for(j=0;j<=s;j++) 
matrix[i][j]=matrix[i][j]-matrix[temp][j]*c; 
} 
} 
void Achange(int in,int out) 
{ 
int temp=a[in]; 
a[in]=a[out]; 
a[out]=temp; 
} 
void Print() 
{ 
int i,j,k,temp=0; 
for(i=0;i<n;i++){ 
for(k=temp;k<s;k++) 
if(a[k]==1){ 
printf("X%d ",k); 
temp=k+1; 
k=s; 
} 
for(j=0;j<=s;j++) 
printf("%8.2f",matrix[i][j]); 
printf("\n"); 
} 
printf("Rj "); 
for(j=0;j<=s;j++) 
printf("%8.2f",matrix[n][j]); 
printf("\n"); 
} 
void InitPrint() 
{ 
int i; 
printf("X"); 
for(i=0;i<s;i++) 
printf(" a%d",i); 
printf(" b\n"); 
Print(); 
printf("\n"); 
} 
void Result() 
{ 
int i; 
printf(" ("); 
for(i=0;i<s;i++) 
printf("%8.2f",x[i]); 
printf(" ) "); 
if(type==1) 
printf(" Zmax=%f\n\n",matrix[n][s]); 
else printf(" Zmin=%f\n\n",matrix[n][s]); 
} 
void PrintResult() 
{ 
if(type==0) printf("The Minimal :%f\n",-matrix[n][s]); 
else printf("The Maximum :%f\n",matrix[n][s]); 
} 
void Merge(float nget[][100],float nlet[][100],float net[][100],float b[]) 
{ 
int i,j; 
for(i=0;i<n;i++){ 
for(j=m;j<m+indexe;j++) 
if(nget[i][j-m]!=-1) matrix[i][j]=0; 
else matrix[i][j]=-1; 
for(j=m+indexe;j<m+indexe+indexl;j++) 
if(nlet[i][j-m-indexe]!=1) matrix[i][j]=0; 
else matrix[i][j]=1; 
for(j=m+indexe+indexl;j<s;j++) 
if(net[i][j-m-indexe-indexl]!=1) matrix[i][j]=0; 
else matrix[i][j]=1; 
matrix[i][s]=b[i]; 
} 
for(i=m;i<m+indexe+indexl;i++) 
matrix[n][i]=0; 
for(i=m+indexe+indexl;i<s;i++) 
matrix[n][i]=100; 
matrix[n][s]=0; 
} 
void ProcessA() 
{ 
int i; 
for(i=0;i<m+indexe;i++) 
a[i]=0; 
for(i=m+indexe;i<s;i++) 
a[i]=1; 
} 
void Input(float b[],int code[]) 
{ 
int i=0,j=0; 
printf("The equator Variable and Restrictor\n"); /* 輸入方程變量和約束數 */ 
cin>>m>>n; 
for(i=0;i<n;i++){ 
printf("Input b[] and Restrictor code 0:<= 1:= 2:>=\n"); /* 輸入方程右邊的值 
,code的值 */ 
cin>>b[i]>>code[i]; 
printf("The XiShu\n"); 
for(j=0;j<m;j++) 
cin>>matrix[i][j]; /* 輸入方程 */ 
} 
printf("The Type 0:Min 1:Max \n"); /* 輸入求最大值還是最小值 */ 
do{ 
cin>>type; 
if(type!=0&&type!=1) printf("Error,ReInput\n"); 
}while(type!=0&&type!=1); 
printf("The Z\n"); /* 輸入z */ 
for(i=0;i<m;i++) 
cin>>matrix[n][i]; 
if(type==1) 
for(i=0;i<m;i++) 
matrix[n][i]=-matrix[n][i]; 
} 
void Xartificial() 
{ 
int i,j,k; 
if(indexg!=0){ 
for(i=m+indexe+indexl;i<s;i++){ 
for(j=0;j<n;j++) 
if(matrix[j][i]==1){ 
for(k=0;k<=s;k++) 
matrix[n][k]=matrix[n][k]-matrix[j][k]*100; 
j=n; 
} 
} 
} 
} 
void Process(float c[][100],int row,int vol) 
{ 
int i; 
for(i=0;i<n;i++) 
if(i!=row) c[i][vol]=0; 
} 
void Sstart(float b[],int code[]) 
{ 
int i; 
float nget[100][100],nlet[100][100],net[100][100]; /* 剩余變量數組,松弛變量數 
組,人工變量數組 */ 
indexe=indexl=indexg=0; 
for(i=0;i<n;i++){ 
if(code[i]==0){nlet[i][indexl++]=1; Process(nlet,i,indexl-1);} 
if(code[i]==1){ net[i][indexg++]=1; Process(net,i,indexg-1); } 
if(code[i]==2){ 
net[i][indexg++]=1; 
nget[i][indexe++]=-1; 
Process(net,i,indexg-1); Process(nget,i,indexe-1); 
} 
} 
s=indexe+indexl+indexg+m; 
Merge(nget,nlet,net,b); /* 合并 */ 
ProcessA(); /* 初始化a[] */ 
InitPrint(); /* 初始化打印 */ 
Xartificial(); /* 消去人工變量 */ 
} 
void Simplix() /* 單純型算法 */ 
{ 
int in,out,temp=0; 
while(1){ 
Jckxj(); /* 基礎可行解 */ 
Print(); /* 打印 */ 
Result(); /* 打印結果 */ 
if(!Rj()) in=Min(); /* 求換入基 */ 
else { 
if(indexg!=0) JustArtificial(); /* 判斷人工變量 */ 
PrintResult(); /* 打印最后結果 */ 
return; 
} 
if(Check(in)){ /* 判斷無界情況 */ 
printf("No Delimition\n"); 
return; 
} 
out=SearchOut(&temp,in); /* 求換出基 */ 
Mto(in,temp); /* 主元化1 */ 
Be(temp,in); /* 初等變換 */ 
Achange(in,out); /* 改變a[]的值 */ 
} 
} 
void main() 
{ 
int code[100]; /* 輸入符號標記 */ 
float b[100]; /* 方程右值 */ 
Input(b,code); /* 初始化 */ 
Sstart(b,code); /* 化標準型 */ 
Simplix(); /* 單純型算法 */ 
}




實驗報告: 
****************計算機系2000級軟件班1000432 彭小聰************************ 
***********運籌學單純形法解線性規劃問題(C++實現,VC6.0中通過)*********** 
函數列表: 
Jckxj 
Rj 
Min 
JustArtificial 
Check 
SearchOut 
Mto 
Be 
Achange 
Print 
InitPrint 
Result 
PrintResult 
Merge 
ProcessA 
Input 
Xartificial 
Process 
Sstart 
Simplix 
while 
main 
變量: 
float matrix[100][100],x[100]       記錄總方程的數組,解的數組 
int a[100]                          記錄基礎,非基礎的解的情況,0:非基礎,1:基礎 

int m,n,type                        方程變量,約束數,求最大最小值的類型,0:最小 
 1:最大 
int indexe,indexl,indexg            剩余變量,松弛變量,人工變量 
輸入提示: 
equator Variable                    變量個數; 
Restrictor                          約束條件個數;(注:這里程序默認X(i)>0; 
否則對每個X(i)我們均要添加一個約束條件X(i)>0) 
b[]                                 約束條件右端項; 
Restrictor code                     約束條件不等式符號編碼;(0表示<=;1表示=; 
2表示>=) 
The XiShu                           各約束條件中X(i)對應的系數 
The Type                            Z的最優方向(0表示MIN;1表示MAX) 
The Z                               目標函數的系數 
輸入例子: 
MAX Z=4X(1)+3X(2) 
 S.T.  2X(1)+3X(2)<=24 
       3X(1)+2X(2)<=26 
       X(1),X(2)>=0 
運行1000432.exe 
The equator Variable and Restrictor: 
2 2 
Input b[] and Restrictor code 0:<= 1:= 2:>= 
24 0 
The XiShu 
2 3 
Input b[] and Restrictor code 0:<= 1:= 2:>= 
26 0 
The XiShu 
3 2 
The Type 0:Min 1:Max 
1 
The Z 
4 3 
結果輸出: 
X       a0      a1      a2      a3      b 
X2     2.00    3.00    1.00    0.00   24.00 
X3     3.00    2.00    0.00    1.00   26.00 
Rj    -4.00   -3.00    0.00    0.00    0.00 
X2     2.00    3.00    1.00    0.00   24.00 
X3     3.00    2.00    0.00    1.00   26.00 
Rj    -4.00   -3.00    0.00    0.00    0.00 
 (    0.00    0.00   24.00   26.00 )  Zmax=0.000000 
X0     0.00    1.67    1.00   -0.67    6.67 
X2     1.00    0.67    0.00    0.33    8.67 
Rj     0.00   -0.33    0.00    1.33   34.67 
 (    8.67    0.00    6.67    0.00 )  Zmax=34.666668 
X0     0.00    1.00    0.60   -0.40    4.00 
X1     1.00    0.00   -0.40    0.60    6.00 
Rj     0.00    0.00    0.20    1.20   36.00 
 (    6.00    4.00    0.00    0.00 )  Zmax=36.000000 
The Maximum :36.000000 
從而可知:MAX Z=36,此時X(1)=6,X(2)=4. 
實驗成功。 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品麻豆| 欧美手机在线视频| 性欧美疯狂xxxxbbbb| 亚洲日本中文字幕区| 日本一区二区三区四区| 欧美v亚洲v综合ⅴ国产v| 色偷偷久久人人79超碰人人澡| 国产成人av一区| 国产自产v一区二区三区c| 国产一区二区毛片| 99久久久久久99| 不卡影院免费观看| 一本色道a无线码一区v| 在线视频你懂得一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美午夜宅男影院| 91精品欧美一区二区三区综合在| 日韩精品一区二区三区四区视频| 国产亚洲一二三区| 亚洲欧洲三级电影| 亚洲在线视频免费观看| 日产国产欧美视频一区精品| 国产在线播放一区| 色婷婷综合中文久久一本| 欧美一级高清片| 国产欧美综合在线观看第十页| 中文字幕一区二区三区av| 亚洲精品成人悠悠色影视| 亚洲成av人在线观看| 麻豆精品蜜桃视频网站| 成人av午夜电影| 9191久久久久久久久久久| 欧美精品一区二区在线观看| ...中文天堂在线一区| 日韩影院精彩在线| av福利精品导航| 91精品国产综合久久久久久久 | 亚洲精品国产精品乱码不99| 亚洲成a天堂v人片| 丁香天五香天堂综合| 欧美影院一区二区| 国产喂奶挤奶一区二区三区| 中文字幕免费不卡| 免费成人av在线播放| 色94色欧美sute亚洲线路二| 精品国产区一区| 亚洲图片自拍偷拍| www.色精品| 亚洲精品一区二区精华| 日日噜噜夜夜狠狠视频欧美人| 成人中文字幕电影| 日韩精品自拍偷拍| 午夜精品福利一区二区蜜股av| 国产成人日日夜夜| 日韩精品资源二区在线| 一级日本不卡的影视| 成人激情校园春色| 久久久美女毛片| 日本va欧美va精品| 欧美日韩不卡一区| 亚洲精品欧美专区| 色综合网站在线| 亚洲欧洲美洲综合色网| 国产老肥熟一区二区三区| 这里是久久伊人| 日韩高清欧美激情| 欧美麻豆精品久久久久久| 亚洲欧美日韩综合aⅴ视频| 懂色av一区二区夜夜嗨| 久久精品人人做| 国产精品69久久久久水密桃| 精品国产1区二区| 精品在线亚洲视频| 精品日韩欧美在线| 国产在线一区二区综合免费视频| 日韩一区二区三区免费观看| 日韩av在线播放中文字幕| 欧美剧情电影在线观看完整版免费励志电影 | 精品国产三级电影在线观看| 日本美女一区二区| 日韩一级片在线播放| 视频一区中文字幕国产| 欧美日韩国产精品成人| 日韩电影网1区2区| 欧美大片免费久久精品三p| 日本视频在线一区| 日韩你懂的在线观看| 国产一区二区伦理| 中文字幕在线观看不卡视频| 91视频免费看| 亚洲一本大道在线| 欧美电影免费观看高清完整版在| 美女一区二区在线观看| 久久人人爽人人爽| 成人免费看片app下载| 亚洲欧美日韩一区二区三区在线观看 | 在线免费观看日本欧美| 五月天久久比比资源色| 精品人在线二区三区| 成人av午夜电影| 亚洲一级不卡视频| 欧美成人r级一区二区三区| 国产精品中文有码| 一区二区三区在线免费视频| 91精品国产高清一区二区三区蜜臀| 青青草国产精品97视觉盛宴| 国产日韩精品一区二区浪潮av| 91美女片黄在线观看91美女| 日韩avvvv在线播放| 日本一区二区三区四区在线视频| 91久久线看在观草草青青| 蜜桃视频在线观看一区| 国产精品第13页| 日韩一卡二卡三卡国产欧美| 从欧美一区二区三区| 午夜激情一区二区| 国产精品免费丝袜| 欧美一区二区美女| 色婷婷亚洲综合| 国产精品一卡二卡在线观看| 一区二区三区免费网站| 久久久午夜电影| 欧美亚洲高清一区| 成人av电影在线播放| 老司机精品视频导航| 亚洲欧美国产毛片在线| 久久精品一级爱片| 欧美一区二区在线不卡| 色88888久久久久久影院按摩| 国内外精品视频| 青青草97国产精品免费观看| 怡红院av一区二区三区| 国产欧美日韩卡一| 精品日产卡一卡二卡麻豆| 91超碰这里只有精品国产| 色欲综合视频天天天| 国产suv精品一区二区三区| 美腿丝袜亚洲综合| 天堂在线一区二区| 午夜不卡在线视频| 亚洲激情在线播放| 国产精品高清亚洲| 中文字幕免费一区| 欧美国产精品一区二区| 久久久亚洲国产美女国产盗摄| 91精品国产色综合久久不卡蜜臀| 日本韩国欧美在线| 色诱亚洲精品久久久久久| av在线一区二区三区| 成人在线一区二区三区| 国产盗摄精品一区二区三区在线| 久久国产综合精品| 经典三级视频一区| 国产成人午夜视频| 国产美女娇喘av呻吟久久| 韩国v欧美v亚洲v日本v| 国产精品1024| 成人综合婷婷国产精品久久 | 一区二区在线观看视频| ...xxx性欧美| 亚洲综合偷拍欧美一区色| 亚洲一区二区三区爽爽爽爽爽 | 制服丝袜中文字幕一区| 欧美日韩电影一区| 欧美一区二区三区免费大片| 91麻豆精品国产91久久久久 | 成人av免费在线| 色8久久人人97超碰香蕉987| 欧美日本一道本在线视频| 欧美日韩成人综合天天影院| 欧美日高清视频| 精品久久久影院| 综合欧美一区二区三区| 一区二区三区不卡在线观看 | 日韩视频免费直播| 26uuu另类欧美| 国产精品久久毛片a| 一区二区三区在线观看欧美| 天天操天天色综合| 国产一区二区三区电影在线观看| 成人在线视频一区二区| 91麻豆福利精品推荐| 91精品国产一区二区三区香蕉| 久久久久久久电影| 亚洲精品国产视频| 国产在线精品一区二区三区不卡| bt欧美亚洲午夜电影天堂| 7799精品视频| 国产精品视频免费| 天堂影院一区二区| av不卡在线播放| 精品日产卡一卡二卡麻豆| 亚洲免费在线看| 国产综合色产在线精品| 欧美主播一区二区三区美女| 久久精品人人做人人爽人人 | 日韩午夜在线观看| 日韩美女精品在线| 久久91精品久久久久久秒播 | 日韩av成人高清|