Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Outplace crossover #37

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from
Open

Outplace crossover #37

wants to merge 8 commits into from

Conversation

Leative
Copy link
Collaborator

@Leative Leative commented May 15, 2018

Changed the inplace crossover used in SolutionGenerator to an outplace version.
This implies, each crossover operator needs to be applied twice for each pair of parents as well as a fixed arity of 2. Additionally, a contract is needed specifying which of the parents will be used as the result of each step. Currently, the second parent is used as result which follows the idea of parent1 being the source and parent2 being the target of the crossover operator.

Maybe, this should be pulled to an alternative branch?

@alxbrd
Copy link
Member

alxbrd commented May 23, 2018

This is an interesting idea, I think we should enable this through a flag somehow in the DSL.

I wonder if there are any performance differences between running the transformation once vs running it twice on individual parents.

@Leative
Copy link
Collaborator Author

Leative commented May 25, 2018

What I can tell is that copying the parents is a neglectable effort for models up to model D, taking just a few milliseconds if I remember correctly.

I did not try out comparable rules. Loading the rule models takes some time. But I assume, as long as both rule executions are done directly after each other (so the rules are still in memory), there should not be a difference.

I think, in general, the question is how you can/want to formulate the rules. I would stick to in-place if the situation allows it since it does not require additional rule parameters and might allow for more compact rules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants