// DistanceNode.java // // Author: // Antonio J. Nebro <antonio@lcc.uma.es> // Juan J. Durillo <durillo@lcc.uma.es> // // Copyright (c) 2011 Antonio J. Nebro, Juan J. Durillo // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. package jmetal.util; /** * This is an auxiliar class for calculating the SPEA2 environmental selection. * Each instance of DistanceNode contains two parameter called * <code>reference_</code> and <code>distance_</code>. * <code>reference_</code> indicates one <code>Solution</code> in a * <code>SolutionSet</code> and <code>distance_</code> represents the distance_ * to this solution. */ public class DistanceNode { /** * Indicates the position of a <code>Solution</code> in a * <code>SolutionSet</code>. */ private int reference_; /** * Indicates the distance to the <code>Solution</code> represented by * <code>reference_</code>. */ private double distance_; /** * Constructor. * @param distance The distance to a <code>Solution</code>. * @param reference The position of the <code>Solution</code>. */ public DistanceNode(double distance, int reference){ distance_ = distance; reference_ = reference; } // DistanceNode /** * Sets the distance to a <code>Solution</code> * @param distance The distance */ public void setDistance(double distance){ distance_ = distance; } // setDistance /** * Sets the reference to a <code>Solution</code> * @param reference The reference */ public void setReferece(int reference){ reference_ = reference; } // setReference /** * Gets the distance * @return the distance */ public double getDistance(){ return distance_; } // getDistance /** * Gets the reference * @return the reference */ public int getReference(){ return reference_; } // getReference } // DistanceNode