Releases: thomasWeise/aitoa-code
Node Type Sets can Search for Node Types of and for Specific Class
0.8.79 added a way to obtain the node class to the node type
Tree Search Operators under-the-hood Improvements
The tree search operators have been improved under the hood. Now, whenever a path through a tree is constructed, all nodes have the same probability to be selected as path end. Paths are constructed, e.g., when applying mutation or tree crossover to select the nodes to be replaced.
Before this change, nodes closer to the root of the tree had a higher replacement probability. This means that larger changes to the tree were more likely. With the new selection method, it is more likely that the leaves of the tree are modified. This should lead to a) smaller changes and hopefully b) to a better balance between search steps that alter the tree very much and such that only alter it slightly.
Better Unary Operator for Genetic Programming
An improved unary search operator (mutation) was added to the Genetic Programming implementation.
This operator chooses one of four actions: node modification; node replacement with a new, random sub-tree; replacing a node with one of its children; or wrapping the node into a new node as a child.
added draft for a (1+1)-FEA+
0.8.76 draft for (1+1)-FEA+
making the field "fitness" of FitnessRecord public
0.8.75 making the field "fitness" of FitnessRecord public
Fixed Missing Bounds in JSSPMakespanObjectiveFunction2
0.8.74 fixed missing bounds in JSSPMakespanObjectiveFunction2
Added Instance List to JSSPInstance
0.8.73 added list of available JSSP instances to JSSPInstance
MakeSpanObjectiveFunction2 + Test for IExperimentStage
0.8.72 fixed checkstyle error + tests for IExperimentStage
Class `Individual` Renamed to `Record`, new EA variant added
I renamed the class Individual
to Record
to get more of the nature-inspired terminology out of the system.
Also, another EA variant was added (EA2
).
Here, the new offspring solutions directly and only compete with their parents (argh, nature-inspired terminology again...)
Move of Individual Class, API Change for EDA Models
The class Individual
is moved from package aitoa.algorithms
to aitoa.structure
.
The API for EDA models (aitoa.structure.IModel
) has been changed: They now are updated via an Iterable
of Individual
records instead of just the points from the search space.
This allows us to implement ACO algorithms using the objective value of an individual as weight when updating their pheromone matrices.