数学建模学习(121):Python实现模糊AHP(Fuzzy AHP)——从原理到实践

2024-08-25 22:52

本文主要是介绍数学建模学习(121):Python实现模糊AHP(Fuzzy AHP)——从原理到实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模糊AHP为很多比赛中常用到的方法。以案例学习方法,大家要认真理解案例和代码,代码和思维是通用的。

文章目录

    • 1. 引言
    • 2. 模糊层次分析法(FAHP)理论背景
      • 2.1 什么是模糊层次分析法?
      • 2.2 基本思想
      • 2.3 模糊AHP的步骤
    • 3. 案例背景:供应商选择
    • 4. 成对比较矩阵的构建
      • 4.1 什么是成对比较矩阵?
      • 4.2 如何构建成对比较矩阵?
        • 4.2.1 判断准则之间的相对重要性
        • 4.2.2. 使用模糊数表示判断
      • 4.2.3 成对比较矩阵示例
    • 4.3 使用Python实现模糊AHP
      • 4.3.1 步骤1:安装`pyDecision`库
      • 4.3.2 步骤2:导入必要的库
      • 4.3.3 步骤3:定义模糊成对比较矩阵
      • 4.3.4 步骤4:调用模糊AHP方法
      • 4.3.5 结果分析
    • 参考文献

1. 引言

在现代决策过程中,尤其是多准则决策分析(MCDA)中,层次分析法(AHP)已经成为一种广泛使用的工具。然而,传统AHP在处理不确定性或模糊性(例如决策者的模糊判断)时可能表现出局限性。为了解决这一问题,模糊层次分析法(Fuzzy AHP,简称FAHP)应运而生,它结合了模糊逻辑与AHP,允许决策者表达主观判断中的不确定性。

在本教程中,我们将介绍模糊AHP的理论基础、详细讲解如何构建成对比较矩阵,并展示如何使用Python中的pyDecision库来实现模糊AHP。我们将通过一个具体的供应商选择案例演示如何进行模糊AHP分析,以便更科学地做出决策。

2. 模糊层次分析法(FAHP)理论背景

2.1 什么是模糊层次分析法?

模糊层次分析法(Fuzzy AHP)是传统层次分析法的扩展版本,它利用模糊逻辑处理决策过程中不确定性和模糊性问题。在传统AHP中,成对比较是使用确定的数值进行的,而在模糊AHP中,这些比较是通过模糊数来表达的。模糊AHP更灵活,能够捕捉到决策者在判断中的模糊性和不确定性。

2.2 基本思想

模糊AHP

这篇关于数学建模学习(121):Python实现模糊AHP(Fuzzy AHP)——从原理到实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106884

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi