## ECJ-INTEREST-L@LISTSERV.GMU.EDU

#### View:

 Message: [ First | Previous | Next | Last ] By Topic: [ First | Previous | Next | Last ] By Author: [ First | Previous | Next | Last ] Font: Proportional Font

Subject:

Re: Running an evolving JADE MAS auction with ECJ...

From:

Date:

Tue, 26 Apr 2005 09:21:58 -0400

Content-Type:

TEXT/PLAIN

Parts/Attachments:

 TEXT/PLAIN (57 lines)
 ```Here's what I would do if professor Luke was out of town and I didn't have anyone to ask: I would have a Auction object in the Problem. when an Individual is evaluated, it registers with the Auction and that's it. When enough inds registered, the register method also starts the auction simulation, and then it assigns fitness based on scores to all the registered inds. (register means adding them to an array) So it's not that the first one starts the auction, it's the last one. :P If your auction runs with all individuals in the population, skip the next part. You got to make sure that the population size is a multiple of number of agent in the auction. I.e. if your auction runs with 10 agents and your population size is 1003, the last three will not be evaluated. you're gonna say "what kind of idiot makes the population 1003". But if you study the effect of changing auction size, you still have the problem, cause 1000 does not divide by 11, 12, 13... If you change the pop size along with auction size the comparison is invalid, cause the search method is different. So you may want to fill the last auction with unsuspecting already-evaluated individuals. Of course, you impose a spatial relationship in your population. Individual 1 competes with individuals 2..10, but not with individual 11...1000. It's like having 100 populations. If you don't like it, you got to randomize the population. 1. have the entire population register to 1 auction broker. When everybody is in, the broker would randomize the list of inds before starting individual auctions. 2. you could go look inside ecj and write your own Evaluator, as Liviu said. Gabriel On Mon, 25 Apr 2005, Mehdi Khoury wrote: > Hello! > > I am actually trying to program an evolving multi agent auction. > The multi agent auction is just triggered by invoking a runIt() method... > It gives me back a bunch of files containing the performances of every > individual after running for 20 seconds. > So here is my problem : I don't want to run one whole auction for every > single individual evaluation. > I just want the first individual evaluation to start the auction, then all > the others would not start their own auction, but would wait for that the > one auction to be finished, and would take their results from the output > files resulting from this one auction. > > Any idea of how to proceed ? > Thanks in advance... > Mehdi Khoury. > ```