Maritime Science Life

Calculations with context

FAHP fuzzy criterion-weight calculator

Explore geometric means, fuzzy weights and centroid defuzzification for triangular fuzzy comparisons of two to six criteria.

From imprecise judgments to explicit weights

Compare 2–6 criteria with positive triangular fuzzy numbers. Follow every arithmetic step, inspect contradictions in the modal judgments, and see how changing the input spread affects the final weights.

Implemented variant: triangular-fuzzy row geometric mean, reciprocal-sum fuzzy weights, centroid defuzzification, then crisp normalization. The weighting steps follow Ayhan (2013), section 3, steps 4–7. This is a specified later implementation in the geometric-mean family associated with Buckley; it is not presented as an exact reproduction of Buckley’s original 1985 method.

Synthetic maritime maintenance example

An invented teaching team is discussing the criteria for prioritizing maintenance studies: safety impact, service continuity and maintenance resources. Its three hypothetical judgments are (2, 3, 4), (4, 5, 6) and (1, 2, 3). These numbers are not observations from a vessel or an expert survey. The output weights the criteria only; no equipment, maintenance action or vessel is ranked.

A triangular judgment and the path to crisp criterion weightsA membership triangle has endpoints l and u and a peak m with membership 1. A separate process flow goes from reciprocal comparisons to row geometric means, approximate fuzzy weights, centroid values and normalized weights.Membership μ(x)10lmuJudgment ratio xReciprocal comparisonsRow geometric meansFuzzy weight triplesCentroid → normalizationCrisp weights: sum = 1
A triangular judgment and the path to crisp criterion weights
Define the comparison matrix

aᵢⱼ means the importance of criterion i relative to criterion j. A value above 1 favors i; below 1 favors j. l and u are the support endpoints, while m has full membership. They are not measured minimum/maximum values or probability quantiles. Inputs are dimensionless.

Enter finite values with 10⁻¹² ≤ l ≤ m ≤ u ≤ 10¹². These are software bounds, not a recommended judgment scale. Use a decimal point or comma and no thousands separators. Values outside the bounds or unordered triples are rejected, never reordered or clipped.

Enter the upper triangle only. The diagonal is fixed at (1, 1, 1); the lower triangle is generated as (1/u, 1/m, 1/l). Added criteria start with equal comparisons (1, 1, 1); review them before calculating. Reducing the count hides extra fields without deleting their values.

C1 / C2
C1 / C3
C2 / C3

One matrix is used here. It represents a single decision maker or a previously agreed matrix. The tool does not collect or combine multiple experts. If you aggregate externally, document the participants, weights and rule; geometric aggregation of each corresponding component can preserve reciprocal structure (Meixner, 2009, equation 9), whereas averaging both directions independently need not do so.

Inputs and CSV creation stay in this page. No calculator data is sent or stored persistently. Downloads happen only on an explicit button click.

Trace the current result

The method and worked example remain readable without JavaScript. Interactive controls are disabled until initialization.

Symbols and arithmetic assumptions

Symbols and arithmetic assumptions
SymbolMeaning
n; i, j, kNumber of criteria and their indices.
ãᵢⱼ = (lᵢⱼ, mᵢⱼ, uᵢⱼ)Positive triangular comparison of criterion i against j.
μ(x)Membership degree from 0 to 1; not a probability density.
r̃ᵢ = (rᵢL, rᵢM, rᵢU)Componentwise row geometric mean.
Sᴸ, Sᴹ, SᵁSums of the lower, modal and upper row-mean components.
w̃ᵢ = (wᵢL, wᵢM, wᵢU)Approximate triangular fuzzy weight before defuzzification.
dᵢ; pᵢCentroid value; final normalized crisp weight.
s; ΔpᵢLog-spread scenario multiplier; difference from the current pᵢ.

For l < m < u, μ(x) rises linearly from 0 at l to 1 at m, then falls linearly to 0 at u. Outside [l, u] it is 0. Coincident endpoints represent a degenerate triangle; l = m = u is a crisp value. Membership is compatibility with a judgment, not frequency.

μ(x) = (x − l)/(m − l), l ≤ x ≤ m; μ(x) = (u − x)/(u − m), m ≤ x ≤ u. (l < m < u)

For positive triples, this implementation uses componentwise addition and multiplication, reciprocal endpoint reversal and componentwise roots. Products, reciprocals and roots of triangular membership functions are generally not exactly triangular under the extension principle. Retaining only three components is the explicit approximation used here; dependencies between a numerator and its sum-denominator are not resolved by interval optimization.

(l₁, m₁, u₁) ⊕ (l₂, m₂, u₂) = (l₁ + l₂, m₁ + m₂, u₁ + u₂)
(l₁, m₁, u₁) ⊗ (l₂, m₂, u₂) ≈ (l₁l₂, m₁m₂, u₁u₂)

The method, step by step

1. Build a reciprocal matrix

ãᵢᵢ = (1, 1, 1); ãⱼᵢ = (1/uᵢⱼ, 1/mᵢⱼ, 1/lᵢⱼ).

2. Aggregate within each row

r̃ᵢ = ((∏ⱼ lᵢⱼ)¹⁄ⁿ, (∏ⱼ mᵢⱼ)¹⁄ⁿ, (∏ⱼ uᵢⱼ)¹⁄ⁿ). Numerically, each component is exp[(Σⱼ ln aᵢⱼ)/n].

3. Form fuzzy weights

Sᴸ = Σᵢ rᵢL; Sᴹ = Σᵢ rᵢM; Sᵁ = Σᵢ rᵢU. Then w̃ᵢ = (rᵢL/Sᵁ, rᵢM/Sᴹ, rᵢU/Sᴸ). The denominator order is reversed.

4. Defuzzify, then normalize

dᵢ = (wᵢL + wᵢM + wᵢU)/3; pᵢ = dᵢ/(Σₖ dₖ). This order matters. Defuzzifying the input matrix first is a different calculation.

Worked synthetic substitution

For the first criterion, r̃₁ = ((1 × 2 × 4)¹⁄³, (1 × 3 × 5)¹⁄³, (1 × 4 × 6)¹⁄³). The complete trace below is calculated from the fixed synthetic example, independent of your editable inputs.

First-criterion substitution

r̃₁ = (2; 2.466212; 2.884499)
w̃₁ = (2/4.659174; 2.466212/3.803951; 2.884499/3.011532) = (0.4292606; 0.648329; 0.9578179)
d₁ = (0.4292606 + 0.648329 + 0.9578179)/3 = 0.6784692
p₁ = 0.6784692/1.064492 = 0.6373641

Row criterion relative to column criterion; each cell is (l, m, u).

Reciprocal TFN matrix Ã
CriterionC1 · Safety impactC2 · Service continuityC3 · Maintenance resources
C1 · Safety impact(1; 1; 1)(2; 3; 4)(4; 5; 6)
C2 · Service continuity(0.25; 0.3333333; 0.5)(1; 1; 1)(1; 2; 3)
C3 · Maintenance resources(0.1666667; 0.2; 0.25)(0.3333333; 0.5; 1)(1; 1; 1)
Weight calculation trace
CriterionRow geometric means r̃ᵢFuzzy weight w̃ᵢCentroid dᵢNormalized weight pᵢRank
Safety impact(2; 2.466212; 2.884499)(0.4292606; 0.648329; 0.9578179)0.67846920.6373641 (63.73641%)1
Service continuity(0.6299605; 0.8735805; 1.144714)(0.1352086; 0.2296508; 0.3801103)0.24832320.2332786 (23.32786%)2
Maintenance resources(0.3815714; 0.4641589; 0.6299605)(0.0818968; 0.1220202; 0.2091827)0.13769990.1293574 (12.93574%)3

(Sᴸ; Sᴹ; Sᵁ) = (3.011532; 3.803951; 4.659174); Σdᵢ = 1.064492

Normalized criterion weightsC163.73641%C223.32786%C312.93574%0%100%
Normalized criterion weights

The fuzzy endpoints do not form a jointly attainable probability vector. Their sums generally differ from 1, and an upper endpoint may exceed 1. They are componentwise approximation results, not confidence intervals or guaranteed bounds on all possible normalized crisp weights. Only the final crisp vector p is normalized to sum to 1.

Arithmetic checks
CriterionSum
Final crisp weight sum1
Modal fuzzy component sum1
Fuzzy lower component sum0.6463661
Fuzzy upper component sum1.547111
Maximum reciprocal-product error0

Values in the display are rounded. Calculations and exports retain full JavaScript numeric precision. Rank ties use an absolute weight tolerance of 10⁻¹².

Modal-only transitivity diagnostic

For each i < j < k, compare mᵢⱼ × mⱼₖ with mᵢₖ. Exact multiplicative transitivity makes their ratio 1. The displayed maximum mismatch factor is exp(max |ln(mᵢⱼ) + ln(mⱼₖ) − ln(mᵢₖ)|). This descriptive check is not Saaty’s CR and is not a formal fuzzy consistency test. A wide triangle cannot repair contradictory modal judgments.

The modal triads are not exactly transitive. Review the comparisons; no judgment has been automatically changed. This tool applies no acceptability threshold.

Maximum modal mismatch factor: 1.2

Modal-only transitivity diagnostic
Triadmᵢⱼ × mⱼₖmᵢₖImplied / direct
C1 / C2 / C3651.2

Read the limits before making a decision

  • Weights describe relative stated importance, not accident probabilities, failure rates, benefit measures or a maintenance schedule. Ranking criteria does not rank alternatives. No risk threshold, certification or operational recommendation is produced.
  • Criterion definitions, hierarchy structure and independence assumptions require judgment outside this calculator. Overlapping criteria can double-count concerns; the tool does not discover missing criteria or dependencies.
  • The selected fuzzy-number scale, aggregation rule and defuzzification rule are modeling choices. Other FAHP variants can produce other weights. No method is universally best for every decision.
  • The input spread represents imprecision of judgments. It is not a statistical uncertainty model. There is no sampling distribution, parameter estimation or empirical validation here.
  • Reciprocity is enforced by construction. Agreement with that construction is a software check, not proof of consistent or credible judgments. Contradictory comparisons remain visible and should be reviewed by the decision maker.

Method provenance

Primary sources checked 8 October 2026. The maritime example, modal diagnostic and spread scenarios are authored educational additions. No publication claims are inferred from this implementation.

  1. Ayhan (2013), section 3, equations 4–7: implemented weighting sequence; full text.
  2. Meixner (2009), equations 4–6, 9 and 13–15: triangular operations, geometric group aggregation and centroid context; full text.
  3. Buckley (1985), Fuzzy hierarchical analysis: founding geometric-mean reference. Bibliographic record and abstract only were verified; no claim of reproducing its full original method.

fahp-tfn-gm-centroid-1.0.0

Related context

The method explanation and worked example are on this page. The articles below provide additional context.

All calculators