多属性决策(MCDM)

article/2025/7/19 1:38:25

多属性决策(MCDM)

指的是利用已有的决策信息通过移动的方式对一组(有限个)备选方案进行排序或者择优。

属性:备选方案的特征、品质或性能参数 包括属性权重属性值

对决策信息进行集结:

  1. 加权算术平均算子(WAA)
  2. 加权几何平均算子(WGA)
  3. 有序加权平均算子(OWA)

加权算术平均算子(WAA)

对于一组给定的数据有
W A A w ( a 1 , a 2 , . . . , a n ) = ∑ i = 1 n w i a i WAA_{w}(a_{1},a_{2},...,a_{n})=\sum_{i=1}^nw_{i}a_{i} WAAw(a1,a2,...,an)=i=1nwiai
其中 ( w 1 , w 2 , . . . , w n ) T (w_{1},w_{2},...,w_{n})^T (w1,w2,...,wn)T是数据组 ( a 1 , a 2 , . . . , a n ) (a_{1},a_{2},...,a_{n}) (a1,a2,...,an)的权重向量,wi∈[0,1],i∈[1,n]

属性值类型

  • 效益性:越大越好
  • 成本型:越小越好
  • 固定型:越接近某个固定值α越好
  • 偏离型:越偏离某个固定值β越好
  • 区间型:越接近某个固定区间[q1,q2]越好
  • 偏离区间型:越偏离某个固定区间[q1,q2]越好

归一化处理

  • 效益型:
    r i j = a i j m a x i a i j = a i j − m i n i a i j m a x i a i j − m i n i a i j r_{ij}=\frac{a_{ij}}{max_{i}\ a_{ij}}=\frac{a_{ij}-min_{i}\ a_{ij}}{max_{i}\ a_{ij}-min_{i}\ a_{ij}} rij=maxi aijaij=maxi aijmini aijaijmini aij

  • 成本型:
    r i j = m i n i a i j a i j = m a x i a i j − a i j m a x i a i j − m i n i a i j r_{ij}=\frac{min_{i}a_{ij}}{ a_{ij}}=\frac{max_{i}a_{ij}-a_{ij}}{max_{i}\ a_{ij}-min_{i}\ a_{ij}} rij=aijminiaij=maxi aijmini aijmaxiaijaij

  • 固定型:
    r i j = 1 − a i j − α j m a x i ∣ a i j − α j ∣ r_{ij}=1-\frac{a_{ij}-α_{j}}{max_{i}|a_{ij}-α_{j}|} rij=1maxiaijαjaijαj

  • 其他:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bSYMvGuh-1645344884807)(:/8dfb5aedbea74c2ab63d8b87ced4abad)]

实例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tQIlK35z-1645344884809)(:/8b2817b3e2694d93a4645b70b3a505b6)]

归一化处理属性值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hH6oXUdR-1645344884810)(:/6a404571fb154956b6127d364ada4add)]

计算权重(层次分析法)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0vjh1QJ3-1645344884812)(:/eb0f0179a3c4468d9dc78c05888f52a6)]

运用WAA求解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nboxTF1y-1645344884814)(:/f10130606a95405e88d4e5c7fb7dab3f)]

mapminmax
1 默认的map范围是[-1, 1],所以如果需要[0, 1],则按这样的格式提供参数:
MappedData = mapminmax(OriginalData, 0, 1);2 只按行归一化,如果是矩阵,则每行各自归一化,如果需要对整个矩阵归一化,用如下方法:
FlattenedData = OriginalData(:)'; % 展开矩阵为一列,然后转置为一行。
MappedFlattened = mapminmax(FlattenedData, 0, 1); % 归一化。
MappedData = reshape(MappedFlattened, size(OriginalData)); % 还原为原始矩阵形式。此处不需转置回去,因为reshape恰好是按列重新排序

http://chatgpt.dhexx.cn/article/UsKDlV7x.shtml

相关文章

多属性决策

多属性决策(有限方案多目标决策),实现较好的数据预处理 由决策变量选择对应的决策形式 离散型 进行分析评价的目的是对方案进行排序 连续型 从非劣解集中获取偏好解 数据预处理 遵循非量纲化、归一化属性值的定性等级 最好、很好、好、较…

【数学建模】多属性决策模型(评价与决策)

文章目录 一、算法介绍1. 加权算术平均算子(WAA)2. 属性值归一化处理 二、适用问题三、算法总结1. 步骤 四、应用场景举例(企业评估)1. 建模构建决策矩阵2. 属性值归一化3. 对各个属性构造成对比较矩阵计算属性权重(层…

多属性决策分析

【 1. 多属性决策分析简介 】 实质: 利用已有的决策信息通过一定的方式对一组(有限个)备选方案进行排序或择优。组成: (l) 获取决策信息。决策信息一般包括两个方面的内容:属性权重和属性值(属性值主要有三种形式:实数、区间数和…

机器学习(MACHINE LEARNING)多属性决策模型

文章目录 1 多属性决策概念2 加权算术平均算子3 属性值归一化处理4 例子 1 多属性决策概念 首先,什么是多属性决策呢,它指的是利用已有的决策信息通过移动的方式对一组(有限个)备选方案进行排序或者择优。它的主要组成部分有如下…

离散模型——多属性决策

数学模型 7.1 P233 目录 多属性决策 定义: 第一步:确定决策矩阵并标准化 1)确定决策矩阵: 2)决策矩阵标准化: 第二步:确定属性权重 第三步:综合方法 1)将决策矩阵…

【C语言】my_strcmp字符串比较

1.思想:①.比较两个字符串涉及对两个字符串对应的字符逐个进行比较,直到发现不匹配为止,返回比较结果。 ②.strcmp函数实际上是对字符的ASCII码进行比较,strcmp函数最多比较到其中一个字符串遇到\0为止。 2.函数原型如下&#xf…

C/C++编程笔记:C语言字符串比较函数,超详细,值得收藏!

void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c. 返回dest的值. void *memmove(void *dest, const void *src, size_t count); 从src复制count字节的字符到dest. 如果src和dest出现重叠, 函数会自动处理. 返回dest的值. void *memcpy(voi…

【c语言】字符串比较 | API仿真

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

C/C++中比较字符串的方法

一、strcmp函数 适用对象 char*类型字符串 函数介绍 strcmp函数是cstring库中的函数&#xff0c;包含在string.h头文件中 用法 strcmp的两个参数都是char*类型&#xff0c;将要比较的字符串传入即可&#xff0c;根据返回值得到比较结果 举例 二、compare()函数 适用对象…

【c语言】字符串比较

独立实现标准字符串库的strcmp函数&#xff0c;即字符串比较函数&#xff0c;从键盘输入两个字符串&#xff0c;按字典序比较大小&#xff0c;前者大于后者输出1&#xff0c;前者小于后者输出-1&#xff0c;两者相等输出0。 样例输入: apple one 样例输出: -1 样例输入: hello…

C语言 - 比较字符串大小

程序源码 #include <stdio.h> int mStrcpy(char *s, char *s1, int len); int main() {char str[2][20];int i, j;printf("请输入2个字符串&#xff01;\n");for(i0; i<2; i)gets(str[i]);printf("字符串大小比较结果&#xff1a;%d\n", mStrcpy…

c语言比较两个字符串是否相等strcmp

c语言提供了几个标准库函数&#xff0c;可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子&#xff1a; #include <stdio.h> #include <string.h> int main(void) {char str_1[] "abc"; char str_2[] "abc";char str_3…

(c语言)比较三个字符串的大小

问题描述&#xff1a; 比较三个字符串的大小&#xff0c;并且按从小到大的顺序输出。 程序分析&#xff1a; 1.在写这个程序的时候&#xff0c;主要是写了一个swap函数&#xff0c;调用了标准库函数中的strcmp来实现的。 2.在写swap这个函数的时候将函数参数设置为两个二级…

c语言怎么进行字符串比较,c语言怎么进行字符串比较

比较方法:1、bcmp(),比较字符串的前n个字节是否相等;2、strcmp(),区分大小写的比较字符串;3、stricmp(),不区分大小写的比较字符串;4、strncmp()或strnicmp(),区分大小写的比较字符串的前n个字符。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 使用bcmp()–…

C语言中字符串之间的比较【char*】/【string】

在C/C语言中表示字符串的方式有两种&#xff1a; 1、char* a 2、string b 对于这两种方式各自之间比较又是怎么处理的呢&#xff1f; 我们知道&#xff0c;数值直接进行比较&#xff0c;直接用>、<、来判断。而对于一串字符这样比较对不对呢&#xff1f; 1、对于cha…

C语言中字符串比较

在 单片机串口实现字符串命令解析 这篇文章中分析了在串口通信中如何去解析字符串命令&#xff0c;这篇文章就来讨论下字符串比较的方法都有哪些&#xff1f; 说起比较运算&#xff0c;肯定第一时间想到了C语言中关于比较的相关运算符 “>、<、&#xff01;、>、<、…

【C语言】正确比较两个字符串

目录 两种常见的错误比较方法 &#xff08;1&#xff09;为什么两个字符串不能直接用大于小于号比较&#xff1f; &#xff08;2&#xff09;为什么不能用数组名直接比较 字符串比较大小的实质 两种比较字符串两种方法 &#xff08;1&#xff09;难的方法 &#xff08;2&…

课程设计:Java编写的基于KNN算法的手写数字识别软件

0x00 概述 本软件是使用Java语言编写的PC端图形界面程序&#xff0c;也支持命令行形式运行 主要功能为识别用户在软件内绘板上手写的数字 同时也支持使用给定的训练集批量识别符合本软件定义格式的手写数字&#xff08;该功能仅支持命令行形式使用&#xff09; 0x01 设计逻…

手写数字识别问题(5)——完结

经过接近15周的艰苦努力&#xff0c;毕业设计&#xff08;基于MATLAB的手写数字识别系统&#xff09;已经完结。 设计过程中遇到的部分问题可查阅博客&#xff1a; 手写数字识别问题&#xff08;1&#xff09;——关于MNIST数据集手写数字识别问题&#xff08;2&#xff09;—…

常用的OCR文字识别软件有哪些

随着大家办公需求的增加&#xff0c;办公软件如雨后春笋般纷纷面世&#xff0c;旨在提高大家的工作效率&#xff0c;OCR文字识别软件便是不可缺少的办公软件之一。那么&#xff0c;有哪些专业又好用的OCR文字识别软件呢&#xff1f;小编来为大家推荐几款&#xff0c;以供参考。…