软件工程经济学-日常作业+大作业

目录

一、作业1

作业内容

解答

二、作业2

作业内容

解答

三、作业3

作业内容

解答

四、大作业

作业内容

解答

1.建立层次结构模型

(1)目标层

(2)准则层

(3)方案层

2.构造判断矩阵

(1)准则层判断矩阵

(2)方案层判断矩阵

3.层次单排序及其一致性检验

代码

运行结果

4.层次总排序及其一致性检验

代码

运行结果

决策


一、作业1

作业内容

练习题1:请根据下表绘制相应的网络计划图 

解答

二、作业2

作业内容

练习题2:请根据下表绘制相应的网络计划图

解答

三、作业3

作业内容

作业3:某软件工程项目经工作分解后,给出了活动明细表,如下表所示:

1、求解每个活动的te值,并填入表中;

2、绘制对应计划网络图;

3、求解该计划网络图的关键活动、关键节点和关键路线。

解答

1、求解每个活动的te值,并填入表中

编号

活动代号

t0

tm

tp

te

紧前活动

1

A

6

7.5

12

8

-

2

B

4.5

4.8

6.3

5

A

3

C

1.2

2

2.8

2

A

4

D

5

6.7

10.2

7

A

5

E

4.6

5.7

8.6

6

B

6

F

5.5

6

6.5

6

C

7

G

0

0

0

0

B

8

H

5.5

7

8.5

7

F、G

9

I

3.5

5.2

5.7

5

H

10

J

4.7

5.9

7.7

6

D、E、I

2、绘制对应计划网络图

3、求解该计划网络图的关键活动、关键节点和关键路线

关键活动:A、C、F、H、I、J

关键节点:1、2、3、5、6、7、8

关键路线:A->C->F->H->I->J

四、大作业

作业内容

 要求:某企业计划采购一批生产设备,现有四家供应商提供的设备备选。请运用层次分析法,从设备的功能性、价格、外观、售后服务等多个方面(可添加考虑因素,自由发挥)进行综合评价,选出最优的供应商。

解答

1.建立层次结构模型
(1)目标层

选择最优的生产设备供应商

(2)准则层

功能性(B1)

价格(B2)

外观(B3)

售后服务(B4)

(3)方案层

供应商C1

供应商C2

供应商C3

供应商C4

2.构造判断矩阵
(1)准则层判断矩阵

为了建立准则层的判断矩阵,我们对各个准则进行成对比较,判断它们在选择供应商时的重要性。我们使用1-9标度法进行比较(1表示两者同等重要,9表示一个因素比另一个重要9倍,反之使用倒数)。

功能性 (B1)

价格 (B2)

外观 (B3)

售后服务 (B4)

功能性 (B1)

1

5

3

7

价格 (B2)

1/5

1

1/3

2

外观 (B3)

1/3

3

1

4

售后服务 (B4)

1/7

1/2

1/4

1

(2)方案层判断矩阵

接下来,我们对每个准则下的供应商进行成对比较。以下为供应商在功能性(B1)、价格(B2)、外观(B3)和售后服务(B4)方面的判断矩阵。我们同样采用1-9标度法进行比较。

供应商在功能性(B1)方面的判断矩阵:

C1

C2

C3

C4

C1

1

3

1/5

2

C2

1/3

1

1/7

1/3

C3

5

7

1

9

C4

1/2

3

1/9

1

供应商在价格(B2)方面的判断矩阵:

C1

C2

C3

C4

C1

1

1/3

5

1/7

C2

3

1

7

1/3

C3

1/5

1/7

1

1/9

C4

7

3

9

1

供应商在外观(B3)方面的判断矩阵:

C1

C2

C3

C4

C1

1

1/2

3

1/5

C2

2

1

5

1/3

C3

1/3

1/5

1

1/7

C4

5

3

7

1

供应商在售后服务(B4)方面的判断矩阵:

C1

C2

C3

C4

C1

1

5

1/3

2

C2

1/5

1

1/7

1/3

C3

3

7

1

5

C4

1/2

3

1/5

1

3.层次单排序及其一致性检验
代码
import numpy as np# 计算特征向量和最大特征值def calculate_eigenvector(matrix):# 计算矩阵的特征值和特征向量eigvals, eigvecs = np.linalg.eig(matrix)# 选择最大特征值的索引max_eigval_index = np.argmax(eigvals)max_eigval = eigvals[max_eigval_index]# 归一化特征向量eigvec = eigvecs[:, max_eigval_index]eigvec = eigvec / np.sum(eigvec)  # 归一化,使其和为1return eigvec.real, max_eigval.real# 一致性检验def consistency_check(matrix, max_eigval):n = matrix.shape[0]  # 矩阵的维度CI = (max_eigval - n) / (n - 1)  # 一致性指标 CIRI = [0, 0, 0.58, 0.9, 1.12, 1.24, 1.32, 1.41, 1.45]  # 随机一致性指标 RI(根据矩阵维度n)CR = CI / RI[n - 1]  # 一致性比率 CRreturn CI, CR# 示例:准则层判断矩阵B1_matrix = np.array([[1, 5, 3, 7],[1 / 5, 1, 1 / 3, 2],[1 / 3, 3, 1, 4],[1 / 7, 1 / 2, 1 / 4, 1]])# 计算特征向量和最大特征值eigvec_B1, max_eigval_B1 = calculate_eigenvector(B1_matrix)# 输出特征向量和最大特征值print("准则层特征向量:", eigvec_B1)print("准则层最大特征值:", max_eigval_B1)# 一致性检验CI_B1, CR_B1 = consistency_check(B1_matrix, max_eigval_B1)# 输出一致性检验结果print("准则层一致性指标 CI:", CI_B1)print("准则层一致性比率 CR:", CR_B1)# 判断一致性if CR_B1 < 0.1:print("准则层判断矩阵一致性通过")else:print("准则层判断矩阵一致性不通过,需要重新构造判断矩阵")
运行结果

4.层次总排序及其一致性检验
代码
import numpy as np# 计算特征向量和最大特征值def calculate_eigenvector(matrix):eigvals, eigvecs = np.linalg.eig(matrix)max_eigval_index = np.argmax(eigvals)max_eigval = eigvals[max_eigval_index]eigvec = eigvecs[:, max_eigval_index]eigvec = eigvec / np.sum(eigvec)  # 归一化,使其和为1return eigvec.real, max_eigval.real# 一致性检验def consistency_check(matrix, max_eigval):n = matrix.shape[0]  # 矩阵的维度CI = (max_eigval - n) / (n - 1)  # 一致性指标 CIRI = [0, 0, 0.58, 0.9, 1.12, 1.24, 1.32, 1.41, 1.45]  # 随机一致性指标 RI(根据矩阵维度n)CR = CI / RI[n - 1]  # 一致性比率 CRreturn CI, CR# 计算层次总排序def calculate_total_ranking(criteria_weights, matrix_list):# matrix_list 是方案层的判断矩阵列表rankings = []for i, matrix in enumerate(matrix_list):eigvec, max_eigval = calculate_eigenvector(matrix)CI, CR = consistency_check(matrix, max_eigval)# 计算每个方案在该准则下的权重weight = np.dot(eigvec, criteria_weights[i])rankings.append(weight)# 综合排序,得到每个方案的总权重total_weights = np.sum(rankings, axis=0)return total_weights# 示例:准则层判断矩阵B1_matrix = np.array([[1, 5, 3, 7],[1 / 5, 1, 1 / 3, 2],[1 / 3, 3, 1, 4],[1 / 7, 1 / 2, 1 / 4, 1]])# 示例:方案层判断矩阵C1_matrix = np.array([[1, 3, 1 / 5, 2],[1 / 3, 1, 1 / 7, 1 / 3],[5, 7, 1, 9],[1 / 2, 3, 1 / 9, 1]])C2_matrix = np.array([[1, 1 / 3, 5, 1 / 7],[3, 1, 7, 1 / 3],[1 / 5, 1 / 7, 1, 1 / 9],[7, 3, 9, 1]])C3_matrix = np.array([[1, 2, 1 / 3, 1 / 5],[1 / 2, 1, 1 / 9, 1 / 7],[3, 9, 1, 7],[5, 7, 1 / 7, 1]])C4_matrix = np.array([[1, 1 / 2, 3, 1 / 4],[2, 1, 5, 1 / 3],[1 / 3, 1 / 5, 1, 1 / 7],[4, 3, 7, 1]])# 计算准则层的权重(特征向量)criteria_matrix = B1_matrix  # 假设准则层只有一个判断矩阵criteria_weights, max_eigval_B1 = calculate_eigenvector(criteria_matrix)# 计算方案层的综合权重matrix_list = [C1_matrix, C2_matrix, C3_matrix, C4_matrix]  # 方案层判断矩阵列表total_weights = calculate_total_ranking(criteria_weights, matrix_list)# 输出层次总排序print("各方案的综合权重:", total_weights)# 判断是否一致CI_B1, CR_B1 = consistency_check(criteria_matrix, max_eigval_B1)print("准则层一致性指标 CI:", CI_B1)print("准则层一致性比率 CR:", CR_B1)# 根据综合权重选择最优方案best_supplier_index = np.argmax(total_weights)print(f"最优供应商是供应商 C{best_supplier_index + 1}")
运行结果

决策

最优供应商为C3

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序的协同工作与发布

1.小程序API的三大分类 2.小程序管理的概念&#xff0c;以及成员管理两个方面 3.开发者权限说明以及如何维护项目成员 4.小程序版本

架构技能(六):软件设计(下)

我们知道&#xff0c;软件设计包括软件的整体架构设计和模块的详细设计。 在上一篇文章&#xff08;见 《架构技能&#xff08;五&#xff09;&#xff1a;软件设计&#xff08;上&#xff09;》&#xff09;谈了软件的整体架构设计&#xff0c;今天聊一下模块的详细设计。 模…

基于微信小程序的实习记录系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

B-树:解锁大数据存储和与快速存储的密码

在我们学习数据结构的过程中&#xff0c;我们会学习到二叉搜索树、二叉平衡树、红黑树。 这些无一例外&#xff0c;是以一个二叉树展开的&#xff0c;那么对于我们寻找其中存在树中的数据&#xff0c;这个也是一个不错的方法。 但是&#xff0c;如若是遇到了非常大的数据容量…

【视频+图文详解】HTML基础4-html标签的基本使用

图文教程 html标签的基本使用 无序列表 作用&#xff1a;定义一个没有顺序的列表结构 由两个标签组成&#xff1a;<ul>以及<li>&#xff08;两个标签都属于容器级标签&#xff0c;其中ul只能嵌套li标签&#xff0c;但li标签能嵌套任何标签&#xff0c;甚至ul标…

网络工程师 (8)存储管理

一、页式存储基本原理 &#xff08;一&#xff09;内存划分 页式存储首先将内存物理空间划分成大小相等的存储块&#xff0c;这些块通常被称为“页帧”或“物理页”。每个页帧的大小是固定的&#xff0c;例如常见的页帧大小有4KB、8KB等&#xff0c;这个大小由操作系统决定。同…

LabVIEW无人机航线控制系统

介绍了一种无人机航线控制系统&#xff0c;该系统利用LabVIEW软件与MPU6050九轴传感器相结合&#xff0c;实现无人机飞行高度、速度、俯仰角和滚动角的实时监控。系统通过虚拟仪器技术&#xff0c;有效实现了数据的采集、处理及回放&#xff0c;极大提高了无人机航线的控制精度…

实现B-树

一、概述 1.历史 B树&#xff08;B-Tree&#xff09;结构是一种高效存储和查询数据的方法&#xff0c;它的历史可以追溯到1970年代早期。B树的发明人Rudolf Bayer和Edward M. McCreight分别发表了一篇论文介绍了B树。这篇论文是1972年发表于《ACM Transactions on Database S…

新一代搜索引擎,是 ES 的15倍?

Manticore Search介绍 Manticore Search 是一个使用 C 开发的高性能搜索引擎&#xff0c;创建于 2017 年&#xff0c;其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx&#xff0c;显着改进了它的功能&#xff0c;修复了数百个错误&#xff0c;几乎完全重写了代码…

iperf 测 TCP 和 UDP 网络吞吐量

注&#xff1a;本文为 “iperf 测网络吞吐量” 相关文章合辑。 未整理去重。 使用 iperf3 监测网络吞吐量 Tom 王 2019-12-21 22:23:52 一 iperf3 介绍 (1.1) iperf3 是一个网络带宽测试工具&#xff0c;iperf3 可以擦拭 TCP 和 UDP 带宽质量。iperf3 可以测量最大 TCP 带宽…

神经网络的数据流动过程(张量的转换和输出)

文章目录 1、文本从输入到输出&#xff0c;经历了什么&#xff1f;2、数据流动过程是张量&#xff0c;如何知道张量表达的文本内容&#xff1f;3、词转为张量、张量转为词是唯一的吗&#xff1f;为什么&#xff1f;4、如何保证词张量的质量和合理性5、总结 &#x1f343;作者介…

MediaPipe与YOLO已训练模型实现可视化人脸和手势关键点检测

项目首页 - ZiTai_YOLOV11:基于前沿的 MediaPipe 技术与先进的 YOLOv11 预测试模型&#xff0c;精心打造一款强大的实时检测应用。该应用无缝连接摄像头&#xff0c;精准捕捉画面&#xff0c;能即时实现人脸检测、手势识别以及骨骼关键点检测&#xff0c;将检测结果实时、直观地…

JAVA篇12 —— 泛型的使用

​ 欢迎来到我的主页&#xff1a;【Echo-Nie】 本篇文章收录于专栏【JAVA学习】 如果这篇文章对你有帮助&#xff0c;希望点赞收藏加关注啦~ 1 泛型介绍 先对集合进行说明&#xff0c;不能对加入到集合中的元素类型进行约束&#xff08;不安全&#xff09;。遍历的时候需要…

JavaScript 数据类型

基本概念 什么是数据类型 JavaScript是一种 灵活的动态类型语言 &#xff0c;其数据类型构成了程序的基础构建块。它主要包括两类数据类型&#xff1a; 原始数据类型 &#xff1a;包括String、Number、Boolean、Undefined、Null和Symbol。 复杂数据类型 &#xff1a;以Object…

被裁与人生的意义--春节随想

还有两个月就要被迫离开工作了十多年的公司了&#xff0c;不过有幸安安稳稳的过了一个春节&#xff0c;很知足! 我是最后一批要离开的&#xff0c;一百多号同事都没“活到”蛇年。看着一批批仁人志士被“秋后斩首”&#xff0c;马上轮到我们十来个&#xff0c;个中滋味很难言清…

Redis代金卷(优惠卷)秒杀案例-多应用版

Redis代金卷(优惠卷)秒杀案例-单应用版-CSDN博客 上面这种方案,在多应用时候会出现问题,原因是你通过用户ID加锁 但是在多应用情况下,会出现两个应用的用户都有机会进去 让多个JVM使用同一把锁 这样就需要使用分布式锁 每个JVM都会有一个锁监视器,多个JVM就会有多个锁监视器…

绘制决策树尝试3

目录 代码解读AI 随机状态 种子 定义决策树回归模型 tree的decision regressor fit 还可用来预测 export 效果图 我的X只有一个特征 为何这么多分支 &#xff1f;&#xff1f;&#xff1f; 这是CART回归 CART回归 为什么说代码是CART回归&#xff1f; 不是所有的决…

为大模型提供webui界面的利器:Open WebUI 完全本地离线部署deepseek r1

为大模型提供webui界面的利器&#xff1a;Open WebUI Open WebUI的官网&#xff1a;&#x1f3e1; Home | Open WebUI 开源代码&#xff1a;WeTab 新标签页 Open WebUI是一个可扩展、功能丰富、用户友好的自托管AI平台&#xff0c;旨在完全离线运行。它支持各种LLM运行程序&am…

langchain 实现多智能体多轮对话

这里写目录标题 工具定义模型选择graph节点函数定义graph 运行 工具定义 import random from typing import Annotated, Literalfrom langchain_core.tools import tool from langchain_core.tools.base import InjectedToolCallId from langgraph.prebuilt import InjectedSt…

【Block总结】CPCA,通道优先卷积注意力|即插即用

论文信息 标题: Channel Prior Convolutional Attention for Medical Image Segmentation 论文链接: arxiv.org 代码链接: GitHub 创新点 本文提出了一种新的通道优先卷积注意力&#xff08;CPCA&#xff09;机制&#xff0c;旨在解决医学图像分割中存在的低对比度和显著…