Training initial population necessitates .mll config and pretrained file

Summary

When using initialisation' := training {}; and specifying a training points file via "-Bsurrogate:training-data=<data-file>", it does not work unless surrogate configuration file and pretrained model are also specified.

Component

search and surrogate

Steps to reproduce

Use initialisation' := training {}; in evolutionary algorithm and specify the training points in the script with "-Bsurrogate:training-data=<data-file>" without specifying "-Bsurrogate:configuration-file=$PRED" and/or "-Bsurrogate:pre-trained=$PRETRAINED" (causes error, see log). Works if these files are properly specified.

Current Behaviour

Error due to unspecified surrogate configuration.

Expected Behavior

It should be possible to use training points to generate the initial population for an evolutionary algorithm without having a pre-trained model and a surrogate configuration.

Relevant logs and/or screenshots

log.txt

Possible fixes

de.evoal.surrogate.main.cdi.SurrogateProducer in the method createTargetProperties:

@Produces
@Dependent
@Named("surrogate-target-properties-specification")
public PropertiesSpecification createTargetProperties(final SurrogateConfiguration config) {
    return PropertiesSpecification.builder()
            .addDescriptions(config.getMappings()
                    .get(0)
                    .getOutputData()
                    .stream())
            .build();
}

Contact Person

/cc @berber