Het handelsreizigersprobleem, in het Engels traveling salesman problem (TSP) genaamd, is één van de bekendste problemen in operationeel onderzoek. Het kan als volgt worden geformuleerd:
Als een handelsreiziger n plaatsen moet bezoeken, vind dan de kortste route via die plaatsen zodat iedere plaats precies eenmaal bezocht wordt. De afstanden tussen de verschillende plaatsen zijn gegeven.
Opgave (2 punten)
Definieer een klasse Plaats die kan gebruikt worden voor het bijhouden van de plaatsen die je handelsreiziger moet bezoeken.
Specificaties
- De naam van je programmaklasse moet
Plaats
zijn.
- Je klasse bevat drie instantievariabelen:
- De naam van de plaats
- Het adres van de plaats
- De stad of gemeente van de plaats
- De postcode van de plaats
- Definieer de constructor met 4 String parameters. Deze initialiseert de instantievariabelen met de overeenkomstige parameters.
- hashCode en equals (1 punt):
- Overschrijf de methode hashCode (van Object) die geen parameters heeft. De methode geeft een geheel getal terug dat gebruikt zal worden voor hash-structuren te maken. Het verwachte gedrag van dit soort methode is dat de hash code gelijk zal zijn voor objecten die gelijk zijn en ongelijk voor objecten die ongelijk zijn. De methode hoort enkel gebruik te maken van de instantievariable ‘naam’.
- Overschrijf de methode equals (van Object) die een Object object als parameter heeft. De methode geeft ‘true’ terug indien de meegegeven parameter niet ‘null’ is, een object van de klasse Plaats is én de instantievariabele naam van beide objecten gelijk is.
Opmerkingen en tips
- Het is toegelaten om accessor en mutator methodes toe te voegen aan je klasse indien je deze nodig hebt voor de implementatie van de Route en TSP klasse.
- de hashCode en equals methode mag je genereren via IntelliJ maar zorg er voor dat je dit op een correcte manier doet.