In genetische algoritmen is de fitnessfunctie (soms: fitheidsfunctie) een functie die de kwaliteit van een oplossing aanduidt (ook bekend als de fitness van de oplossing) zodat de oplossing vergeleken kan worden met andere oplossingen. De betere oplossingen worden vervolgens geselecteerd voor reproductie zodat de algehele kwaliteit van de oplossing in de populatie verbetert.
De fitnessfunctie bepaalt de vorm van het fitnesslandschap, de fitnesswaarden van alle oplossingen. Een fitnessfunctie waarbij de fitnesswaarde van oplossingen die erg op elkaar lijken niet veel verschilt, geeft een geleidelijk fitnesslandschap terwijl een fitnessfunctie met sterk uiteenlopende waarden een ruw fitnesslandschap geeft waarbij een kleine verandering in de oplossing een grote verandering in fitness teweegbrengt.
Een goede fitnessfunctie dient correct de gewenste kwaliteiten van een oplossing in een waarde uit te drukken. De functie dient ook relatief snel uit te rekenen te zijn zodat het genetische algoritme richting een goede oplossing convergeert. Zeker voor niet-triviale problemen is een snelle fitnessfunctie van belang aangezien het algoritme vele iteraties uitgevoerd kan moeten worden om een oplossing te vinden.