# ecpromethee

`ecpromethee` implements the EC-PROMETHEE multi-criteria decision method
from Basilio, Pereira and Yigit (2023), "New Hybrid EC-Promethee Method
with Multiple Iterations of Random Weight Ranges".

The package provides:

- ENTROPY weights
- CRITIC weights
- lower and upper weight ranges per criterion
- random normalized weights inside each range
- PROMETHEE II ranking
- EC-PROMETHEE aggregation over many iterations

## Installation

```r
install.packages("ecpromethee")
```

For local development:

```r
install.packages("devtools")
devtools::install("path/to/ecpromethee")
```

## Example

```r
library(ecpromethee)

decision_matrix <- matrix(
  c(7, 9, 6,
    8, 7, 7,
    6, 8, 9),
  nrow = 3,
  byrow = TRUE,
  dimnames = list(c("A1", "A2", "A3"), c("C1", "C2", "C3"))
)

result <- ec_promethee(
  decision_matrix,
  subjective_weights = c(0.3, 0.4, 0.3),
  iterations = 100,
  seed = 123
)

result$final_ranking
```

## Reference

Basilio, M. P.; Pereira, V.; Yigit, F. (2023). New Hybrid
EC-Promethee Method with Multiple Iterations of Random Weight Ranges:
Applied to the Choice of Policing Strategies. *Mathematics*, 11(21),
4432. <https://doi.org/10.3390/math11214432>
