Class Tsp

java.lang.Object
  |
  +--Tsp

public class Tsp
extends java.lang.Object

Keliaujan�io prekeivio u�davinio sprendimas. Pagrindin� klas� Tsp.
�i klas� gali b�ti naudojama TSP u�daviniui spr�sti. Realizuoti u�davinio sprendimo metodai: artimiausio kaimyno, pasikartojan�io artimiausio kaimyno, lank� sukeitimo metodas (NN - pradinis variantas artimiausio kaimyno metodo sprendinys, Random - pradinis variantas pagal miest� pa�ym�jimo eil�).
Naudojant �i� klas�, galima apibr��ti Tsp �em�lapio ribas, maksimal� miest� skai�i� (ne didesn� nei 100).


Field Summary
 int[] yCities
          Pa�ym�t� miest� Y koordina�i� masyvas
static int MAXCITIES
          Maksimalus miest� skai�ius
 int[] route
          Paskutinio apskai�iuoto kelio masyvas
 int[] xCities
          Pa�ym�t� miest� X koordina�i� masyvas
 
Constructor Summary
Tsp()
          Tsp konstruktorius be parametr�.
Tsp(int width, int height, int citiesNr)
          TSP konstruktorius su parametrais.
Tsp(int minx, int miny, int width, int height, int citiesNr)
          TSP konstruktorius su parametrais.
 
Method Summary
 boolean addCity(int x, int y)
          � Tsp �em�lap� prideda nauj� miest�.
 void clearCities()
          I�valo visus pa�ym�tus miestus i� �em�lapio.
 int getCitiesLimit()
          Gr��ina miest� skai�iaus limito reik�m�.
 int getCitiesNr()
          Gr��ina pa�ym�t� miest� skai�i�.
 int getIterationsNumber()
          Gr��ina ciklo iteracij�, kiek j� prireik� apskai�iuoti Tsp mar�rut�, skai�i�.
 java.awt.Dimension getMapSize()
          Gr��ina Tsp �em�lapio koordinates.
 java.lang.String getTspParams()
          Gr��ina Tsp parametr� eilut�.
 double nearestNeighbour()
          Apskai�iuoja Tsp mar�rut�, naudojant Artimiausio kaimyno metod�.
 double nnTwoOptimals()
          Apskai�iuoja Tsp mar�rut�, naudojant Lank� sukeitimo metod� (Artimiausio kaimyno pradinis mar�rutas) metod�.
 void randomTestData()
          Sugeneruoja atsitiktinius testinius duomenis.
 double randomTwoOptimals()
          Apskai�iuoja Tsp mar�rut�, naudojant Lank� sukeitimo metod� (Random pradinis mar�rutas) metod�.
 boolean removeCity(int cityNr)
          Pa�alina nurodyt� miest� i� �em�lapio.
 void removeOutOfBoundsCities()
          Pa�alina visus pa�ym�tus miestus, kurie yra u� �em�lapio rib�.
 double repeatetiveNearestNeighbour()
          Apskai�iuoja Tsp mar�rut�, naudojant Pasikartojan�io artimiausio kaimyno metod�.
 boolean setCitiesLimit(int maxCities)
          Pakei�ia miest� skai�iaus limit� � nurodyt�.
 boolean setCitiesNr(int citiesNr)
          Pakei�ia pa�ym�t� miest� skai�i�.
 boolean setMaxY(int maxy)
          Pakei�ia Tsp �em�lapio maximalios y koordinat�s reik�m�.
 boolean setMaxX(int maxx)
          Pakei�ia Tsp �em�lapio maksimalios x koordinat�s reik�m�.
 boolean setMinY(int miny)
          Pakei�ia Tsp �em�lapio minimalios y koordinat�s reik�m�.
 boolean setMinX(int minx)
          Pakei�ia Tsp �em�lapio minimalios x koordinat�s reik�m�.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAXCITIES

public static final int MAXCITIES
Maksimalus miest� skai�ius

xCities

public int[] xCities
Pa�ym�t� miest� X koordina�i� masyvas

yCities

public int[] yCities
Pa�ym�t� miest� Y koordina�i� masyvas

route

public int[] route
Paskutinio apskai�iuoto kelio masyvas
Constructor Detail

Tsp

public Tsp(int minx,
           int miny,
           int width,
           int height,
           int citiesNr)
TSP konstruktorius su parametrais.
Parameters:
minx - Pradin� Tsp �em�lapio minimali x koordinat�s reik�m�
miny - Pradin� Tsp �em�lapio minimali y koordinat�s reik�m�
width - Pradinis Tsp �em�lapio ilgis
height - Pradinis Tsp �em�lapio auk�tis
citiesNr - Pradin� maksimali miest� skai�iaus riba

Tsp

public Tsp(int width,
           int height,
           int citiesNr)
TSP konstruktorius su parametrais. Minimalios x ir y koordinat�s lygios 0.
Parameters:
width - Pradinis Tsp �em�lapio ilgis
height - Pradinis Tsp �em�lapio auk�tis
citiesNr - Pradin� maksimali miest� skai�iaus riba

Tsp

public Tsp()
Tsp konstruktorius be parametr�. Sukuriamas Tsp �em�lapis, kurio parametrai: ilgis - 200, auk�tis, 200, minimalios x ir y kordinat�s lygios 0, miest� skai�iaus riba lygi MAXCITIES.
Method Detail

getTspParams

public java.lang.String getTspParams()
Gr��ina Tsp parametr� eilut�.
Returns:
gr��ina Tsp parametr� eilut� (�em�lapio dydis, minimalios ir maksimalio koordinat�s, miest� skai�iaus limitas)

randomTestData

public void randomTestData()
Sugeneruoja atsitiktinius testinius duomenis. Sugeneruoja atsitiktin� miest� skai�i� (nuo 3 iki miest� skai�iaus limito) ir sugeneruoja t� miest� koordinates (�em�lapio ribose)

setCitiesLimit

public boolean setCitiesLimit(int maxCities)
Pakei�ia miest� skai�iaus limit� � nurodyt�.
Parameters:
maxCities - Nauja miest� skai�iaus limito reik�m�.
Returns:
gr��ina true , jei reik�m� buvo pakeista, ir false , jei reik�m� nebuvo pakeista.

setCitiesNr

public boolean setCitiesNr(int citiesNr)
Pakei�ia pa�ym�t� miest� skai�i�.
Parameters:
citiesNr - Nauja miest� skai�iaus reik�m�.
Returns:
gr��ina true , jei reik�m� buvo pakeista, ir false , jei reik�m� nebuvo pakeista.

getCitiesLimit

public int getCitiesLimit()
Gr��ina miest� skai�iaus limito reik�m�.
Returns:
gr��ina miest� skai�iaus limito reik�m�.

setMinX

public boolean setMinX(int minx)
Pakei�ia Tsp �em�lapio minimalios x koordinat�s reik�m�.
Parameters:
minx - Nauja minimalios x koordinat�s reik�m�.
Returns:
gr��ina true , jei reik�m� buvo pakeista, ir false , jei reik�m� nebuvo pakeista.

setMinY

public boolean setMinY(int miny)
Pakei�ia Tsp �em�lapio minimalios y koordinat�s reik�m�.
Parameters:
minx - Nauja minimalios y koordinat�s reik�m�.
Returns:
gr��ina true , jei reik�m� buvo pakeista, ir false , jei reik�m� nebuvo pakeista.

setMaxX

public boolean setMaxX(int maxx)
Pakei�ia Tsp �em�lapio maksimalios x koordinat�s reik�m�.
Parameters:
minx - Nauja maksimalios x koordinat�s reik�m�.
Returns:
gr��ina true , jei reik�m� buvo pakeista, ir false , jei reik�m� nebuvo pakeista.

setMaxY

public boolean setMaxY(int maxy)
Pakei�ia Tsp �em�lapio maximalios y koordinat�s reik�m�.
Parameters:
minx - Nauja maximalios y koordinat�s reik�m�.
Returns:
gr��ina true , jei reik�m� buvo pakeista, ir false , jei reik�m� nebuvo pakeista.

getMapSize

public java.awt.Dimension getMapSize()
Gr��ina Tsp �em�lapio koordinates.
Returns:
gr��ina Tsp �em�lapio koordinates.

removeOutOfBoundsCities

public void removeOutOfBoundsCities()
Pa�alina visus pa�ym�tus miestus, kurie yra u� �em�lapio rib�.

removeCity

public boolean removeCity(int cityNr)
Pa�alina nurodyt� miest� i� �em�lapio.
Parameters:
cityNr - Miesto numeris, kur� reikia pa�alinti.
Returns:
gr��ina true , jei miestas buvo pa�alintas, ir false , jei miestas nebuvo pa�alintas.

addCity

public boolean addCity(int x,
                       int y)
� Tsp �em�lap� prideda nauj� miest�.
Parameters:
x - Naujo miesto x koordinat�.
y - Naujo miesto y koordinat�.
Returns:
gr��ina true , jei miestas buvo prid�tas, ir false , jei miestas nebuvo prid�tas.

getCitiesNr

public int getCitiesNr()
Gr��ina pa�ym�t� miest� skai�i�.
Returns:
gr��ina pa�ym�t� miest� skai�i�.

getIterationsNumber

public int getIterationsNumber()
Gr��ina ciklo iteracij�, kiek j� prireik� apskai�iuoti Tsp mar�rut�, skai�i�.
Returns:
gr��ina ciklo iteracij�, kiek j� prireik� apskai�iuoti Tsp mar�rut�, skai�i�.

clearCities

public void clearCities()
I�valo visus pa�ym�tus miestus i� �em�lapio.

nearestNeighbour

public double nearestNeighbour()
Apskai�iuoja Tsp mar�rut�, naudojant Artimiausio kaimyno metod�.
Returns:
Gr��ina Tsp mar�ruto ilg�.

repeatetiveNearestNeighbour

public double repeatetiveNearestNeighbour()
Apskai�iuoja Tsp mar�rut�, naudojant Pasikartojan�io artimiausio kaimyno metod�.
Returns:
Gr��ina Tsp mar�ruto ilg�.

randomTwoOptimals

public double randomTwoOptimals()
Apskai�iuoja Tsp mar�rut�, naudojant Lank� sukeitimo metod� (Random pradinis mar�rutas) metod�.
Returns:
gr��ina Tsp mar�ruto ilg�.

nnTwoOptimals

public double nnTwoOptimals()
Apskai�iuoja Tsp mar�rut�, naudojant Lank� sukeitimo metod� (Artimiausio kaimyno pradinis mar�rutas) metod�.
Returns:
gr��ina Tsp mar�ruto ilg�.