python实现PROMETHEE方法

决策算法PROMETHEE方法。
step1,给出决策矩阵,规范化决策矩阵。
step2,给出每一个方案与其他方案的偏好函数,偏好函数主要有六种,可以根据自己设置偏好函数。
在这里插入图片描述
step3,获得权重。
step4,确定优先指数,其实就是简单的加权过程。
step5,计算正负优序级别值,一个方案的正方向越高和负方向越低,方案就越优。PROMETHEE1方法只能得到部分优序关系,
在这里插入图片描述
step6,计算综合优序级别值,PROMETHEE2则可以获得方案集合的完全排序。
在这里插入图片描述
数据来自论文《基于云模型与 PROMETHEE 方法的语言型 Z‑number 多
属性决策》
在这里插入图片描述
在这里插入图片描述
完整代码如下

import pandas as pd#bikor算法实现
import  numpy as  np
def ranks(df):
    m=(df.shape[1])
    dfpis = np.sum(df,axis=1)/(m-1)
    dfnis = np.sum(df,axis=0)/(m-1)
    dfranks=dfpis-dfnis
    return dfpis,dfnis,dfranks
if __name__ == '__main__':
    df = pd.DataFrame([[0,0.0526,0.1331,0.0602],
          [0.1333,0,0.1059,0.0988],
          [0.1697,0.0617,0,0.0764],
          [0.2523,0.2135,0.2396,0]])
    df=df.T
    print(df)#这里单纯是我复制过来的矩阵数据反了所以转置
    print(ranks(df))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值