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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 用vc實(shí)現(xiàn)解線性規(guī)劃中的單純形法問(wèn)題.txt

?? 用VC實(shí)現(xiàn)解線性規(guī)劃中的單純形法問(wèn)題.
?? TXT
字號(hào):
用VC實(shí)現(xiàn)解線性規(guī)劃中的單純形法問(wèn)題.  
 

 
發(fā)表日期:2003年6月16日    作者:pxc911  已經(jīng)有3171位讀者讀過(guò)此文 
 


這是我們運(yùn)籌學(xué)實(shí)踐題目,單純形算法作為線性規(guī)劃中的重點(diǎn),其實(shí)現(xiàn)非常重要。

現(xiàn)給出源程序,請(qǐng)各位指教:

//線性規(guī)劃的單純形法;
//C++實(shí)現(xiàn),在VC++6.0中通過(guò)

#include<stdio.h>
#include<math.h>
#include<iostream.h>
float matrix[100][100],x[100]; /* 記錄總方程的數(shù)組,解的數(shù)組 */
int a[100]; /* 記錄基礎(chǔ),非基礎(chǔ)的解的情況,0:非基礎(chǔ),1:基礎(chǔ) */
int m,n,s,type; /* 方程變量,約束數(shù),求最大最小值的類(lèi)型,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"); /* 輸入方程變量和約束數(shù) */
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]; /* 剩余變量數(shù)組,松弛變量數(shù)組,人工變量數(shù)組 */
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(); /* 基礎(chǔ)可行解 */
Print(); /* 打印 */
Result(); /* 打印結(jié)果 */
if(!Rj()) in=Min(); /* 求換入基 */
else {
if(indexg!=0) JustArtificial(); /* 判斷人工變量 */
PrintResult(); /* 打印最后結(jié)果 */
return;
}
if(Check(in)){ /* 判斷無(wú)界情況 */
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]; /* 輸入符號(hào)標(biāo)記 */
float b[100]; /* 方程右值 */
Input(b,code); /* 初始化 */
Sstart(b,code); /* 化標(biāo)準(zhǔn)型 */
Simplix(); /* 單純型算法 */
}


實(shí)驗(yàn)報(bào)告:

*********************************計(jì)算機(jī)系2000級(jí)軟件班1000432 彭小聰******************************************************
*********************************運(yùn)籌學(xué)單純形法解線性規(guī)劃問(wèn)題(C++實(shí)現(xiàn),VC6.0中通過(guò))**********************************
函數(shù)列表:
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]       記錄總方程的數(shù)組,解的數(shù)組 
int a[100]                          記錄基礎(chǔ),非基礎(chǔ)的解的情況,0:非基礎(chǔ),1:基礎(chǔ)  
int m,n,type                        方程變量,約束數(shù),求最大最小值的類(lèi)型,0:最小 1:最大  
int indexe,indexl,indexg            剩余變量,松弛變量,人工變量  

輸入提示:
equator Variable                    變量個(gè)數(shù);
Restrictor                          約束條件個(gè)數(shù);(注:這里程序默認(rèn)X(i)>0;否則對(duì)每個(gè)X(i)我們均要添加一個(gè)約束條件X(i)>0)
b[]                                 約束條件右端項(xiàng);
Restrictor code                     約束條件不等式符號(hào)編碼;(0表示<=;1表示=;2表示>=)
The XiShu                           各約束條件中X(i)對(duì)應(yīng)的系數(shù)
The Type                            Z的最優(yōu)方向(0表示MIN;1表示MAX)
The Z                               目標(biāo)函數(shù)的系數(shù)

輸入例子:
MAX Z=4X(1)+3X(2)
 S.T.  2X(1)+3X(2)<=24
       3X(1)+2X(2)<=26
       X(1),X(2)>=0
運(yùn)行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
結(jié)果輸出:
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,此時(shí)X(1)=6,X(2)=4.

實(shí)驗(yàn)成功。
 
 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡一区二区三区四区| 日日欢夜夜爽一区| 成人亚洲一区二区一| 欧美国产日韩精品免费观看| 国产成人一级电影| 日本一区二区成人| 91免费视频网| 视频在线观看91| 精品国产一区二区三区不卡 | 欧美中文字幕亚洲一区二区va在线| 亚洲激情图片一区| 91精品国产综合久久国产大片| 人人爽香蕉精品| 国产午夜精品美女毛片视频| 成人av网站免费| 一区二区三区日本| 精品国偷自产国产一区| 成人av资源站| 婷婷国产v国产偷v亚洲高清| 精品国产露脸精彩对白| 91啪亚洲精品| 另类人妖一区二区av| 国产婷婷一区二区| 在线视频一区二区三区| 久久国产夜色精品鲁鲁99| 国产精品免费丝袜| 欧美性大战久久| 高清shemale亚洲人妖| 一区二区三区精品视频| 精品日韩欧美一区二区| 99久久精品费精品国产一区二区| 亚洲国产精品综合小说图片区| 精品噜噜噜噜久久久久久久久试看| 成人h动漫精品一区二| 男人的天堂亚洲一区| 国产精品―色哟哟| 欧美三级中文字幕在线观看| 国产成人精品三级麻豆| 五月天中文字幕一区二区| 欧美激情一区二区| 日韩欧美一区二区免费| 91小视频在线观看| 精品伊人久久久久7777人| 日韩美女视频19| 久久精品视频在线看| 欧美二区乱c少妇| 99久久久精品| 国产一区二区三区免费在线观看| 亚洲成a人片在线观看中文| 国产日韩欧美综合在线| 欧美v日韩v国产v| 欧美视频一区二| 97久久精品人人做人人爽50路| 国产在线看一区| 午夜亚洲福利老司机| 亚洲乱码中文字幕| 久久精品夜夜夜夜久久| 精品三级在线看| 欧美日韩成人综合在线一区二区| 91麻豆国产精品久久| 国产大陆亚洲精品国产| 精品一区二区三区蜜桃| 日韩成人精品在线| 亚洲国产美国国产综合一区二区| 亚洲桃色在线一区| 国产精品久久久久一区| 国产日韩欧美高清| 久久免费看少妇高潮| 精品国产一区二区精华| 精品少妇一区二区三区免费观看 | 国产欧美一二三区| 欧美va在线播放| 日韩精品一区二区三区视频| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲高清免费观看 | 美女一区二区视频| 免费成人av在线播放| 蜜桃av噜噜一区| 视频一区二区欧美| 人人超碰91尤物精品国产| 天堂一区二区在线| 日韩精品亚洲专区| 男女性色大片免费观看一区二区| 日韩精品亚洲一区二区三区免费| 日精品一区二区三区| 亚洲6080在线| 麻豆精品在线播放| 国产福利电影一区二区三区| 国产成人在线观看| 91丨porny丨中文| 欧美专区亚洲专区| 欧美绝品在线观看成人午夜影视| 91麻豆精品国产91久久久更新时间 | 色www精品视频在线观看| 色婷婷综合激情| 欧美精品久久99| 精品国产网站在线观看| 久久精品综合网| 日韩理论片在线| 亚洲bt欧美bt精品777| 激情成人综合网| 夫妻av一区二区| 在线免费观看日韩欧美| 欧美一区二区日韩| 国产清纯白嫩初高生在线观看91| 亚洲欧美色综合| 日日骚欧美日韩| 丁香婷婷综合色啪| 欧美在线三级电影| 久久久一区二区| 一区二区三区四区乱视频| 免费三级欧美电影| 成人国产视频在线观看| 欧美午夜精品一区| 久久久久久久综合狠狠综合| 亚洲男同性恋视频| 久久机这里只有精品| 91色porny| 亚洲精品一线二线三线无人区| 中文字幕在线视频一区| 亚洲成人资源在线| 成人免费av资源| 91精品国产一区二区三区香蕉| 亚洲国产精品ⅴa在线观看| 亚洲成人免费在线| eeuss国产一区二区三区| 制服丝袜国产精品| 成人欧美一区二区三区小说 | 麻豆91在线看| 91网页版在线| 久久先锋影音av鲁色资源| 亚洲v中文字幕| 97久久精品人人做人人爽50路| 精品少妇一区二区三区 | 免费成人av资源网| 色欧美片视频在线观看| 男女男精品网站| 91麻豆蜜桃一区二区三区| 欧美成人性战久久| 亚洲成人自拍一区| 色爱区综合激月婷婷| 国产欧美日韩一区二区三区在线观看| 午夜国产不卡在线观看视频| aaa欧美大片| 中文字幕精品一区二区精品绿巨人| 免费不卡在线视频| 在线不卡一区二区| 亚洲激情在线激情| 成人国产电影网| 久久久亚洲精华液精华液精华液| 美日韩一级片在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲精品久久久久久国产精华液| 国产成人综合网站| 国产视频视频一区| 国内精品嫩模私拍在线| 日韩精品中文字幕在线一区| 日韩电影一二三区| 6080国产精品一区二区| 亚洲成av人在线观看| 91高清在线观看| 亚洲国产色一区| 在线免费av一区| 亚洲一区二区三区四区在线观看 | 天天做天天摸天天爽国产一区| 一道本成人在线| 最新成人av在线| 99国产精品视频免费观看| 中文字幕欧美一区| 91亚洲精品久久久蜜桃| 日韩理论片网站| 色哦色哦哦色天天综合| 亚洲一区二区三区视频在线播放| 91久久精品国产91性色tv| 亚洲午夜精品在线| 欧美天天综合网| 亚洲一区二区精品3399| 欧美日韩精品欧美日韩精品一| 亚洲高清免费视频| 日韩欧美视频在线| 国产自产高清不卡| 国产精品视频免费看| 91尤物视频在线观看| 一区二区三区在线观看网站| 欧美日韩国产欧美日美国产精品| 视频在线观看一区二区三区| 日韩免费电影网站| 国产91在线观看| 亚洲精品国产高清久久伦理二区| 欧美在线你懂得| 极品美女销魂一区二区三区| 久久精品夜夜夜夜久久| 色偷偷88欧美精品久久久| 三级欧美在线一区| 国产日本欧美一区二区| 色视频成人在线观看免| 毛片av中文字幕一区二区| 中文字幕不卡在线播放| 欧美日韩在线精品一区二区三区激情| 五月天国产精品|