资源简介
最全的java多目标进化算法,包括naga2,spea2,pesa2等等目前流行的多目标进化算法
代码片段和文件信息
/**
* Algorithm.java
* @author Juan J. Durillo
* @version 1.0
*/
package jmetal.base ;
import java.io.Serializable;
import java.util.*;
import jmetal.util.JMException;
/** This class implements a generic template for the algorithms developed in
* jmetal. Every algorithm must have a mapping between the parameters and
* and their names and another mapping between the operators and their names.
* The class declares an abstract method called execute
which
* defines the behavior of the algorithm.
*/
public abstract class Algorithm implements Serializable {
/**
* Stores the operators used by the algorithm such as selection crossover
* etc.
*/
protected Map operators_ = null;
/**
* Stores algorithm specific parameters. For example in NSGA-II these
* parameters include the population size and the maximum number of function
* evaluations.
*/
protected Mapject> inputParameters_ = null;
/**
* Stores output parameters which are retrieved by Main object to
* obtain information from an algorithm.
*/
protected Mapject> outPutParameters_ = null;
/**
* Launches the execution of an specific algorithm.
* @return a SolutionSet
that is a set of non dominated solutions
* as a result of the algorithm execution
*/
public abstract SolutionSet execute() throws JMException ;
/**
* Offers facilities for add new operators for the algorithm. To use an
* operator an algorithm has to obtain it through the
* getOperator
method.
* @param name The operator name
* @param operator The operator
*/
public void addOperator(String name Operator operator){
if (operators_ == null) {
operators_ = new HashMap();
}
operators_.put(nameoperator);
} // addOperator
/**
* Gets an operator through his name. If the operator doesn‘t exist or the name
* is wrong this method returns null. The client of this method have to check
* the result of the method.
* @param name The operator name
* @return The operator if exists null in another case.
*/
public Operator getOperator(String name){
return operators_.get(name);
} // getOperator
/**
* Sets an input parameter to an algorithm. Typically
* the method is invoked by a Main object before running an algorithm.
* The parameters have to been inserted using their name to access them through
* the getInputParameter
method.
* @param name The parameter name
* @param object object that represent a parameter for the
* algorithm.
*/
public void setInputParameter(String name object object){
if (inputParameters_ == null) {
inputParameters_ = new HashMapject>();
}
inputParameters_.put(nameobject);
} // setInputParameter
/**
* Gets an input parameter through its name. Typically
* the method is invoked by an object
- 上一篇:android 播放器按钮图标
- 下一篇:java web 聊天室 源码
相关资源
- java web 聊天室 源码
- Java_Modbus的操作()
- 2019年Java程序设计总复习题库及答案
- commons-dbcp-1.4.jar、commons-pool-1.5.6.jar、
- JSP开发的网络书店以及论文
- java操作微软队列消息(MSMQ)项目源码
- java语言与面向对象程序设计课后习题
- 许愿墙java 源码
- Javaopencv打开窗体显示摄像头
- java课程设计实验报告
- java数学表达式计算程序设计报告
- Java防止xss攻击jar包
- java网上聊天加密系统源代码
- 《Java+Swing图形界面开发与案例详解》
- java-face人脸识别程序代码
- DES+3DES加密算法java代码+图解
- java大作业,实现学生信息增删改查
- 罗马尼亚问题从Arad到Bucharest结果,深
- java平台基于TCP的聊天室设计
- java8.txt
- JavaWeb开发技术课件
- java 选择保存文件的路径
- Java通过Socket发送邮件
- 学生管理系统SSM
- Java用户文件分类管理系统
- SpringBoot 注解
- kerberos的java实现
- java实现爬取指定网站的数据源码
- java开发坦克大战_eclipse
- java移动文件夹下所有文件
评论
共有 条评论