VIKOR算法敏感性分析基于属性权重扰动
大家晚上好!这两天天气突然转凉,大家要记得及时添加衣物哦!
今天小编给大家带来的是VIKOR算法的敏感性分析——基于属性权重扰动。在此之前呢,先带大家了解MATLAB的程序结构,有助于大家理解程序代码。
MATLAB的编程结构一般分为顺序结构、循环结构、分支结构3种。顺序结构是指程序按照用户输入指令语句逐条顺序执行,循环结构、分支结构都有其特定的语句。
1.顺序结构
例:求a、b两个数组的和。程序设计为:
运行结果为:
2.循环结构
MATLAB提供了两种循环结构,即for循环结构和while循环结构。
For循环语句允许按照给定的判断范围或循环次数重复完成一次或多次运算。它从for开始,用end结束。
程序设计为:
运行结果为:
While循环结构则是根据给定的条件,决定是否以不确定的循环次数来执行循环语句体。
例子:求1+2+3+……+10的和。程序设计为:
运行结果为:
3.分支结构
(1)if…end结构只有一个判断句,当条件表达式为真时,就执行语句体,为假则直接执行end后面的语句。例子:
(2)if… else…end结构有多个判断句,表达式为真,执 行语句体;为假则执行下一个语句体。例子:
运行结果为:
接下来对VIKOR算法进行敏感性分析——基于属性权重扰动。通过敏感性分析,可以确定评价准则权重的潜在变化会导致决策结果产生偏离,这是有效利用模型和实施定量决策的关键。决策中的评价准则权重受到微小扰动后,各潜在供应商优先序的相应变化
首先我们需要得到标准化后的矩阵:
根据VIKOR折衷决策指标值的公式计算出各方案的Q值分别为:
对此结果属性权重扰动后进行敏感性分析。将ω以0.05为步长,在[0,2]区间内进行取共41次取值。将权重按照以下公式进行扰动,得到ξ和k。
程序设计:
扰动后的结果为164*4的矩阵:
根据扰动后的ω矩阵计算新的Q值排序,需要注意的是,代码的开头和结尾有一定变化,中间的代码基本不变。
中间部分程序代码为:
结尾程序代码为:
对计算出的结果进行排序:
对输出结果的稳定性进行判断:
结果显示:方案1的Q值有72次排名第一,方案2有75次,方案3有17次,方案4为0次。
英文翻译:
Good evening, everybody! The weather has suddenly turned cold in the past two days, so please remember to add clothes in time!
What the editor brings to you today is the sensitivity analysis of the VIKOR algorithm-perturbation based on attribute weights. Before that, let’s take you to understand the program structure of MATLAB, which will help you understand the program code.
MATLAB"s programming structure is generally pided into three types: sequence structure, loop structure, and branch structure. Sequential structure means that the program is executed one by one according to the user"s input instruction statement. Loop structure and branch structure have their own specific statements.
1. Sequence structure
Example: Find the sum of two arrays a and b. The program is designed as:
The results of the operation are:
2. Loop structure
MATLAB provides two loop structures, namely for loop structure and while loop structure.
The For loop statement allows one or more calculations to be repeated according to the given judgment range or loop times. It starts with for and ends with end.
The program is designed as:
The results of the operation are:
The While loop structure decides whether to execute the loop statement body with an indeterminate number of loops based on the given conditions.
Example: Find the sum of 1+2+3+……+10. The program is designed as:
The results of the operation are:
3. Branch structure
(1) The if...end structure has only one judgment sentence. When the conditional expression is true, the statement body is executed, and if it is false, the statement after end is executed directly. example:
(2) The if...else...end structure has multiple judgment sentences. If the expression is true, the sentence body will be executed; if it is false, the next sentence body will be executed. example:
The results of the operation are:
Next, the sensitivity analysis of the VIKOR algorithm is based on the perturbation of attribute weights. Through sensitivity analysis, it can be determined that potential changes in the weight of evaluation criteria will lead to deviations in decision-making results, which is the key to effective use of models and implementation of quantitative decision-making. After the weight of the evaluation criteria in the decision-making is slightly disturbed, the priority of each potential supplier changes accordingly
First we need to get the standardized matrix:
According to the formula of VIKOR compromise decision index value, the Q value of each scheme is calculated as:
Sensitivity analysis is carried out after perturbing the attribute weight of this result.
Take ω as the step size of 0.05, and take a total of 41 values in the interval [0,2]. Perturb the weights according to the following formula to obtain ξ and k.
programming:
The result after the perturbation is a 164*4 matrix:
Calculate the new Q value sorting according to the disturbed ω matrix. It should be noted that there are certain changes at the beginning and end of the code, and the code in the middle is basically unchanged.
The program code of the middle part is:
The ending program code is:
Sort the calculated results:
Judge the stability of the output result:
The results show that the Q value of Option 1 ranks first with 72 times, Option 2 has 75 times, Option 3 has 17 times, and Option 4 has 0 times.
英文翻译:谷歌翻译
参考文献:
[1]袁宇,关涛,闫相斌,李一军. 基于混合VIKOR方法的供应商选择决策模型 [J].控制与决策,2014(3):551-560.
本文由LearningYard学苑原创,如有侵权请联系删除。