October 2016


Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

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

Print Reply
Sean Luke <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Thu, 20 Oct 2016 16:30:57 -0400
text/plain (46 lines)
It sounds like what you really need to do is store the MyClass object somewhere that it's easily accessed.  I suggest that you just subclass SimpleEvolutionState (or whatever) like this:

MyEvolutionState extends SimpleEvolutionState
	public MyClass myobj;

Now you just create a MyEvolutionState instead of a SimpleEvolutionState, stick your myobj in it, and then evolve it.  In your Problem you're handed the EvolutionState.  Cast it to a MyEvolutionState and extract myobj.

If you don't want to extend the EvolutionState, you could extend, say, Finisher, which isn't used by anyone.


On Oct 20, 2016, at 12:36 PM, Márcio Basgalupp <[log in to unmask]> wrote:

> Dear all,
> In my application, I have extended Evolve class (here called
> In this class, I need to instantiate an object from
> another class created by my (let's say MyClass obj = new MyClass()).
> However, I need to use this object in the evaluate method (implemented
> in my problem).
> How could I pass this object from MyEvolve (extending to
> MyProblem (public class myProblem extends Problem implements
> SimpleProblemForm)? This object can not be static, that's why I need
> to pass as a parameter. However, ECJ will call the evaluate
> implemented according to SimpleProblemForm (exactly the same
> parameters). Then, I need to know where ECJ calls evaluate(),  then I
> can change it to call a different evaluate (with an additional param),
> and add a new evaluate method in SimpleProblemForm (one more
> parameter: MyClass obj) or implement a new interface (that also
> implements SimpleProblemForm).
> Could someone give me directions to solve this, please?
> Best,
> Márcio
> --------
> Prof. Dr. Márcio Porto Basgalupp
> Instituto de Ciência e Tecnologia (ICT)
> Universidade Federal de São Paulo (UNIFESP)
> Tel: +55 12 3924-9500 (r: 9762)