From: Gary P. <gpa...@gm...> - 2009-01-06 05:13:42
|
Hi, There is absolutely nothing wrong with the XML specification. The problem is in fact with the representation and the current standard classes in CIlib. By default, the larger majority of Swarm Intelligence problems have candidate solutions that are represented by a single vector. In your XML, you have defined that the domain in which the you want the algorithm to operate in, is a space that can effectively be represented as a matrix (or multi-dimensional array). During the algorithm setup and construction, the particles that are generated do in fact have matrices as their internal representations. The problem comes in that the default Velocity and Position update equations expect Vectors and not a Vector of Vectors (which is the current manner a Matrix is built using the domain strings - this may change in the near future). There should be 3 things that need to change. - The particles need to be told that their velocity and position update equations need to be altered so that they can handle Matrix instances. - The problem needs to be aware that the candidate solution that it needs to evaluate is in fact a matrix and not a simple Vector class. Does this all make sense? Regards, Gary lab...@gm... wrote: > Sorry, I was on vacation. Happy New Year to all, BTW :-) > > Here's an xml file. Maybe I'm doing something wrong? TIA. > > <?xml version="1.0"?> > > <!DOCTYPE simulator [ > <!ATTLIST algorithm id ID #IMPLIED> > <!ATTLIST problem id ID #IMPLIED> > <!ATTLIST measurements id ID #IMPLIED> > ]> > > <simulator> > <algorithms> > <algorithm id="gbest" class="pso.PSO"> > <addStoppingCondition class="stoppingcondition.MaximumIterations" > maximumIterations="1000" /> > </algorithm> > </algorithms> > > <problems> > <problem id="spherical" class="problem.FunctionMinimisationProblem"> > <function class="functions.continuous.Spherical" > domain="[R(-5.0,5.0)^5]^5"/> > </problem> > </problems> > > <measurements id="fitness" class="simulator.MeasurementSuite" > resolution="10" samples="1"> > <addMeasurement class="measurement.single.Fitness"/> > </measurements> > > <simulations> > <simulation> > <algorithm idref="gbest"/> > <problem idref="spherical"/> > <measurements idref="fitness" > file="data/spherical3.gbest.p20w1.0c1_2c2_2NoVmax.txt"/> > </simulation> > </simulations> > </simulator> > > > On Dec 23, 2008 6:54am, Gary Pampara <gpa...@gm...> wrote: >> Continuing this discussion on the developer list. >> >> >> >> Gary Pampara wrote: >> >> > Hi, >> >> > >> >> > I'll have a look at this. >> >> > >> >> > Regards, >> >> > Gary >> >> > >> >> > lab...@gm... wrote: >> >> >> registry.setDomainString("[R(-5.0, 5.0)^10]^10"); >> >> >> yeah, that does not work too well. I get the following error: >> >> >> >> >> >> Exception in thread "main" java.lang.UnsupportedOperationException: >> >> >> Attempted to perform a numeric operation on non-numeric type >> >> >> at >> >> >> > net.sourceforge.cilib.type.types.container.Vector.getNumeric(Vector.java:414) >> >> >> at >> >> >> > net.sourceforge.cilib.type.types.container.Vector.getReal(Vector.java:466) >> >> >> at >> >> >> > net.sourceforge.cilib.pso.velocityupdatestrategies.StandardVelocityUpdate.updateVelocity(StandardVelocityUpdate.java:89) >> >> >> at >> >> >> > net.sourceforge.cilib.pso.particle.StandardParticle.updateVelocity(StandardParticle.java:186) >> >> >> at >> >> >> > net.sourceforge.cilib.pso.iterationstrategies.SynchronousIterationStrategy.performIteration(SynchronousIterationStrategy.java:69) >> >> >> at >> >> >> > net.sourceforge.cilib.pso.iterationstrategies.SynchronousIterationStrategy.performIteration(SynchronousIterationStrategy.java:36) >> >> >> at net.sourceforge.cilib.pso.PSO.algorithmIteration(PSO.java:125) >> >> >> at >> >> >> > net.sourceforge.cilib.algorithm.Algorithm.performIteration(Algorithm.java:140) >> >> >> at net.sourceforge.cilib.algorithm.Algorithm.run(Algorithm.java:182) >> >> >> >> >> >> >> >> >> > ------------------------------------------------------------------------ >> >> >> >> >> >> > ------------------------------------------------------------------------------ >> >> >> >> >> >> >> >> >> > ------------------------------------------------------------------------ >> >> >> >> >> >> _______________________________________________ >> >> >> Cilib-users mailing list >> >> >> Cil...@li... >> >> >> https://lists.sourceforge.net/lists/listinfo/cilib-users >> >> > >> >> > > ------------------------------------------------------------------------------ >> >> > _______________________________________________ >> >> > Cilib-users mailing list >> >> > Cil...@li... >> >> > https://lists.sourceforge.net/lists/listinfo/cilib-users >> |