[rules-users] [planner] Tabo List question

Geoffrey De Smet ge0ffrey.spam at gmail.com
Thu Feb 4 12:57:04 EST 2010


Hi Marco,

How did the diversification work out?
If your research produces an interesting text about Drools Planner,
feel free to mail it to me, I might put it up on the Drools blog.

See below for answers.

dmzpippo-drools at yahoo.it schreef:
> Hi all,
> I have a problem with the list of taboo search. I have a move class with 
> many attributes and I want to consider that a move is taboo by only two 
> or three of its attributes (integer values).
> 
> For example:
> I have two lists (each has its own id), the move is to move an object 
> (which has its own id) from a list to another. then the attributes that 
> identify the move are the three identifiers (id_object, id_SRC_List, 
> id_DST_List).
> 
> when I make this move I would consider taboo all the moves that bring me 
> back the item in the original list. ie all the moves of type
> (Id_object, id_of_any_other_List, id_SRC_List).
> 
> I don't think that I can use CompletTaboSize (or undoMove etc..) because 
> I think that  two moves that perform the same exchange can be considered 
> different because of other attributes. is this correct ?
> 
> 
> For now I'm trying to use the PropertyTaboList.
> public Collection <? extends Object> getTabuProperties () (
> HashMap <Integer, Integer> propertyTaboo = new HashMap <Integer,Integer> 
> (1);
> propertyTaboo.put (CustomerNumber, sourceRoute); // id_object, id_SRC_List
> return Collections.singletonList (propertyTaboo);
> )


If you implement the interface on your moves and just add
<completePropertyTabuListSize>5</...>

If you want to do it on 2 property's just add them both to a List/Set 
and return the list/set.


     public Collection<? extends Object> getTabuProperties() {
         return Arrays.<Exam>asList(leftExam, rightExam);
     }

> 
> I do not know if it reaches the target.
> Someone has some advice on how I could do?

Turn debug logging on to see when something is ignored because it is tabu.

> 
> Another question, is possible to stop the solver after X iteration and 
> then restart maintaining the tabo list?
> 

Reset the tabu list every so many iterations? Not yet. A patch to 
AbstractTabuAccepter should be able to do that easily.

PS: Pls use [planner] in the subject of user mails.

> ragards,
> Marco
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users




More information about the rules-users mailing list