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.

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);
)

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


ragards,
Marco