tsp
Class TravelingSalesmanProblem

java.lang.Object
  extended by tsp.TravelingSalesmanProblem
All Implemented Interfaces:
Individual, java.lang.Comparable

public class TravelingSalesmanProblem
extends java.lang.Object
implements Individual

Utazó ügynük probléma implementációja. Jellemzői a numberOfCities mely a városok számát reprezentálja, valamint a cities mely a körutat tartalmazó városokat tartalmazza sorrendben.


Field Summary
private  java.util.Vector<Coord> cities
           
private  int numberOfCities
           
 
Constructor Summary
TravelingSalesmanProblem()
           
TravelingSalesmanProblem(int numberOfCities)
          A TSP probléma konstruktora.
TravelingSalesmanProblem(java.lang.String[] args)
           
TravelingSalesmanProblem(java.util.Vector<Coord> coords)
          A paraméterben megadott koordinátákkal létrehoz egy körutat (egyedet)
TravelingSalesmanProblem(java.util.Vector<Coord> coords, int numberOfCities)
           
 
Method Summary
 java.lang.Object clone()
           
 int compareTo(java.lang.Object o)
           
 Individual createRandomIndividual()
          [code]numberOfCities[/code] darab várost hoz létre véletlen koordinátákkal.
 boolean equals(java.lang.Object obj)
           
 double fitness()
          A körút hossza.
 java.util.Vector<Coord> getCities()
           
 int getNumberOfCities()
           
private  void initCities()
          Városok véletlenszerű generálása.
private  void processArgs(java.lang.String[] args)
          A [code]numberOfCities[/code] és esetlegesen megadott, fájlból beolvasott [code]cities[/code] változók beállítása a program indítás során megadott paraméterek alapján.
 void setCities(java.util.Vector<Coord> cities)
           
 void setNumberOfCities(int numberOfCities)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

numberOfCities

private int numberOfCities

cities

private java.util.Vector<Coord> cities
Constructor Detail

TravelingSalesmanProblem

public TravelingSalesmanProblem()

TravelingSalesmanProblem

public TravelingSalesmanProblem(java.lang.String[] args)

TravelingSalesmanProblem

public TravelingSalesmanProblem(java.util.Vector<Coord> coords)
A paraméterben megadott koordinátákkal létrehoz egy körutat (egyedet)

Parameters:
coords - körutat alkotó koordináták

TravelingSalesmanProblem

public TravelingSalesmanProblem(java.util.Vector<Coord> coords,
                                int numberOfCities)

TravelingSalesmanProblem

public TravelingSalesmanProblem(int numberOfCities)
A TSP probléma konstruktora. numberOfCities számú várost generál és állít be a cities változóba.

Parameters:
numberOfCities - városok száma
Method Detail

getCities

public java.util.Vector<Coord> getCities()

setCities

public void setCities(java.util.Vector<Coord> cities)

getNumberOfCities

public int getNumberOfCities()

setNumberOfCities

public void setNumberOfCities(int numberOfCities)

fitness

public double fitness()
A körút hossza. Ez a tulajdonság különbözteti meg a többi egyedtől jóságérték szerint.

Specified by:
fitness in interface Individual
Returns:
körút hossza

initCities

private void initCities()
Városok véletlenszerű generálása. A koordinátákat a [0-numberOfCities] tartományból generálja ki


createRandomIndividual

public Individual createRandomIndividual()
[code]numberOfCities[/code] darab várost hoz létre véletlen koordinátákkal. A koordinátákat a cities adattagból nyeri, ezeket összekeveri és visszaadja a TSP probléma ilyen módon előállított példányát

Specified by:
createRandomIndividual in interface Individual
Returns:
véletlenszerűen előállított TSP probléma

processArgs

private void processArgs(java.lang.String[] args)
A [code]numberOfCities[/code] és esetlegesen megadott, fájlból beolvasott [code]cities[/code] változók beállítása a program indítás során megadott paraméterek alapján. Minden Individual interfészt implementáló osztálynak van lehetősége a program indítás során kapott bemeneti paraméterek értelmezésére. Ezeket a paramétereket a Utils.readParamArgs() függvény olvassa be, és a Utils.problemArgs String típusú tömbben tárolja el.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object