Java教程

数模-改进AHP算法

本文主要是介绍数模-改进AHP算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、简简单单介绍一下AHP

  AHP(层次分析)算法作为数学建模中评价问题中求解的“万金油”,以方便构建且思路简单而受到大部分数模小白的青睐以及使用。下面简单介绍一下AHP算法的基本信息:

  AHP是一种定性与定量相结合的系统化、层次化的分析方法,由美国的运筹学加Satty于20世纪70年代提出。AHP自20世纪80年代初引入到我国以来,国内外相关研究者对其进行了大量的改进和完善,并获得了一系列的研究成果。这些成果主要集中在标度和一致性检验方法的改进、判断矩阵的构造以及修正、权重的求解、逆序问题、群决策问题、F-AHP问题、标度的分析比较问题等方面。在实际应用中,人们发现Satty教授提出的1-9标度法存在很多的缺陷。针对1-9标度法的不足,国内外学者一些改进的数字标度法。国外主要有1-5标度法、1-15标度法、x2标度法、槡x标度法等。国内主要有0-2标度法、-1-1标度法、-2-2标度法、0.1-0.9标度法、指数标度法、9/9-9/1和10/10-18/2分数标度法等。

  但是!AHP算法虽然简单好用,但作为低级的评价模型算法似乎并不受评委们的青睐,因此我们在使用它的时候,最好进行与题目相关的优化后再使用其进行求解,这样一来不仅降低评委嫌弃程度,也可以提高求解结果的正确性,鱼和熊掌兼得,实是妙哉。以下我们以2021数维杯国赛骑手评价体系的构建问题(即第一小问)进行相关演示。

二、粘一下这个题目

 

根据2020年6月发布的《2019中国即时配送行业发展报告》显示,2019年的即时配送行业的订单量以及用户群体,外卖骑手的数量也呈现一种直线上升的趋势。
但是由于复杂的国内与国际经济环境及我国庞大的人口规模下外卖骑手间的竞争变得异常激烈,
这给予了平台更多的订单配送提成压缩空间例如拼命压缩和延长上班时间来换取高收入,以骑手配送效率低下为理由逐步压缩外卖骑手的订单配送提成等。
据调查显示,骑手在送外卖的过程中受到智能算法和数据分析的不断驱动,出现了违反交通规则的现象,
朝着更快更廉价的趋势发展。同时商家也对平台的抽成反感并产生了部分商家为了盈利出现了料理包加热、食材不新鲜等问题,致使消费者也成为了受害群体。
上述种种事实表明外卖行业中存在着严重的内卷现象。数据分析至关重要,但利用数据分析来掠夺弱势群体少有的财富和时间并不可取。
请你通过数学建模的方法解决外卖平台、骑手、商家与消费者之间的如下问题:

问题1:请充分考虑骑手的骑行安全与高质量服务等因素后,试制定一个合理的骑手配送时长设计方案,并提供对应的完成质量奖惩措施。

 三、问题分析

通过研究如何制定一个合理的骑手配送时长设计方案,并提供对应的完成质量奖,可以为平台提供一个双向受益的选择,从而在不损害平台利益以及提高平台员工综合素质的同时使骑手得到合适的利益以保持良好的工作积极性。

问题1属于规划决策类的数学问题,对于解决此类问题,我们一般寻找与决策相关的指标并对其分别进行权重计算,最后将其权重进行相应的处理之后依据题意构建相应的决策结果。

通过网络资料搜集,我们可以得到如下的外卖骑手评价体系示意图:

 四、层次分析法于此处的使用过程

(因为mathtype的公式不能直接copy过来,所以我们只能用图片展示有公式的部分了)

 

 

所以判断矩阵B是模糊一致判断矩阵。

通过大量数据评估以及调查得出10个一级指标的互补性判断矩阵A如图1.2所示

矩阵A做变换得模糊一致矩阵B

利用MATLAB计算10个一级指标得权重(编程代码详见附件1),权重结果为

W=(0.1081 0.1061 0.0939 0.0838 0.1093 0.1213 0.1020 0.0807 0.1070 0.0878)

利用相同的方法对二级指标进行权重计算,得到28个二级指标的权重为

W1=(0.3904 0.3331 0.2765)            W2=(0.4019 0.3333 0.2648) W3=(0.5505 0.4495)                   W4=(0.2769 0.3446 0.3785)

W5=(0.3669 0.2998 0.3333)            W6=(0.5505 0.4495)

W7=(0.3449 0.4022 0.2529)             W8=(0.3220 0.3898 0.2882)

W9=(0.3558 0.3558 0.2885)             W10=(0.3669 0.2998 0.3333)

得到如下图1.2的各级指标权重图

权重

一级指标权重

二级指标权重a

二级指标权重b

二级指标权重c

时效性

0.1081

0.3904

0.3331

0.2765

完整性

0.1061

0.4019

0.3333

0.2648

准确性

0.0939

0.5505

0.4495

 

响应性

0.0838

0.2769

0.3446

0.3785

安全性

0.1093

0.3669

0.2998

0.3333

鲜活性

0.1213

0.5505

0.4495

 

经济性

0.1020

0.3449

0.4022

0.2529

灵活性

0.0807

0.3220

0.3898

0.2882

保障性

0.1070

0.3558

0.3558

0.2885

移情性

0.0878

0.3669

0.2998

0.3333

最后根据得到的各个指标权重进行相应的决策规划就好啦。

五、MATLAB代码

(层次分析法的代码大同小异,其实不同的优化思想主要体现在对于数据的预处理以及评判矩阵的确定上)

B=[0.5,0.51,0.57,0.62,0.49,0.435,0.53,0.635,0.51,0.6;
    0.49,0.5,0.56,0.61,0.48,0.425,0.52,0.625,0.5,0.59;
    0.43,0.44,0.5,0.55,0.42,0.365,0.46,0.565,0.44,0.53;
    0.38,0.39,0.45,0.5,0.37,0.315,0.41,0.515,0.39,0.48;
    0.51,0.52,0.58,0.63,0.5,0.445,0.54,0.645,0.48,0.61;
    0.565,0.575,0.635,0.685,0.555,0.5,0.595,0.7,0.575,0.665;
    0.47,0.48,0.54,0.59,0.46,0.405,0.5,0.605,0.48,0.57;
    0.365,0.375,0.435,0.485,0.355,0.3,0.395,0.5,0.375,0.465;
    0.49,0.5,0.56,0.61,0.52,0.425,0.52,0.625,0.5,0.59;
    0.4,0.41,0.47,0.52,0.39,0.335,0.43,0.535,0.41,0.5];
[V B]=eig(B);
W=V(:,1)/sum(V(:,1))

 

 

 

 

 

 

 

这篇关于数模-改进AHP算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!