Non-fulfilled routes appear as solution

one possible reason: the hard constraints control the insertion phase, but the ruin phase could break them.

like what we discussed in one of your earlier posts: