private void Awake()
    {
        //GENERACIÓN DE FUNCIÓN DE FITNESS : (Grid de HxW)
        optimizationFunction = new FitnessMap(width, height);
        Debug.Log("<b><color=teal>[1a] FITNESS FUNCTION CREATED </color></b>" + optimizationFunction);

        //Load map [FUTURE]
        //INICIALIZAR LA POBLACIÓN
        population = new Population(optimizationFunction, OptimizationType.MINIMIZE);
        bool initSucess = population.InitPopulation(populationSize, mutationFactor);

        Debug.Log("<b><color=teal>[2] POPULATION INITIALISED (Basic CONFIGURATION + MUTATION FACTOR) </color></b>" + population);



        Debug.Log("Comparing performance with different sizes: mutacion mitad, reemplazo mitad");
        TestWithParams(20, 0.5f, 0.5f, 10);
        //TestWithParams(20, 0.5f, 0.5f, 10 / 2);
        //TestWithParams(30, 0.5f, 0.5f, 10 / 2);
        //TestWithParams(40, 0.5f, 0.5f, 10 / 2);
    }
Ejemplo n.º 2
0
    // Start is called before the first frame update
    void Start()
    {
        map = problem.optimizationFunction;

        StartCoroutine(progressiveRendering());
    }
Ejemplo n.º 3
0
    OptimizationType optimizationGoal;   // MINIMIZE o MAXIMIZE

    //Step 0: Problem input
    public Population(FitnessMap optimProblem, OptimizationType goalType = OptimizationType.MINIMIZE)
    {
        optimizationFunction = optimProblem;
        optimizationGoal     = goalType;
    }