jMetal学习笔记(一)-架构组件

jMetal4+
jMetal的基本架构依赖于:Algorithm 使用 SolutionSet 和 一系列的 Operator 解决 Problem
在遗传算法中,种群(populations)对应 SolutionSet,个体(individuals)对应Solution。
在这里插入图片描述

下面根据jmetal官网的使用手册介绍四大基本组件。

Encoding of Solutions

在使用元启发式算法的时候首先要决定怎么去编码或表示所要解决的问题的暂定solution,这将表示取决于问题本身。
jMetal框架的基本组件:Solution,如下图所示
在这里插入图片描述

Operators

元启发式算法基于通过应用不同的算子修改solution或生成new solution。在jMetal中任何改变或生成solution( or solution set )的操作都继承自Operator类。
框架内包括很多操作符,分为如图所示Selection,Mutation,Crossover,LocalSearch四个类别
在这里插入图片描述
算子的产生和使用如图所示:
在这里插入图片描述
下面是SBX算子的源码解读
在这里插入图片描述
在这里插入图片描述

Problems

在jMetal中,所有问题都继承自类问题。该类包含两个基本方法:evaluate()和 evaluateConstraints(),两种方法都接收问题的候选solution。
evaluate()对其进行评估,evaluateConstraints()确定其总体约束冲突。
所有问题都必须定义evaluate()方 法,而只有具有边约束的问题才需要定义evaluateConstraints()。默认情况下实现的约束处理机制是A fast and elitist multiobjective genetic algorithm: NSGA-II中提出的机制。
在这里插入图片描述
下面分析Kursawe’s problem的源码
在这里插入图片描述
在这里插入图片描述

Algorithms

这是一个抽象类,必须继承实现。特别是,必须实现抽象方法execute();该方法旨在运行该算法,结 果返回SolutionSet
算法的实例对象可能需要一些特定于应用程序的参数,可以分别使用addParameter()和 getParameter()方法添加和访问这些参数。类似地,算法也可以使用一些运算符,因此提供 了合并运算符(addOperator())和获取运算符(getOperator())的方法。
下一篇笔记会介绍NSGAii
在这里插入图片描述
最后是jemtal包结构(旧版)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值