/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package hh.creditassignment.fitnessindicator; import java.util.List; import org.moeaframework.core.Population; import org.moeaframework.core.Solution; /** * Used for binary indicators * * @author nozomihitomi */ public interface IIndicator { /** * Computes the contributions of each of the solutions in the nondominated * population. Returns a list of contributions in the order of the * population's index from get() method * * @param popA * @param refPt some indicators require a reference point * @return a list of contributions in the order of the population's Iterator */ public List<Double> computeContributions(Population popA); /** * Computes the indicator value when comparing solution A to solution B. * Used in IBEA setting * * @param solnA * @param solnB * @param refPt some indicators require a reference point * @return */ public double compute(Solution solnA, Solution solnB); /** * Computes the contributions of specified solution to the nondominated * population if inserted. It is assumed that the solution has already been * inserted into the population. Returns the contribution of the offspring * to the indicator value * * @param pop the population with the solution of interest. objectives are * normalized * @param offspring the offspring just inserted into the population. * objectives are normalized * @param refPt some indicators require a reference point * @return */ public double computeContribution(Population pop, Solution offspring); public Solution getReferencePoint(); public void setReferencePoint(Solution solution); }