• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: C/C++
  • 标签: C++  单纯形法  simplex  

资源简介

C++实现的单纯形法计算程序,输入变量规模自动生成问题然后解出来

资源截图

代码片段和文件信息

#ifndef _IOSTREAM_
#include
#endif

#ifndef _IOMANIP_
#include
#endif
#include

#include

using namespace std;

#include“matrix.h“

#define MAX 10
#define MIN 0.001

int main(){
int ij;
int mn;
timeb t1t2;
srand(time(0));
cout<<“Num. of the Variables:“;
cin>>m;
cin.get();
n = 2 * m;
cout<<“m=“< double **matrix = new double * [m+1];
for (i = 0 ; i < m ; i ++)
{
matrix[i] = new double[n+1];
for (j = 0 ; j < n + 1 ; j ++ )
{
if( j < m )
matrix[i][j] = double(MAX * rand() / (RAND_MAX+1));
else if( j == n )
matrix[i][j] = MIN + double( (MAX-MIN) * rand() / (RAND_MAX+1));
else if(j == m + i)
matrix[i][j] = 1;
else 
matrix[i][j] = 0;
}
}
matrix[m] = new double[n+1];
for (int j = 0 ; j < n+1 ; j ++ )
{
matrix[m][j] = (j < m )?double(0 - (rand() % MAX)):0.0;
}

cout.precision(6);
cout.setf(ios_base::leftios_base::adjustfield);
if(m<50)
{
for (i = 0 ; i < m + 1 ; i ++)
{
for (j = 0 ; j < n + 1 ; j ++ )
{
cout< }
cout< }
}

Matrix Solver(matrixmn);
bool isSolved= true;
ftime(&t1);
try
{
Solver.solve();
}catch(int)
{
isSolved = false;
}
ftime(&t2);

cout<<“Takes “<<(1000*t2.time+t2.millitm)-(1000*t1.time+t1.millitm)<<“ ms to solve“<
if(m<50)
{
if(isSolved)
Solver.PrintAns();
else
;
}

cout<<“Press any key to continue...“< cin.get();
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1566  2011-12-10 12:59  src\main.cpp

     文件       3238  2011-12-10 12:14  src\matrix.cpp

     文件        603  2011-12-10 10:44  src\matrix.h

     目录          0  2006-01-01 04:13  src

----------- ---------  ---------- -----  ----

                 5407                    4


评论

共有 条评论