I have multiple shipments to deliver. Each shipment has a type A-Z. A vehicle can hold multiple items, but they must all be the same type. Once the last shipment is dropped off, a vehicle can pick up a shipment of a different type (they just can't be in the vehicle at the same time).
I think I need a StateUpdater
to update a route with the current shipment type, and a HardActivityConstraint
or HardRouteConstraint
to reject the jobs as early as possible, but am not sure how to specifically do this.
Which interfaces should my StateUpdater
implement?
StateUpdater, JobInsertedListener, InsertionStartsListener, InsertionEndsListener
?
Which type of constraint do I want to implement in this case?