ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/loops/TSPExchangerTest.java
(Generate patch)

Comparing jsr166/src/test/loops/TSPExchangerTest.java (file contents):
Revision 1.10 by jsr166, Tue Nov 3 01:04:02 2009 UTC vs.
Revision 1.15 by jsr166, Sat Dec 29 23:55:19 2012 UTC

# Line 1 | Line 1
1   /*
2   * Written by Doug Lea and Bill Scherer with assistance from members
3   * of JCP JSR-166 Expert Group and released to the public domain, as
4 < * explained at http://creativecommons.org/licenses/publicdomain
4 > * explained at http://creativecommons.org/publicdomain/zero/1.0/
5   */
6  
7   import java.util.*;
# Line 201 | Line 201 | public class TSPExchangerTest {
201      }
202  
203      /**
204 <     * Perform one run with the given parameters.  Each run complete
204 >     * Performs one run with the given parameters.  Each run completes
205       * when there are fewer than 2 active threads.  When there is
206       * only one remaining thread, it will have no one to exchange
207       * with, so it is terminated (via interrupt).
# Line 406 | Line 406 | public class TSPExchangerTest {
406           * other.  It is hardwired because small variations of it
407           * don't matter much.
408           *
409 <         * @param g the first generation to run.
409 >         * @param g the first generation to run
410           */
411          int runUpdates() throws InterruptedException {
412              int n = 1 + (rng.next() & ((subpopSize << 1) - 1));
# Line 416 | Line 416 | public class TSPExchangerTest {
416          }
417  
418          /**
419 <         * Choose a breeder, exchange strand with another subpop, and
420 <         * cross them to create new chromosome to replace a chosen
419 >         * Chooses a breeder, exchanges strand with another subpop, and
420 >         * crosses them to create new chromosome to replace a chosen
421           * dyer.
422           */
423          void update() throws InterruptedException {
# Line 432 | Line 432 | public class TSPExchangerTest {
432          }
433  
434          /**
435 <         * Choose a breeder, with exponentially decreasing probability
435 >         * Chooses a breeder, with exponentially decreasing probability
436           * starting at best.
437           * @return index of selected breeder
438           */
# Line 447 | Line 447 | public class TSPExchangerTest {
447          }
448  
449          /**
450 <         * Choose a chromosome that will be replaced, with
450 >         * Chooses a chromosome that will be replaced, with
451           * exponentially decreasing probability starting at
452 <         * worst, ignoring the excluded index
452 >         * worst, ignoring the excluded index.
453           * @param exclude index to ignore; use -1 to not exclude any
454           * @return index of selected dyer
455           */
# Line 484 | Line 484 | public class TSPExchangerTest {
484          }
485  
486          /**
487 <         * Copy current strand to start of c's, and then append all
487 >         * Copies current strand to start of c's, and then appends all
488           * remaining b's that aren't in the strand.
489           * @param breeder the breeder
490           * @param child the child
# Line 522 | Line 522 | public class TSPExchangerTest {
522          }
523  
524          /**
525 <         * Fix the sort order of a changed Chromosome c at position k
525 >         * Fixes the sort order of a changed Chromosome c at position k.
526           * @param c the chromosome
527           * @param k the index
528           */
# Line 561 | Line 561 | public class TSPExchangerTest {
561          int fitness;
562  
563          /**
564 <         * Initialize to random tour
564 >         * Initializes to random tour.
565           */
566          Chromosome(int length, RNG random) {
567              alleles = new int[length];
# Line 596 | Line 596 | public class TSPExchangerTest {
596          }
597  
598          /**
599 <         * Return tour length for points scaled in [0, 1).
599 >         * Returns tour length for points scaled in [0, 1).
600           */
601          double unitTourLength() {
602              int[] a = alleles;
# Line 612 | Line 612 | public class TSPExchangerTest {
612          }
613  
614          /**
615 <         * Check that this tour visits each city
615 >         * Checks that this tour visits each city.
616           */
617          void validate() {
618              int len = alleles.length;
# Line 672 | Line 672 | public class TSPExchangerTest {
672          }
673  
674          /**
675 <         *  Returns the cached distance between a pair of cities
675 >         * Returns the cached distance between a pair of cities.
676           */
677          int distanceBetween(int i, int j) {
678              return distances[i][j];
# Line 682 | Line 682 | public class TSPExchangerTest {
682          static final double PSCALE = (double) 0x80000000L;
683  
684          /**
685 <         * Return distance for points scaled in [0,1). This simplifies
685 >         * Returns distance for points scaled in [0,1). This simplifies
686           * checking results.  The expected optimal TSP for random
687           * points is believed to be around 0.76 * sqrt(N). For papers
688           * discussing this, see
# Line 705 | Line 705 | public class TSPExchangerTest {
705  
706          int seed;
707          RNG(int seed) { this.seed = seed; }
708 <        RNG()         { this.seed = seedGenerator.nextInt() | 1;  }
708 >        RNG()         { this.seed = seedGenerator.nextInt() | 1; }
709  
710          int next() {
711              int x = seed;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines