Oh no, I only for the first time realize that Jsprit algorithm does not by default consider fixed cost. Without this line, fixed cost won't work. I need to revisit my soft time window codes...
I played around with your example, especially with the fixed cost and the fixed cost param. Theoretically, when the fixed cost is larger than 4, the result should yield 1 vehicle and total cost of 52.426 + fixed cost; however, the fixed cost param needs to be sufficiently large for this to happen. For example, if the fixed cost is set as 5, then, only when the fixed cost param is larger than 22 (I only tested with integer values here and after), the result will yield 1 vehicle; on the other hand, if the fixed cost param is set as 1, then, only when the fixed cost is larger than 113, the result will yield 1 vehicle.
The figure at the end shows the result, in which the x-axis is the fixed cost and the y-axis is the smallest fixed cost param value such that the result yields 1 vehicle.
I wonder what role the fixed cost param plays here? Why does it have to be sufficiently large such that the fixed cost can force the result to yield 1 vehicle in the example?