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

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


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

ragards,
Marco