public string GetReport() { eqCount = Xb.M; string s = GetSimplexTablePart(); try { s += "<P>Значение целевой функции "; s += "F = " + GetFuncValue().ToString() + "</P>"; s += "<P>Базисное решение"; s += GetBasisDecision() + "</P>"; s += "<P>Базисные переменные: "; for (int i = 0; i < eqCount; i++) { s += "x<SUB>" + basInd[i].ToString() + "</SUB> "; } s += "</P>"; s += "<P>Матрица C<SUB>b</SUB>"; s += Cb.ToHtml() + "</P>"; s += "<P>Матрица B<SUP>-1</SUP>"; s += Binv.ToHtml() + "</P>"; s += "<P>Матрица γ"; s += gamma.ToHtml() + "</P>"; s += "<P>Матрица разностей z<SUB>i</SUB> - c<SUB>i</SUB>"; s += zc.ToHtml() + "</P>"; s += "<P>Вектор базисных решений X<SUB>b</SUB>"; s += Xb.ToHtml() + "</P>"; if (isDecisionLegal) { s += "<P>Базисное решение является допустимым</P>"; } else { s += "<P>Базисное решение является недопустимым</P>"; } if (basIndex < 0) { throw new Exception(); } s += "<P>Выводим из базиса переменную x<SUB>" + basIndex.ToString() + "</SUB></P>"; s += "<P>Матрица α"; s += alpha.ToHtml() + "</P>"; int eqNum = eqIndex + 1; s += "<P>Минимальное отношение θ = " + theta.ToString() + "</P>"; s += "<P>Выводим из базиса переменную x<SUB>" + oldIndex.ToString() + "</SUB> из уравнения номер " + eqNum.ToString() + "</P>"; s += "<P>Ведущий элемент α<SUB>r</SUB> = " + alphar.ToString() + "</P>"; s += "<P>Матрица ξ"; s += xi.ToHtml() + "</P>"; s += "<P>Матрица B<SUP>-1</SUP><SUB>next</SUB>"; s += BinvNext.ToHtml() + "</P>"; } catch { } return(s); }
public string GetReport() { eqCount = Xb.M; string s = GetSimplexTablePart(); try { s += "<P>Значение целевой функции "; s += "F = " + GetFuncValue().ToString() + "</P>"; s += "<P>ВСПОМОГАТЕЛЬНЫЕ ПЕРЕМЕННЫЕ</P>"; s += "<P>Базисное решение" + GetBasisDecision() + "</P>"; s += "<P>Базисные переменные: "; for (int i = 0; i < eqCount; i++) { s += "y<SUB>" + basInd[i].ToString() + "</SUB> "; } s += "</P>"; s += "<P>ИСХОДНЫЕ ПЕРЕМЕННЫЕ</P>"; s += "<P>Текущие значения исходных переменных:</P>"; int varCountMinOne = varCount - 1; for (int i = 0; i < varCount - 1; i++) { s += "<P>x<SUB>" + i.ToString() + "</SUB>" + " = y<SUB>" + i.ToString() + "</SUB>" + " / y<SUB>" + varCountMinOne.ToString() + "</SUB> = "; if (GetVarValue(varCount - 1) == 0) { s += "не определено"; } else { s += Math.Round(GetVarValue(i) / GetVarValue(varCount - 1), 5) + "</P>"; } } return(s); s += "<P>Матрица C<SUB>b</SUB>"; s += Cb.ToHtml() + "</P>"; s += "<P>Матрица B<SUP>-1</SUP>"; s += Binv.ToHtml() + "</P>"; s += "<P>Матрица γ"; s += gamma.ToHtml() + "</P>"; s += "<P>Матрица разностей z<SUB>i</SUB> - c<SUB>i</SUB>"; s += zc.ToHtml() + "</P>"; s += "<P>Вектор базисных решений X<SUB>b</SUB>"; s += Xb.ToHtml() + "</P>"; if (isDecisionLegal) { s += "<P>Базисное решение является допустимым</P>"; } else { s += "<P>Базисное решение является недопустимым</P>"; } if (basIndex < 0) { throw new Exception(); } s += "<P>Выводим из базиса переменную x<SUB>" + basIndex.ToString() + "</SUB></P>"; s += "<P>Матрица α"; s += alpha.ToHtml() + "</P>"; int eqNum = eqIndex + 1; s += "<P>Минимальное отношение θ = " + theta.ToString() + "</P>"; s += "<P>Выводим из базиса переменную x<SUB>" + oldIndex.ToString() + "</SUB> из уравнения номер " + eqNum.ToString() + "</P>"; s += "<P>Ведущий элемент α<SUB>r</SUB> = " + alphar.ToString() + "</P>"; s += "<P>Матрица ξ"; s += xi.ToHtml() + "</P>"; s += "<P>Матрица B<SUP>-1</SUP><SUB>next</SUB>"; s += BinvNext.ToHtml() + "</P>"; } catch { } return(s); }