View Javadoc
1   /**
2    * @(#)_3Opt.java
3    * Copyright (C) 2008-2011 delhezi.com
4    *
5    * This class is released under the:
6    * GNU Lesser General Public License (LGPL) version 3 or later.
7    * http://www.gnu.org/copyleft/lesser.html
8    */
9   package com.delhezi.ga.mutation.heuristics;
10  
11  import com.delhezi.ga.Chromosome;
12  import com.delhezi.ga.mutation.IMutation;
13  //import java.util.logging.Logger;
14  
15  /**
16   * Klasa <code>_3Opt</code>: Algorytm 3-opt;
17   *
18   * Algorytm lokalnego poszukiwania. Dedykowany dla TSP;
19  
20   * Losowo wybieramy 3 krawędzie. Jeśli długość najlepszego z cyklu
21   * uzyskanego po wymianie jest mniejsza niż przed, krawędzie są zamieniane
22   * (wybierany jest taka konfiguracja, która daje najlepszy cykl);
23   * W innym przypadku przeszukiwana jest dostępna pula rozwiązań
24   * (iterakcyjnie wybieramy kolejne krawędzie) w celu znalezienia
25   * pierwszego wystąpienia cyklu lepszego.
26   * @version 1.0 2010-01-10
27   * @author <a href="mailto:wojciech.wolszczak@delhezi.com">
28   * Wojciech Wolszczak</a>
29   */
30  public class _3Opt implements IMutation {
31  
32      /** Logger object. */
33      //private static final Logger LOGGER =
34      //    Logger.getLogger(_3Opt.class.getName());
35  
36      /** Delhezi Error Code. */
37      //private static final String DERC = "1-6.2-2-";
38  
39      /**
40       * Funkcja mutation wykorzystuje algorytm 3-opt.
41       * @param chromosome Chromosom.
42       * @since 1.0
43       */
44      public final void mutation(final Chromosome chromosome) {
45              throw new UnsupportedOperationException("No implements yet");
46      }
47  
48  }