FieldID = ... [rep([PRECI],[1,NVAR]);[ga_option.cbound(1),ga_option.gbound(1);ga_option.cbound(2),ga_option.gbound(2)]; ... [1,1;0,0;0,1;1,1]]; Chrom = crtbp(NIND,NVAR*PRECI);
时间: 2024-03-26 07:36:53 浏览: 86
这段代码是用来生成一个初始种群(Chrom)的。
- FieldID:用来定义种群中每个变量的上下界和精度,是一个NVAR*3的矩阵。其中第一行表示每个变量的精度,这里是一个长度为NVAR的向量,每个元素都是PRECI;第二行和第三行分别表示每个变量的上下界,这里是一个2行NVAR列的矩阵,每一列分别表示一个变量的上下界;最后一行是一些标志位,这里表示每个变量是否需要进行编码(1表示需要编码)。
- Chrom:用来存储初始种群的矩阵,大小为NIND*NVAR*PRECI。使用crtbp函数来生成一个二进制编码的初始种群,其中NIND是种群大小,NVAR是变量个数,PRECI是变量精度。
需要注意的是,这段代码中的ga_option是某个遗传算法库或者程序中的一个结构体或者类,定义了一些遗传算法的参数,其中cbound和gbound分别表示约束条件的上下界。
相关问题
if (originalData.containsKey(fieldId)) { // 结果中字段值 处理多选 if (originalData.get(fieldId) instanceof Collection) { List<Object> fieldValues = MapUtil.get(originalData, fieldId, List.class); List<String> fieldLabelValues = MapUtil.get(originalData, fieldId + "label", List.class); for (int i = 0; i < fieldValues.size(); i++) { // 是否是其他输入 Object value = fieldValues.get(i); String label = value.equals(0) ? "其他" : fieldLabelValues.get(i); Integer count = labelCountMap.get(label); labelCountMap.put(label.trim(), ObjectUtil.isNotNull(count) ? count + 1 : 1); } } else { String label = MapUtil.getStr(originalData, fieldId + "label"); Integer count = labelCountMap.get(label); labelCountMap.put(label, ObjectUtil.isNotNull(count) ? count + 1 : 1); } } formMap.get(fieldId).setFieldName(labelCountMap.keySet()); formMap.get(fieldId).setData(labelCountMap.values()); formMap.get(fieldId).setMap(labelCountMap); }
这是一段 Java 代码,其中包含了对多选题结果进行处理的逻辑。如果原始数据中包含了指定的字段(fieldId),就会根据数据类型进行不同的处理。如果是一个集合类型,则遍历集合中的每个元素,将其对应的标签(label)以及出现次数记录在一个 Map 中;否则,直接将标签和出现次数记录在 Map 中。最后,将 Map 中的键值对分别设置为表单字段的名称和数据,同时将整个 Map 也设置为表单字段的数据。
formMap.get(fieldId).setFieldName(labelCountMap.keySet()); formMap.get(fieldId).setData(labelCountMap.values()); formMap.get(fieldId).setMap(labelCountMap); } } List<FormReportVO.Analysis> result = new ArrayList(formMap.values()); return result; } }
这段代码是将处理后的表单字段数据封装成表单分析报告的逻辑。对于每个表单字段,通过 `formMap.get(fieldId)` 获取其对应的 `FormReportVO.Analysis` 对象,然后将该对象的字段名称、数据和 Map 分别设置为处理后的数据。最后,将所有的 `FormReportVO.Analysis` 对象放入一个名为 result 的 List 中,并返回该 List。
阅读全文