Exact algorithm for a half-open multi-depot multi-commodity unpaired pickup and delivery problem with redistribution in omnichannel retailing