python实现《直觉模糊集决策与对策分析方法》04线性规划方法

python实现《直觉模糊集决策与对策分析方法》04线性规划方法,第1张

概述这是李登峰老师《直觉模糊集决策与对策分析方法》第三章权重与属性值均为直觉模糊集合的多属性线性规划方法。先将属性和权重都改成区间形式,然后线性规划是求出该区间里的最优权重。对于给出的算例进行独立重复实验。代码关键步骤有注释。中间的线性规划出问题做不出来,用li

这是李登峰老师《直觉模糊集决策与对策分析方法》第三章权重与属性值均为直觉模糊集合的多属性线性规划方法。先将属性和权重都改成区间形式,然后线性规划是求出该区间里的最优权重。
对于给出的算例进行独立重复实验。代码关键步骤有注释。
中间的线性规划出问题做不出来,用lingo代码实现了结果。

'''求解属性值和权重值均为直觉模糊集合的多属性线性规划方法。主要思想是吧直觉模糊集合转化为区间值进行权重的区间求解。'''from scipy import optimize as opimport pandas as pd#bikor算法实现import  numpy as  npnp.set_printoptions(suppress=True)w=[0.25,0.45,0.3]def getdef(n):#获取矩阵    return pd.read_excel('D:\study\test\data\t13.xlsx',sheet_name=n)def getmatirx(df):    df.iloc[:, [i % 2 == 1 for i in range(len(df.columns))]] = 1 - df.iloc[:,                                                                   [i % 2 == 1 for i in range(len(df.columns))]]    return dfdef getliner(df):    pass'''lingo语言max =0.35*x1+0.47*x2+0.15*x3;x1<=0.75;-x1<=-0.25;x2<=0.6;-x2<=-0.35;x3<+0.35;-x3<=-0.3;x1+x2+x3=1;'''def ranks(df):    d1 = df.iloc[:, ::2]    d2 = df.iloc[:, 1::2]    df1=d1.T.reset_index(drop=True).T    df2= d2.T.reset_index(drop=True).T    print(df1)    print(df2)    gl=np.dot(df1,w)    gu=np.dot(df2,w)    print(gl)    print(gu)    g=gu/(1+gu-gl)    return gif __name__ == '__main__':    df =getdef(0)    print(df)    df1=getmatirx(df)    print(df1)    print(ranks(df1))

github仓库在https://github.com/rivendelltom/decision-making-study

总结

以上是内存溢出为你收集整理的python实现《直觉模糊集决策与对策分析方法》04线性规划方法全部内容,希望文章能够帮你解决python实现《直觉模糊集决策与对策分析方法》04线性规划方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1184850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存