Get JSprit to occasionally try removing jobs?


This thread is a followup to this one. First, the big question:

How can I fine-tune JSprit to occasionally experiment removing a job so that the same route can be evaluated without said job?

The context of the question is simple: We have an atomicity scenario where we would like tasks A and B to either both happen, or neither happen. As such, we have added a penalty which only exists when A or B are unassigned, and does not exist otherwise. The penalty is high enough that it is preferable to leave them both unassigned than it is to leave either (It is higher than twice the maximum unassigned cost). Unfortunately, in our experiments, JSprit never tries to have both A and B unassigned. Other conditions prevent them from both being assigned, and so JSprit outputs one of the “bad” scenarios: either A or B is unassigned.

I have been diving in the code looking at regret values, thresholds, etc, but I must admit I’m kind of lost regarding the precise meaning of these parameters. Is there no way for us to randomly remove a couple of jobs so that the scenario where both A and B are unassigned comes true?

Thanks in advance,

João Ricardo Lourenço