- 浏览: 152297 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
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 1018最近搞了不少的网站,可是都没有去推广,大家支持一下哦: 网址 ... -
三次指数平滑法的预测
2008-06-03 10:30 4576昨天晚上帮同学完成三次指数平滑法的预测模型算法实现,这个就很简 ... -
指派问题的匈牙利算法
2008-06-01 08:54 3581昨天帮一个同学完成了他的毕业论文上的指派问题的匈牙 ... -
兰州市旅游计划中... ...
2008-05-26 11:03 839兰州市旅游计划 第一站:脚踏滨河路 白天走北滨河西路(下午,大 ... -
基于条形码的高校教材管理系统的设计与应用
2008-05-24 10:07 1609摘要:为了改善目前高校教材管理的混乱和复杂局面,提高教材管理工 ... -
快速启动栏消失
2008-05-23 17:54 2699今天,我的office出现了点问题,我把Application ... -
联想网络硬盘——lenovodata
2008-05-23 14:03 16482008-05-22 13:33 ... -
哀 悼
2008-05-23 14:02 6462008-05-20 11:24 昨天 ... -
系统说明书完成
2008-05-23 14:01 7062008-05-18 18:26 这 ... -
地震,晚上又来惊扰我们
2008-05-23 14:00 5872008-05-18 11:08 昨天晚上, ... -
今天完成了800块钱的网站
2008-05-23 13:58 7692008-05-16 23:16 从这 ... -
今天学会修改gif格式的图片了
2008-05-23 13:57 13472008-05-10 21:07 为了帮一个 ... -
今天开始学习ActionScript
2008-05-23 13:57 798这个视频播放器的进展碰到了点问题,所以我现在有必要去了解一下f ... -
五一看车展
2008-05-23 13:56 6602008-05-02 10:52 昨天上 ... -
老师很生气!
2008-05-23 13:55 6682008-04-24 23:21 今天晚上 ... -
大春天的,兰州竟然下了一场大雪!
2008-05-23 13:55 6402008-04-21 11:12 兰州昨天晚 ... -
Web模仿了一个CS的界面,大家看看
2008-05-23 13:54 7742008-04-14 22:24 这两 ... -
今天晚上又去见导师了
2008-05-23 13:53 7782008-04-10 22:54 今天 ... -
刚完成了一个网站
2008-05-23 13:51 636这2008-03-31 20:08 两天帮我大哥完成了 ... -
小小的一个忙
2008-05-23 13:50 6142008-03-29 20:36 今天 ...
相关推荐
多级模糊综合评判算法是一种基于模糊数学理论的方法,它能够通过综合考量多个因素来对某个对象或事件进行评估。这种方法特别适用于那些评判标准不明确、难以用传统定量方法分析的情况。本文介绍了一种使用Visual C++...
在MATLAB程序中实现模糊综合评判的算法通常涉及到使用模糊数学工具箱中的一些函数和方法。例如,可以使用`fuzzy`函数来创建模糊逻辑系统,使用`evalfis`函数来评估模糊逻辑系统,或者直接在MATLAB中进行矩阵运算来...
传统的多目标决策方法,如模糊综合评判法,在处理企业技术创新时存在一定的局限性,尤其是当面临多个相互冲突的目标时,评价结果往往分辨率不高,无法准确区分不同方案之间的优劣。因此,作者们提出了一种新的模型,...
本文采用的二级模糊综合评判法是在传统模糊综合评判法基础上的改进,它根据城市抗震防御能力评估的特点,将评价因素分为若干子系统和次级因素,利用模糊数学原理对各因素进行量化和综合分析。通过Matlab语言编程,...
本文探讨了如何利用大数据与算法相结合的模糊数学模型,对武汉市的大气环境质量进行评估,并为其他城市提供参考。 武汉市作为我国中部地区的重要城市,近年来经济社会发展迅速,人口密度和工业活动的增加也带来了...
模糊数学实用算法共8节,涵盖了多个在信息技术和数据分析领域中的关键概念,这些概念对于理解和应用模糊系统至关重要。以下是对每个部分的详细解释: 1. 隶属函数:隶属函数是模糊数学的基础,用于描述元素对集合的...
此外,文章中还提到了对目标的威胁程度评估值的确定方法,例如可以使用模糊综合评判法或层次分析法等。 遗传算法在求解过程中,需要定义编码方式、适应度函数、选择策略、交叉和变异操作等基本操作步骤。编码方式是...
研究面临的挑战是SQL语言编程能力评估中的多因素影响以及评判标准界限的模糊特性,这导致了评估难度和偏差的产生。为解决这个问题,作者提出了一个结合了静态评估和动态评估方法的模型框架。这个框架首先将提交的SQL...
8. **MATLAB编程实现**:MATLAB是一种强大的计算和数据分析工具,适合用于实现复杂算法,如模糊神经网络模型,进行数值计算和模型构建。 9. **实证研究**:通过实际案例(福州市新店外环路西段道路工程)验证提出的...
在充分利用附件数据并对其进行统计学预处理的基础上,综合运用了模糊评价、最小距离聚类算法、多元线性回归、最小二乘分析等方法建立一系列数学模型,分析水华爆发原因并对其进行预测,最后结合模型提出解决该问题的...
这些知识点涵盖了智能控制中的核心概念和技术,如神经网络的构造和学习、专家系统的设计原理、遗传算法的参数设定、模糊控制的逻辑规则和模糊系统的分类,以及智能控制理论的基础。这些内容对于理解和应用智能控制...
本文讨论了如何运用Matlab软件对大卖场服装零售绩效进行评估,重点在于通过层次分析法(AHP)和模糊综合评价法,建立评估模型,以及利用Matlab程序对评估指标权重进行计算和一致性检验,从而优化计算过程并提升数据...
船员在完成模拟操作后,系统会立即依据XML存储的评判标准和模糊评判算法进行自动化评分,同时提供详细的反馈,帮助船员了解自身操作的不足,以便进行改进。 在实际应用中,该系统已通过船员考试中心的测试,证明其...
- 模糊控制算法:模糊逻辑控制器通过模拟人的推理方法来处理不确定信息,用于控制复杂、难以建模的系统。 - 机器学习算法:利用历史数据训练模型,进行预测和决策,以优化速度控制策略。 5. 百度网盘分享地址的作用...
在引言中提到,学者们提出了众多的边坡预测模型,包括Verhu1St模型、稳定模糊综合评判模型、灰色系统模型、卡尔曼滤波分析法等。每种方法都有其适用范围和局限性,指数平滑法由于其适用性和简便性,成为研究的热点。...
3. **控制类**:在电子设计竞赛中,控制理论的应用至关重要,包括PID控制、模糊控制、模型预测控制等。参赛者需要了解如何将这些理论应用于实际的硬件系统,比如电机控制、传感器数据处理等。此外,了解嵌入式系统的...