preflowpushalgoritmer
Preflow-push-algoritmen, ofte kalt preflow-push eller push-relabel, er en familie av algoritmer for å finne maksimal flyt i rettede grafer med kapasiteter. Algoritmen ble utviklet av Andrew Goldberg og Robert Tarjan på 1980-tallet og er en av de mest effektive generelle max-flow-algoritmene i praksis. Den nyttiggjør seg av et preflow-konsept og en høydefunksjon (høyder) for å styre flyt mellom nodene.
Grunnprinsippet er å opprettholde et preflow hvor for hver node unntatt kilde og avløp er den akkumulerte
Algoritmen har flere varianter og forbedringer, blant annet global relabeling (periodisk rekonstruering av høydefordeling ved søk
Kompleksiteten i verste fall er O(n^3) for standard implementasjoner, men praktisk ytelse er sterk og forbedres