a transportation assignment is invalid if not all demand is met
a transportation assignment is invalid if not all demand is met

this also adds a get-out to assignment_is_optimal making it throw an error if it tries 500 variations. I can't work out the logic for how many variations can be tried, or what edge cases cause it to not have any valid allocations, so I've just put in a hard limit.

numbas/numbas-extension-optimisation,numbas/numbas-extension-optimisation