To address your question, I use the following search for this kind of problems. This is not exactly what you ask for but it is a fix for this problem. It uses restart search and priority search. Below is an example that I use for a scheduling and assignment problem with JaCoP solver (JaCoP implements priority_search as well). More advanced methods can also be constructed.
solve :: restart_luby(10000)
:: priority_search([0 | i in 1..3], [
priority_search(t, [int_search([t[i], r[i]], input_order, indomain_min, complete) | i in 1..n], smallest),
priority_search(t, [int_search([t[i], r[i]], input_order, indomain_min, complete) | i in 1..n], smallest_max),
priority_search(t, [int_search([t[i], r[i]], input_order, indomain_min, complete) | i in 1..n], occurrence)
],
random)
minimize end;
The code above basically restart search and selects randomly one of three priority searches. I know it is not deterministic.
I do not know if, for example, MiniSearch can do similar things.
/Kris