private Vector getCurVector() { Vector v = new Vector(); for (int i = 0; i < _matrix.N - 1; i++) { v.addVar(_matrix[i, 0], _function.getName(_basis[i])); } return v; }
private void addDualProblem() { Vector v = new Vector(); int count = 1; //сначала переберем все балансовые переменные for (int i=1; i<_function.Length; i++) { string name = _function.getName(i); if (name[0] == '_' && _function[i] == 0) //балансовая { v.addVar(_matrix[_matrix.N - 1, i], "_y" + count.ToString()); count++; } } if (count < _limits.Count) //если не хватает переменных, то хапаем с начала { int i = 1; while (count < _limits.Count) { v.addVar(_matrix[_matrix.N - 1, i], "_y" + count.ToString()); i++; count++; } } _dual_problem.Add(v); }