Skip to main content

Bayesian Multi-Criteria Decision-Making Toolkit

Project description

BayesMCDM: Bayesian Multi-Criteria Decision-Making Toolkit bayesmcdm_logo

PyPI version License

PyPI - Python Version PyPI status Downloads

Code Style: Black Contributions Welcome Last Commit

BayesMCDM is a Python library for Bayesian modeling of various multi-criteria decision-making (MCDM) methods. This toolkit enables robust, probabilistic analysis of decision problems by incorporating uncertainty in preferences and criteria weights. The project is under active development—expect more models and functionalities to be added over time.

You can solve your decision problems directly in your browser—no installation needed.

Supported Preference Types

Each method currently supports the standard preference type (e.g., 1-9 scale), which is fully implemented, tested, and ready for use. Additionally, BayesMCDM is being extended to handle a variety of preference formats for each method (these features are under active testing):

  • Interval preferences
  • Triangular fuzzy preferences
  • Gaussian (normal) preferences

Support for group aggregation of preferences is also being developed, enabling analysis of collective decisions from multiple decision-makers. Additionally, a decision-maker clustering feature is under construction, which will identify groups of decision-makers with homogeneous preferences.

Supported Methods

The following methods are supported, each with an interactive Google Colab link. These links open ready-to-run notebooks containing example scripts for each method. You can enter your own data and solve your MCDM problem directly in your browser—no installation required.

1. Analytic Hierarchy Process (AHP)

AHP is a structured technique for organizing and analyzing complex decisions, based on pairwise comparisons among all criteria.

2. Best-Worst Method (BWM)

BWM uses the best and worst criteria to derive optimal weights through pairwise comparisons.

3. SWING Method

The SWING method elicits weights by asking decision-makers to "swing" criteria from worst to best, reflecting their relative importance.

4. Point Allocation

Point Allocation allows decision-makers to distribute a fixed number of points among criteria to indicate their importance.

5. Weight Analyzer

The Weight Analyzer provides tools for analyzing the computed weights (and not preferences).

Visualization

BayesMCDM offers several visualization tools to help interpret Bayesian results:

Credal Ranking

Credal ranking example

Figure: Example of a credal ranking plot showing the probability of each criterion being more important than another.

Credal ranking visualizes the probabilistic ranking of criteria, showing the likelihood of each criterion occupying each rank based on the posterior weight distributions. This helps in understanding the robustness and uncertainty of the ranking outcomes.

Weight Distributions

Weight Distribution example

Weight distributions plots display the full posterior distributions of criteria weights, allowing users to assess uncertainty, variability, and the impact of preference types on the final weights.

License

This project is licensed under the MIT License.


Built by Majid Mohammadi

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bayesmcdm-0.1.1.51.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bayesmcdm-0.1.1.51-py3-none-any.whl (49.5 kB view details)

Uploaded Python 3

File details

Details for the file bayesmcdm-0.1.1.51.tar.gz.

File metadata

  • Download URL: bayesmcdm-0.1.1.51.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.4

File hashes

Hashes for bayesmcdm-0.1.1.51.tar.gz
Algorithm Hash digest
SHA256 6f30e004d3afab5903c9f34edc34f77a09a89d3bf9ab7fc6b04db22d2fc265eb
MD5 b649bc8838645cd30d141a540090bee5
BLAKE2b-256 c44e7f7a7eb5cd8c54c87f8d9680b9ff4494fa4c28064cfe2e39e5d4a0e9b3ca

See more details on using hashes here.

File details

Details for the file bayesmcdm-0.1.1.51-py3-none-any.whl.

File metadata

  • Download URL: bayesmcdm-0.1.1.51-py3-none-any.whl
  • Upload date:
  • Size: 49.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.4

File hashes

Hashes for bayesmcdm-0.1.1.51-py3-none-any.whl
Algorithm Hash digest
SHA256 17c29c52d7b1c949b473436d4d88886efe35a0c58947343489f76145b6f9eccd
MD5 04197e47f8b744f72e2d48a9ac88f74a
BLAKE2b-256 fd401e295d8fa435baba91544bacc33ad6cb99a9ca9b5d3b13cf570d0379d084

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page