Skip to main content

Biblioteca Wfrim

Project description

Weighted Fuzzy Reference Ideal Method (W-FRIM)

Este projeto implementa o Weighted Fuzzy Reference Ideal Method (W-FRIM), uma abordagem multicritério baseada em lógica fuzzy para auxiliar na avaliação e ranqueamento de alternativas considerando pesos de critérios, referências ideais e estruturas de preferência.

Como Funciona

O método recebe um único arquivo JSON contendo:

  • Critérios
  • Alternativas com valores fuzzy por critério
  • Faixas de valores esperados por critério
  • Referências ideais fuzzy
  • Estrutura de preferência (λ) por critério
  • Pesos fuzzy por critério

Esses dados são processados para:

  • Normalizar os valores fuzzy com base nas referências ideais;
  • Ponderar os valores normalizados usando os pesos dos critérios;
  • Calcular os índices relativos de cada alternativa;
  • Gerar o ranqueamento das alternativas.

Estrutura dos Arquivos

.
├── data/
│   ├── input.json
├── main.py
└── README.md

Instalação

Requisitos:

  • Python 3.7+

Execução

Rode o script principal com:

python main.py

Exemplo de Entrada (input.json)

{
  "method": "W-FRIM",
  "parameters": {
    "criteria": ["C1", "C2", "C3", "C4", "C5", "C6"],
    "performance_matrix": [
      {
        "name": "A1",
        "values": {
          "C1": [3.3712, 3.44, 3.5088],
          "C2": [2.9890, 3.05, 3.1110],
          "C3": [12.6518, 12.91, 13.1682],
          "C4": [0.5350, 0.546, 0.5569],
          "C5": [0.1274, 0.13, 0.1326],
          "C6": [1.0141, 1.0348, 1.0555]
        }
      }
      // ...
    ],
    "range": {
      "C1": [[2.4304, 2.4800, 2.5296], [3.9396, 4.0200, 4.1004]]
      // ...
    },
    "reference_ideal": {
      "C1": [[3.4300, 3.500, 3.5700], [3.9396, 4.0200, 4.1004]]
      // ...
    },
    "preferences": {
      "C1": 1,
      "C2": 1,
      // ...
    },
    "weights": {
      "C1": [0.1568, 0.1600, 0.1632],
      // ...
    }
  }
}

Exemplo de Saída (output.json)

{
  "method": "W-FRIM",
  "results": {
    "ranking": ["A8", "A2", "A4", "A5", "A7", "A9", "A10", "A1", "A3", "A6", "A11"],
    "scores": {
      "A1": 0.379715,
      "A2": 0.539774,
      "A3": 0.377886,
      "A4": 0.493291,
      "A5": 0.460452,
      "A6": 0.358407,
      "A7": 0.441508,
      "A8": 0.577422,
      "A9": 0.416644,
      "A10": 0.413317,
      "A11": 0.208098
    },
    "normalized_weights": {
      "A1": {
        "C1": 0.13986,
        "C2": 0.120719,
        "C3": 0.13683,
        "C4": 0.118757,
        "C5": 0.02649,
        "C6": 0.125826
      },
      // ...
    }
  }
}

Referência Teórica

A implementação do método está baseado no artigo W-FRIM: A weighted fuzzy RIM approach.

Autores

Victoria Pantoja - vpa@cin.ufpe.br

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

wfrim_cin-0.1.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

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

wfrim_cin-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file wfrim_cin-0.1.0.tar.gz.

File metadata

  • Download URL: wfrim_cin-0.1.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for wfrim_cin-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4b3c90c86b9bc0ae5712ba08af3d879f69f3deb0c622cdade420b279f949eda5
MD5 c0ec98293f4593f770b6bd8893007214
BLAKE2b-256 1f957faea52304026b60bc84419947691cb4a542436cac55c84108efd3559d95

See more details on using hashes here.

File details

Details for the file wfrim_cin-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: wfrim_cin-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for wfrim_cin-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37ad040641086f5cba20e947e425b76e7bc22ed32700da1f2d131b842174fd8b
MD5 0db388fd5eb137a4a45c9c89ee495542
BLAKE2b-256 e5bed6d8ddc9c67fbab75c59873d852f7786a4dfbbdd805c786a39a1ecccba03

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