calculateSawResult method
Calculates the final SAW results from a decision matrix.
This method performs the complete SAW calculation:
- Validates input values
- Normalizes the matrix
- Calculates weighted scores
- Ranks alternatives
Parameters:
matrix: The decision matrix containing ratings for all alternatives
Returns: A ranked list of SawResult objects
Throws:
- Exception if matrix is empty or contains invalid values
Implementation
@override
Future<List<SawResult>> calculateSawResult({
required List<SawMatrix> matrix,
}) async {
startPerformanceProfiling('Combined all method SAW algorithm');
try {
await _validateMaxInputValue(matrix);
final normalized = await _normalizeMatrix(matrix);
final result = await _calculateSawScore(normalized);
return result;
} catch (e) {
rethrow;
} finally {
endPerformanceProfiling('Combined all method SAW algorithm');
}
}