- 浏览: 149167 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
zhangyou1010:
您好,请问http://www.learn.edu.cn/ 这 ...
Blackboard在线教学管理平台 -
yh1350:
有没有兼容 Firefox的呀
固定表格第一行(表头固定),其他行可以上下滚动 -
javaLife:
楼主,这句classid="clsid:1663ed ...
页面打印方法 -
lgch123:
cms做的。。。没什么意义
最近我的新作品,大家支持一下了! -
east_java:
这么多站 运营如何啊
最近我的新作品,大家支持一下了!
今天弄了个变权多因素模糊评判模型算法程序。也是帮同学完成论文上面的算法的。
1 | 2 | 3 | 4 | ||
A1 | (80,95] | (90,100] | (85,90] | (85,95] | |
B1 | A2 | (15,25] | (20,30] | (10,20] | (15,20] |
A3 | (85,100] | (80,90] | (80,90] | (90,100] | |
A1 | (85,90] | (85,100] | (85,95] | (90,95] | |
B2 | A2 | (50,60] | (60,65] | (55,70] | (50,60] |
A3 | (70,90] | (80,90] | (55,95] | (80,85] | |
A1 | (30,45] | (35,40] | (30,40] | (40,45] | |
B3 | A2 | (65,70] | (60,70] | (70,75] | (65,75] |
A3 | (85,95] | (90,100] | (80,95] | (85,95] | |
A1 | (45,50] | (50,55] | (50,60] | (45,60] | |
B4 | A2 | (70,75] | (70,80] | (75,80] | (70,80] |
A3 | (80,90] | (75,85] | (75,80] | (80,90] |
运行结果:
方案 | A1 | A2 | A3 | 综合值 | 常权综合值 |
B1 | 0.684387 | 0.219464 | 0.096149 | 298.55008 | 276 |
B2 | 0.685332 | 0.218455 | 0.096214 | 598.88731 | 590.625 |
B3 | 0.685762 | 0.218167 | 0.09607 | 754.7995525 | 767.25 |
B4 | 0.685287 | 0.218548 | 0.096164 | 919.315045 | 936 |
这个问题好像是去解决物流中心选址等等。
下面给出VBA的代码:
'================================== '作者:大漠.jxzhoumin '时间:2008.6.2 '================================== Option Base 1 Const ps = 4 '定义决策人常数 Const fs = 4 '定义方案的常数 Const ys = 3 '每种方案考虑因素的常数 Const sp = 5 '步长增加 Public AA(2 * ps) As Double Public XX(fs, ys) As Double Public max_num, min_num As Double Public max_wj, min_wj As Double Public wj(ys) As Double '基础权重 Public w0(ys) As Double Public r0(ys) As Double Public r_x(ys) As Double Public rx(ys) As Double Public kk(ys) As Double Sub main() wj(1) = 0.55 '赋基础权向量值 wj(2) = 0.3 wj(3) = 0.15 max_wj = 0.55 min_wj = 0.15 Dim bqzs(ys) As Double, mid_num As Double, d As Double, d2 As Double Call getX Call getW0 Call getR Call getK With Worksheets("sheet2") For i = 1 To fs '方案 For j = 1 To ys '因素 mid_num = getBQZ(i, j) .Cells(i + 1, j + 1).Value = mid_num bqzs(j) = mid_num Next j For j = 1 To ys d = d + bqzs(j) * XX(i, j) '综合值 d2 = d2 + wj(j) * XX(i, j) '常权综合值 Next j .Cells(i + 1, 5).Value = d .Cells(i + 1, 6).Value = d2 Next i End With End Sub Sub getX() Dim left_num, right_num As Double, mid_num As Double Dim sum_num As Integer For i = 1 To fs '方案 For j = 1 To ys '因素 Call find_num(i, j) '获取某行的数组和该行最小值,最大值 mid_num = 0 For n = min_num To max_num - sp Step sp left_num = n right_num = left_num + sp sum_num = 0 For m = 1 To 2 * ps Step 2 If AA(m) <= left_num And AA(m + 1) >= right_num Then sum_num = sum_num + 1 '在区间范围则加1 End If Next m Dim u As Double u = Int(sum_num / ps * 1000000 + 0.5) / 1000000 '四舍五入,六位小数点 If u <> 0 Then mid_num = mid_num + Int(jifen(left_num, right_num, u, True) / jifen(left_num, right_num, u, False) * 1000000 + 0.5) / 1000000 '四舍五入,六位小数 End If Next n XX(i, j) = mid_num Next j Next i End Sub Sub find_num(ByVal i As Integer, ByVal j As Integer) '获取某行的数组和该行最小值,最大值 Dim t As Integer Dim col_str As String min_num = 1000000 max_num = 0 t = 0 With Worksheets("sheet1") m = (i - 1) * 3 + j + 1 '行值 For n = 3 To ps + 2 t = t + 1 col_str = Trim(.Cells(m, n).Value) AA(t) = Val(Mid(col_str, 2, (InStr(1, col_str, ",") - 2))) t = t + 1 AA(t) = Val(Mid(col_str, (InStr(1, col_str, ",") + 1), (InStr(1, col_str, "]") - (InStr(1, col_str, ",")) - 1))) Next n End With For m = 1 To 2 * ps If AA(m) < min_num Then min_num = AA(m) '得到最小值 End If Next m For m = 1 To 2 * ps If AA(m) > max_num Then max_num = AA(m) '得到最大值 End If Next m End Sub Sub getW0() For i = 1 To ys w0(i) = Int(wj(i) / (max_wj + min_wj) * 1000000 + 0.5) / 1000000 '四舍五入,六位小数,得到w0数组 Next i End Sub Sub getR() Dim mid_num As Double For i = 1 To ys mid_num = 0 For j = 1 To ys If i <> j Then mid_num = mid_num + wj(j) End If Next j r0(i) = Int(w0(i) * mid_num / (1 - w0(i)) * 1000000 + 0.5) / 1000000 '四舍五入,六位小数,得到r0数组 rx(i) = mid_num '得到rx数组 Next i For i = 1 To ys mid_num = 0 For j = 1 To ys If i <> j Then mid_num = mid_num + r0(j) End If Next j r_x(i) = mid_num '得到r_x数组 Next i End Sub Sub getK() For i = 1 To ys kk(i) = 1 - (Int(1 / (r_x(i) * (Log(wj(i) / r0(i)))) * 1000000 + 0.5) / 1000000) Next i End Sub Function getBQZ(ByVal i As Integer, ByVal j As Integer) As Double Dim x As Double Dim feizi, feimu As Double x = XX(i, j) '获取某个方案的某个因素的x值 fenzi = r0(j) * Exp(((-1) * x ^ (1 - kk(j))) / ((1 - kk(j)) * r_x(j))) For m = 1 To ys x = XX(i, m) fenmu = fenmu + r0(m) * Exp(((-1) * x ^ (1 - kk(m))) / ((1 - kk(m)) * r_x(m))) Next m getBQZ = Int(fenzi / fenmu * 1000000 + 0.5) / 1000000 End Function Public Function jifen(ByVal a As Double, ByVal b As Double, u As Double, bl As Boolean) As Double Dim n As Integer Dim h As Double, T1n As Double, T2n As Double, I1n As Double, I2n As Double n = 1 '初值 Const eps = 0.00000001 '积分精度 h = b - a T2n = h * (f(a, u, bl) + f(b, u, bl)) / 2 '梯形公式计算面积近似值 I2n = h * (f(a, u, bl) + f(b, u, bl)) / 2 I1n = 0 Do While Abs(I2n - I1n) >= eps '求积分,当上次积分值I1n与本次积分值I2n之差小于esp时, '则认为所求积分的近似度已达到要求 T1n = T2n I1n = I2n Dim sigma As Double sigma = 0 Dim k As Integer For k = 0 To n - 1 '求变步长梯形的和部分 Dim x As Double x = a + (k + 0.5) * h sigma = sigma + f(x, u, bl) Next k T2n = (T1n + h * sigma) / 2 '变步长梯形 I2n = (4 * T2n - T1n) / 3 '辛普森公式 n = n * 2 '划分 h = h / 2 Loop jifen = I2n '最后结果 'MsgBox jifen End Function Function f(x As Double, u As Double, bl As Boolean) As Double If bl = True Then f = u * x '分子积分 Else: f = u '分母积分 End If End Function Function test() End Function
- 变权多因素模糊评判模型.rar (21.1 KB)
- 描述: Excel文档,内含完整的变权多因素模糊评判模型算法程序
- 下载次数: 3
发表评论
-
最近我的新作品,大家支持一下了!
2009-10-25 00:27 982最近搞了不少的网站,可是都没有去推广,大家支持一下哦: 网址 ... -
三次指数平滑法的预测
2008-06-03 10:30 4483昨天晚上帮同学完成三次指数平滑法的预测模型算法实现,这个就很简 ... -
指派问题的匈牙利算法
2008-06-01 08:54 3517昨天帮一个同学完成了他的毕业论文上的指派问题的匈牙 ... -
兰州市旅游计划中... ...
2008-05-26 11:03 807兰州市旅游计划 第一站:脚踏滨河路 白天走北滨河西路(下午,大 ... -
基于条形码的高校教材管理系统的设计与应用
2008-05-24 10:07 1558摘要:为了改善目前高校教材管理的混乱和复杂局面,提高教材管理工 ... -
快速启动栏消失
2008-05-23 17:54 2665今天,我的office出现了点问题,我把Application ... -
联想网络硬盘——lenovodata
2008-05-23 14:03 16032008-05-22 13:33 ... -
哀 悼
2008-05-23 14:02 6092008-05-20 11:24 昨天 ... -
系统说明书完成
2008-05-23 14:01 6692008-05-18 18:26 这 ... -
地震,晚上又来惊扰我们
2008-05-23 14:00 5482008-05-18 11:08 昨天晚上, ... -
今天完成了800块钱的网站
2008-05-23 13:58 7192008-05-16 23:16 从这 ... -
今天学会修改gif格式的图片了
2008-05-23 13:57 13122008-05-10 21:07 为了帮一个 ... -
今天开始学习ActionScript
2008-05-23 13:57 769这个视频播放器的进展碰到了点问题,所以我现在有必要去了解一下f ... -
五一看车展
2008-05-23 13:56 6232008-05-02 10:52 昨天上 ... -
老师很生气!
2008-05-23 13:55 6342008-04-24 23:21 今天晚上 ... -
大春天的,兰州竟然下了一场大雪!
2008-05-23 13:55 6182008-04-21 11:12 兰州昨天晚 ... -
Web模仿了一个CS的界面,大家看看
2008-05-23 13:54 7242008-04-14 22:24 这两 ... -
今天晚上又去见导师了
2008-05-23 13:53 7362008-04-10 22:54 今天 ... -
刚完成了一个网站
2008-05-23 13:51 609这2008-03-31 20:08 两天帮我大哥完成了 ... -
小小的一个忙
2008-05-23 13:50 5712008-03-29 20:36 今天 ...
相关推荐
多因素模糊综合评判模型在风险投资项目评估中的运用研究多层次结构评估三因素归类.pdf
003——多因素模糊综合评判模型的风险投资项目评估应用研究.pdf
数学建模方法——多级模糊综合评判算法!
提出了基于模糊变量期望值算子的综合评判模型,针对此模型的不足和局限性,又提出了修正模型,并给出了相应的算法。模型实例分析结果表明:该模型具有很强的适用性和有效性。该成果为模糊性决策系统提供了一种新的处理...
针对风险投资项目评估,结合实际建立了有关风险评价的多层次评价指标体系,运用层次分析法和模糊数学理论进行指标权重的确定,提供一种基于模糊综合评价模型的定量化与定性化相结合的评价方法,以期对风险投资项目做出...
应用于模糊法分析建立模型,是一种常用的数学方向应用的分类方法。
以设备参数确定的合理台阶高度为范围,通过建立台阶高度与矿石贫化率、矿石损失率、爆破费用、平均运距等因素之间相互关系的数学模型,应用多因素模糊评判原理对黑岱沟露天煤矿台阶高度进行优化,得到黑岱沟露天煤矿的...
模糊综合评判模型运算情形的探讨(模糊综合评判模型运算情形的探讨)
模糊评判方法评价结果。具有很强的试用性,可以用于结果分析。
模糊综合评判模型在多元财务管理目标实现评价中的应用,杨铭,刘星,分析了财务管理目标单一论的局限性,指出财务管理目标应该是一个多元的综合目标群,其应包括企业价值最大化、相关者利益最大化、
数学建模典型模型与算法-模糊综合评判
模糊综合评判法是利用模糊集理论进行评价的一种方法。具体地说,该方法是应用模糊关系合成的原理,从多个因素对被评判事物隶属等级状况进行综合性评判的一种方法。
模糊综合评判方法即将评价目标看成是由多种因素组成的模糊集合(称为因素集u),再设定这些因素所能选取的评审等级,组成评语的模糊集合(称为评判集v),分别求出各单一因素对各个评审等级的归属程度(称为模糊矩阵...
基于模糊评判的五种具体模型的综合评判方法,李臣,战立军,模糊评判近年来已经大量应用于实际应用中,传统的评判初始模型各有利弊,针对此种情况提出了一种新的综合方法——基于模糊评判的
基于改进模糊综合评判模型的电网静态等值研究,刘寒寒,丁晓群,本文首先介绍了灵敏度分析法应用于Ward型等值算法的具体步骤,对于其缺点进行了总结说明,并提出将改进模糊综合评判模型应用于Ward�
综合模糊评判综合了客观数据和专家主观数据,评价一个系统的风险等级
基于变权法的模糊综合评判在地面沉降危害评价中的应用,张坤军,席广永,地面沉降的危害分类具有模糊性,使得开展危害综合评价存在较大的难度。本文首先概括了地面沉降及其危害的特点,简要论述了模糊综