供应商评价与选择改进研究——21年数学建模国赛C题分析

题目描述

在这里插入图片描述

问题一分析(基于APH、PCA和TOPSIS的供应商评价与选择)

问题一需要我们对附件一中的402家供应商的数据进行处理并量化分析,并构建数学模型选择当中最重要的50家供应商。

附件一:
部分订货量
在这里插入图片描述
部分供货量
在这里插入图片描述
注意:W001代表第一周。

确定评价指标

从这些数据,我们可以构建如下的指标:

  • 木材单价: 单价
  • 平均成本: 平均供货量/单价
  • 平均供货量: 供货总量/供货周数
  • 供货频率: 供货周数/总周数
  • 供订误差方差: (供货量-订货量)/订货量的方差
  • 供货超额频次: 供货超额频次/(供货超额频次+供货缺额频次)
  • 平均订货量: 订货总量/订货周数
  • 订货频率: 订货周数/总周数
  • 违约率: 有订单但供货为0/订单总数

topsis(优劣解距离法)

TOPSIS是一种用来评价多个对象或方案好坏的方法。这种方法的基本思想是通过找出最好的(正理想解)和最差的(负理想解)方案,然后计算每个方案与这两个理想解的距离,从而确定每个方案的相对优劣。

下面将详细介绍TOPSIS的操作过程:

  1. 确定决策方案和评价指标

    • 首先,明确要评估的决策方案集合,这些方案可以是产品、服务、项目等。
    • 确定用于评价这些方案的评价指标集合。这些指标可以是成本、供应能力、长期合作性等多个方面。
  2. 评价指标正向化处理

    • 指标分为极大型、极小型指标、中间型指标、区间型指标。
    • 极大型:指标的值越大越好,例如供货能力。
    • 极小型:指标的值越小越好,例如违约率。
    • 通常情况下,将所有的指标转化为极大型,称为指标正向化。
  3. 构建决策矩阵

    • 构建一个决策矩阵,其中行代表不同的决策方案,列代表评价指标。
    • 在矩阵中填入每个方案在各个指标上的具体数值。
  4. 数据标准化处理

    • 由于评价指标的单位和量纲可能不同,为了消除这种差异,需要对数据进行标准化处理。
    • 标准化处理有多种方法,如最大最小值法、标准差法等。处理后的数据将转化为无量纲的相对数值,便于后续计算。
  5. 确定权重

    • 根据各评价指标的重要性程度,确定相应的权重
    • 权重可以通过熵权法、层次分析法、主成分分析法等方法来确定。
  6. 计算加权决策矩阵

    • 将标准化后的决策矩阵与权重向量相乘,得到加权决策矩阵。
    • 加权决策矩阵中的每个元素表示相应方案在相应指标上的加权得分。

    v i j = w j × r i j v_{ij} = w_j \times r_{ij} vij=wj×rij

    • 其中, v i j v_{ij} vij 是加权决策矩阵中第 i i i 个方案在第 j j j 个指标上的加权数值。
  7. 确定正负理想解

    • 正理想解是指在所有决策方案中,每个指标都达到最优值的方案。

    • 负理想解是指在所有决策方案中,每个指标都达到最劣值的方案。

    • 正理想解 V + V^{+} V+
      V + = ( v 1 + , v 2 + , . . . , v n + ) V^{+} = (v_{1}^{+}, v_{2}^{+}, ..., v_{n}^{+}) V+=(v1+,v2+,...,vn+)
      其中, v j + = max ⁡ i v i j v_{j}^{+} = \max_{i} v_{ij} vj+=maxivij

    • 负理想解 V − V^{-} V
      V − = ( v 1 − , v 2 − , . . . , v n − ) V^{-} = (v_{1}^{-}, v_{2}^{-}, ..., v_{n}^{-}) V=(v1,v2,...,vn)
      其中, v j − = min ⁡ i v i j v_{j}^{-} = \min_{i} v_{ij} vj=minivij

  8. 计算距离

    • 计算每个决策方案与正负理想解之间的距离。

    • 距离可以使用欧几里得距离、曼哈顿距离、切比雪夫距离等多种方法计算。

    • 距离越小,表示该方案越接近理想解。

    • i i i 个方案到正理想解的距离 D i + D_{i}^{+} Di+
      D i + = ∑ j = 1 n ( v i j − v j + ) 2 D_{i}^{+} = \sqrt{\sum_{j=1}^{n} (v_{ij} - v_{j}^{+})^{2}} Di+=j=1n(vijvj+)2

    • i i i 个方案到负理想解的距离 D i − D_{i}^{-} Di
      D i − = ∑ j = 1 n ( v i j − v j − ) 2 D_{i}^{-} = \sqrt{\sum_{j=1}^{n} (v_{ij} - v_{j}^{-})^{2}} Di=j=1n(vijvj)2

  9. 计算接近度指数

    • 根据距离,计算每个决策方案的接近度指数。

    • 接近度指数反映了方案与理想解的接近程度,通常使用与正理想解的距离与正负理想解距离之和的比值来表示。

    • i i i 个方案的接近度指数 C i C_{i} Ci
      C i = D i − D i + + D i − C_{i} = \frac{D_{i}^{-}}{D_{i}^{+} + D_{i}^{-}} Ci=Di++DiDi

    • 接近度指数 C i C_{i} Ci 的值越大, D i D_{i} Di 的值越大,表示第 i i i 个方案越接近正理想解,即方案越优。

  10. 排名评价对象

    • 根据接近度指数对评价对象进行排序。
    • 接近度指数越高,表示该方案越优,排名越靠前。
  11. 敏感性分析(可选)

    • 对权重进行敏感性分析,检验最优方案对权重的稳定性。
    • 这有助于了解权重变化对最终决策结果的影响程度。

回顾知识点的视频:

数学建模——优劣解距离法Topsis模型讲解(综合评价问题)

topsis权重的确定

下面是层次分析法(Analytic Hierarchy Process, AHP)、主成分分析法(Principal Component Analysis, PCA)和熵权法(Entropy Weight Method, EWM)的优缺点对比表格:

方法优点缺点
层次分析法(AHP)1. 结构化决策过程,易于理解和操作。1. 主观性强,依赖于专家的判断和经验。
2. 能够处理多目标、多准则的复杂问题。2. 决策过程可能受到个人偏好和群体意见的影响。
3. 适用于定性和定量指标的混合使用。3. 可能产生不一致的判断矩阵。
4. 提供了决策树的形式,便于展示决策过程。
主成分分析法(PCA)1. 通过降维处理,简化数据结构。1. 主要适用于连续变量,对离散变量处理效果较差。
2. 客观性强,基于数据的统计特性进行分析。2. 对数据的缺失和异常值敏感。
3. 能够提取出数据中的主要特征和趋势。3. 无法解释每个主成分的具体含义。
4. 适用于大规模数据集的处理和分析。
熵权法(EWM)1. 基于熵理论,客观性强,不依赖于专家打分。1. 对数据的标准化处理敏感,可能导致结果的不稳定。
2. 能够消除指标间的量纲差异和相关性。2. 在处理极端值时可能产生不合理的结果。
3. 计算过程简单明了,易于实现。3. 可能无法充分反映指标的实际重要程度。
4. 适用于多指标、多对象的综合评价问题。
  • 在这里我们使用层次分析法(即AHP法)和主成分分析法来确定TOPSIS模型中的各指标权重。
  • 层次分析法的确定存在较重的主观性。为了弥补这部分不足,我们采用了主成分分析法确定另一组权重。然后采用加权的形式将两组权重进行组合,扬长避短的将两种方法结合在一起。我们对层次分析法得到的权重和主成分分析法得到的权重分配从而得到一个综合权重。基于层次分析法得到的权向量为 W 1 W_1 W1,主成分分析法得到的权向量为 W 2 W_2 W2,则组合权重为:
    W 3 = λ 1 W 1 + λ 2 W 2 W_3=λ_1 W_1+λ_2 W_2 W3=λ1W1+λ2W2
    λ 1 + λ 2 = 1 λ_1+λ_2=1 λ1+λ2=1

层次分析法

层次分析法(Analytic Hierarchy Process,简称AHP)是一种多目标决策分析方法,由美国运筹学家T. L. Saaty教授在20世纪70年代初期提出。这种方法将复杂问题分解为不同的组成因素,并按照因素间的相互关联影响以及隶属关系将因素按不同层次聚集组合,形成一个多层次的分析结构模型。通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。

1.构建层次模型

在这里插入图片描述
最底层方案层为供应商,这里的方案层省略掉,因为我们没有使用层次分析法计算每一个供应商对应的分数来以此确定前50家供应商。
在这里插入图片描述

2.构造对比矩阵

我们根据查阅的文献,将各个指标按照重要程度进行排序,进而构建成对比矩阵,如下
在这里插入图片描述
在这里插入图片描述

3.权重向量的计算
  • 首先,计算准则层中对比矩阵的最大特征值及其对应的特征向量,需要计算一致性指标(如CI)和一致性比率(CR),以检验判断矩阵的一致性,如果CR小于0.1,则表明通过一致性检验。归一化的特征向量为 [0.58214919, 0.34836301, 0.06948779],表示该层准则对应的权重。
  • 接下来,分别计算指标层中每一个对比矩阵的最大特征值及其对应的特征向量,需要计算一致性指标(如CI)和一致性比率(CR),以检验判断矩阵的一致性,如果CR小于0.1,表面通过一致性检验。分别归一化每个对比矩阵的特征向量,用来表示指标对应的权重。
  • 最后,进行层次合成。分别将每个指标的权重乘以所属准则的权重,以此作为每个指标的最终权重。

主成分分析法

主成分分析法(Principal Component Analysis,简称PCA)是一种常用的数据分析方法,其主要目的是通过降维技术来简化数据集,同时保持数据集中对方差贡献最大的特征。通过正交变换,PCA将原始数据集中的可能存在相关性的变量转换为一组线性不相关的变量,这些新变量称为主成分。主成分按照方差大小依次排列,第一主成分具有最大的方差,第二主成分的方差次大,并且与第一主成分不相关,以此类推。

PCA(主成分分析)的主要步骤包括:

  1. 数据标准化:将原始数据按列组成矩阵,并对每一列(即每一个属性字段)进行标准化处理,通常是通过减去均值并除以标准差,使得每个属性的均值为0,标准差为1。
  2. 计算协方差矩阵:协方差矩阵表示了不同属性之间的相关性。计算标准化后数据的协方差矩阵。
  3. 计算协方差矩阵的特征值和特征向量:特征值表示了对应特征向量方向上数据的变异程度,而特征向量则是这些方向本身。
  4. 选择主成分:将特征向量按照对应的特征值大小从上到下排序,并选择前k个最大的特征值对应的特征向量。这里的k通常根据预设的主元个数或者主元贡献率达到某个阈值(如85%)来确定。
  5. 形成主成分矩阵:用选出的k个特征向量组成一个新的矩阵。
  6. 转换数据:将原始数据矩阵乘以这个新的主成分矩阵,得到降维后的数据。

通过以上步骤,PCA能够将原始的高维数据转换为低维数据,同时尽可能保留数据中的主要信息,实现数据的降维和简化。这在很多机器学习、数据挖掘和数据分析的应用中都非常有用。

1.方差贡献率即某个主成分的方差占全部方差合计的比重。方差贡献率越大,说明该主成分所包含的原始变量的信息越多。
2.主成分的系数表示原始变量与主成分之间的线性关系。
3.如果用主成分系数乘以主成分的方差贡献率,这表示每个原始变量对主成分的贡献程度。我们用原始变量对主成分的贡献程度来表示主成分分析法所得的权重。
4.原始变量对主成分的贡献程度越大,表示该原始变量在主成分的形成过程中起到了更为重要的作用,即该变量对主成分的变异影响更大。这意味着该原始变量在整体数据结构中的信息量更大,更能反映数据的特征。

最终的权重

在这里插入图片描述
权重确定了,通过topsis计算出每个企业的得分,由高到低排序,选出排名前50名的供应商。

第二问(基于线性规划的订货与转运方案)

首先,要求我们找出至少多少个供应商可以保持供应。在这里,我们希望这些企业的平均供货量高,平均供货频率高以及最终得分高,因此,我们这里需要制定一个供给评分。按照评分对供应商排序,然后对他们的平均供货量进行累计求和,找到累计求和大于企业现有的产能的最小值,从而得到需要至少m家
在这里插入图片描述
接着,我们选取把确定订货的供应商作为订货对象,构建向供应商订货的线性规划模型。我们根据附件一中的供应商五年的历史数据,确定了的满足企业产能的最小供货量和每个周供货下限,然后在此范围内随机生成 o u t p u t w output_w outputw,即供货商一周的总产量之和。最后,我们采取构建循环的方式,制定24周的订货计划。

  • 目标函数:成本最小化
  • 约束条件:
    • 该企业收购所有供货商的供货
    • 供货商的供货量满足每周的产能
    • 该企业的订货量下限为0,上限不超过相应供应商的生产上限或者不超过单个转运商每周的转运上限

在这里插入图片描述

最后,做出的订购方案的基础上,合理地选择转运商,使得材料在运输过程中耗损最小。由于每个供货商尽量指定一家转运商,因此,我们将其转化为指派问题进行求解。同样的,我们通过循环,求解24周的转运计划。

构建指派模型评分矩阵:评分矩阵的元为: c t i = r t s i c_{ti}=r_t s_i cti=rtsi,其中 r t r_t rt为第t家转运商的损耗率, s i s_i si是第i家企业的供货量。

  • 目标函数:损耗量最小
  • 约束条件:
    • 每家企业只能选择一个转运商
    • 一个转运商可为多家供货商进行转运,但不会超过供货商的数目
    • 每家转运商存在转运上限
      在这里插入图片描述
      在这里插入图片描述

回顾学习:

整数规划的典型例题

关于指派问题的求解:

0-1类型的指派问题确实可以转化为0-1整数规划问题,并利用线性规划工具箱进行求解。在0-1指派问题中,每个任务只能被分配给一个工人,且每个工人只能负责一个任务,这可以通过设置决策变量为0或1来实现。其中,决策变量为1表示对应的任务被分配给对应的工人,为0则表示没有分配。

转化过程如下:

  1. 定义决策变量:设 x i j x_{ij} xij为决策变量,其中 i i i表示任务, j j j表示工人。如果 x i j = 1 x_{ij}=1 xij=1,则表示任务 i i i被分配给工人 j j j;如果 x i j = 0 x_{ij}=0 xij=0,则表示任务 i i i没有被分配给工人 j j j

  2. 建立目标函数:根据指派问题的要求,可以建立最小化总成本或最大化总效益的目标函数。例如,如果有一个成本矩阵 C C C,其中 c i j c_{ij} cij表示任务 i i i由工人 j j j完成的成本,则目标函数可以表示为 min ⁡ ∑ i ∑ j c i j x i j \min \sum_{i} \sum_{j} c_{ij}x_{ij} minijcijxij

  3. 建立约束条件

    • 每个任务必须被分配:对于每个任务 i i i,必须有 ∑ j x i j = 1 \sum_{j} x_{ij} = 1 jxij=1,确保每个任务都被分配给一个工人。
    • 每个工人只能负责一个任务:对于每个工人 j j j,必须有 ∑ i x i j = 1 \sum_{i} x_{ij} = 1 ixij=1,确保每个工人只负责一个任务。
    • 决策变量为0或1 x i j ∈ { 0 , 1 } x_{ij} \in \{0, 1\} xij{0,1},表示任务是否被分配。
  4. 利用线性规划工具箱求解

第三问(基于非支配排序遗传算法的订货方案求解)

为了压缩生产成本,企业需要尽可能多的购买性价比高的A类原材料和尽可能少的购买性价比较低的C类原材料,因而可以转化为一个多目标规划问题以最小化不同材料的成本为目标函数

在这里插入图片描述
在这里插入图片描述
可以用NSGA-II非支配排序遗传算法来求解多目标规划问题。
在这里插入图片描述
同样的,我们通过循环,求解24周的订购方案。接着采用第二问的指派模型来求解转运方案。

第四问

假设企业产能增加取决于他们要合作的企业数量。企业越多,则可以提高的产能越高。在确定了供货商合作数量后,我们再根据问题二所构建的线性规划模型求解供货商订货方案,最后利用问题二构建的指派问题模型进行获得运输方案。最终,我们求得产能可提升5977.6立方米。

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

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

相关文章

Android 9.0 Folder文件夹全屏后文件夹图标列表居中时拖拽app到桌面的优化

1.概述 在9.0的系统rom产品开发中,在Launcher3中在目前的产品需求开发中,对于Launcher3中的文件夹Folder的布局UI 进行了定制化的需求要求把Folder修改为全屏,然后在中间显示文件夹图标的列表,这时候如果Folder是全屏的话,如果拖拽文件夹列表中的app图标,只有拖拽 到屏幕…

csp复习题

最短路:最优灌溉(201412-4) 题目描述 问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉。   为了灌溉,雷雷需要建立一些…

【算法与数据结构】栈的实现详解

文章目录 📝栈的概念及结构🌉栈的实现 🌠栈的接口🌉初始化栈🌠入栈🌉出栈🌠获取栈顶元素🌉获取栈中有效元素个数🌉检测栈是否为空🌉销毁栈🌉Stack…

别错过AI 大模型的奇妙世界!让你惊艳不已!

AI大模型的应用已经渐渐渗透到我们生活的方方面面,从语音识别到自然语言处理,从图像识别到智能推荐,无处不在的AI大模型正在改变着我们的生活。其背后隐藏的奇妙世界让人惊艳不已。 一方面,AI大模型在语音识别领域展现出了强大的…

C语言学习笔记,学懂C语言,看这篇就够了!(上)

说明:这是本人在学习C语言的时候整理的笔记,因文字限制,所以分为三篇文章,即上中下来分享这份笔记。 看完这三部分,C语言基础、计算机C语言二级(关于C语言的部分)、期末考试。考研数据结构(如考408的话,数…

蓝桥杯倒计时 36天-DFS练习

文章目录 飞机降落仙境诅咒小怂爱水洼串变换 飞机降落 思路&#xff1a;贪心暴搜。 #include<bits/stdc.h>using namespace std; const int N 10; int t,n; //这题 N 比较小&#xff0c;可以用暴力搜搜复杂度是 TN*N! struct plane{int t,d,l; }p[N]; bool vis[N];//用…

【C语言】文件操作篇-----程序文件和数据文件,文件的打开和关闭,二进制文件和文本文件,fopen,fclose【图文详解】

欢迎来CILMY23的博客喔&#xff0c;本篇为【C语言】文件操作篇-----程序文件和数据文件&#xff0c;文件的打开和关闭&#xff0c;二进制文件和文本文件【图文详解】&#xff0c;感谢观看&#xff0c;支持的可以给个一键三连&#xff0c;点赞关注收藏。 前言 在了解完动态内存管…

Visual Basic6.0零基础教学(1)—vb的介绍和布局及其小案例

Visual Basic6.0零基础教学(1) 文章目录 Visual Basic6.0零基础教学(1)前言一、vb6.0介绍二、vb的起源一、起源&#xff1a;Basic二、版本三、 Visual Basic6.0 三种版本&#xff1a;四、vb的特点 1.vb的布局介绍创建应用程序的步骤总结 前言 大家好,从今天开始我也会开始更新…

视频可回溯系统技术方案vue3+ts+tegg+mysql+redis+oss

一、 项目背景 保险、基金、银行等众多行业在做技术平台时都会需要一种能够准确了解用户操作行为的方式方法。诸如通过埋点、平台监控、视频可回溯等&#xff0c;通过技术手段&#xff0c;保存用户操作轨迹&#xff0c;以此规范安全销售、平台健康检查、出现纠纷时可追溯、问题…

python的scripts文件夹作用

Windows系统&#xff1a; Scripts文件夹通常位于Python的安装目录下&#xff0c;如C:\Python\Scripts。该文件夹内包含了各种有用的工具&#xff0c;例如pip、virtualenv等&#xff0c;这些工具有助于管理和配置Python环境和依赖包。 Linux系统&#xff1a; 在Linux系统中&…

vivado管理实施、

管理实施 Vivado设计套件包括各种设计流程&#xff0c;并支持一系列设计来源。为了生成可以下载到AMD设备上的比特流&#xff0c;设计必须通过实施。实现是采取逻辑网表并将其映射到物理网表的一系列步骤目标AMD设备的阵列。实施包括&#xff1a; •逻辑优化 •逻辑单元的放…

Django添加app

Django添加App python manage.py startapp [app_name]快速上手 注册app&#xff0c;setting.py 编写url和视图的对应关系 添加视图函数 命令行启动 python manage.py runserver页面模板

Windows下安装pip

一、下载pip 官网地址&#xff1a;https://pypi.org/project/pip/#files 1.1、pip工具查找方法 单击官网首页“PyPi”选项 在弹出来的搜索框中输入“pip” 选择最新的pip版本&#xff0c;点进去 下载pip安装包包 二、安装pip 解压“pip-24.0.tar.gz”&#xff0c;进…

AI绘画提示词案例(宠物

目录 1. 雪地猫猫&#xff1a;1.1 提示词&#xff1a;1.2 效果&#xff1a; 2. 趴地猫猫&#xff1a;2.1 提示词&#xff1a;2.2 效果&#xff1a; 3. 长城萨摩耶&#xff1a;3.1 提示词&#xff1a;3.2 效果&#xff1a; 4. 沙发猫猫&#xff1a;4.1 提示词&#xff1a;4.2 效…

Unity基础学习

目录 基础知识点3D数学——基础Mathf三角函数坐标系 3D数学——向量向量模长和单位向量向量的加减乘除向量点乘向量叉乘向量插值运算 3D数学——四元数为何使用四元数四元数是什么四元数常用方法四元数计算 MonoBehavior中的重要内容延迟函数协同程序协同程序原理 Resources资源…

Linux——权限的理解

Linux——权限的理解 文章目录 Linux——权限的理解一、shell命令以及运行原理二、Linux权限的概念切换用户对指令提权 三、Linux权限管理1. 文件访问者的分类&#xff08;人&#xff09;2. 文件类型和访问权限&#xff08;事物属性&#xff09;文件类型基本权限文件权限值的表…

准备系统运行的先决条件

知识点&#xff1a; 大数据基础环境准备 重 点&#xff1a; SSH免密码连接 安装配置JDK 安装配置Scala 项目开发测试环境为分布式集群环境&#xff0c;在当前项目中使用多台基于CentOS 64bit 的虚拟机来模拟生产环境。在生产环境中建议使用高性能物理主机或云主机搭建集…

el根据需求合并列

将 列分为 3 3 1 的格式 以下是vue代码&#xff1a; <el-table:data"dataSource":border"true":header-cell-style"{ font-weight: normal, text-align: center }":cell-style"{ text-align: center }"size"mini"style…

枚举赋值及强制转换问题

对枚举进行字符赋值&#xff0c;需要进行强制类型转换之后&#xff0c;才能得到想要的值&#xff0c;如下 typedef enum data {DIRECTION_X X,DIRECTION_Y Y,DIRECTION_Z Z,DIRECTION_T T }NumData;int main() {NumData numdata DIRECTION_Y;count <<"num is&…

消息服务--Kafka的简介和使用

消息服务--Kafka的简介和使用 前言异步解耦削峰缓存1、消息队列2、kafka工作原理3、springBoot KafKa整合3.1 添加插件3.2 kafKa的自动配置类3.21 配置kafka地址3.22 如果需要发送对象配置kafka值的序列化器3.3 测试发送消息3.31 在发送测试消息的时候由于是开发环境中会遇到的…