Modélisation de rations par programmation linéaire : principe et exemples d application en Nutrition Humaine Nicole Darmon Unité Mixte de Recherches en Nutrition Humaine Inserm/Inra Faculté de Médecine de la Timone, Marseille nicole.darmon@univmed.fr
La programmation linéaire (PL) Résoudre plusieurs inéquations à plusieurs inconnues. Plus spécifiquement : optimiser une fonction linéaire tout en respectant un ensemble de contraintes linéaires. La fonction optimisée est appelée fonction objectif : y = ax 1 + bx 2 + cx 3 optimiser y, c'est trouver les valeurs des variables x i qui permettent d'atteindre la valeur de y la plus faible (minimisation) ou la plus élevée (maximisation)... tout en respectant des contraintes sur ces variables, du type : x 1 > A x 2 < B... ou αx 1 + βx 2 + γx 3... < C
La programmation linéaire en nutrition Partant d une liste d aliments (ou ingrédients) (de composition nutritionnelle connue et autres caractéristiques importantes) Sélectionner une combinaison d aliments sous : - contraintes nutritionnelles (basées sur des recommandations officielles) - contraintes d acceptabilité (basées sur des apports alimentaires observés) => Ration journalière, menu, recette, mélange d aliments
En nutrition : les variables x i sont des quantités d'aliments Optimiser y = ax 1 + bx 2 + cx 3, c'est : => trouver LA combinaison d'aliments x i qui permet d'atteindre la valeur optimale de y, par ex. prix mini ou kcal mini... => tout en respectant l'ensemble des contraintes imposées Le panier, ou la ration, optimisée doit respecter => des contraintes sur les aliments : x 1 > A x 2 < B x 1 + x 2 < C qui vont assurer le réalisme et le respect des habitudes alimentaires =>des contraintessur les nutriments : αx 1 + bx 2 + cx 3... > D αx 1 + βx 2 + γx 3... < D qui vont assurer la qualité nutritionnelle + autres contraintes sur le prix, l'énergie, le poids, etc
Consiste à résoudre un système d inéquations multiples à plusieurs inconnues dont le nombre augmente rapidement avec le nombre d aliments disponibles et avec le nombre de contraintes prises en compte En pratique, solution impossible à trouver sans l aide d un ordinateur Actuellement, très facile à utiliser car une fonction de programmation linéaire (fonction solveur) est disponible sur des logiciels usuels tels que Excel
Concrètement 1. DONNEES = variables Liste d'aliments Composition nutritionnelle, prix Données sur la consommation de ces aliments 2. EXIGENCES = contraintes Sur les nutriments : - Recommandations de type ANC, BNM Sur les aliments : - Recommandations basées sur les aliments - Habitudes alimentaires individuelles ou collectives (quantités max, taille des portions, équilibre entre groupes d'aliments ) 4. OPTIMISATION sélection des aliments à introduire dans le panier optimisé, et de leurs poids : Autres : - Prix, poids, énergie 3. QUESTION POSEE = fonction objectif Prix min? Poids min? Energie min? Ecart min avec un panier existant ou avec "habitudes" identifiées?
Concrètement 1. DONNEES = variables Liste d'aliments Composition nutritionnelle, prix Données sur la consommation de ces aliments Parfois 4. L optimisation est impossible 2. EXIGENCES = contraintes Sur les nutriments : - Recommandations de type ANC, BNM Sur les aliments : - Recommandations basées sur les aliments - Habitudes alimentaires individuelles ou collectives (quantités max, taille des portions, équilibre entre groupes d'aliments ) Autres : - Prix, poids, énergie 3. QUESTION POSEE = fonction objectif Prix min? Poids min? Energie min? Ecart min avec un panier existant ou avec "habitudes" identifiées? Pas de solution à cause de: Incompatibilité mathématique entre contraintes OU Les aliments disponibles ne permettent pas le respect de certaines contraintes
Exemples d'applications de la PL en Nutrition Humaine
Exemple 1. Formulation d aliments Identification de mélanges d'huiles végétales nutritionnellement adéquats Exemple 2. Validation, test, élaboration de recommandations nutritionnelles Faisabilité et coût des ANC et implication en termes de choix alimentaires Exemple 3. Outil de recherche en nutrition Validation du concept de profil nutritionnel par PL: application au système SAIN,LIM
Exemple 1. Identification de mélanges d'huiles végétales nutritionnellement adéquats (Darmon et al, J Hum Nutr Diet, 2006) Données - Liste des huiles végétales vendues dans le commerce - Composition nutritionnelle -Prix => Contraintes de "palatabilité" Quantité totale de mélange par jour < 33 g => Contraintes nutritionnelles Standard nutritionnel attendu pour un mélange d'huiles : - apport journalier désiré en ac. α-linolénique : ALA > 1,6 g - apport journalier désiré en vitamine E > 9 mg - ratio ac.linoléique/ac. α-linolénique : LA/ALA < 4 => Optimisation (question, fonction objectif) - Par exemple : Quel est le mélange d'huiles qui respecte toutes les contraintes au plus bas prix? Quel est le mélange...le plus riche en huile d'olive? Quel est le mélange...le plus riche en vitamine E? => Résultats Différents mélanges d'huiles selon la fonction objectif et les contraintes retenues
Modèle simplifié avec 2 variables (i.e. 2 huiles) seulement Question Est-il possible de faire un mélange colza/tournesol qui respecte toutes les contraintes, et si oui, quel est le mélange le moins cher? Système de 5 équations à 2 inconnues : Xcolza et Xtournesol variable Xc = quantité d'huile de colza dans le mélange optimisé variable Xt = quantité d'huile de tournesol dans le mélange optimisé Contraintes 1. Xc + Xt < 33 g 2. [ALA c] Xc + [ALA t] Xt > 1,6 g (avec [ALA c] = g d'ala dans 1g d'huile de colza) 3. [VitE c] Xc + [VitE t] Xt > 9 mg (avec [VitE c] = mg de Vit E dans 1g d'huile de colza) 4. ([LA c] Xc + [LA t] Xt) / ([ALA c] Xc + [ALA t] Xt) < 4 qu'on doit linéariser en : ([LA c] Xc + [LA t] Xt) < 4 * ([ALA c] Xc + [ALA t] Xt) Optimisation 5. Minimiser Y = [Prix c] Xc + [Prix t] Xt (avec [Prix c] = prix d'1g d'huile de colza)
Illustration graphique (possible car 2 variables seulement) 35 Q < 33 g de mélange ALA > 1,6 g Vit E > 9 mg LA < 4 ALA ALA = 1,6 g 30 Xt = g huile tournesol 25 20 15 10 Q = 33 g de mélange Domaine des solutions possibles 5 0 LA = 4 ALA VitE = 9 mg La moins chère 0 5 10 15 20 25 30 35 Xc = g huile colza Oui, c'est possible, et le mélange le moins cher = 80% colza + 20% tournesol Parfois pas de solution, par ex aucun mélange colza/olive ne peut respecter ces contraintes Pour plus de 2 variables, il faut un logiciel : solver excel, frontline system, proc OR SAS...
Exemple 2. Faisabilité et coût des ANC et implication en termes de choix alimentaires Données : table de composition des aliments, prix moyen des aliments, consommation de ces aliments dans la population française Contraintes nutritionnelles = respect de tous les ANC (et/ou BNM) - apport énergétique = apports observés - équilibre PLG - teneurs maximales en AGS, sel et sucres simples - teneurs minimales en fibres, ac. gras essentiels, rapport maximal w6/w3 - chaque micronutriment > 1 ANC - chaque micronutriment < limite de sécurité Contraintes de palatabilité = respect des habitudes alimentaires (ind. ou pop.) Pour aboutir à des rations réalistes et socialement acceptables : - limiter la taille des portions - exclure certains aliments (peu ou pas consommés par un individu ou un groupe) - garantir une contribution réaliste de chaque groupe d'aliments... Optimisation (question, fonction objectif) - prix min? calories min? - écart min à une ration existante (ration moyenne en population ou ration individuelle)?
Faisabilité, coût et implication des ANC (Darmon, Briend 2001) Faisabilité des ANC Les ANC sont compatibles entre eux C'est possible de construire une ration qui respecte l'ensemble de ces recommandations (ce n'était pas le cas avec les ANC de 1992) Coût des ANC Le coût minimal pour respecter les ANC (adulte) est de 3,5 /j. Le coût varie selon le niveau d exigence nutritionnelle et selon le niveau de respect des habitudes «moyennes» Implications des ANC en termes de choix alimentaires Les ANC sont en accord avec les conseils diététiques habituels Par rapport aux consommations des français, les rations qui respectent tous les ANC contiennent plus de produits végétaux (non raffinés) et moins de produits animaux (sauf poisson).
Respect des ANC avec un petit budget La ration de l'ordinateur, 1800 Kcal ANC femme 3,5 /j Poids (g/sem) Viandes Dinde/Poulet 200 Jambon 150 Abats Foie ou pâté de foie 50 Œufs Œufs 300 Poissons-fruits mer Poisson gras cons. 60 Poisson surgelé Moules/fruits mer surg. 60 Produits laitiers Lait 700 Yaourt 875 Fromage 100 Féculents Légumes secs (pds cru) 185 Pain complet 420 Pommes de terre 700 Biscottes 200 Pâtes/riz (pds cru) 400 Légumes Carottes 500 Légumes appertisés 740 Légumes surgelés 500 Fruits Agrumes Fruits de saison Jus de fruits 100% Fruits à coques Fruits secs Matières Grasses Huile colza Huile tournesol Huile olive Beurre Produits sucrés Chocolat Biscuits Confiture sucre Poids (g/sem) 700 100 700 70 70 100 20 40 40 100 200 185 Aliments atypiques Eau du binet Végétaux de bon rapport Q/P Lait & yaourts Matières grasses végétales Dia N. Darmon, INSERM
Respect des ANC dans un colis d aide alimentaire Optimisation à partir de dons existants (Rambeloson, Darmon PHN 2008) Viandes/Poisson/Oeuf dont au moins 25% de poisson Produits Sucrés/salés < 2,5% < 2,5% > 12% Matières Grasses ajoutées dont au moins 66% de MG végétales < 25% Lait et Produits laitiers dont pas plus de 10% de fromage Fruits & Légumes dont au moins 50% de fruits > 33% < 25% Féculents dont au moins 66% de féculents non raffinés Elaboration de recommandations pour l aide alimentaire
Respect des ANC (ANC/BNM) à l échelon individuel (Maillot, 2009a et b, in press) Rations individuelles observées Fruits Légumes Féculents non raffinés Observé Optimisé Modification de chaque ration pour respecter tous les ANC Céréales raffinées Viandes rouges Volaille Alimentation optimisée et personnalisée Poisson (médianes et quartiles) g/j. Grande variabilité des comportements alimentaires => multiples façons d atteindre l équilibre nutritionnel
Respect des ANC (ANC/BNM) à l échelon individuel Oeufs Plats préparés Observé Optimisé Produits laitiers Fromage Snacks salés/sucrés Mat. Gr. Végétales Mat. Gr. animales (médianes et quartiles) g/j. Grande variabilité des comportements alimentaires => multiples façons d atteindre l équilibre nutritionnel
Vers des recommandations personnalisées? Fruits Légumes Féculents non raffinés Observé Optimisé Céréales raff Viandes rouges Volaille Poisson (médianes et quartiles) Multiples façons d atteindre l équilibre nutritionnel mais quelques conseils simples sont valables pour tout le monde g/j.
Exemple 3. Validation du concept de profil nutritionnel par PL: application au système SAIN,LIM (Darmon, et al, AJCN 2009) QUESTION : est-il possible de respecter (ou ne pas respecter) les recommandations nutritionnelles avec uniquement des aliments de bon profil (ou de mauvais profil) nutritionnel? Données : table de composition des aliments, profil nutritionnel de ces aliments Contraintes nutritionnelles : respect (ou non respect) de tous les ANC Contraintes de palatabilité : respect des habitudes (niveau d exigence intermédiaire pour laisser plus de souplesse au modèle) Fonction objectif : calories min et max (pour connaître la fourchette d énergie possible)
Profils nutritionnels : estimation de la qualité nutritionnelle globale de chaque aliment Le système SAIN,LIM (rapport AFSSA, 2008): les aliments ont des qualités et des défauts nutritionnels c est l équilibre entre qualités et défauts qui détermine leur qualité nutritionnelle globale SAIN : Score d Adéquation aux recommandations Nutritionnelles aspects favorables de l'aliment (nutriments qualifiants), pour 100 kcal => % moyen d adéquation avec les apports nutritionnels conseillés LIM : Score des composés à Limiter sur le plan nutritionnel aspects défavorables de l aliment (Na, AGS, GSajoutés), pour 100 g => % d excès moyen par rapport aux valeurs maximales recommandées
Calcul du SAIN et du LIM de chaque aliment et répartition en 4 classes 10 0 Fort SAIN, Faible LIM : Recommandé pour la santé Fort SAIN, Fort LIM : Recommandé de temps en temps ou en petite quantité SAIN 10 5 Faible SAIN, Faible LIM : Neutres, doivent être complétés par des aliments de fort SAIN Faible SAIN, Fort LIM : A limiter 1 LIM 0,1 1,0 10,0 100,0 7
Compatibilité avec l équilibre nutritionnel global? SAIN En sélectionnant (par PL) uniquement des aliments de la classe 1 : 1. C est possible de respecter toutes les recommandations nutritionnelles 2. C est impossible d avoir une alimentation totalement déséquilibrée LIM
Compatibilité avec l équilibre nutritionnel global? SAIN En sélectionnant (par PL) uniquement des aliments de la classe 4 : 1. C est impossible de respecter toutes les recommandations nutritionnelles 2. C est possible d avoir une alimentation totalement déséquilibrée LIM
Système SAIN;LIM : pour identifier facilement les aliments qui favorisent (ou entravent) l équilibre nutritionnel global SAIN LIM Pour augmenter les chances d atteindre l équilibre nutritionnel global, il faut consommer des aliments qui ont plus de qualités que de défauts nutritionnels : favoriser classe 1, limiter classe 4
Conclusion La programmation linéaire est un outil puissant pour résoudre de façon rigoureuse de nombreuses questions de nutrition humaine : - analyse de situations alimentaires particulières et proposition de solutions adaptées aux contraintes - développement de nouveaux aliments - recherche sur les déterminants des choix alimentaires - développement d'approches diététiques nouvelles, quantitatives et personnalisées -...
Cahiers de Nutrition & de Diététique, 2008; 43(6), 303-12. => cet article donne un exemple pratique de la procédure à suivre dans Excel, avec impression écran de chaque étape
AUTRES EXEMPLES D APPLICATION DE LA PL Développer de façon rigoureuse des recommandations basées sur les aliments (Alimentation infantile pays pauvres: Ferguson, Darmon et al, J Nutr 2004 et 2006; Propositions pour la restauration collective en France : GEMRCN 2006) Optimiser l'alimentation de complément à l'allaitement maternel (Briend, Darmon, Ferguson J.Pediatr.Gastroenterol Nutr, 2003 ) Modéliser l'impact des contraintes économiques sur les choix alimentaires et la qualité nutritionnelle (Darmon, Briend, Ferguson, J Nutr, 2002 et Appetite 2003) Déterminer s il est possible de couvrir les besoins nutritionnels d'une population donnée avec les aliments disponibles localement (Darmon, Briend, Ferguson, AJCN, 2002) Tester l intérêt, nutritionnel et économique, dans un contexte alimentaire donné, de nouveaux aliments, d aliments enrichis ou de suppléments nutritionnels (Briend, Darmon, Ferguson, 2001 Food Nutr Bull) Valider des recommandations basées sur les (groupes d )aliments en vérifiant leur compatibilité avec les recommandations basées sur les nutriments (MyPyramid vs RDA, K. Tucker et al, J Nutr, 2006)