A polynomial-time dynamic programming algorithm for an optimal picking problem in automated warehouses | Synapse