VIKOR方法

简介

VIKOR方法是一种多标准决策(MCDM)或多标准决策分析方法。它最初由 Serafim Opricovic 开发,用于解决具有冲突和不可通约(不同单位)标准的决策问题,假设冲突解决可以接受妥协,决策者想要一个最接近理想的解决方案,并根据符合所有既定标准。 VIKOR 对备选方案进行排名,并确定最接近理想的名为折衷的解决方案。

折衷解决方案的思想是由 Po-Lung Yu 于 1973 年[1]和 Milan Zeleny 在 MCDM 中引入的。[2]

S. Opricovic 在他的博士学位中发表了 VIKOR 的基本思想。 1979年发表论文,1980年发表应用。[3] VIKOR这个名字出现于1990年[4],来自塞尔维亚语:VIseKriterijumska Optimizacija I Kompromisno Resenje,意思是:多标准优化和妥协解决方案,发音:vikor。真正的应用是在1998年提出的。[5] 2004年的论文为VIKOR方法的国际认可做出了贡献。[6](经济学领域被引用次数最多的论文,《科学观察》,2009 年 4 月)。

MCDM 问题表述如下:从 J 个可行替代方案 A1、A2、...AJ 集合中确定多准则意义上的最佳(折衷)解决方案,并根据 n 个准则函数集合进行评估。输入数据是性能(决策)矩阵的元素 fij,其中 fij 是替代 Aj 的第 i个准则函数的值。

案例

VIKOR方法是一种用于解决多标准决策问题的技术,特别是在有多重冲突标准时。它的目的是通过综合各种标准,找到一个接近理想解的解决方案。为了更好地理解这个概念,我们可以用一个简单的例子来说明。

示例:选择最佳手机

假设你要买一部新手机,有以下几个评价标准:

  1. 价格(越低越好)
  2. 电池寿命(越长越好)
  3. 相机质量(越高越好)
  4. 内存容量(越大越好)

你正在比较三款手机:A、B和C。

  1. 构建决策矩阵:首先,列出每个手机在各个标准上的表现。
scss
复制代码
手机   价格(元)  电池寿命(小时)  相机质量(分)  内存容量(GB)
A     3000     20             8         128
B     3500     22             9         256
C     4000     18             7         512
  1. 确定理想解和反理想解
    • 理想解是每个标准的最佳值。
    • 反理想解是每个标准的最差值。

例如:

    • 价格:理想解 = 3000,反理想解 = 4000
    • 电池寿命:理想解 = 22,反理想解 = 18
    • 相机质量:理想解 = 9,反理想解 = 7
    • 内存容量:理想解 = 512,反理想解 = 128
  1. 计算每个选项与理想解和反理想解的距离: 使用公式计算每个手机的综合距离。
  2. 综合评价: 通过VIKOR公式计算每个手机的综合得分,并按得分排序。得分越低,表示该选项越接近理想解。

步骤

方法案例

VIKOR方法是一种用于解决多标准决策问题(MCDM)的技术,特别适用于在冲突标准下选择和排序多个可选方案。VIKOR方法的全称是“VlseKriterijumska Optimizacija I Kompromisno Resenje”,来源于塞尔维亚语,意思是“多标准优化和妥协解决方案”。VIKOR的核心思想是通过多标准综合评价,寻找一个妥协解,该解能够平衡多个评价标准,尽可能接近理想解。

VIKOR方法的步骤
  1. 构建决策矩阵决策矩阵列出所有候选方案在各个评价标准下的表现。
方案   标准1  标准2  ...  标准n
A     f1A    f2A   ...  fnA
B     f1B    f2B   ...  fnB
C     f1C    f2C   ...  fnC

其中,fij 表示方案 i 在标准 j 下的表现。

  1. 确定理想解和反理想解
    • 理想解(𝑓∗):每个标准的最佳值,记为𝑓𝑗∗。
    • 反理想解(𝑓−):每个标准的最差值,记为𝑓𝑗−。

对于每个标准j:

f_j^* = max(fij)(如果是收益型标准,例如:越大越好)
f_j^- = min(fij)(如果是成本型标准,例如:越小越好)
  1. 计算每个方案的S值和R值
    • S值:综合距离,表示方案i与理想解之间的综合距离。
S_i = ∑ ( w_j * (f_j^* - f_ij) / (f_j^* - f_j^-) )         // w_j 是标准 j 的权重。
    • R值:个体最大距离,表示方案 i 在最不利标准下与理想解的距离。
R_i = max ( w_j * (f_j^* - f_ij) / (f_j^* - f_j^-) )
  1. 计算每个方案的Q值Q值是综合考虑S值和R值的指标,通过VIKOR公式计算:
Q_i = v * (S_i - S^*) / (S^- - S^*) + (1 - v) * (R_i - R^*) / (R^- - R^*)

其中:

    • S^* 和 S^- 分别是所有S值中的最小值和最大值。
    • R^* 和 R^- 分别是所有R值中的最小值和最大值。
    • v 是一个在0到1之间的权重,通常取0.5,表示S值和R值的平衡。
  1. 对方案进行排序: 根据S值、R值和Q值对方案进行排序,得到三种排序方式:S排序、R排序和Q排序。最终的排序结果主要根据Q值确定,但同时考虑S值和R值。
  2. 提出妥协方案: 根据Q值的排序,选择Q值最小的方案作为妥协方案。如果有多个方案的Q值接近,还需要通过以下两个条件进行验证:
    • 条件1:Q值最小的方案与第二小方案的Q值差异要显著。
    • 条件2:Q值最小的方案在S排序和R排序中也必须表现良好。
示例:选择最佳手机

假设你要买一部新手机,有以下几个评价标准:

  1. 价格(越低越好)
  2. 电池寿命(越长越好)
  3. 相机质量(越高越好)
  4. 内存容量(越大越好)

你正在比较三款手机:A、B和C。

  1. 构建决策矩阵
手机   价格(元)  电池寿命(小时)  相机质量(分)  内存容量(GB)
A     3000     20             8         128
B     3500     22             9         256
C     4000     18             7         512
  1. 确定理想解和反理想解
理想解:价格 = 3000,电池寿命 = 22,相机质量 = 9,内存容量 = 512
反理想解:价格 = 4000,电池寿命 = 18,相机质量 = 7,内存容量 = 128
  1. 计算每个手机的S值和R值: 假设所有标准的权重均为1:
S_A = (1 * (4000 - 3000) / (4000 - 3000)) + (1 * (22 - 20) / (22 - 18)) + (1 * (9 - 8) / (9 - 7)) + (1 * (512 - 128) / (512 - 128))
    = 1 + 0.5 + 0.5 + 1
    = 3

R_A = max( (4000 - 3000) / (4000 - 3000), (22 - 20) / (22 - 18), (9 - 8) / (9 - 7), (512 - 128) / (512 - 128) )
    = max(1, 0.5, 0.5, 1)
    = 1

类似地计算B和C的S值和R值。

  1. 计算每个手机的Q值: 假设 v = 0.5:
Q_A = 0.5 * (S_A - S^*) / (S^- - S^*) + 0.5 * (R_A - R^*) / (R^- - R^*)
    = 0.5 * (3 - S^*) / (S^- - S^*) + 0.5 * (1 - R^*) / (R^- - R^*)

类似地计算B和C的Q值。

  1. 对手机进行排序: 根据Q值排序,找出Q值最小的手机。
  2. 提出妥协方案: 验证Q值最小的手机是否符合两个条件,然后确定最终的妥协方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/676078.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣174题动态规划:地下城游戏(含模拟面试)

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 关注微信公众号 数据分析螺丝钉 免费领取价值万元的python/java/商业…

【C++初阶学习】第十二弹——stack和queue的介绍和使用

C语言栈:数据结构——栈(C语言版)-CSDN博客 C语言队列:数据结构——队列(C语言版)-CSDN博客 前言: 在之前学习C语言的时候,我们已经学习过栈与队列,并学习过如何使用C语言来实现栈与队列&…

sql注入 (运用sqlmap解题)

注:level参数 使用–batch参数可指定payload测试复杂等级。共有五个级别,从1-5,默认值为1。等级越高,测试的payload越复杂,当使用默认等级注入不出来时,可以尝试使用–level来提高测试等级。 --level 参数决定了 sql…

人脸识别技术与人证合一智能闸机的剖析

人脸识别技术,作为一种先进的生物认证手段,依据个体面部独有的特征信息来进行身份验证。这项技术通过捕获图像或视频中的面部数据,执行一系列精密步骤,包括图像获取、面部定位、预处理、特征提取与比对,以确认个人身份…

【全开源】种草分享|动态朋友圈|瀑布流|uniapp

一款基于FastadminThinkPHP和Uniapp开发的种草分享评论点赞消息提醒系统,发布动态,分享种草生活,可以收藏关注点赞,消息提醒,同时支持H5/小程序/app多端。 ​让每一次互动都不再错过🔔 🌱 种草…

Linux学习笔记(三)

一、创建/删除文件夹 1.mkdir -p 文件夹名/子文件夹/子文件夹; 2.mkdir test{a,b,c} : 创建testa、testb、testc文件夹; 3.mkdir -p test/{a,b,c}:创建test文件夹,并在文件夹中创建a、b、c文件夹; 4.rmdir 文件夹&#xff1a…

北京Profinet转Modbus网关配置调试详解

一、背景:在工业自动化系统中,PLC(可编程逻辑控制器)与流量计之间的通信是非常重要的,以确保数据准确传输并实现控制功能。然而,由于PLC和流量计可能采用不同的通信协议(如Profinet和Modbus&…

前端将DOM元素导出为图片

前端工作中经常会用到把一些元素导出,比如表格,正好项目有遇到导出为excel和导出为图片,就都封装实现了一下,以供其他需求的开发者使用: 1.导出为文档 这个说白了就是下载的功能,传过去检索参数&#xff…

最小二乘法算法(个人总结版)

最小二乘法(Least Squares Method)是一种通过最小化误差平方和来拟合数据的回归分析方法。它被广泛应用于线性回归、多元回归以及其他数据拟合问题中。以下是详细的教程,涵盖基本概念、数学推导、具体步骤和实现代码。 1. 最小二乘法基本概念…

大模型应用框架-LangChain

LangChain的介绍和入门 💥 什么是LangChain LangChain由 Harrison Chase 创建于2022年10月,它是围绕LLMs(大语言模型)建立的一个框架,LLMs使用机器学习算法和海量数据来分析和理解自然语言,GPT3.5、GPT4是…

Java应用中的短信发送解决方案:RocketMQ实践指南

在当今的数字化时代,短信作为一种即时的通讯方式,被广泛应用于各种业务场景中,如用户身份验证、订单状态更新、营销推广等。对于Java应用来说,集成一个高效、可靠的短信发送服务是至关重要的。Apache RocketMQ 作为一款高性能、低…

102.网络游戏逆向分析与漏洞攻防-ui界面的设计-反隐身功能的界面设计与实现(有不使用MFC生成,自己手写代码创建复选框与事件的例子)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

STM32--ADC

一、简介 *ADC(Analog-Digital Converter)模拟-数字转换器 *ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 *12位逐次逼近型ADC,1us转换时间 *输入电压范围:0~3.3V&…

基于Springboot+vue实现的汽车服务管理系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

Java开发:Spring Boot 实战教程

序言 随着技术的快速发展和数字化转型的深入推进,软件开发领域迎来了前所未有的变革。在众多开发框架中,Spring Boot凭借其“约定大于配置”的核心理念和快速开发的能力,迅速崭露头角,成为当今企业级应用开发的首选框架之一。 《…

露营地管理小程序基于ThinkPHP+FastAdmin+UniApp开发

应用介绍 本文来自:露营地管理小程序基于ThinkPHPFastAdminUniApp开发 - 源码1688 基于ThinkPHPFastAdminUniApp开发的现代化的露营地管理小程序,是专为露营业务设计开发小程序应用。平台拥有多角色管理,同时具有营位预定、门票购买等功能模…

OrangePi AI Pro 测试体验

感谢CSDN活动提供的OrangePi AI Pro ,之前一直用的树莓派,正好体验一下新的国产设备, 1、开机体验 整个设备包装不错,链接键盘、屏幕和鼠标,整体开机体验不错,内置OS不错,这个系统内嵌了中文输…

C语言,排序

前言 排序,可以说是数据结构中必不可缺的一环。我们创造数据存储它,要想知道数据之间的联系,比较是必不可少的。不然,费劲心思得来的数据若是不能有更多的意义,那么拿到了又有什么用? 排序是计算机内经常进…

老挝语翻译通App中国人出门在外都在用的老挝语翻译工具,支持老挝文OCR识别、文字转语音、老挝语背单词学习等等功能!

老挝语翻译通App,一款更加符合中国人用语习惯的翻译工具,在国内外都能正常使用的翻译器。当大家选择去东南亚国家旅游、GAP的时候,老挝这个国家是值得一去的,可以让大家感受到另一番风情。 但是,在去之前,需…

关于序列化与反序列化解题

1、[安洵杯 2019]easy_serialize_php <?php$function $_GET[f];function filter($img){$filter_arr array(php,flag,php5,php4,fl1g);$filter /.implode(|,$filter_arr)./i;return preg_replace($filter,,$img); }if($_SESSION){unset($_SESSION); }$_SESSION["use…