动态规划---->可靠性设计

1、可靠性设计

可靠性设计:一个系统由n级设备串联而成,为了增强可靠性,每级都可能并联了不止一台同样的设备。所以每级用的设备越多系统的可靠性越高。但是设备都是有成本的,假定设备Di的成本是ci,设计该系统允许的投资不超过c,那么,该如何设计该系统(即各级采用多少设备)使得这个系统的可靠性最高。试设计一个动态规划算法求解可靠性设计。

如果第i级的设备Di的台数为mi,那么这mi台设备同时出现故障的概率为(1-ri)mi ,从而第i级的可靠性就变成1-(1-ri)mi 。例如,假定ri=0.99 ,mi=2,于是这一级的可靠性就是0.9999。不过在任何实际系统中, 每一级的可靠性要比1-(1-ri)mi 小一些, 这是由于这些开关线路本身并不是完全可靠的, 而且同一类设备的失误率也不可能是完全独立的(例如, 由于设计不当所造成的失误) 。基于以上分析, 不妨假设第i 级的可靠性由函数φ(mi)给定, 1≤i≤n 。由于系统中每种设备至少有一台,用ui表示最多的台数。

2、例子

设计一个由设备D1,D2 ,D3 组成的三级系统。每台设备的成本分别为30元,15元和20元, 可靠性分别是0.9 , 0.8 和0.5 , 计划建立该系统的投资不得超过105元。假定, 若i级有mi台设备Di并联, 则该级的可靠性φ(mi) = 1-(1-ri)mi 。上述条件可以表示为: c=105; c1=30 , c2=15 , c3=20 ; r1=0.9 , r2=0.8 , r3=0.5。由此立即可得: u1=2 , u2 =3 ,u3 =3。

求解过程

Sij  表示对第i个设备选择 j 个

Si        包含了第i个设备所有可能的情况。

S(i,j),Si的值都是前面代表可靠性,后面代表价格。

支配:花了更多的钱,可靠性反而低,可以删除。

S11  = { (0 .9 , 30) } S12 = {( 0 .99 , 60) }

得S1 = { (0  .9 , 30) , ( 0 .99 , 60) }

由S21 = {  (0 .72 , 45 ) , (0 .792 , 75) }  S22 =  {( 0 .864 , 60 )}  S23 = {( 0 .8928 ,  75) }

得S2 = { (0  .72 , 45 ) , (0 .864 , 60) , ( 0 .8928 , 75) }

注意: S22中已删去了由(0 .99 , 60 )所得到的序偶( 0 .9504 , 90) 。因为这只剩下15 元, 不足以让m3 = 1。

说明: 归并时由于( 0 .792 , 75 )受( 0 .864 , 60 )支配, 故舍去。

由 S31= {  (0 .36 , 65 ) , (0 .432 , 80) , ( 0 .4464 , 95) }

S32=  { (0 .54 , 85 ) , (0 .648 , 100 )}

S33=  { (0 .63 , 105) }

得S3 = { (0  .36 , 65 ) , (0 , 432 , 80) , ( 0 .54 , 85) , ( 0 .648 , 100) }

最优设计有0  .648 的可靠性, 需用资金100 元。通过对这些Si 的回溯, 求出m1 = 1 ,  m2= 2 , m3 = 2 。

posted on   小强斋太  阅读(997)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2013年5月 >
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示