When interleave_search is true, it does not matter as much.
You should just set it to your number of cores, what is important is the parameter "intearleave_batch_size".
Basically, to be deterministic, we split the solve into batch size independent chunks, wait for all of them to be solved by (num_workers), synchronize and generate the next batch.
So you usually want the batch size to be around twice the number of workers, so that you have a good utilization of your core if some chunks are fast to be completed.
For a fixed batch size, the result should be deterministic, independently of the number of workers.