Anonymous - 2016-01-19

I can think of two options.

Option 1: Inside your problem definition, switch the problem definition based on how many times the evaluate method is called. This will only work if both stages use the same solution representation (the same decision variables).

private int counter = 0;

public void evaluate(Solution solution) {
    counter++;

    if (counter < 10000) {
        // stage 1
    } else {
        // stage 2
    }
}

Option 2: For stage 2, set the initial population to the solutions resulting from stage 1. See the Beginner's Guide for details on how to customize the initial population.