Class ProblemPartInference

  • All Implemented Interfaces:
    IInferenceStrategy

    public class ProblemPartInference
    extends Object
    implements IInferenceStrategy
    An inference strategy constructing a crossover point which comprises only the problem part of the optimization problem. It uses Henshin to find a mapping between the problem parts of the split points of the two input splits. If several such mappings exist, one of them is used non-deterministically.

    Note: The root node of a ModelGraph is always considered to be part of the problem. For all other nodes, the containment reference of their referenced object is determining.

    Author:
    Despro
    • Constructor Detail

      • ProblemPartInference

        public ProblemPartInference​(Set<org.eclipse.emf.ecore.EReference> problemEdgeTypes,
                                    org.eclipse.emf.henshin.interpreter.Engine engine)
        Constructs the strategy specifying which edges are considered elements of the problem part.
        Parameters:
        problemEdgeTypes - edges considered elements of the problem part
        engine - a Henshin engine used to drive Henshin rules
    • Method Detail

      • inferCrossoverPoint

        public Span inferCrossoverPoint​(CoSpan firstSplit,
                                        CoSpan secondSplit)
        Description copied from interface: IInferenceStrategy
        Calculates a crossover point for the splits of two solutions. The crossover point has to be returned as a span where the codomains are identical to the pullbacks (split points) of the respective splits.
        Specified by:
        inferCrossoverPoint in interface IInferenceStrategy
        Parameters:
        firstSplit - split of the first solution
        secondSplit - split of the second solution
        Returns:
        a span representing the crossover point of the splits