Finding Optimal Solutions to Cooperative Pathfinding Problems | Synapse