Maritime Science Life

Calculations with context

PROMETHEE II preference ranking

Explore pairwise preferences and net-flow ranking with usual and linear preference functions; q/p thresholds retain the original criterion units.

Scientific methods · transparent local models

PROMETHEE II: preferences, flows and a complete preorder

Choose the meaning of a difference before asking which alternative ranks first.

This workbench exposes every comparison in a small multicriteria model. It supports the usual criterion and the linear preference criterion with an indifference area. The output is a ranking under your stated preferences, including numerical ties; it is not a feasibility assessment or an authorization to operate.

Interactive workbench

Use 2–8 alternatives and 1–6 criteria. Every matrix cell is required: 0 or an absolute value from 10⁻¹² to 10¹². Raw weights are 0 or 10⁻⁶–10⁶, with at least one positive weight. q and p use the criterion’s unit and are 0 or 10⁻¹²–10¹². Linear preference requires 0 ≤ q < p and a numerically distinguishable gap; usual preference requires q=p=0.

Input conventions
Complete input matrix
AlternativeC1C2C3

Example inputs are ready. Calculate to inspect your current inputs.

All calculations and CSV creation run locally in your browser. No server, file upload or external runtime service is used.

Method, assumptions and interpretation

Comparing the two preference functionsThe usual function jumps to one for a positive difference. Linear preference remains zero through q equal to 3, rises from 3 to 12, and stays one from p equal to 12. Both panels show preference vertically and oriented difference horizontally.Type I · usual preferenceType V · linear with indifferencePd (t/h)10Pd (t/h)10312qpd > 0 → P = 1(d − q)/(p − q)
Teaching diagram in capacity units: q=3 t/h, p=12 t/h. A negative difference produces no preference for a.

1. Make the decision model explicit

Begin with a question, a feasible set of alternatives, measurable criteria and a common evaluation period. For a fictional port-service package, capacity can be a benefit, planned downtime a cost and training coverage another benefit. The names and units are part of the model: comparing annual downtime for one package with monthly downtime for another would be a data error even if the arithmetic runs. Establish legal, technical and safety constraints separately before entering alternatives. A low score cannot make an infeasible package permissible, and a high score cannot certify it.

2. Differences carry direction and units

For a benefit criterion, compare a against b using x(a)−x(b); for a cost criterion reverse the subtraction. A positive oriented difference always favors a. Values are not first min–max normalized: q and p live in the original criterion unit. A change from hours to minutes therefore needs the entire downtime column and both of its thresholds multiplied by 60. Mathematically, adding the same constant to a criterion leaves its differences unchanged. Decimal input is converted to IEEE-754 JavaScript Number, so large offsets with tiny differences can lose this property before calculation. Center or rescale the original data before entry when those differences matter; subtracting an offset after digits were lost cannot recover them. The workbench flags observed gaps or thresholds near 128 times machine epsilon times the largest absolute input, and identifies columns constant after conversion. The flag is advisory, not a rigorous error bound. Parsed numbers, rather than every original typed decimal digit, are exported. These checks are useful for detecting accidental unit conversions. A criterion measured on an ordinal scale still needs a defensible meaning for its numerical differences.

3. State how much difference matters

The usual function assigns full preference to every strictly positive difference and zero otherwise. This can fit a deliberate all-or-nothing policy, but it can exaggerate a difference smaller than the measurement uncertainty. The linear-with-indifference function gives zero through q, grows linearly between q and p, and reaches one at p. Thresholds are not probabilities or weights. Here p is the absolute full-preference threshold, not the width of the sloping region. In the 1985 Type V notation, q equals s and p equals s+r. For the usual function, both threshold fields must be zero because they have no role.

4. Combine comparisons and inspect both directions

Nonnegative raw weights are normalized to sum to one. Multiplying every raw weight by the same positive number leaves the result unchanged. The aggregate index is the weighted sum of the criterion preferences for an ordered pair. Its reverse must be calculated separately: π(a,b) is generally neither equal to π(b,a) nor equal to one minus it. Indifference bands can make both indices small. Read the complete pairwise tables before trusting the final order; they show which differences contribute and which are suppressed by the chosen thresholds.

5. Separate the flow summaries

Positive flow averages how strongly an alternative is preferred over its competitors. Negative flow averages how strongly those competitors are preferred over it. The self-comparison is zero and the averaging divisor is m−1. The original 1985 presentation uses flow sums; division by this common positive divisor preserves its ranking while putting each gross flow in [0,1]. Net flow is positive minus negative. A favorable net flow may combine substantial preference and substantial opposition, so the two gross flows remain visible. The sum of all net flows is zero up to rounding; this is an internal consistency identity, not external validation.

6. Understand what “complete” means

PROMETHEE II orders alternatives by decreasing net flow. Equal net flows are allowed: a complete preorder is not necessarily a strict total order. PROMETHEE I retains a different, partial relationship using the two gross flows and can leave alternatives incomparable; that method is not implemented here. This tool groups near-equal net flows using an absolute 10⁻¹² anchored tolerance. Starting from the highest ungrouped score, all scores within that tolerance of the group leader receive the same competition rank. Members retain decreasing raw-score order within a numerical tie group; exactly equal raw scores keep input order. Neither convention chooses a winner within the group.

7. Investigate sensitivity before a recommendation

The comparison table changes one raw weight at a time by −20% or +20% and renormalizes the full vector. The other weight ratios are preserved. All data, alternatives, directions and thresholds stay fixed, so the table isolates one declared modeling change. A stable rank over these few points says little about different thresholds, missing alternatives or incorrect measurements. When a decision matters, elicit plausible q/p ranges, examine alternative sets and review individual pairwise conflicts. A weight expresses the relative importance of modeled preference, not a direct exchange rate between tonnes per hour and hours.

8. Read the worked case as a reproducible lesson

The three fictional packages below have capacity, downtime and training scores chosen solely to make the calculations inspectable. Capacity thresholds are q=3 t/h and p=12 t/h; downtime thresholds are q=1 h and p=8 h; training thresholds are q=0 and p=2 score units. The loader restores every label, cell, direction, function, threshold and raw weight. The result favors Package C at these settings. That sentence describes this synthetic preference model, not a procurement recommendation. The downloadable CSV records all ordered-pair calculations, flow ranks, weight perturbations, conventions, source links and model version.

dⱼ(a,b) = xₐⱼ − xᵦⱼ (benefit); dⱼ(a,b) = xᵦⱼ − xₐⱼ (cost)

Usual: Pⱼ(d) = 0 when d ≤ 0; Pⱼ(d) = 1 when d > 0

Linear with indifference: Pⱼ(d) = 0 for d ≤ qⱼ; (d − qⱼ)/(pⱼ − qⱼ) for qⱼ < d < pⱼ; 1 for d ≥ pⱼ

wⱼ = wraw,ⱼ / Σₖwraw,ₖ; π(a,b) = Σⱼ wⱼPⱼ(a,b)

φ⁺(a) = Σb≠a π(a,b)/(m−1); φ⁻(a) = Σb≠a π(b,a)/(m−1)

φ(a) = φ⁺(a) − φ⁻(a); larger φ ranks first; equal φ may tie

Symbols and units
SymbolDefinition and unit
m; nAlternative count; criterion count (dimensionless)
xₐⱼ; dⱼ(a,b)Criterion measurement and oriented difference, both in criterion j’s unit
qⱼ; pⱼIndifference and absolute full-preference thresholds, in that same unit
Pⱼ(a,b); π(a,b)Criterion and aggregate preferences in [0,1], dimensionless
wraw,ⱼ; wⱼSupplied nonnegative relative weight; normalized weight (dimensionless)
φ⁺; φ⁻; φPositive, negative and net flow, all dimensionless

A complete synthetic maritime example

All names, ratings and performance figures below were invented for this lesson. They are not observations from a vessel, port or company.

Decision or study question: Compare fictional port-service package preferences.

PROMETHEE II flows and numerical-tie ranks

Input conventions
CriterionUnitDirectionPreference functionRaw weightNormalized weightqp
Service capacityt/hBenefit: larger is preferredLinear with indifference (Type V)0.450.45312
Planned downtimehCost: smaller is preferredLinear with indifference (Type V)0.350.3518
Training coverage1Benefit: larger is preferredLinear with indifference (Type V)0.20.202
Complete input matrix
↓ / →Service capacityPlanned downtimeTraining coverage
Package A72184
Package B85253
Package C78205
Input-resolution diagnostics
Criterionmax |x|Resolution guardSmallest positive gapConstant after conversionNear-resolution flag
Service capacity852.415845302e-126NoNo
Planned downtime257.105427358e-132NoNo
Training coverage51.421085472e-131NoNo
Service capacity: d1, P1
Oriented pairwise differences dⱼ(a,b) · Service capacity (t/h)
↓ / →Package APackage BPackage C
Package A0-13-6
Package B1307
Package C6-70
Criterion pairwise preferences Pⱼ(a,b) · Service capacity
↓ / →Package APackage BPackage C
Package A000
Package B100.4444444444
Package C0.333333333300
Planned downtime: d2, P2
Oriented pairwise differences dⱼ(a,b) · Planned downtime (h)
↓ / →Package APackage BPackage C
Package A072
Package B-70-5
Package C-250
Criterion pairwise preferences Pⱼ(a,b) · Planned downtime
↓ / →Package APackage BPackage C
Package A00.85714285710.1428571429
Package B000
Package C00.57142857140
Training coverage: d3, P3
Oriented pairwise differences dⱼ(a,b) · Training coverage (1)
↓ / →Package APackage BPackage C
Package A01-1
Package B-10-2
Package C120
Criterion pairwise preferences Pⱼ(a,b) · Training coverage
↓ / →Package APackage BPackage C
Package A00.50
Package B000
Package C0.510
Aggregate preference index π(a,b)
↓ / →Package APackage BPackage C
Package A00.40.05
Package B0.4500.2
Package C0.250.40
PROMETHEE II flows and numerical-tie ranks
AlternativePositive φ⁺Negative φ⁻Net φRank
Package A0.2250.35-0.1253
Package B0.3250.4-0.0752
Package C0.3250.1250.21

Rank groups: Package C > Package B > Package A

Net flows on a common scaleEach horizontal bar shows one alternative’s net flow on the common minus-one to plus-one scale. Teal is positive and orange negative. Full values and rank groups are in the flow table.-1-0.500.511. Package A-0.1252. Package B-0.0753. Package C0.2Net preference flow φ (dimensionless)
A shared [−1,1] axis is used. Bars do not represent operational risk or probability.

Substitute the numbers

d1(A1,A2) = 72 − 85 = -13 t/h; P1(A1,A2) = 0

d2(A1,A2) = 25 − 18 = 7 h; P2(A1,A2) = 0.8571428571

d3(A1,A2) = 4 − 3 = 1 1; P3(A1,A2) = 0.5

π(A1,A2) = 0.45 × 0 + 0.35 × 0.8571428571 + 0.2 × 0.5 = 0.4

φ⁺(A1) = (0.4 + 0.05) / 2 = 0.225

φ⁻(A1) = (0.45 + 0.25) / 2 = 0.35

φ(A1) = 0.225 − 0.35 = -0.125

A1 and A2 denote the first two input alternatives; numbers are rounded for display.

Weight sensitivity with held assumptions

Each row multiplies one raw criterion weight by 0.8 or 1.2, then renormalizes all weights. Other raw-weight ratios, all alternatives, matrix entries, units, directions, preference functions and q/p thresholds are held fixed. This small deterministic comparison is not a confidence interval or a complete robustness analysis. Zero weights remain zero.

Weight sensitivity with held assumptions
Changed criterionMultiplierφ: Package Aφ: Package Bφ: Package CRank groups
—1-0.125-0.0750.2Package C > Package B > Package A
Service capacity0.8-0.07142857143-0.15384615380.2252747253Package C > Package A > Package B
Service capacity1.2-0.1697247706-0.0091743119270.1788990826Package C > Package B > Package A
Planned downtime0.8-0.1720430108-0.026881720430.1989247312Package C > Package B > Package A
Planned downtime1.2-0.08411214953-0.11682242990.2009345794Package C > Package A > Package B
Training coverage0.8-0.1302083333-0.0468750.1770833333Package C > Package B > Package A
Training coverage1.2-0.1201923077-0.10096153850.2211538462Package C > Package B > Package A
Normalized weight
Changed criterionMultiplierService capacityPlanned downtimeTraining coverage
—10.450.350.2
Service capacity0.80.39560439560.38461538460.2197802198
Service capacity1.20.4954128440.32110091740.1834862385
Planned downtime0.80.48387096770.30107526880.2150537634
Planned downtime1.20.42056074770.39252336450.1869158879
Training coverage0.80.468750.36458333330.1666666667
Training coverage1.20.43269230770.33653846150.2307692308

Tables display up to 10 significant digits as formatting, not guaranteed accuracy. Computation and CSV use unrounded JavaScript numbers. Numerical tolerance is not an operational acceptance criterion.

What the result does and does not establish

  • Preferences, weights and thresholds are judgments. They do not estimate failure probabilities, operational risk or confidence levels.
  • Changing the alternative set can change flows and ranks. A rank is conditional on the displayed set, not a permanent property of an option.
  • A zero-weight criterion has no effect; identical rows tie. All-zero or entirely indifferent comparisons yield zero flows and no unique first choice.
  • The input envelope, near-equal threshold rejection and numerical-tie grouping are implementation policies, not formulas prescribed by the original paper.
  • Review evidence quality, measurement uncertainty and constraints independently. An attractive rank never supplies operational approval.
If capacity changes from t/h to kg/h, should the ranking change?

No, if every capacity value and both capacity thresholds are multiplied by 1000 and all other assumptions are held fixed. Scaling only the data changes the preference model. The implementation tests both unit-consistent scaling and alternative permutations.

Primary sources and implementation scope

Brans & Vincke (1985), A Preference Ranking Organisation Method, Management Science 31(6), 647–656. Type I and V: equations (3.5), (3.9); weighted-index discussion §4; flows and complete preorder: (5.1), (5.2), (5.6), (5.7). The q=s, p=s+r mapping and m−1 flow scale are declared here.

Original teaching text and synthetic examples. Numerical limits, tie handling and the no-information branch are explicit implementation policies. promethee v1.0.0.

Related context

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

All calculators