Edmonds–Pruhs algorithm