ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Dijkstra算法解决新旧设备选择的最短路径问题

2021-07-06 23:04:20  阅读:163  来源: 互联网

标签:路径 Dijkstra 选择 算法 新旧 使用 第一年 节点 设备


西电2021暑假数模培训作业

本人初步学习,

与大家一同进步,

本文与大家分析我的建模过程。 

 

 题目如下

题干给出各个年份的新设备费用以及旧设备对应使用年份的维修费用,需要求出五年中需要的最小总费用。

由题可知五年的设备使用是连续的,我们必须在一年中使用某一新设备或旧设备,使得总费用最少,对于新一年的到来,要么选择新设备,要么选择支付多于前一年设备一年的已使用年份的维修费用。题干给出信息不全且对表格进行分析,我们假设第一年只能使用新设备或用使用过一年的旧设备。

对此,建立了22个节点,对于第一年到来,只能选择新设备或已使用过1年的旧设备;第二年只能选择新设备或使用过1、2年的设备;第三年只能选择新设备或使用过1、2、3年的设备……

5年中,共有2+3+4+5+6=20个节点,同时设置头尾两节点,进行标号,并对其可能发生的路径进行连线,赋设备费用到入节点的路径上,以计算从头节点到尾节点的最短路径,由于必然最终到达尾节点,所以在尾节点的入节点路径上均赋值为1

 

 对此,我们利用Dijkstra算法得出以下结果,代码可在csdn中自行查找,较简单。

 

由结果可得,第一、二年使用旧设备,第三年购买新设备,第四、五年使用旧设备时,花费最少,为35-1=34.

在此基础上,我们假设第一年必须购买新设备,在代码中,将v1到v3的路径截断,这样第一年就只能购买新设备。得出以下结果:

 

由结果可得,第一年购买新设备,第二、三使用旧设备,第四年购买新设备,五年使用旧设备时,花费最少,为40-1=39.

有问题欢迎大家交流。 

标签:路径,Dijkstra,选择,算法,新旧,使用,第一年,节点,设备
来源: https://blog.csdn.net/shenanyng/article/details/118531868

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有