<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>open-source Python library for MCDA &#8211; Science</title>
	<atom:link href="https://scienmag.com/tag/open-source-python-library-for-mcda/feed/" rel="self" type="application/rss+xml" />
	<link>https://scienmag.com</link>
	<description></description>
	<lastBuildDate>Thu, 03 Sep 2026 17:41:41 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://scienmag.com/wp-content/uploads/2024/07/cropped-scienmag_ico-32x32.jpg</url>
	<title>open-source Python library for MCDA &#8211; Science</title>
	<link>https://scienmag.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">73899611</site>	<item>
		<title>pyFDM 1.2: Python library simplifies uncertainty decision analysis for researchers</title>
		<link>https://scienmag.com/pyfdm-1-2-python-library-simplifies-uncertainty-decision-analysis-for-researchers/</link>
		
		<dc:creator><![CDATA[Denise Maddox]]></dc:creator>
		<pubDate>Thu, 03 Sep 2026 17:41:38 +0000</pubDate>
				<category><![CDATA[Technology and Engineering]]></category>
		<category><![CDATA[decision support tools for engineers and scientists]]></category>
		<category><![CDATA[decision workflow framework for researchers]]></category>
		<category><![CDATA[decision-making workflow automation]]></category>
		<category><![CDATA[expert opinion integration in MCDA]]></category>
		<category><![CDATA[fuzzy numbers for decision support]]></category>
		<category><![CDATA[fuzzy set theory decision-making]]></category>
		<category><![CDATA[fuzzy set theory in decision making]]></category>
		<category><![CDATA[handling imprecise data in MCDA]]></category>
		<category><![CDATA[handling imprecise data in operational research]]></category>
		<category><![CDATA[multi-criteria decision analysis applications]]></category>
		<category><![CDATA[multi-criteria decision analysis in Python]]></category>
		<category><![CDATA[open-source decision analysis tools]]></category>
		<category><![CDATA[open-source Python library for MCDA]]></category>
		<category><![CDATA[pyFDM Python library]]></category>
		<category><![CDATA[ranking alternatives with fuzzy data]]></category>
		<category><![CDATA[ranking alternatives with uncertain data]]></category>
		<category><![CDATA[risk assessment in traffic and construction]]></category>
		<category><![CDATA[software for expert opinion aggregation]]></category>
		<category><![CDATA[sustainable energy infrastructure decision-making]]></category>
		<category><![CDATA[sustainable energy infrastructure planning tools]]></category>
		<category><![CDATA[triangular fuzzy numbers]]></category>
		<category><![CDATA[uncertainty decision analysis]]></category>
		<category><![CDATA[uncertainty modeling in operational research]]></category>
		<guid isPermaLink="false">https://scienmag.com/pyfdm-1-2-python-library-simplifies-uncertainty-decision-analysis-for-researchers/</guid>

					<description><![CDATA[A team of Polish researchers has released a major update to an open-source Python library that helps scientists and engineers make decisions when the data they rely on is uncertain, vague, or imprecise. The software, called pyFDM, is designed for Multi-Criteria Decision Analysis, or MCDA, a branch of operational research that provides structured ways to [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>A team of Polish researchers has released a major update to an open-source Python library that helps scientists and engineers make decisions when the data they rely on is uncertain, vague, or imprecise. The software, called pyFDM, is designed for Multi-Criteria Decision Analysis, or MCDA, a branch of operational research that provides structured ways to choose between alternatives when several competing criteria must be weighed at once. Version 1.2 of the library, described in the journal SoftwareX, transforms the package from a collection of fuzzy decision-making methods into a far more comprehensive framework that covers nearly the entire decision-making workflow, from gathering expert opinions to ranking the final alternatives.</p>
<p>Multi-criteria decision analysis is used everywhere from selecting construction machinery and assessing road traffic risks to choosing professional drivers and planning sustainable energy infrastructure. In many real-world settings, however, the information fed into these models is not crisp. Experts rarely state with perfect precision how important one criterion is relative to another, or exactly how well an alternative performs. Fuzzy set theory addresses this by allowing values to be expressed as intervals with degrees of membership rather than as single numbers. The pyFDM library is built around Triangular Fuzzy Numbers, a common fuzzy representation in which an uncertain quantity is described by three values: a lower bound, a most likely value, and an upper bound. Arithmetic on these numbers propagates the uncertainty through every stage of a calculation, so that the final ranking of alternatives reflects the imprecision of the original judgments rather than concealing it.</p>
<p>The new release, developed by Jakub Więckowski, Bartłomiej Kizielewicz, and Wojciech Sałabun, extends the library in four principal directions. The first is subjective criteria weighting. Criteria weights, which encode how much each decision criterion matters, can be derived objectively from data, but they can also be elicited directly from experts. Version 1.2 adds six fuzzy subjective weighting techniques: the Fuzzy Analytic Hierarchy Process, the Fuzzy Best-Worst Method, the Fuzzy Full Consistency Method, the Fuzzy Logarithmic Methodology of Additive Weights, the Fuzzy Ranking Comparison Method, and the Fuzzy Step-wise Weight Assessment Ratio Analysis. Each of these methods takes expert preferences expressed as triangular fuzzy numbers and converts them into consistent criteria weights, complementing the objective weighting approaches that were already available in earlier versions of the package.</p>
<p>The second major extension concerns the decision-making methods themselves. Six additional fuzzy MCDA algorithms have been incorporated, expanding the set of procedures available for evaluating and ranking alternatives: Fuzzy AROMAN, Fuzzy Evaluation Based on Relative Value Distances, Fuzzy MARCOS, Fuzzy Proximity Indexed Value, Fuzzy RAFSI, which maps criterion sub-intervals into a single interval for ranking, and the Fuzzy Reference Ideal Method. Having many methods available within a single, unified programming environment is more than a matter of convenience. Different MCDA algorithms can, in some circumstances, produce different rankings of the same alternatives, and researchers need the ability to compare methods, test the sensitivity of their conclusions, and benchmark new techniques against established ones. pyFDM 1.2 makes such comparative studies straightforward, since every method shares a common interface.</p>
<p>The third extension addresses one of the most persistent criticisms of computational decision analysis: opacity. A new configurable logging mechanism records the intermediate results generated during the execution of both weighting and ranking methods. Users can inspect each stage of a computation directly in the console or export the recorded steps to CSV, Excel, or JSON files. This means that a published analysis can be accompanied by a complete trace of its internal calculations, supporting verification, documentation, debugging, and reproducibility. In a field where the credibility of rankings often depends on being able to show exactly how they were derived, the ability to preserve every intermediate step is a significant methodological safeguard.</p>
<p>The fourth addition concerns group decision-making. Many important decisions are made not by a single expert but by a committee, and aggregating the judgments of multiple participants is a delicate task. The new expert judgments collector in the pyfdm.expert module allows assessments expressed as triangular fuzzy numbers to be gathered from any number of experts, stored in CSV, Excel, or JSON formats, and then aggregated into collective decision matrices using a selected aggregation operator. A companion module, pyfdm.group, provides the aggregation functionality itself, producing a consolidated fuzzy decision matrix that can be fed directly into any of the library&#8217;s MCDA methods. The result is a seamless workflow that runs from preference elicitation in a group setting, through criteria weighting and alternative evaluation, to the analysis of the final results, all inside one Python package.</p>
<p>Underlying these visible new features is a substantial redesign of the software&#8217;s internal architecture. All fuzzy MCDA methods now derive from a common abstract base class that supplies a unified interface for input preparation, data validation, method execution, ranking generation, and intermediate result logging. A dedicated abstract base class serves the same purpose for the subjective weighting methods. This kind of structural discipline reduces code duplication, makes the library easier to maintain, and, perhaps most importantly, lowers the barrier for researchers who want to implement and integrate their own novel decision-making approaches in future releases. The package is now organized into seven main sub-modules covering methods, weights, expert judgment collection, group aggregation, visualization, the fuzzy number representation itself, and general-purpose utilities such as normalization, distance calculation, defuzzification, and ranking.</p>
<p>Reliability has received comparable attention. The Validator class, which checks inputs before any computation runs, has been extended with both general rules and method-specific procedures for approaches that demand particular input structures, including the fuzzy Best-Worst Method, fuzzy LMAW, fuzzy SWARA, fuzzy ERVD, and fuzzy SPOTIS. These mechanisms verify the structure, dimensions, data types, and internal consistency of the input data, and they return informative messages when something is wrong, which is considerably more helpful than a cryptic numerical failure deep inside a calculation. On top of the validation layer, the developers built a suite of 271 unit tests covering the new and existing functionality, from input validation to the computational behavior of individual methods. For a package whose results may inform consequential real-world decisions, that depth of testing is not an academic nicety but an operational necessity.</p>
<p>The authors demonstrate the new capabilities with worked examples. In one, a decision problem is evaluated by combining the newly added fuzzy RANCOM weighting method with the fuzzy MARCOS ranking method, first with the logger displaying intermediate results in the console and then with the same results written to a user-defined JSON file. A second example shows the ExpertCollector in action: the collector is initialized with the number of alternatives and criteria and a predefined linguistic scale, expert assessments are supplied directly or loaded from a file, converted into triangular fuzzy numbers, and stored as individual fuzzy decision matrices, which are then aggregated into a collective matrix ready for MCDA processing. Complete documentation is hosted online, and a Jupyter notebook in the project repository walks users through applying every new feature to their own problems.</p>
<p>The practical impact of the release extends well beyond software engineering. Because the library now supports both subjective and objective weighting, a dozen fuzzy ranking methods, group aggregation, and full computational transparency, researchers can investigate how the choice of preference elicitation procedure or decision model influences the final ranking of alternatives. That makes pyFDM a convenient platform for comparative studies, benchmarking, sensitivity analysis, and the development of new decision-support methodologies. It also lowers the entry barrier for practitioners in fields such as logistics, energy planning, healthcare management, and sustainability assessment, where decisions under uncertainty are the daily norm rather than the exception. The library is released under the permissive MIT license, runs on Python 3.10 with dependencies on numpy, scipy, matplotlib, and tabulate, and its source code is freely available, ensuring that any researcher can inspect, reproduce, or extend the computations.</p>
<p>Looking ahead, the developers outline a clear roadmap. Future versions are expected to support Trapezoidal Fuzzy Numbers, which offer an additional degree of freedom in modeling uncertainty compared with triangular numbers. Dedicated sensitivity analysis and explainability modules are also planned, along with enhanced support for large-scale group decision-making involving many experts and many alternatives. These directions reflect a broader trend in the decision sciences, where the demand for transparency and interpretability is growing alongside the complexity of the models themselves. With version 1.2, pyFDM has moved from being a useful toolbox of fuzzy algorithms to something closer to a complete laboratory for decision-making under uncertainty, one in which every judgment, weight, and intermediate calculation can be recorded, inspected, and defended. For a discipline whose entire purpose is to bring rigor to hard choices, that kind of openness may prove to be the most consequential feature of all.</p>
<div class="scienmag-article-metadata"><strong>Subject of Research:</strong> Development of an open-source Python library (pyFDM version 1.2) for fuzzy multi-criteria decision analysis under uncertainty</p>
<p><strong>Article Title:</strong> Version [1.2]- [pyFDM: A Python library for uncertainty decision analysis methods]</p>
<p><strong>Article References:</strong> Więckowski, J., Kizielewicz, B., &amp; Sałabun, W. (2026). Version [1.2]- [pyFDM: A Python library for uncertainty decision analysis methods]. <em>SoftwareX, 35</em>, Article 102947. <a href="https://doi.org/10.1016/j.softx.2026.102947" target="_blank" rel="noopener noreferrer">https://doi.org/10.1016/j.softx.2026.102947</a></p>
<p><strong>Image Credits:</strong> AI Generated</p>
<p><strong>DOI:</strong> <a href="https://doi.org/10.1016/j.softx.2026.102947" target="_blank" rel="noopener noreferrer">10.1016/j.softx.2026.102947</a></p>
<p><strong>Keywords:</strong> pyFDM, Multi-Criteria Decision Analysis, Triangular Fuzzy Numbers, fuzzy MCDA methods, subjective criteria weighting, expert judgment aggregation, group decision-making, computational logging, reproducibility, open-source Python library, uncertainty modeling, SoftwareX</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">186516</post-id>	</item>
	</channel>
</rss>
