Olá seja bem vindo ao meu novo artigo
Neste irei comentar sobre a Técnica Multicritério TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution), ela foi apresentada originalmente por Ching-Lai Hwang and Yoon em 1981, com o artigo abaixo:
Hwang, C.L.; Yoon, K. (1981). Multiple Attribute Decision Making: Methods and Applications. New York: Springer-Verlag (Link)
Visto no Canal do Youtube EstaTiDados do Mestre Thiago Marques, ele convidou o Prof. Felipe Moreira, demostrando passo a passo a construção de um exemplo do TOPSIS no Excel, fortemente recomendo visualizar todo o vídeo, para compreender todos os conceitos e a dinâmica da técnica do TOPSIS.
O objetivo deste artigo, será deixar este método dinâmico para 15 variáveis de entradas e até 5 critérios, sendo possível aumentar para a quantidade desejada. Vamos ao exemplo do método TOPSIS no Excel, ou algoritmo TOPSIS, como queira chamar.
Modelo Dinâmico - TOPSIS Excel
Segue os cálculos
N° de Alternativas | Coluna E
=SE(SOMA($F5:$K5)>0;LINS($E$5:E5);"")
ou em inglês
=IF(SUM($F5:$K5)>0;ROWS($E$5:E5);"")
Coluna M, iniciando na célula M5
=H5
Cálculo dos Pesos Individuais | Célula N5 a P22
=SE(OU(F$2="";F5="");"";F5/RAIZ(SOMAQUAD(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2)
ou em inglês
=IF(OR(F$2="";F5="");"";F5/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2)
Referência Melhor | Células N2 a P2
=SE(F2="";"";SE(F$3="MIN";MÍNIMO(ÍNDICE(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)/RAIZ(SOMAQUAD(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2;0));MAX(ÍNDICE(DESLOC(F$4;1;0;SUM(ÍNDICE(--($E$5:$E$19<>"");0));1)/RAIZ(SOMAQUAD(DESLOC(F$4;1;0;SUM(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2;0))))
ou em inglês
=IF(F2="";"";IF(F$3="MIN";MIN(INDEX(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2;0));MAX(INDEX(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2;0))))
Referência Pior | Células N3 a P3
=SE(F2="";"";SE(F$3="MAX";MÍNIMO(ÍNDICE(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)/RAIZ(SUMSQ(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2;0));MÁXIMO(ÍNDICE(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)/RAIZ(SUMSQ(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2;0))))
ou em inglês
=IF(F2="";"";IF(F$3="MAX";MIN(INDEX(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2;0));MAX(INDEX(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2;0))))
Métrica de Similaridade | Coluna C
=SE(E5="";"";SEERRO(RAIZ(SOMA(ÍNDICE(((DESLOC($N5;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0)))-DESLOC($N$3;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0))))^2);0)))/(RAIZ(SOMA(ÍNDICE(((DESLOC($N5;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0)))-DESLOC($N$3;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0))))^2);0)))+RAIZ(SOMA(ÍNDICE(((DESLOC($N5;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0)))-DESLOC($N$2;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0))))^2);0))));""))
ou em inglês
=IF(E5="";"";IFERROR(SQRT(SUM(INDEX(((OFFSET($N5;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0)))-OFFSET($N$3;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0))))^2);0)))/(SQRT(SUM(INDEX(((OFFSET($N5;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0)))-OFFSET($N$3;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0))))^2);0)))+SQRT(SUM(INDEX(((OFFSET($N5;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0)))-OFFSET($N$2;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0))))^2);0))));""))
Ranking Final | Coluna B
=SEERRO(ORDEM(C5;DESLOC(C$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1));"")
ou em inglês
=IFERROR(RANK(C5;OFFSET(C$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1));"")
Com as fórmulas acima, o Método TOPSIS ficará dinâmico.
Também é possível realizar esta técnica pelo site do Prof. Thiago Marques que segue abaixo
https://estatidados.shinyapps.io/TOPSIS_R/
Obrigado Mestre e Prof. Thiago Marques pelo seu compartilhamento de conhecimento!
E um agradecimento especial ao Prof. Dr. Marcos Santos por compartilhar tanto conhecimento nesta comunidade, muito obrigado Professor!
Segue o link abaixo para realizar o download do arquivo
O mesmo foi realizado o Registro de Software sob o Processo de Número BR512023001422-2, apenas para uso acadêmico e 100% gratuito e uso não comercial
Espero que tenha gostado desse artigo!
Caso tenha alguma sugestão de outra técnica ou melhoria do conteúdo acima, poste aqui nos comentários.
Se gostou, curta e compartilhe este artigo para que todos saibam o que é possível fazer dentro do MS Excel.
E você já conhece o meu novo curso online de Excel?
Abraços a todos e até o próximo artigo!
Fabio BALDINI
Frase do Dia: "O que você tentaria fazer se você soubesse que não poderia fracassar?" Autor: Robert Schuller