private PairwiseComparisonSolution IntervalPreferenceProgramming(IntervalPairwiseComparisonMatrix matrix) { int n = matrix.Size; int m = n * (n - 1); int k = 0; double[,] R = new double[n * (n - 1), n]; for (int i = 0; i < n - 1; i++) { for (int j = 1; j < n; j++) { if (i >= j) { continue; } R[k, i] = 1; R[k, j] = -matrix[i, j].UpperLimit; R[k + 1, i] = -1; R[k + 1, j] = matrix[i, j].LowerLimit; k++; k++; } } double[] weights = _engine.IntervalPreferenceProgramming(R, _admissionParameters); return(new PairwiseComparisonSolution() { ConsistencyIndex = weights[0], Weights = weights.Skip(1).ToArray() }); }
public IntervalPreferenceProgrammingSolution(IntervalPairwiseComparisonMatrix matrix, double[] weights, double consistencyIndex) { _matrix = matrix; _weights = weights; _consistencyIndex = consistencyIndex; }