April 2014


Options: Use Proportional Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Raymond Shpeley <[log in to unmask]>
Sat, 12 Apr 2014 14:16:02 -0400
text/plain; charset="ISO-8859-1"
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
text/plain (52 lines)
>I've been doing testing and am limited by the memory issue with strong 
>I'm moving my code over to one of our university's blade servers to get more
Having the extra resources of the university's server didn't help much in 
controlling the memory exploitation issue of strong data typing. I didn't have 
time to look into the root issue in ECJ with strong data typing, but I assume it 
uses a greedy algorithm in tree construction. Maybe I'll look into it later. This 
post is for the benefit of others who may need to work around the issue as I 

Ignoring the core dumps, the main problem is the limitation on population size. 
In my case I found a population of 350 to be the maximum I could push out. 
Once the run got past the first 2-3 gens it had no further issues. Since I used 
ERCs to generate numbers randomly, the curtailed diversity from a 350 
population was a problem. I made a few changes to adjust for this lower initial 

1. I put parsimony pressure into the fitness function and increased tree depth 
to increase diversity in the tree (breaking the rules  :)
2. the timetable had 75 slots and I evaluated only the first 75 items which 
could be slotted in, ignoring the rest (except to count the excess baggage to 
apply toward parsimony pressure) -- this reduced selection pressure and 
carried forward genetic material
3. with 10 fitness measures to track I multiplied them (adjusting to 1-base 
level) then took their power to normalise the number (ie n x m x o --> 
nmo^1/3) -- this reduced selection pressure for large individual excursions of 
fitness with the benefit that individual small changes created more relative 
effect -- therefore more genetic material was carried forward retaining diversity 
with selection pressure increasing as it neared a solution.

This is just a simplified explanation of course. I found tuning of these values to 
be critical and sometimes counter-intuitive. 

If anyone has specific questions, email me. 

>This is a school timetable app. There are primarily 3 parts to the timetable:
>rooms, timeslots and course offerings. Then there are constraints which 
>instructor availability, room purpose, and curriculum concurrency, among
>The terminal set is 3 ERCs, one each for the 3 parts of the timetable. Then 
>ERC join function restricted to one of each ERC type, and a generic join
>restricted to ERC join types. Generally, this is an optimisation problem where
>one needs to find the right sets of ERCs which satisfy the constraints. I have
>plans to extend the tree with a conditional function later if I have time.
>-- ray