单纯形法求解线性规划的步骤
单纯形法求解线性规划的步骤
1> 初始化
将给定的线性规划问题化成标准形式,并建立一个初始表格,它最右边的单元格都是非负的(否则无解),接下来的m列组成一个m*m的单元矩阵(目标行的单元e maxItem=fabs(GetItem(rowLen-1,count));
int index_col;
for(i=0;i<colLen-1;i++)
{
double
temp=GetItem(rowLen-1,i);
if(temp<0)
{
if(maxItem<=fabs(temp))
{
maxItem=fabs(temp);
index_col=i;
}
}
}
return index_col;
}
int SimpleMatrix::DepartRow(int col)
{
int index_row;
int count=0;
for(int i=0;i<rowLen;i++)
{
if(data[i][col]<0)
count++;
else
break;
}
double minItem=data[count][colLen-1]/data[count][col];
index_row=count;
double temp;
for(i=0;i<rowLen-1;i++)
{
temp=data[i][col];
if(temp>0)
{
temp=data[i][colLen-1]/temp;
if(temp<minItem)
{
minItem=temp;
index_row=i;
}
}
}
return index_row;
}
void SimpleMatrix::MainItem_To_1(int row,int col)
{
double temp=GetItem(row,col);
//double temp=data[row-1][col-1];
for (int i=0;i<colLen;i++)
{
data[row][i]/=temp;
}
}
void SimpleMatrix::SubMatrixLine(int row1,int row2,int col)
{
double
temp=GetItem(row1,col);
//double temp=data[row1-1][col-1];
double*tempLine=n
单纯形法求解线性规划的步骤 来自淘豆网m.daumloan.com转载请标明出处.