多属性决策的权重确定方法及matlab 程序
多属性决策的权重确定方法及matlab 程序

多属性决策的权重确定方法及matlab 程序本文介绍11种多属性决策权重确定方法及matlab 程序。
目录1.列和求逆归一化方法(NHM ) ........................................................................................... 1 2.行和归一化方法(NRA ) ..................................................................................................... 1 3.和积法(ANC) .......................................................................................................................... 2 4.方根法(NGM ) ................................................................................................................... 2 5. 特征向量法(EM ) ............................................................................................................ 2 6.上三角梯度特征向量法HGEM ............................................................................................ 2 7.下三角梯度特征向量法LGEM ............................................................................................. 3 8.综合梯度特征向量法HLGEM ............................................................................................... 3 9.加权最小平方法WLSM ........................................................................................................ 3 10.几何最小二乘法GLSM ....................................................................................................... 3 11.最小平方几何距离方法(LSGM ) .................................................................................... 4 12. Matlab 程序 .. (5)1.列和求逆归一化方法(NHM )()⨯=ij n n A a 为一致性判断矩阵的充分条件是=ωωiij ja ,由此可以得到如下等式,=,1,,,ωω=L j ij i a i j n ,两边关于i 求和化简得到列和求逆归一化的排序公式为,=11=,1,,ω=∑L j niji j n a如果A 为非一致性判断矩阵,则求得权重还要进行归一化处理。
基于CWAA算子(组合加权算术平均算子)的多属性决策方法及matlab应用

基于CWAA 算子(组合加权算术平均算子)的多属性决策方法及matlab 应用概念:CWAA 算子 11(,,)==∑L nn jjj CWAA a a w b其中,j b 是一组加权数据11(,,)ωωL n n t a t a 中第j 大的元素,1(,,)ωωL n 是数据1(,,)L n a a 的加权向量,t 是平衡因子。
特点:CWAA 算子不仅考虑了每个数据自身的重要性程度,而且还体现了该数据所在位置的重要程度。
决策步骤步骤1:设X 和U 分别为方案集和属性集。
1(,,)=L t D d d 是决策者集合,12(,,,)=L t w w w w 为CWAA 算子的权重向量,1(,,)ωωω=L k k nk 是指第k 个决策者对n个指标给出的指标权重。
对于方案i x ,按属性j u 测度,得到属性值ij a ,从而构成决策矩阵()⨯=ij n m A a ,如果属性量纲不一致,一般对矩阵A 进行规范化处理,得到规范化矩阵R 。
步骤2:利用W AA 算子对规范化矩阵R 中的第i 行元素进行集结,得出决策者d i 对方案i 的综合属性值()k i z 。
步骤3:利用CWAA 算子对t 位决策者给出的方案i 综合属性值()k i z 进行集结,得到方案i 的多人综合属性值i z 。
步骤4:利用方案i 的多人综合属性值对方案进行排序。
实例:步骤1:确定决策矩阵A ,这里不用进行数据的规范化处理。
步骤2:利用WAA 算子对矩阵A 中的第i 行进行集结,假设2位投资者分别对备选股票的6个指标的重要性进行赋权。
决策者d 1的权重为1=(0.4,0.05,0.1,0.05,0.05,0.35)ω,决策者d 2的权重为2=(0.1,0.3,0.3,0.1,0.1,0.1)ω,计算决策者d k 对方案i 的综合属性值()k i z ,假设两个投资者的重要性权重向量为(0.6,0.4)λ=d 。
步骤3:利用CWAA 算子的权重(0.5,0.5)=W ,对2位投资者所给出的方案i 综合属性值()k i z 进行集结,得到方案i 的多人综合属性值i z :程序如下:clear;clc;R=[5.2 4.8 7.8 4.9 6.0 4.6 6 4.4 8.8 5.0 9.1 6.4 5.7 5.7 7.8 6.9 8.2 4.9 5.4 5 6.4 4.4 7.3 4.2]; rr=sort(R,2,'descend');omiga=[0.4 0.05 0.1 0.05 0.05 0.05 0.1 0.3 0.3 0.1 0.1 0.1]; Z=rr*omiga';Z1=2*0.6*Z(:,1); %对决策者1给出方案的综合属性值求解t*λ* Z1 Z2=2*0.4*Z(:,2); rr=[Z1 Z2]; % 合并 w=[0.5 0.5]; CWAA=rr*w';运行结果如下: CWAA=5.02106.0980 5.8490 4.9280 可以看到备选股票2为选择对象。
matlab信息熵方法确定权重

matlab信息熵方法确定权重Matlab是一种强大的数学建模和计算工具,可以用于解决各种实际问题。
信息熵是一种用于度量信息量和信息不确定性的方法,通过计算每个变量的信息熵,可以确定变量的权重。
在本文中,我们将介绍如何使用Matlab 的信息熵方法确定权重。
首先,我们需要明确问题的背景和目标。
假设我们有一个包含多个变量的数据集,我们希望确定每个变量对最终结果的影响程度,即各个变量的权重。
接下来,我们需要计算每个变量的信息熵。
信息熵的计算公式为:H(X) = - ΣP(x) log2(P(x))其中,H(X)表示变量X的信息熵,P(x)表示变量X取值为x的概率。
首先,我们需要对数据集进行预处理,以便计算每个变量的概率。
在Matlab中,我们可以使用histcounts函数来计算每个变量的概率分布。
例如,假设我们有一个包含n个样本的数据集,其中变量X有m个不同的取值。
我们可以使用以下代码计算变量X的概率分布:[counts, edges] = histcounts(X, 'Normalization', 'probability');在代码中,X表示待计算的变量,counts表示每个取值的频数,edges 表示每个取值的边界。
接下来,我们可以使用上述公式计算每个变量的信息熵。
在Matlab中,我们可以使用sum和log2函数来计算信息熵。
例如,假设我们有一个包含m个取值的变量X,我们可以使用以下代码计算变量X的信息熵:H = -sum(counts .* log2(counts));在代码中,counts表示变量X的概率分布,.*表示逐元素相乘操作。
计算完所有变量的信息熵后,我们可以将其归一化,以便比较各个变量的影响程度。
在Matlab中,我们可以使用normalize函数来实现归一化操作。
例如,假设我们有一个包含n个变量的信息熵向量H,我们可以使用以下代码将其归一化:normalized_H = normalize(H);在代码中,H表示信息熵向量,normalized_H表示归一化后的信息熵向量。
基于OWA算子和CWAA算子的多属性群决策方法及matlab应用

基于OWA 算子和CWAA 算子的多属性群决策方法及matlab 应用步骤1:对于某一多属性群决策问题,设X 和U 分别为方案集和属性集。
属性权重信息完全未知。
1(,,)=t D d d 是决策者集合,1(,,)λλ=t λ为决策者的权重向量,11λ==∑tk k 。
设决策者d k 给出方案i x 在属性j u 下的属性值()k ij a ,从而构成决策矩阵A k 。
如果属性量纲不一致,一般对矩阵A 进行规范化处理,得到规范化矩阵()()⨯=k k ij n m r R 。
步骤2:利用OWA 算子对决策矩阵k R 中的第i 行的属性值进行集结得到决策者d k 给出方案i x 的综合属性值()()k i z w 。
()()()()11()(,,)====∑mk k k k ii imj ij j zOWA r r w b w 12m (,,,)=w w w w 为OWA 算子的权重向量,()k ij b 是数据()()1(,,)k k i im r r 中第j 大的元素。
步骤3:利用CWAA 算子对t 位决策者给出方案i x 的综合属性值()()k i z w 进行集结,得到方案的群体综合属性值(,)'i z λw ,(1)()()1(,)((),,())=''==∑tt k i iiki k z CWAA z z w b λw w w 其中1(,,)'''=t w w w 是CWAA 算子的加权向量,满足权向量的条件。
()k i b 是一组加权数据(1)()1((),,())λλt i t i t z t z w w 中第k 大的元素,t 是平衡因子。
步骤4:利用(,)'i z λw 对方案进行排序。
该决策方法首先利用OWA 算子进行纵向集结(即对一个决策者所给定的某一方案所有属性值进行集结),然后利用CWAA 算子对纵向集结结果进行横向集结(即对由不同决策者得到的同一方案结合属性值进行集结)。
在Matlab中使用多目标优化进行多准则决策制定

在Matlab中使用多目标优化进行多准则决策制定随着社会的发展和科学技术的进步,人们在决策过程中需要考虑的因素越来越多,往往会涉及到多个准则。
面对这种情况,我们可以利用多目标优化算法来帮助决策者做出最佳的选择。
本文将介绍如何在Matlab中使用多目标优化进行多准则决策制定。
一个多准则决策问题通常涉及到多个决策变量和多个目标函数。
其中,决策变量是指需要决策者选择的决策因素,而目标函数是评价决策的准则。
多目标优化的目标是找到一组最优解,使得所有目标函数的值都能够达到最优。
在Matlab中,使用多目标优化算法进行多准则决策制定非常方便。
首先,我们需要定义决策变量和目标函数。
决策变量可以是连续的、离散的或者混合的。
而目标函数可以是线性的、非线性的、单目标的或者多目标的。
接下来,我们需要选择适合的多目标优化算法。
Matlab提供了多种多目标优化算法,包括非支配排序遗传算法(NSGA)、多目标遗传算法(MOGA)等。
根据具体情况选择合适的算法。
然后,我们需要定义问题的约束条件。
约束条件是指决策变量在决策空间中的限制条件。
约束条件可以是等式约束或者不等式约束。
在定义约束条件时,我们需要确保解空间的可行性。
在完成上述步骤后,我们可以使用Matlab中的优化函数进行多目标优化。
常用的优化函数有fmincon、gamultiobj等。
这些函数可以根据定义的决策变量、目标函数和约束条件,自动寻找最佳解集。
在进行多目标优化时,我们需要考虑目标之间的权重关系。
权重反映了各目标函数之间的重要性。
在Matlab中,可以通过设定权重向量来定义目标的优先级。
权重向量的选择需要根据具体情况来确定,可以根据专家知识或者利用模糊层次分析法等方法。
最后,我们需要根据优化结果进行决策制定。
在多目标优化中,我们通常得到一个解集,而不是单个最优解。
解集中的每个解都是一种最优解,并且在不同的权重下具有不同的优势。
决策者可以根据自己的需求和权衡来选择最终的决策。
多目标决策问题的多属性权重分配方法研究

多目标决策问题的多属性权重分配方法研究多属性权重分配是指根据不同属性的重要性,将权重适当地分配给多个目标,以便进行决策。
在多目标决策问题中,决策者需要考虑各个目标之间的权衡和权重。
多属性权重分配方法主要有层次分析法(Analytic Hierarchy Process,AHP)、主成分分析法(Principal Component Analysis,PCA)和熵权法(Entropy Weight Method,EWM)等。
首先,层次分析法是一种重要且经典的多属性权重分配方法。
该方法通过对比两两属性的相对重要性,按照一定的准则对属性进行排序,得到各个属性的权重。
层次分析法将复杂的决策问题层次化,减少了决策者的认知负担。
它将目标、准则和方案逐层分解,得出各层次之间的判断矩阵,并通过特征值法计算出最终权重。
其次,主成分分析法是一种通过线性变换将原始属性转化为新的属性,以最大限度地保留原始属性信息的方法。
主成分分析法的思想是通过将各个属性进行综合,得到一组新的属性,这些新属性能够更好地反映原始属性的特征。
在决策问题中,主成分分析法可以通过计算各个主成分的贡献率,得到每个属性的权重。
最后,熵权法是一种基于信息熵的多属性权重分配方法。
熵权法将信息熵应用于多属性决策问题中,通过计算各个属性的熵值和信息增益,得到各个属性的权重。
该方法充分考虑了属性之间的相互关系和信息量,对决策结果具有较好的解释性。
在实际应用中,选择适合的多属性权重分配方法需要考虑多个因素。
首先,需要根据具体的决策问题和决策者的需求,选择合适的方法。
其次,需要收集相关的决策数据,包括各个属性的权重和值。
然后,应根据所选方法进行计算和分析,得出最终权重。
最后,根据得到的最终权重对各个方案进行评估和排序,根据最终的决策目标进行选择。
综上所述,多目标决策问题的多属性权重分配方法包括层次分析法、主成分分析法和熵权法等。
这些方法在实践中具有一定的应用价值,可以帮助决策者在面对复杂的多目标决策问题时做出合理的决策。
基于正态分布的VIKOR多属性决策分析及matlab应用

基于正态分布的区间数VIKOR 多属性决策分析及matlab 应用1在已有的区间数的多属性决策方法的研究成果中大部分认为属性值在区间数内是服从均匀分布的,只有少部分文献认为是服从正态分布的.事实上认为其服从正态分布更加贴近实际,比如一个班级学生的期末考试成绩,高分和不及格的都占少数,大多数处于中间状态。
对已知属性权重取值范围及属性值为区间数的多属性决策问题进行了分析,利用线性规划模型求出属性权重的确定值,考虑了区间数正态分布,得到了基于正态分布的折中妥协(VIKOR)区间多属性决策法1.区间数的正态分布随机变量ξa 在区间数[],=a a a 服从正态分布,记2(,)ξμσ:a N ,根据正态分布的3σ原则()30.9973μσ-≤≈P a ,随机变量ξa 几乎可以肯定落在区间(3,3)μσμσ-+,故令3,3μσμσ=-=+a a ,解得[0,1],[0,1]26μσ+-=∈=∈a a a a a a 。
μa 可以表示[],a a 的中心,反映了信息的确定程度,σa 表示[],a a 的宽度,反映了信息的不确定程度。
定义:设区间数[,],[,]μσμσ==a a b b A B ,称22()μμσσ⎛⎫->=Φ ⎪-⎝⎭a b ab P A B 为>A B 的可能度。
2.决策方法有方案1,,L m A A ,共有m 个,1(,,)=L n u u u 为n 个属性,在方案(1,,)=L i i m A 在属性j u 下的决策值为,⎡⎤=⎣⎦ij ij ij a a a ,决策矩阵为()⨯=ijm n a A ,j w 为属性的权重,也为区间数,{1,,},{1,,}==L L M m N n 。
基于正态分布的折中妥协(VIKOR)决策法的具体步骤如下:步骤1用区间数规范化方法将原决策矩阵规范化处理得到矩阵,⨯⎡⎤=⎣⎦ij ij m n f f F效益型规范化 11==⎧=⎪⎪⎪⎨⎪=⎪⎪⎩∑∑ij ij m ij i ijijm ij i a f a a f a 成本型规范化1 Matlab 程序见文后的百度文库链接。
熵权法求权重matlab

熵权法求权重matlab
熵权法是一种多标准决策分析方法,其基本思想是通过计算各指标的信息熵,进而求得各指标的权重,从而进行综合评价或决策。
在Matlab 中,可以通过以下步骤实现熵权法求权重:
1. 收集各指标的数据,并将其组织成矩阵形式。
2. 对矩阵进行归一化处理,使得各指标的取值范围相同。
3. 计算各指标的信息熵。
对于第i个指标,其信息熵可以按照以下公式计算:
$E_i = -\sum_{j=1}^{n}s_{ij}\ln(s_{ij})$
其中,$s_{ij}$表示第i个指标在第j个样本中的归一化值,n表示样本数。
4. 计算各指标的权重。
对于第i个指标,其权重可以按照以下公式计算:
$w_i = \frac{1-E_i}{n-\sum_{j=1}^n E_j}$
其中,n表示指标数。
5. 对权重进行归一化,使得各权重之和为1。
以上就是使用熵权法求解指标权重的基本步骤,可以在Matlab中编写对应的代码来实现。
需要注意的是,在实际应用中,可能需要对不同指标的重要性进行调整,以更好地适应具体的决策问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多属性决策的权重确定方法及matlab 程序本文介绍11种多属性决策权重确定方法及matlab 程序。
目录1.列和求逆归一化方法(NHM ) ........................................................................................... 1 2.行和归一化方法(NRA ) ..................................................................................................... 1 3.和积法(ANC) .......................................................................................................................... 2 4.方根法(NGM ) ................................................................................................................... 2 5. 特征向量法(EM ) ............................................................................................................ 2 6.上三角梯度特征向量法HGEM ............................................................................................ 2 7.下三角梯度特征向量法LGEM ............................................................................................. 3 8.综合梯度特征向量法HLGEM ............................................................................................... 3 9.加权最小平方法WLSM ........................................................................................................ 3 10.几何最小二乘法GLSM ....................................................................................................... 3 11.最小平方几何距离方法(LSGM ) .................................................................................... 4 12. Matlab 程序 .. (5)1.列和求逆归一化方法(NHM )()⨯=ij n n A a 为一致性判断矩阵的充分条件是=ωωiij ja ,由此可以得到如下等式,=,1,,,ωω=L j ij i a i j n ,两边关于i 求和化简得到列和求逆归一化的排序公式为,=11=,1,,ω=∑L j niji j n a如果A 为非一致性判断矩阵,则求得权重还要进行归一化处理。
2.行和归一化方法(NRA )()⨯=ij n n A a 为一致性判断矩阵的充分条件是=ωωi ij j a ,对=ωωi ij ja 两边关于j 求和,化简得到行和求逆归一化的排序公式为,=11=1=,1,,ω==∑∑∑L nijj j n n ijj i ai n a3.和积法(ANC)()⨯=ij n n A a 为一致性判断矩阵的充分条件是=ωωiij ja ,由此可以得到如下等式,=,1,,,ωω=L j ij i a i j n ,对其两边关于j 求和,化简得到和积法的排序权重公式为,=111=,1,,ω==∑∑L nij j i niji a n i n a4.方根法(NGM )由=ωωiij ja ,对其两边关于j 求积,整理后得到方根法排序权重公式为,1=1,,ω==L i i i n5. 特征向量法(EM )若判断矩阵A 为一致性判断矩阵,则排序权重向量T1=(,,)ωωL n ω同时还是判断矩阵A 的特征向量,max =λA ωω由此导出的排序方法称为特征向量法。
6.上三角梯度特征向量法HGEM上三角梯度特征向量法上利用判断矩阵A 的上三角元素求解排序权重向量,11121222max 102=000ωωωωλωω⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦LL M M M M M M n n n n a a a n 解特征方程,得递推关系1111ωωωω--=+==-∑n n nni ij jj i a a n i利用上面的递推公式可以确定排序权重向量,需要对所求权重再进行归一化处理。
7.下三角梯度特征向量法LGEM同上三角梯度特征向量法,可以得到递推关系2211111,3,,1ωωωω-====-∑L i i ij j j a a i n i 利用上面的递推公式可以确定排序权重向量,需要对所求权重再进行归一化处理。
8.综合梯度特征向量法HLGEM把上三角梯度特征向量法和下三角梯度特征向量法进行算术平均,即()()=+()/2H L ωωω可以得到综合梯度特征向量法HLGEM 。
9.加权最小平方法WLSM构造加权最小平法和最优化问题2111min ()..1ωωω====-=∑∑∑n ni ij j i j nii J a s t可以构造拉格朗日函数求解最优化问题,11=--T Q e ωe Q e其中,(1,1,,1)=L Te211221111221121221221211221(2)()()()(2)()(2)()()(2)====⎡⎤+--+-+⎢⎥⎢⎥⎢⎥-++--+⎢⎥⎢⎥=⎢⎥+-⎢⎥⎢⎥⎢⎥-+-++-⎢⎥⎢⎥⎣⎦∑∑∑∑LL M M M L n i n n i ni n n i ni i nn n n n ini a n a a a a a a a n a a a n a a a a a n Q10. 几何最小二乘法GLSM构造几何最小二乘法最优化问题2111min..1ωωω===⎛⎫-==∑∑∑n ni jniiaJs t令δ=ij可以得到排序权重公式11=--TB eωe B e其中,(1,1,,1)=L Te11212111212122221122δδδδδδδδδ≠≠≠⎡⎤--⎢⎥⎢⎥⎢⎥--⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥--⎢⎥⎣⎦∑∑∑LLM M L MLnj n njnj n njnn n n n njj na aa aa aQ11.最小平方几何距离方法(LSGM)最小平方几何距离方法如下求解最优化问题11(1)min..1ωωω==⎛⎫-+⎪==∑∑∑ni ij jniniin aJs t可以得到11()=()--TT TQ Q eωe Q Q e其中,()⨯=ij n nqQ,==≠ijj iqaj i。
12. Matlab 程序假设判断矩阵A 满足一致性,17541/7111/2=1/5111/31/4231⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦A 利用上述10种权重排序方法排序clear;clc; a=[ 1 8 4 61/8 1 1/4 1/6 1/4 4 1 3 1/6 6 1/3 1] [n,m]=size(a)%方法1:列和求逆归一化方法(NHM ) for i=1:nNHM_w(i)=1/sum(a(:,i)); endw1(1,:)= NHM_w%方法2:行和归一化方法(NRA ) for i=1:nNRA_w(i)=sum(a(i,:))/sum(sum(a)); endw2(1,:)= NRA_w%方法3:和积法(ANC) for i=1:n t=0for j=1:nt=t+a(i,j)/sum(a(:,j)) endANC_w(i)=t/n endw3(1,:)=ANC_w%方法4:方根法(NGM ) for i=1:n t=1for j=1:nt=t*a(i,j) endt=t^(1/n)tt(i)=tendNGM_w=tt/sum(tt)w4(1,:)=NGM_w%方法5:特征向量法(EM)[Q,p]=eig(a)EM_w=Q(:,1)'w5(1,:)=EM_ww5=w5/sum(w5) %规范化%方法6:上三角梯度特征向量法HGEM HGEM_w(n)=1HGEM_w(n-1)=a(n-1,n)*HGEM_w(n)for i=n-2:-1:1t=0for j=i+1:nt=t+a(i,j)*HGEM_w(j)endHGEM_w(i)=t/(n-i)endw6= HGEM_w./sum(HGEM_w)%方法7:下三角梯度特征向量法HGEM LGEM_w(1)=1LGEM_w(2)=a(2,1)*LGEM_w(1)for i=3:nt=0for j=1:i-1t=t+a(i,j)*LGEM_w(j)endLGEM_w(i)=t/(i-1)endw7= LGEM_w./sum(LGEM_w)%方法8:综合梯度特征向量法HLGEM w8=(w6+w7)./2%方法9:加权最小平方法WLSMfor i=1:nfor j=1:nif i==jB(i,j)=sum((a(:,j).^2))+(n-2);elseB(i,j)=-(a(i,j)+a(j,i));endendende=ones(n,1);WLSM_w=(inv(B)*e)/(e'*inv(B)*e);w9=WLSM_w'%方法10:几何最小二乘法(GLSM)for i=1:nfor j=1:ndelt(i,j)=1/(1+a(i,j)^2)endendfor i=1:nfor j=1:nif j==iG(i,j)=sum(delt(i,:))-delt(i,j)elseG(i,j)=-delt(i,j)*a(i,j)endendendGLSM_w=(inv(G)*e)./(e'*inv(G)*e)GLSM_w=GLSM_w./sum(GLSM_w)w10=GLSM_w'%方法11:最小平方几何距离方法(LSGM)for i=1:nfor j=1:nif j==ib(i,j)=(1-n)/((1-n)^2+sum(a(i,:).^2-a(i,i)^2))^(1/2) elseb(i,j)=a(i,j)/((1-n)^2+sum(a(i,:).^2-a(i,i)^2))^(1/2) endendendLSGM_w=(inv(b'*b)*e)./(e'*inv(b'*b)*e)w11=LSGM_w'W=[w1;w2;w3;w4;w5;w6;w7;w8;w9;w10;w11]最终结果:W=[ 0.648650.0526320.17910.0983610.523540.042480.227320.206660.594070.0487210.211720.145490.613550.044280.216920.125240.604470.0453090.217590.132630.618310.0392390.256840.0856120.541350.0676690.203010.187970.579830.0534540.229920.136790.653080.0576970.182660.106570.673680.0500070.183560.0927550.624040.0408240.216460.11868]。