Methods · Ranking
Compromise Programming
Compromise Programming ranks alternatives by how far they fall short of the best achievable value on each criterion; the alternative that falls short the least stands out as the best compromise.
Base method's data type: Classical
What Is the Method?
Compromise Programming is a ranking method that orders alternatives into a single sequence once you hold a decision table filled with numbers. Its output is a distance score for every alternative, together with the rank that score produces; the lowest score marks the alternative closest to the ideal, and hence the best compromise. Milan Zeleny proposed it in 1973, and it is discussed alongside a similar approach developed independently in the same period by Po-Lung Yu. The method does not generate criterion weights; weights are supplied from outside.
The Philosophy Behind It
The idea behind Compromise Programming is to accept that no alternative can be best on every criterion at once. The best value on each criterion is taken separately and gathered into a single hypothetical "ideal point"; this point does not actually exist in any alternative. Real alternatives fall some distance short of this ideal point. The method presents the alternative that minimises this distance as the best compromise.
This idea carries a philosophical consequence: Compromise Programming is compensatory, because the distance is gathered into a single figure, and a shortfall on one criterion can be offset by closeness on another. What distinguishes the method is that the user can choose how this distance is measured. Whether to give weight to the sum of small shortfalls or to the single largest shortfall is a matter of preference, and this preference directly changes the result.
How It Works
The method proceeds through a single step built on three concepts.
First concept, the ideal and counter-ideal point. For each criterion, the largest value forms the ideal point for a "higher is better" criterion, and the smallest value for a "lower is better" one. The values at the opposite extreme form the counter-ideal (worst) point. These two points define the criterion's range of variation within that analysis.
Second concept, the scaled shortfall. The difference between every alternative's value on every criterion and the ideal value is taken; this difference is divided by the criterion's range of variation to bring it between 0 and 1, and then multiplied by the criterion's weight. This makes the shortfalls of criteria measured in different units comparable on the same scale.
Third concept, the form of combination. These scaled shortfalls are combined using a "p value." If p = 1 is chosen, all shortfalls are summed with equal importance; if p = 2 is chosen, large shortfalls carry disproportionately more weight (straight-line distance); as p approaches infinity, only the single largest shortfall becomes decisive. DecisionMind uses p = 2 by default, but this value can be changed by the user. Alternatives are ranked by this combined distance from lowest to highest; the lowest distance marks the best compromise.
The formulas behind each step are given on the DecisionMind method page; this card carries no formulas.
How to Read the Output
The distance score shows how far an alternative falls from the ideal point within this particular alternative set, and nothing more. The score does not sit on a fixed scale such as 0–1 and cannot be compared with a score from a different analysis, because the ideal and counter-ideal points are built afresh, in every analysis, from that analysis's own alternatives. The lowest score marks the best alternative; this is the reverse of TOPSIS's rule that the highest score is best.
The result depends directly on the chosen p value. A small p (close to 1) weighs the shortfalls on all criteria evenly; a large p (approaching infinity) gives weight only to the single criterion on which you fall shortest. The report should therefore state which p value was used and how sensitive the result is to this choice. For this reason:
"Compromise Programming found the best alternative"
should be written as:
"With this p value, these weights and this alternative set, the compromise closest to the ideal is this one; the result is sensitive to the chosen p value"
Data Type and Inputs
Compromise Programming works with crisp data: one number per cell. DecisionMind currently holds no extension of this method for another data type.
You need alternatives in rows, criteria in columns, one number per cell and no empty cells; direction information for every criterion and weights that sum to 1. Compromise Programming does not produce weights, it asks for them. A p value must also be chosen; the default is 2 (Euclidean distance), with 1 (equal sum of all shortfalls) and infinity (only the worst shortfall) also common choices. A minimum of two alternatives and two criteria is required; three to twelve criteria work comfortably.
When to Use It, When Not To
Compromise Programming is a suitable choice if your criteria can be measured numerically, your table has no gaps, and you accept distance from an ideal point as a common measure. Being able to test sensitivity across different p values is an advantage for decision-makers who want to discuss openly whether the decision was made on a balanced basis or according to the worst-case criterion.
If you will not compromise on one criterion, the method is not suitable; sub-threshold alternatives should first be screened out and only the remainder ranked. Where criteria are strongly linked to one another, that link needs handling first.
A numerical table, compensation accepted, distance-to-ideal-point logic → Compromise Programming
The choice of distance measure should be discussed openly → Compromise Programming (testing the p value)
No compromise on one criterion, sub-threshold alternatives must be screened out → screening first, then ranking
Not a ranking but weights are needed → AHP, BWM, SWARA (subjective) · Entropy, CRITIC (objective)
Strengths
Compromise Programming's chief advantage is its simplicity and the flexibility it offers through the p value. The decision-maker can directly test the question "should I decide on a balanced basis across all criteria, or according to the criterion on which I fare worst" simply by changing the p value. The idea of distance to an ideal point is easy to convey, and every step can be followed on the table. It also forms the conceptual basis for many later methods, including VIKOR.
Weaknesses
Its limitations are shared with the TOPSIS family. When the alternative set changes, the ideal and counter-ideal points shift with it; an alternative added afterwards can change how the others rank relative to one another (García-Cascales and Lamata, 2012). The assumption of full compensation applies: a serious weakness on one criterion can be papered over by others. The choice of p value directly affects the result and is often left unjustified (André and Romero, 2008); different p values applied to the same data can give different orders. The quality of the weights lies outside the method itself.
Common Mistakes
The most common mistake is marking criterion direction wrongly, which reverses the ideal and counter-ideal points. A second mistake is leaving the p value at its default without ever questioning it; it should not be forgotten that p = 1 and p = 2 can place different alternatives first. A third mistake is reading the lowest distance score as the "worst result"; in Compromise Programming the lowest score marks the best alternative, the opposite of TOPSIS. A fourth mistake is assigning equal weights without justification. A fifth mistake is adding an alternative once the analysis is finished and being surprised the ranking shifts.
The governing principle is this:
Compromise Programming's distance score is a summary of the directions, weights and chosen p value you supplied; if the p value changes, the compromise can change too.
Cases
Each case opens with a decision table, describes in words what the method does to it, and shows how to read the result.
1. Transport: A municipality's choice of public-transport vehicle technology (illustrative example)
A municipality will choose among three public-transport vehicle technologies. Three criteria apply: passenger capacity, energy-efficiency score and unit operating cost. Capacity and energy efficiency are "higher is better"; cost is "lower is better." The municipality set the weights at 0.40 for capacity, 0.35 for energy efficiency and 0.25 for cost.
| Vehicle | Passenger Capacity | Energy Efficiency | Unit Cost |
|---|---|---|---|
| T1 | 3 | 5 | 4 |
| T2 | 5 | 3 | 2 |
| T3 | 4 | 4 | 3 |
| Direction | higher is better | higher is better | lower is better |
| Weight | 0.40 | 0.35 | 0.25 |
The method first builds the ideal point for each criterion: highest capacity, highest energy efficiency, lowest cost. It then calculates each vehicle's scaled shortfall from this ideal point and multiplies by the weights. Finally, it combines these shortfalls using p = 2 (Euclidean) to find each vehicle's distance score.
| Vehicle | Distance Score (p=2) | Rank |
|---|---|---|
| T3 | 0.294 | 1 |
| T2 | 0.350 | 2 |
| T1 | 0.472 | 3 |
The result reads as follows. T3 is not, on its own, best on any single criterion; it is middling on capacity, middling on energy efficiency, middling on cost. Even so, it carries the lowest total distance, because it carries no serious shortfall on any criterion. T2 is best on capacity and lowest on cost, yet comes second, because it carries the largest shortfall on energy efficiency. T1 is best on energy efficiency but lowest on capacity and highest on cost; its total distance is therefore the greatest.
The municipality hesitates here. If p is chosen as 1 instead of 2 (so that all shortfalls are summed with equal weight), the ranking changes: T2 comes first, T3 second, T1 third. This shows that T2's large shortfall on a single criterion (energy efficiency) gains disproportionate weight under p = 2, but is weighed equally with the other shortfalls under p = 1.
In the report: "With p = 2, T3 is the compromise closest to the ideal (0.294); with p = 1, however, T2 (0.35) moves ahead, because p = 1 sums the shortfalls on all criteria with equal weight."
Source: Zeleny (1973). The figures in this case are DecisionMind's own validation example, not taken from an application in the paper; the engine applies Zeleny's Lp-distance formula exactly as described.
2. Elderly Care: A care-home chain's choice of heating system for a new facility
A care-home chain will choose among three heating systems for a facility about to open. Three criteria apply: energy efficiency (higher is better), installation cost (lower is better) and noise level (decibels, lower is better). The weights were set on the technical team's advice, with a high weight given to noise level, because quiet matters in a care home.
The method calculates, for each system, the distance from the ideal point (most efficient, cheapest, quietest). Suppose the quietest system, with middling efficiency, comes first: because the weight on noise is high, this system's small shortfall on efficiency does not affect the total distance much.
The technical team hesitates here: the most efficient system comes second and offers higher energy savings in the long run. If the p value is pushed towards infinity (only the worst criterion), which system comes out ahead should be checked separately. This amounts to shifting from a balanced compromise to a logic that minimises the worst case.
In the report: "With noise kept at a high weight, the quietest system comes out closest to the ideal; if energy savings are prioritised, the p value and the weights should be reconsidered."
3. Furniture: A manufacturing firm's choice of new cutting machine
A furniture manufacturing firm will choose among three cutting machines. Three criteria apply: cutting precision (higher is better), hourly production capacity (higher is better) and maintenance cost (lower is better). The weights were set on the production manager's advice, with the highest weight given to cutting precision.
The method calculates each machine's distance from the ideal point (most precise, highest capacity, lowest maintenance cost). Suppose the most precise machine, with low capacity, comes first: because the weight on precision is high, its shortfall on capacity does not change the total distance much.
The production manager hesitates here: if the firm's order volume is large, low capacity could slow production. In that case, either capacity should be given a higher weight, or low-capacity machines should be screened out before the analysis.
In the report: "The machine closest to the ideal rests on its precision advantage; if order volume is high, the weight on capacity should be reassessed."
4. What Not to Do
Had cost been marked "higher is better" in the same vehicle table, the ideal point would have pointed to the most expensive vehicle, and T3's low-cost advantage would have worked against it. A second error is reading T3's score of 0.294 as the "worst result"; in Compromise Programming the lowest score marks the best alternative, the opposite of TOPSIS. A third error is saying "Compromise Programming found this" without ever stating the p value; the same data gives a different winner at p = 1, and this choice must be stated clearly in the report.
Sources
For the formulas behind each step, the intermediate tables and citation formats, see the DecisionMind method page: decisionmind.app/library/compromise-programming
Zeleny, M. (1973). Compromise programming. In: J. L. Cochrane and M. Zeleny (Eds.), Multiple Criteria Decision Making, 262–301. University of South Carolina Press. (No DOI)
Yu, P. L. (1973). A Class of Solutions for Group Decision Problems. Management Science, 19(8), 936–946. DOI: 10.1287/mnsc.19.8.936
André, F. J., & Romero, C. (2008). Computing compromise solutions: On the connections between compromise programming and composite programming. Applied Mathematics and Computation, 195(1), 1–10. DOI: 10.1016/j.amc.2007.04.064
García-Cascales, M. S., & Lamata, M. T. (2012). On rank reversal and TOPSIS method. Mathematical and Computer Modelling, 56(5–6), 123–132. DOI: 10.1016/j.mcm.2011.12.022