Back

One library, a million decisions. How Python helps solve complex problems

30.04.2026

Experts affiliated with the National Institute of Telecommunications are co-developing a tool that could significantly simplify complex decision-making. The new programming library, pymcdm, makes it possible to analyze problems in which many - often conflicting - criteria must be considered simultaneously.

One library, a million decisions. How Python helps solve complex problems

In the real world, decisions are rarely simple.

Decisions are not an Excel sheet with one column

Choosing a technology, supplier, location, or operational strategy almost always depends on multiple factors at once: cost, quality, security, performance — all considered simultaneously. The challenge is that these criteria often conflict with one another. What should be done in such situations?

This is precisely the domain of so-called multi-criteria decision analysis (MCDA/MCDM), which for years has been developing methods to support this type of decision-making. The theory, however, is one thing; access to practical tools is another.

The problem: methods exist, tools are lacking

Although there are many decision-making methods — from the classic TOPSIS to more advanced approaches such as VIKOR or PROMETHEE — their implementations are often fragmented, unintuitive, or simply difficult to use. They frequently require specialized software or are available only in niche programming languages.

Moreover, existing solutions do not always keep pace with the development of new methods. The result? Powerful tools exist — but they are not always practical to use.

The solution: one library for everything

The answer to this problem is the pymcdm library, written in Python — a language that has become the standard in data analysis and engineering today.

Its greatest advantage is that it combines in one place:

  • numerous decision-making methods,
  • various approaches to weighting criteria,
  • tools for analysis and comparison,
  • and functions for visualizing results.

In practice, this means that users do not need to “assemble” their workflow from several separate tools — they receive a ready-made, coherent environment for working with decision-making processes.

From theory to practice — quickly

The library was designed to be both advanced and accessible. Users can input data in the form of a decision matrix, define the importance of individual criteria, and almost immediately obtain a ranking of possible solutions.

Importantly, the tool supports both classical methods and modern approaches resistant to common decision-making issues, such as changes in ranking order caused by small modifications in the data. This is especially important wherever decisions have real business or technological consequences.

More than rankings — complete decision analysis

pymcdm does not stop at indicating the “best option.” It also allows users to:

  • analyze how results change under different assumptions,
  • compare rankings obtained through different methods,
  • examine the similarity of results,
  • and visualize the entire decision-making process.

For example, as shown in the article, it is possible to compare the results of several methods simultaneously and present them graphically, significantly simplifying the interpretation of outcomes.

An architecture that makes sense

The library has been divided into modules corresponding to the successive stages of the decision-making process. Separate components are responsible for evaluation methods, weight determination, data normalization, correlation analysis, and result visualization.

Schemat działania biblioteki pymcdm

Figure 1. Workflow of the pymcdm library

As the diagram shows, the entire system forms a coherent ecosystem in which each element has a clearly defined function and can be used independently or as part of a larger process. This approach significantly increases flexibility and makes it easier to adapt the tool to specific problems.

A real-life example: choosing… a delivery van

To demonstrate the capabilities of the tool, the authors analyzed the selection of an electric van. Nine criteria were considered — from engine power to charging time and price — and ten different models were compared.

The results, presented in tables and visualizations (including those on page 5 of the article), show how different methods can lead to slightly different rankings while also making it possible to understand the reasons behind those differences.

This “decision transparency” is one of the greatest advantages of the approach.

Why it matters

In a world where decisions are becoming increasingly complex, we need tools that not only provide an answer but also help us understand it.

pymcdm fits perfectly into this trend, offering:

  • a broad set of methods,
  • high performance,
  • a transparent structure,
  • and ease of use.

Importantly, as an open-source project, the library can be developed and used by a wide community — from scientists to engineers and analysts.

Technology that supports decisions — not replaces them

Perhaps the most interesting aspect of this solution is that it does not attempt to “make decisions for humans.” Instead, it provides tools that help people better understand problems, analyze different scenarios, and make more informed decisions.

And in a world where certainty is rare, that is often the greatest advantage of all.

Materials

Source
{"register":{"columns":[]}}