AHP Weighting
Use the AHP (Analytic Hierarchy Process) to determine scoring-dimension weights, outputting a weight vector.
HARD-GATE
Pipeline
- Precondition check: verify the dimension list is non-empty and its count is in the range [2, 9]
- Dimension list confirmation: output the dimension list for the caller to confirm; if a comparison matrix is already provided, skip to step 4
- Pairwise comparison matrix construction: for each pair of dimensions (i, j) assign a Saaty scale value (1-9); the matrix must satisfy a[j][i] = 1/a[i][j]
- Eigenvector computation: normalize each column then take row means to obtain the priority vector (weights)
- Consistency ratio check: compute the largest eigenvalue λ_max → consistency index CI = (λ_max - n)/(n-1) → CR = CI/RI (look up the Saaty RI table); CR < 0.1 is acceptable
- Output: return the AHPWeights object; if CR > 0.1 attach revision suggestions
Output Format
{
"dimensions": ["importance", "feasibility", "novelty", "impact"],
"comparison_matrix": [[1, 3, 2, 2], [0.33, 1, 0.5, 0.5], [0.5, 2, 1, 1], [0.5, 2, 1, 1]],
"weights": { "importance": 0.40, "feasibility": 0.15, "novelty": 0.23, "impact": 0.22 },
"lambda_max": 4.02,
"ci": 0.007,
"ri": 0.90,
"cr": 0.008,
"cr_acceptable": true,
"warnings": [],
"revision_suggestions": []
}
1---2name: ahp-weighting3description: SOP: Use the AHP (Analytic Hierarchy Process) to determine scoring-dimension weights, outputting a weight vector4---56# AHP Weighting78Use the AHP (Analytic Hierarchy Process) to determine scoring-dimension weights, outputting a weight vector.910## HARD-GATE1112<HARD-GATE>13- The number of input dimensions must be in the range [2, 9] (AHP applicability range)14- The elements of the output weight vector must sum to 1.0 (±0.001 tolerance allowed)15- The consistency ratio CR must be computed and reported; if CR > 0.1 a warning must be flagged16</HARD-GATE>1718## Pipeline19201. **Precondition check**: verify the dimension list is non-empty and its count is in the range [2, 9]212. **Dimension list confirmation**: output the dimension list for the caller to confirm; if a comparison matrix is already provided, skip to step 4223. **Pairwise comparison matrix construction**: for each pair of dimensions (i, j) assign a Saaty scale value (1-9); the matrix must satisfy a[j][i] = 1/a[i][j]234. **Eigenvector computation**: normalize each column then take row means to obtain the priority vector (weights)245. **Consistency ratio check**: compute the largest eigenvalue λ_max → consistency index CI = (λ_max - n)/(n-1) → CR = CI/RI (look up the Saaty RI table); CR < 0.1 is acceptable256. **Output**: return the AHPWeights object; if CR > 0.1 attach revision suggestions2627## Output Format2829```json30{31 "dimensions": ["importance", "feasibility", "novelty", "impact"],32 "comparison_matrix": [[1, 3, 2, 2], [0.33, 1, 0.5, 0.5], [0.5, 2, 1, 1], [0.5, 2, 1, 1]],33 "weights": { "importance": 0.40, "feasibility": 0.15, "novelty": 0.23, "impact": 0.22 },34 "lambda_max": 4.02,35 "ci": 0.007,36 "ri": 0.90,37 "cr": 0.008,38 "cr_acceptable": true,39 "warnings": [],40 "revision_suggestions": []41}42```43</output>