Hi Geoffrey, Today I tried to follow the process for selecting a tabu move through propertytabuList. correct me if I misunderstood: Make a moveCreate a collection of objects through the method getTabuProperties()In the class AbstractTabuAccepter I check if at least one of these objects is contained in propertyTabuList. in this case the move is considered taboo (unless the aspiration criteria). [These objects are called from the method findTabu(moveScope) of Class PropertyTabuAccepter]When I chose the move to do for the current step, I insert in propertyTabuList objects generated by the method getTabuProperties() [these objects are called from the method findNewTabu(stepScope) of Class PropertyTabuAccepter]In this way, however, are not able to decide when I make a move which other moves I considered taboo. For giving me this opportunity I'm trying a new way. I tried to change : the interface TabuPropertyEnabled adding a method representationMove() the method findTabu(moveStep) of Class PropertyTabuAccepter internally calls representationMove().In this way the cycle of selecting a move would be: Make a movecreate a representation of the move with the method representationMove()if this representation is contained in propertyTabuList the move is considered taboo (unless the aspiration criterion). [These objects are called from the method findTabu(moveScope) of Class PropertyTabuAccepter]When I chose the move to do for the current step, I insert in propertyTabuList objects generated by the method getTabuProperties() [these objects are called from the method findNewTabu(stepScope) of Class PropertyTabuAccepter] Recalling the example that you had posted yesterday If for example I have 5 vehicles and 20 customer and I want to move the customer 6 from the vehicle 0 to vehicle 1, then: (6,0,1) => is the representation of the move [generated by representationMove()](6,1,0), (6,2,0), (6,3,0), (6,4,0) => are the moves that I want I considered taboo. [generated by getTabuProperties()] By the first tests I noticed that in this way avoids the situation where at an step I make a move and at the one after a back move. Next week I will have to do some more detailed tests.
regards, Marco
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users