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 [email protected] 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 = ax1 + bx2+ cx3 … optimiser y, c'est trouver les valeurs des variables xi 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 : x1 > A x2 < B ... ou αx1 + βx2 + γx3 ... < 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 xi sont des quantités d'aliments Optimiser y = ax1 + bx2+ cx3 … , c'est : => trouver LA combinaison d'aliments xi 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 : x1 > A x2 < B x1 + x2 < C qui vont assurer le réalisme et le respect des habitudes alimentaires αx1 + bx2 + cx3 ... > D αx1 + βx2 + γx3 ... < D qui vont assurer la qualité nutritionnelle => des contraintes sur les nutriments : + 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…) ¾ 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 ? 4. OPTIMISATION sélection des aliments à introduire dans le panier optimisé, et de leurs poids : 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) Q < 33 g de mélange ALA > 1,6 g Vit E > 9 mg LA < 4 ALA Illustration graphique (possible car 2 variables seulement) 33 25 gd em é la g Xt = g huile tournesol Q= 30 ALA = 1,6 35 ng e 20 Domaine des solutions possibles 15 10 VitE = 5 0 LA = 4 AL 0 5 A 9 mg La moins chère 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 200 Dinde/Poulet 150 Jambon Foie ou pâté de foie 50 Œufs 300 Abats Œufs Poissons-fruits mer Poisson gras cons. Poids (g/sem) Légumes 500 Carottes Légumes appertisés 740 Légumes surgelés 500 Fruits Agrumes Fruits de saison Jus de fruits 100% Fruits à coques Fruits secs 60 200 Poisson surgelé Moules/fruits mer surg. 60 Produits laitiers Féculents Lait Yaourt Fromage 700 875 100 Légumes secs (pds cru) Pain complet Pommes de terre Biscottes Pâtes/riz (pds cru) 185 420 700 200 400 700 100 700 70 70 Matières Grasses Huile colza Huile tournesol Huile olive Beurre 100 20 40 40 Produits sucrés Chocolat Biscuits Confiture sucre 100 200 185 Végétaux de b rapport Q/Pon Aliments ” “atypiques Eau du t robine Lait & yaourts Matières grasse s 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) Matières Grasses ajoutées dont au moins 66% de MG végétales Viandes/Poisson/Oeuf Produits Sucrés/salés Fruits & Légumes dont au moins 50% de fruits < 2,5% dont au moins 25% de poisson < 2 > 12% , 5% > 33% Lait et Produits laitiers < 25% < 25% dont pas plus de 10% de fromage 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 Observé Optimisé Féculents non raffinés 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) ¾ Grande variabilité des comportements alimentaires => multiples façons d’atteindre l’équilibre nutritionnel g/j. 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 Observé Optimisé Féculents non raffinés Céréales raff Viandes rouges Volaille Poisson (médianes et quartiles) g/j. Multiples façons d’atteindre l’équilibre nutritionnel mais quelques conseils simples sont valables pour tout le monde 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): 9 les aliments ont des qualités et des défauts nutritionnels 9 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 SAIN Fort SAIN, Faible LIM : Fort SAIN, Fort LIM : Recommandé pour la santé Recommandé de temps en temps ou en petite quantité Faible SAIN, Faible LIM : Faible SAIN, Fort LIM : Neutres, doivent être complétés par des aliments de fort SAIN A limiter 10 5 1 0,1 1, 0 LIM LIM 7 10 , 0 10 0 , 0 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 ¾ 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) ¾ 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) …