Add a notebook demonstrating how to evolve objects #102
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds an example notebook which demonstrates how one can declare and solve an optimization problem that has its
dtype
set asobject
, and therefore has a custom solution structure.While working on the example notebook, one bug, and one genetic algorithm-related shortcoming have been identified and fixed.
The bug was preventing one from instantiating a new
ObjectArray
with the help ofevotorch.tools.as_tensor(..., dtype=object)
. This bug is fixed by this pull request.The shortcoming was as follows: when the user defined a custom mutation operator using a regular function,
GeneticAlgorithm
assumed that the regular function would return a new batch of solutions whose length is equal to the number of solutions it received. This was an unnecessary restriction, and therefore, gets fixed with this pull request.