package com.estate.expert.admin.component.fuzzy; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** * 模糊层次分析法(FAHP)评估请求参数 * *

该类封装了向模糊评估API发送请求所需的所有参数,用于进行模糊层次分析法评估。 * 模糊层次分析法是一种结合模糊数学和层次分析法的决策方法,适用于处理不确定性和主观判断。

* *

主要用途:

* * * @ClassName FuzzyApiRequest * @Description 模糊层次分析法评估请求参数 * @Author daisy * @Date 2023/10/29 **/ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class FuzzyApiRequest { /** * 影响目标的所有因素的集合中元素的个数 * *

表示参与评估的因素数量,必须与index数组长度、membership_data矩阵行数、 * compare_matrix_data矩阵维度保持一致。

* *

示例:如果评估"文明施工"、"高处作业"、"施工用电"、"作业脚手架"、"物料提升机与施工升降机" * 这5个因素,则n=5。

*/ @Builder.Default int n = 5; /** * 每个因素的名字数组 * *

包含所有参与评估的因素名称,数组长度必须等于n。 * 这些因素名称将用于标识评估结果中各个因素的权重和风险等级。

* *

格式示例:["文明施工", "高处作业", "施工用电", "作业脚手架", "物料提升机与施工升降机"]

* *

常见因素类型:

* */ String[] index; /** * 隶属度矩阵,维度为 n×5 * *

表示每个因素在各个风险等级上的隶属度,用于模糊数学计算。 * 矩阵的每一行对应一个因素,每一列对应一个风险等级。

* *

风险等级说明(5个等级):

* * *

示例:{{0.6917f, 0.2917f, 0.0166f, 0.0f, 0.0f}} * 表示该因素在可忽略风险上的隶属度为0.6917,在低风险上的隶属度为0.2917, * 在中等风险上的隶属度为0.0166,在高风险和不可接受风险上的隶属度为0。

* *

约束条件:每行所有元素之和应等于1.0(隶属度归一化)

*/ float[][] membership_data; /** * 两两比较矩阵,维度为 n×n * *

表示因素之间的相对重要性比较,用于层次分析法计算权重。 * 矩阵中元素a[i][j]表示第i个因素相对于第j个因素的重要性比值。

* *

比较标度说明:

* * *

矩阵特性:

* * */ float[][] compare_matrix_data; /** * 专家数量 * *

参与评估的专家人数,用于多专家决策的权重计算。 * 当num_experts > 1时,系统会对多个专家的判断进行综合处理。

* *

使用场景:

* * */ @Builder.Default int num_experts = 1; @Builder.Default float [] sub_riskpoint = new float[0]; }