Exemplo n.º 1
0
 @Test
 public void testCoolingSchedule() {
   final DiscreteAnnealSubclass anneal = new DiscreteAnnealSubclass(1000, 400, 1);
   assertEquals(400, anneal.coolingSchedule(), AIFH.DEFAULT_PRECISION);
   anneal.iteration();
   assertEquals(397.61057939346017, anneal.coolingSchedule(), AIFH.DEFAULT_PRECISION);
 }
Exemplo n.º 2
0
 @Test
 public void testGeneral() {
   final DiscreteAnnealSubclass anneal = new DiscreteAnnealSubclass(1000, 4000, 1);
   anneal.setCycles(100);
   assertEquals(100, anneal.getCycles());
   assertEquals(0, anneal.getK());
   assertEquals(false, anneal.done());
 }
Exemplo n.º 3
0
 @Test
 public void testProbability() {
   final DiscreteAnnealSubclass anneal = new DiscreteAnnealSubclass(1000, 400, 1);
   assertEquals(
       0.9753099120283326,
       anneal.calcProbability(10, 20, anneal.coolingSchedule()),
       AIFH.DEFAULT_PRECISION);
   anneal.iteration();
   assertEquals(
       0.9751633961486054,
       anneal.calcProbability(10, 20, anneal.coolingSchedule()),
       AIFH.DEFAULT_PRECISION);
 }
Exemplo n.º 4
0
  @Test
  public void testRun() {
    final DiscreteAnnealSubclass anneal = new DiscreteAnnealSubclass(1000, 400, 1);
    while (!anneal.done()) {
      anneal.iteration();
    }

    final CalculateDistance dist = new EuclideanDistance();

    assertEquals(1000, anneal.getK());
    assertEquals(
        0, dist.calculate(anneal.getBest(), DiscreteAnnealSubclass.IDEAL), AIFH.DEFAULT_PRECISION);
    assertEquals(0, anneal.getBestScore(), AIFH.DEFAULT_PRECISION);
  }
Exemplo n.º 5
0
 @Test
 public void testStatus() {
   final DiscreteAnnealSubclass anneal = new DiscreteAnnealSubclass(1000, 4000, 1);
   assertEquals("k=0,kMax=1000,t=0.0,prob=0.0", anneal.getStatus());
 }