Package main

## Class BasuraAlgorithm

- java.lang.Object
- - main.BasuraAlgorithm

-     public class BasuraAlgorithm
      extends java.lang.Object

  Construcción y ejecución del algoritmo evolutivo.
  Author:
    Toyos, Vallcorba

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static float` | `crossoverP` |
    `static float` | `mutationP` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BasuraAlgorithm​(java.lang.String instanceFolder, int[] estadoInicial)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getCantidadCamiones()` |
    `int` | `getMaxEvaluations()` |
    `int` | `getPopulationSize()` |
    `Itinerario` | `run()` | Deprecated.
    `Itinerario` | `run2()` | Deprecated.
    `Itinerario` | `run3()` | Versión final del agloritmo evolutivo.
    `Itinerario` | `runGreedy()` | Algoritmo greedy para obtener la solución del itinerario.
    `BasuraAlgorithm` | `setCantidadCamiones​(int cantidadCamiones)` |
    `BasuraAlgorithm` | `setCapacidadCamiones​(int capacidadCamiones)` |
    `BasuraAlgorithm` | `setCores​(int cores)` |
    `BasuraAlgorithm` | `setMaxEvaluations​(int maxEvaluations)` |
    `BasuraAlgorithm` | `setPopulationSize​(int populationSize)` |

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### mutationP

          public static float mutationP

    - #### crossoverP

          public static float crossoverP

  - ### Constructor Detail

    - #### BasuraAlgorithm

          public BasuraAlgorithm​(java.lang.String instanceFolder,
                                 int[] estadoInicial)

  - ### Method Detail

    - #### run

          public Itinerario run()

      Deprecated.
      Primera versión del algoritmo evolutivo. Utiliza el algoritmo generico simple con un multithreaded list evaluator.
      Returns:
        Itinerario solución.

    - #### run2

          public Itinerario run2()

      Deprecated.
      Segunda versión del algoritmo evolutivo. Utiliza un algoritmo MOCHC con un multithreaded list evaluator.
      Returns:
        Itinerario solución.

    - #### run3

          public Itinerario run3()

      Versión final del agloritmo evolutivo. Utiliza un algoritmo paralelo asíncrono de tipo master/slave.

      Los operadores son: cruzamiento HUX (Half uniform corssover) y bit flip mutation.

      Las probabilidades a utilizar en el algoritmo fueron escogidas tras un estudio parametrico de performance para distitas combinaciones.
      Returns:
        Itinerario solución.

    - #### runGreedy

          public Itinerario runGreedy()

      Algoritmo greedy para obtener la solución del itinerario. Sigue la estrategia presentada en el artículo.
      Returns:
        Itinerario ejecución

    - #### getCantidadCamiones

          public int getCantidadCamiones()

    - #### setCantidadCamiones

          public BasuraAlgorithm setCantidadCamiones​(int cantidadCamiones)

    - #### setCores

          public BasuraAlgorithm setCores​(int cores)

    - #### getPopulationSize

          public int getPopulationSize()

    - #### setPopulationSize

          public BasuraAlgorithm setPopulationSize​(int populationSize)

    - #### getMaxEvaluations

          public int getMaxEvaluations()

    - #### setMaxEvaluations

          public BasuraAlgorithm setMaxEvaluations​(int maxEvaluations)

    - #### setCapacidadCamiones

          public BasuraAlgorithm setCapacidadCamiones​(int capacidadCamiones)