UNPKG

ahp-calc

Version:

AHP (Analytical Hierarchy Process) is a decision-making method that helps break down complex problems into a hierarchy of simpler comparisons. It uses pairwise comparisons and mathematical calculations to rank alternatives based on criteria.

76 lines (75 loc) 3.68 kB
import { NestedStringMatrix } from "./types"; export declare class AHPAlt { /** * Nilai Random Index (RI) berdasarkan ordo matriks. */ ri: Map<number, number>; constructor(); /** * Mengubah matriks string bertingkat (nested) menjadi matriks number. * @param matrix Matriks string atau nested matrix * @returns Matriks angka */ static convertStringMatrixToNumber(matrix: NestedStringMatrix): any; /** * Menormalisasi matriks alternatif 3D berdasarkan jumlah kolom masing-masing. * @param matrices Matriks alternatif (3D) * @returns Matriks alternatif ternormalisasi (3D) */ static normalizeMatrixAlt(matrices: number[][][]): number[][][]; /** * Menghitung total dari setiap kolom pada matriks 3D. * @param matrices Matriks angka 3D * @returns Array total dari tiap kolom untuk setiap matriks 2D dalam 3D */ static countTotalAlterEachColumn(matrices: number[][][]): number[][]; /** * Menghitung bobot prioritas (priority vector) untuk setiap alternatif dalam matriks 3D. * * Untuk setiap matriks 2D dalam matriks 3D, fungsi ini menghitung rata-rata dari setiap baris * sebagai representasi bobot lokal (eigen vector) dari alternatif terhadap setiap kriteria. * * @param normalize - matriks yg sudah di normalisasi * @returns Array 2 dimensi (number[][]) yang berisi bobot prioritas untuk setiap alternatif * dalam tiap kriteria. Dimensi: [jumlahKriteria][jumlahAlternatif] */ static calculateCriteriaWeightAlt(normalize: number[][][]): number[][]; /** * Menghitung lambda max dari array 3D dan bobot prioritasnya. * @param originalMatrix Matriks perbandingan berpasangan dalam 3D (number[][][]) * @param priorities Array 2D bobot prioritas (1D per matriks) * @returns Array nilai lambda max per matriks */ static calculateLambdaMax(originalMatrix: number[][][], priorities: number[][]): number[]; /** * Menghitung ordo dari setiap matriks 2D dalam matriks 3D. * Fungsi ini menganggap bahwa setiap matriks 2D dalam matriks 3D adalah matriks persegi. * * @param originalMatrix Matriks 3D yang berisi matriks 2D. * @returns Array ordo matriks (jumlah baris/kolom) untuk setiap matriks 2D dalam matriks 3D. */ static getMatrixOrdersForAlt(originalMatrix: number[][][]): number[]; /** * Menghitung Consistency Index (CI) untuk matriks perbandingan berpasangan 3D * berdasarkan nilai λ max yang sudah dihitung sebelumnya. * * @param {number[]} lambdaMax - Array nilai λ max untuk setiap matriks 2D dalam 3D * @param {number[]} n - Array jumlah alternatif untuk setiap matriks 2D * @returns {number[]} Array CI untuk setiap matriks 2D dalam 3D */ static calculateConsistencyIndexForAlt(lambdaMax: number[], // Array λ max n: number[]): number[]; /** * Menghitung Consistency Ratio (CR) untuk matriks perbandingan berpasangan 3D dan menentukan apakah perbandingan konsisten. * * @param {number[]}CI - Matriks 3D yang berisi nilai Consistency Index (CI) untuk tiap matriks 2D. * @param {number}RI - Array yang berisi nilai Random Index (RI) untuk tiap dimensi matriks perbandingan berpasangan. * * @returns {Array<{CR: number; isConsistent: boolean}>} - Array yang berisi objek dengan nilai CR dan status konsistensinya * untuk setiap matriks 2D dalam matriks 3D. */ static calculateConsistencyRatios(CI: number[], RI: number): { CR: number; isConsistent: boolean; }[]; }