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

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

?? vc_simply.txt

?? 單純形優化算法的VC實現
?? TXT
字號:
//線性規劃的單純形法;

  //C++實現,在VC++6.0中通過

  #include<stdio.h>

  #include<math.h>

  #include<iostream.h>

  floatmatrix[100][100],x[100];/*記錄總方程的數組,解的數組*/

  inta[100];/*記錄基礎,非基礎的解的情況,0:非基礎,1:基礎*/

  intm,n,s,type;/*方程變量,約束數,求最大最小值的類型,0:最小1:最大*/

  intindexe,indexl,indexg;/*剩余變量,松弛變量,人工變量*/

  voidJckxj()

  {

  inti,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;

  }

  intRj()

  {

  inti;

  for(i=0;i<s;i++)

  if(fabs(matrix[n][i])>=0.000001)

  if(matrix[n][i]<0)return0;

  return1;

  }

  intMin()

  {

  inti,temp=0;

  floatmin=matrix[n][0];

  for(i=1;i<s;i++)

  if(min>matrix[n][i]){

  min=matrix[n][i];

  temp=i;

  }

  returntemp;

  }

  voidJustArtificial()

  {

  inti;

  for(i=m+indexe+indexl;i<s;i++)

  if(fabs(x[i])>=0.000001){

  printf("NoAnswer\n");

  return;

  }

  }

  intCheck(intin)

  {

  inti;

  floatmax1=-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)

  return1;

  return0;

  }

  intSearchOut(int*temp,intin)

  {

  inti;

  floatmin=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)returni;

  }

  voidMto(intin,inttemp)

  {

  inti;

  for(i=0;i<=s;i++)

  if(i!=in)

  matrix[temp][i]=matrix[temp][i]/matrix[temp][in];

  matrix[temp][in]=1;

  }

  voidBe(inttemp,intin)

  {

  inti,j;

  floatc;

  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;

  }

  }

  voidAchange(intin,intout)

  {

  inttemp=a[in];

  a[in]=a[out];

  a[out]=temp;

  }

  voidPrint()

  {

  inti,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");

  }

  voidInitPrint()

  {

  inti;

  printf("X");

  for(i=0;i<s;i++)

  printf("a%d",i);

  printf("b\n");

  Print();

  printf("\n");

  }

  voidResult()

  {

  inti;

  printf("(");

  for(i=0;i<s;i++)

  printf("%8.2f",x[i]);

  printf(")");

  if(type==1)

  printf("Zmax=%f\n\n",matrix[n][s]);

  elseprintf("Zmin=%f\n\n",matrix[n][s]);

  }

  voidPrintResult()

  {

  if(type==0)printf("TheMinimal:%f\n",-matrix[n][s]);

  elseprintf("TheMaximum:%f\n",matrix[n][s]);

  }

  voidMerge(floatnget[][100],floatnlet[][100],floatnet[][100],floatb[])

  {

  inti,j;

  for(i=0;i<n;i++){

  for(j=m;j<m+indexe;j++)

  if(nget[i][j-m]!=-1)matrix[i][j]=0;

  elsematrix[i][j]=-1;

  for(j=m+indexe;j<m+indexe+indexl;j++)

  if(nlet[i][j-m-indexe]!=1)matrix[i][j]=0;

  elsematrix[i][j]=1;

  for(j=m+indexe+indexl;j<s;j++)

  if(net[i][j-m-indexe-indexl]!=1)matrix[i][j]=0;

  elsematrix[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;

  }

  voidProcessA()

  {

  inti;

  for(i=0;i<m+indexe;i++)

  a[i]=0;

  for(i=m+indexe;i<s;i++)

  a[i]=1;

  }

  voidInput(floatb[],intcode[])

  {

  inti=0,j=0;

  printf("TheequatorVariableandRestrictor\n");/*輸入方程變量和約束數*/

  cin>>m>>n;

  for(i=0;i<n;i++){

  printf("Inputb[]andRestrictorcode0:<=1:=2:>=\n");/*輸入方程右邊的值,code的值*/

  cin>>b[i]>>code[i];

  printf("TheXiShu\n");

  for(j=0;j<m;j++)

  cin>>matrix[i][j];/*輸入方程*/

  }

  printf("TheType0:Min1:Max\n");/*輸入求最大值還是最小值*/

  do{

  cin>>type;

  if(type!=0&&type!=1)printf("Error,ReInput\n");

  }while(type!=0&&type!=1);

  printf("TheZ\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];

  }

  voidXartificial()

  {

  inti,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;

  }

  }

  }

  }

  voidProcess(floatc[][100],introw,intvol)

  {

  inti;

  for(i=0;i<n;i++)

  if(i!=row)c[i][vol]=0;

  }

  voidSstart(floatb[],intcode[])

  {

  inti;

  floatnget[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();/*消去人工變量*/

  }

  voidSimplix()/*單純型算法*/

  {

  intin,out,temp=0;

  while(1){

  Jckxj();/*基礎可行解*/

  Print();/*打印*/

  Result();/*打印結果*/

  if(!Rj())in=Min();/*求換入基*/

  else{

  if(indexg!=0)JustArtificial();/*判斷人工變量*/

  PrintResult();/*打印最后結果*/

  return;

  }

  if(Check(in)){/*判斷無界情況*/

  printf("NoDelimition\n");

  return;

  }

  out=SearchOut(&temp,in);/*求換出基*/

  Mto(in,temp);/*主元化1*/

  Be(temp,in);/*初等變換*/

  Achange(in,out);/*改變a[]的值*/

  }

  }

  voidmain()

  {

  intcode[100];/*輸入符號標記*/

  floatb[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

  變量:

  floatmatrix[100][100],x[100]記錄總方程的數組,解的數組

  inta[100]記錄基礎,非基礎的解的情況,0:非基礎,1:基礎

  intm,n,type方程變量,約束數,求最大最小值的類型,0:最小1:最大

  intindexe,indexl,indexg剩余變量,松弛變量,人工變量

  輸入提示:

  equatorVariable變量個數;

  Restrictor約束條件個數;(注:這里程序默認X(i)>0;否則對每個X(i)我們均要添加一個約束條件X(i)>0)

  b[]約束條件右端項;

  Restrictorcode約束條件不等式符號編碼;(0表示<=;1表示=;2表示>=)

  TheXiShu各約束條件中X(i)對應的系數

  TheTypeZ的最優方向(0表示MIN;1表示MAX)

  TheZ目標函數的系數

  輸入例子:

  MAXZ=4X(1)+3X(2)

  S.T.2X(1)+3X(2)<=24

  3X(1)+2X(2)<=26

  X(1),X(2)>=0

  運行1000432.exe

  TheequatorVariableandRestrictor:

  22

  Inputb[]andRestrictorcode0:<=1:=2:>=

  240

  TheXiShu

  23

  Inputb[]andRestrictorcode0:<=1:=2:>=

  260

  TheXiShu

  32

  TheType0:Min1:Max

  1

  TheZ

  43

  結果輸出:

  Xa0a1a2a3b

  X22.003.001.000.0024.00

  X33.002.000.001.0026.00

  Rj-4.00-3.000.000.000.00

  X22.003.001.000.0024.00

  X33.002.000.001.0026.00

  Rj-4.00-3.000.000.000.00

  (0.000.0024.0026.00)Zmax=0.000000

  X00.001.671.00-0.676.67

  X21.000.670.000.338.67

  Rj0.00-0.330.001.3334.67

  (8.670.006.670.00)Zmax=34.666668

  X00.001.000.60-0.404.00

  X11.000.00-0.400.606.00

  Rj0.000.000.201.2036.00

  (6.004.000.000.00)Zmax=36.000000

  TheMaximum:36.000000

  從而可知:MAXZ=36,此時X(1)=6,X(2)=4.

  實驗成功。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久丝袜美腿综合| 亚洲视频一区在线观看| 欧美少妇一区二区| 欧美精品日韩综合在线| 欧美日韩三级一区二区| 欧美日韩在线电影| 日韩一区二区在线看| 日韩一级黄色大片| 精品国产乱码91久久久久久网站| 日韩欧美一区二区视频| www久久久久| 亚洲视频精选在线| 日韩一区欧美二区| 国产麻豆精品视频| 色噜噜狠狠一区二区三区果冻| 色吊一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 亚洲精品在线电影| 亚洲人一二三区| 日本欧美一区二区在线观看| 国产美女娇喘av呻吟久久| 成人18精品视频| 欧美群妇大交群中文字幕| 久久美女艺术照精彩视频福利播放| 中文字幕av一区二区三区免费看| 亚洲欧美经典视频| 久久精品国产99国产| 99精品视频一区二区| 欧美精品在线观看播放| 中文字幕国产一区二区| 亚洲电影激情视频网站| 国产91丝袜在线18| 欧美精品777| 亚洲欧洲一区二区三区| 黄色资源网久久资源365| 91啪九色porn原创视频在线观看| 欧美草草影院在线视频| 亚洲激情自拍偷拍| 国产成人综合亚洲网站| 欧美日韩国产天堂| 成人免费一区二区三区视频| 裸体一区二区三区| 色综合久久中文综合久久牛| 精品国产乱码久久久久久影片| 亚洲精品国久久99热| 成人一区二区三区视频在线观看| 7777精品伊人久久久大香线蕉经典版下载| 国产日韩欧美激情| 毛片一区二区三区| 欧美日韩国产一二三| 亚洲欧美激情一区二区| 成人综合婷婷国产精品久久蜜臀| 91麻豆精品国产自产在线观看一区| 国产精品不卡一区| 国产精品1区2区3区| 日韩一区国产二区欧美三区| 亚洲综合图片区| 色综合久久88色综合天天6| 欧美韩国一区二区| 国产成人aaa| 久久综合久久综合久久| 免费成人av在线| 欧美一区二区三区啪啪| 三级影片在线观看欧美日韩一区二区 | 国产精品无圣光一区二区| 久久av资源站| 精品成a人在线观看| 精品一区二区影视| 精品久久国产97色综合| 免费日韩伦理电影| 日韩欧美激情四射| 九九**精品视频免费播放| 欧美刺激午夜性久久久久久久| 亚洲电影激情视频网站| 8x福利精品第一导航| 亚洲电影一区二区| 欧美一级欧美三级| 国内精品伊人久久久久av影院 | 国产精品婷婷午夜在线观看| 香蕉影视欧美成人| 91福利国产精品| 一区二区免费视频| 欧美性猛交xxxxxx富婆| 亚洲v中文字幕| 日韩一区二区免费在线电影| 另类调教123区| 国产清纯在线一区二区www| 成人精品视频一区| 亚洲综合免费观看高清在线观看| 色婷婷精品久久二区二区蜜臂av| 亚洲狠狠爱一区二区三区| 欧美精品免费视频| 国产精品一区二区久久精品爱涩 | 亚洲人成精品久久久久| 欧美日韩国产小视频在线观看| 免费成人av资源网| 国产精品剧情在线亚洲| 在线观看亚洲一区| 九九视频精品免费| 国产精品久久精品日日| 欧美巨大另类极品videosbest| 精品在线一区二区三区| 亚洲日本乱码在线观看| 日韩午夜激情电影| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 亚洲成人动漫在线免费观看| 99国产精品99久久久久久| 91丝袜美女网| 亚洲另类在线制服丝袜| 日韩免费视频一区二区| av电影在线不卡| 人人狠狠综合久久亚洲| 中文字幕+乱码+中文字幕一区| 欧美性做爰猛烈叫床潮| 国产主播一区二区三区| 亚洲精品欧美二区三区中文字幕| 日韩亚洲欧美在线观看| 91香蕉视频在线| 国产在线精品一区二区不卡了| 亚洲综合小说图片| 日韩电影在线一区二区三区| 日韩视频123| 成人高清伦理免费影院在线观看| 午夜一区二区三区视频| 国产精品久久久久精k8| 精品噜噜噜噜久久久久久久久试看 | 国产一区三区三区| 婷婷中文字幕综合| 一区二区三区电影在线播| 国产精品日韩成人| 久久日韩精品一区二区五区| 欧美日韩综合一区| 日本韩国一区二区三区视频| 国产成人综合自拍| 国产麻豆欧美日韩一区| 美美哒免费高清在线观看视频一区二区 | 欧美天堂一区二区三区| 国产成人精品综合在线观看| 日韩中文字幕一区二区三区| 1024精品合集| 欧美国产一区二区在线观看| 欧美α欧美αv大片| 日韩手机在线导航| 日韩亚洲欧美高清| 91精品国产综合久久久久久漫画 | 岛国精品一区二区| 国产一区二区三区四区五区美女| 日本不卡一区二区| 日韩电影一区二区三区四区| 视频一区二区欧美| 欧美a一区二区| 日本视频中文字幕一区二区三区| 天天射综合影视| 一本到三区不卡视频| 粉嫩久久99精品久久久久久夜| 国产在线视视频有精品| 久久99国产精品久久| 国内欧美视频一区二区| 国产一区二区网址| 成人黄色片在线观看| 一本一本大道香蕉久在线精品 | 欧美96一区二区免费视频| 精品一区二区成人精品| 国内成+人亚洲+欧美+综合在线| 久久99精品国产麻豆不卡| 一区二区三区电影在线播| 亚洲一区二区三区自拍| 日韩高清欧美激情| 国产一区二区三区观看| 9久草视频在线视频精品| 色综合久久综合网欧美综合网| 欧美三电影在线| 欧美成人伊人久久综合网| 2022国产精品视频| 美国欧美日韩国产在线播放| 美国毛片一区二区三区| 国产成人在线色| 不卡的av网站| 欧美日韩三级在线| 国产午夜亚洲精品羞羞网站| 综合久久给合久久狠狠狠97色| 性做久久久久久久免费看| 国产精品自在欧美一区| 91黄色小视频| 久久婷婷色综合| 亚洲国产视频在线| 国产精品99精品久久免费| 91色九色蝌蚪| 久久青草欧美一区二区三区| 亚洲欧美另类综合偷拍| 国产在线精品免费av| 欧美在线视频全部完| 久久久久久亚洲综合影院红桃 | 久久综合九色综合欧美98| 亚洲男人的天堂在线aⅴ视频| 麻豆精品视频在线观看免费| 91小视频在线观看| 国产午夜精品在线观看| 五月婷婷激情综合| 成人小视频在线|