1. PATApi
La prévision au plus juste
des dates de pesées
En fonction du système et
des objectifs de l’éleveur
Webinaire 1/12/2022
(web conférence Teams)
2. Au programme
• Quelques règles pour plus de confort
• Genèse du projet (15min)
• Identification des besoins ? (20min)
• Questions et échanges (10min)
• Développement de l’algorithme (30min)
• Questions et échanges (10min)
• Déploiement et perspectives d’utilisation (15min)
• Questions et échanges (10min)
Webinaire PATAPi (1/12/2022)
4. Contexte
Evolution du CPV
• Baisse des éleveurs
adhérents
• Attentes différenciées des
éleveurs en f° des zones
• Spécialisation et
augmentation de la taille
des troupeaux
CALPAT
•AI FGE 2017
•Mise en œuvre en 2021-2022
•Paramètres de calcul des PAT
•Choix des OS
PATApi
1 - Répondre aux attentes des
utilisateurs en matière de
planification des pesées
2- Fournir, selon les
paramètres définis en amont,
les dates ou plages de dates les
plus pertinentes
3- Grâce à un algorithme
embarqué dans une API
indépendante des systèmes
existants
Webinaire PATAPi (1/12/2022)
5. • AAP « Actions Innovantes » 2021-2022
France Génétique Elevage finance ce projet
Arnaud DELPEUCH (Animation du projet )
Maxime LEGRIS (Action 2)
Christophe LECOMTE et Gabriel AUGIER
(Action 1)
Cyril LEYMARIE (OS AUBRAC), Pauline MICHOT (OS CHAROLAIS France) et
David DELGOULET (OS France Limousin Sélection)
(Participation au COPIL)
Webinaire PATAPi (1/12/2022)
6. C’est quoi une API ?
• Application
• Programming
• Interfaces
Webinaire PATAPi (1/12/2022)
7. Comment est conduit le projet ?
Action 0
•Coordination et pilotage du
projet
•Communication
•Rédaction de la synthèse
Action 1
•Recueil des besoins et des
attentes
•Travaux initiés pour décrire les
éléments d’entrée, de sortie et
les variables modifiables dans la
planification
•Définition des indicateurs
permettant d’objectiver la
robustesse et la fiabilité d’une
prévision
•Rédaction cahier des charges
Action 2
•Développement de l’algorithme
de prédiction
•Analyse exploratoire
•Test et optimisation des
prédictions
•Rédaction cahier des charges
Webinaire PATAPi (1/12/2022)
8. Une API pour qui ?
• Pour tous les adhérents de FGE
• Qui planifient et/ou réalisent des pesées pré-
sevrage (servant au calcul des Poids à Age Type)
• A travers les logiciels « métiers »
Webinaire PATAPi (1/12/2022)
10. Un outil prévisionnel
Le logiciel doit donc avoir la capacité d’effectuer une prévision en fonction
de la campagne de naissance des animaux de l’année précédente (N-1).
Un outil actualisé au fil de l’eau
Le logiciel doit travailler à la campagne, avec une vue d’1 an, dont les
naissances sont celles réelles, ou à défaut celles prévisionnelles.
Définition du besoin
Webinaire PATAPi (1/12/2022)
11. Définition du besoin
Un outil prenant en compte les pesées effectuées
Le logiciel doit prendre en compte, dans son modèle, les pesées effectuées pour
chaque animal sur la campagne en cours, pour adapter la planification à
l’activité déjà engagée.
Un outil qui est utilisable pour tous les éleveurs
Fonctionnement avec des données d’un élevage déjà connues
(données de naissance et pesées effectuées) soit avec une plage
théorique de dispersion des naissances pour un nouvel éleveur
Webinaire PATAPi (1/12/2022)
12. Partie 1 : Les informations animales
-Les dates de naissance des veaux (réelles ou historiques),
permettant de déterminer la plage de naissance (et typologie)
-La race des animaux (car impact des choix des OS sur la
recevabilité des PAT)
-Les pesées effectuées pour ces animaux
Critères à prendre en compte pour
l’ensemble des cheptels
Webinaire PATAPi (1/12/2022)
13. Critères à prendre en compte pour
l’ensemble des cheptels
Partie 2 : Les données d’élevage
-La fiabilité des données naissance pour permettre de savoir si la
pesée naissance est une première pesée potentielle ou pas
-Données utiles pour indexation (=respect choix OS) ou pour conseil
techniques (=utilisation de toute la plage de calcul des PAT)
Webinaire PATAPi (1/12/2022)
14. Critères à prendre en compte
en fonction des choix des organismes
Plusieurs options
Ne pas tenir compte des veaux
atypiques.
-Plages interdites
Prise en compte de l’âge
moyen de sortie des animaux
Pour affiner la prévision
Favoriser des dates de pesées
compatibles avec le VPS
-Favoriser des dates de pesées
compatible avec l’écornage
Ne pas tenir compte des animaux
qui aurait pu être pesée
Webinaire PATAPi (1/12/2022)
15. Paramétrage de l’algorithme
4 grandes natures de distributions de naissances
Les vêlages sont groupés :
90% des vêlages sont effectués sur une période de 3
mois
-Les vêlages sont resserrés
90% des vêlages sont effectués sur une période de 5
mois
La double période de vêlage
90% des vêlages sont effectuées sur 2 périodes de 3
mois dans l’année
1.Les vêlages sont étalés
2.Description : toutes les autres distributions
Webinaire PATAPi (1/12/2022)
16. Paramétrage de l’algorithme
Modalités de planification
Méthode 1 : Minimisation du nombre de pesée
Cette méthode consiste à obtenir 1 PAT (au choix PAT120, ou PAT210 ou
PAT120&210) pour X% des vaches avec le moins de pesées possibles
-Méthode 2 : Maximisation des PAT obtenus
Cette méthode consiste à obtenir le plus possible de PAT (au choix PAT120,
ou PAT210 ou les 2) avec un nombre fixe de pesées (1, 2 ou 3)
Webinaire PATAPi (1/12/2022)
17. Sortie de l’algorithme
L’API devra fournir
Une liste de combinaisons des
plages de pesées possibles
-Chaque plage de pesées est définie
par une date médiane utilisée
pour définir les date postérieures
-Les plages de pesées sont définies
à +ou-7 jours
des éléments de sortie
La plage de la première pesée doit couvrir
toute la plage possible qui offre le même
indice de tri*
Cette liste de combinaisons est triée selon
un indice
Cet indice doit être composé du nombre de
PAT obtenus, de la fiabilité du PAT et du
nombre de pesées engagées pour atteindre
le résultat
Webinaire PATAPi (1/12/2022)
18. Calcul de l’indice de tri
Règle principale
La quantité de PAT obtenue prévaut sur la fiabilité du PAT, dans la
limite des choix des OS
-En d’autres termes, mieux vaut 2 PAT120 indice 6, que 1 PAT d’indice
1
"dans la limite des choix des OS" signifie, que si l’OS a décidé que les
PAT120 de fiabilité 7, 8, 9 ne sont pas pris en compte dans
l’indexation, cela implique qu’ils ne comptent pas dans l’indice de tri
Webinaire PATAPi (1/12/2022)
19. Calcul de l’indice de tri (V2)
Modalité de calcul
A : % de PAT 120 total obtenu = somme des % de PAT 120 classe [0 à n[
-B : % de PAT 210 total obtenu = somme des % de PAT 210 classe [0 à n[
-C : % de PAT 120 « fiable +++ » obtenu = nb de PAT 120 classe [1 à 3[/nb de PAT120
D : % de PAT 120« fiable ++ » obtenu = nb de PAT 120 classe [3 à 5[ / nb de PAT120
E : % de PAT 120« fiable + » obtenu = nb de PAT 120 [5 à n[ [ / nb de PAT120
F : % de PAT 210 « fiable +++ » obtenu = Nb de PAT 210 classe [0 à 3[ / nb de PAT 210
G : % de PAT 210« fiable ++ » obtenu = Nb de PAT 210 classe [3 à 5[ / Nb de PAT210
H : % de PAT 210« fiable + » obtenu = Nb de PAT 210 classe [5 à n[ / nb de PAT 210
J : nombre de pesées de la prévision et
n = choix des OS (si option d’indexation) ou totalité (si option conseil technique)
𝑰𝑻 = 𝑨 ∗ 𝑩 ∗ 𝒄𝑪 + 𝒅𝑫 + 𝒆𝑬 ∗ 𝒇𝑭 + 𝒈𝑮 + 𝒉𝑯 ∗
𝒋
𝑱
Avec c= 1, d=0,9, e=0,8, f= 1, g=0,9, h=0,8
j = un chiffre entre 0,8 et 1
(plus le chiffre est petit, plus je souhaite que le gain de PAT soit important pour qu’une pesée en plus soit effectuée)
Webinaire PATAPi (1/12/2022)
21. Objectif
Aider à la planification des pesées
dans les élevages pour obtenir
des bonnes estimations des Poids
à Age Type à 120 ou 210 jours
(PAT120 ou PAT210)
Webinaire PATAPi (1/12/2022)
22. Estimation du PAT120 pour un animal
• 9 niveaux de fiabilité pour le PAT120 d’un animal
Ensemble de calculs et de seuils menant à une
classe de PAT120 pour un animal
Webinaire PATAPi (1/12/2022)
23. Estimation du PAT120 pour un animal
2 dates de pesées
déterminées et la
date de naissance
d’un animal
Classe du PAT120
de l’animal
Objectif : estimer le PAT120 d’un animal et sa
classe de fiabilité
Webinaire PATAPi (1/12/2022)
24. Estimation du PAT120 pour un élevage
Objectif : estimer correctement les PAT120 des
animaux d’un élevage (et/ou PAT210)
Ensemble de pesées
à planifier
Répartition des
naissances
Critères d’exigence sur la
fiabilité (C1-C9) et
contraintes terrain
Moteur de calcul
Webinaire PATAPi (1/12/2022)
25. Stratégie non réalisable sur le terrain
=
trop de dates de pesée !
Estimation du PAT120 pour un élevage
• 9 niveaux de fiabilité pour le PAT120 d’un animal
La stratégie la plus « naïve » pour obtenir le maximum
de PAT120 avec le plus de fiabilité est de peser chacun
des animaux à l’âge type 120 jours (classe C1)
Webinaire PATAPi (1/12/2022)
26. Obtenir pour un maximum d’animaux,
des PAT avec un niveau de fiabilité acceptable,
en un nombre minimal de pesées
Objectif de l’algorithme (moteur de calcul)
Nombre de
pesées
Fiabilité des
PAT estimés
Déterminé par
l’éleveur, le
technicien, l’OS
En sortie du
moteur de calcul
Webinaire PATAPi (1/12/2022)
27. Nécessité d’une phase de recherche
exhaustive
Balayer l’ensemble des combinaisons de dates
possibles -> identifier les meilleures solutions
envisageables à renvoyer à l’utilisateur
Proposition de la ou des meilleures solutions
parmi un ensemble de solutions
Répartition
de naissance
Dates de
pesée
à proposer
Algorithme
Webinaire PATAPi (1/12/2022)
28. Phase 1 : recherche exhaustive
• Objectif : trouver les dates optimales (inconnues au
départ) associées à une répartition des naissances dans
un élevage en fonction du niveau de fiabilité attendue
pour le PAT (C1-C9) et des contraintes terrain
Phase de
recherche
exhaustive
Webinaire PATAPi (1/12/2022)
Recherche de toutes les solutions
en 1, 2 ou 3 dates pour obtenir
une estimation suffisamment fiable du PAT
selon des profils de distributions
de naissance
29. • Stratégie n°1 : construire une base de données de
solutions génériques, dans laquelle récupérer
ensuite les solutions pour un élevage
• Stratégie n°2 : calculer les solutions de l’élevage
« à la volée » ->sans utiliser de stockage préalable
d’un ensemble de solution énorme
Phase 1 : 2 stratégies testées
Phase de
recherche
exhaustive
> 4 milliards de possibilités à explorer pour
1 proposition de 4 dates de pesées pour 1
seule date de naissance
Webinaire PATAPi (1/12/2022)
Ensemble de dates candidates pour la
pesée associée la date de naissance d’1
animal
30. Stratégies : avantages et inconvénients
• Stratégie n°1 : demande d’énormes
capacités de stockage et de calcul qu’il
faut traiter par élevage selon ses propres
spécificités (contraintes, exigences…)
• Stratégie n°2 : aucun stockage mais
répétitions des calculs élémentaires sur les
élevages
-> nécessite une optimisation de
l’algorithme pour diminuer le temps
d’exécution
Phase de
recherche
exhaustive
Webinaire PATAPi (1/12/2022)
31. Phase 2 : recherche optimisée
• Recherche optimisée permettant
d’arriver à une solution optimale en
1, 2, 3 dates… sans avoir à repasser
par une recherche exhaustive des
solutions
• Objectif : limiter le nombre de possibilités de
recherche en fonction de la distribution de naissance
et du niveau de fiabilité (C1-C9) et des contraintes
terrain pour rendre l’algorithme plus rapide
Phase de
recherche
optimisée
Webinaire PATAPi (1/12/2022)
32. Phase 2 : recherche optimisée
• Recherche optimisée permettant
d’arriver à une solution optimale en
1, 2, 3 dates… sans avoir à repasser
par une recherche exhaustive des
solutions
• Choix de laisser à l’utilisateur le choix sur les
paramétrages du moteur de calcul (fiabilité attendue,
plages de dates interdites, plages de dates privilégies…)
->ce qui rend finalement difficile à ce stade une
recherche optimisée efficace
Phase de
recherche
optimisée
Webinaire PATAPi (1/12/2022)
34. Vers une limitation du nombre de
combinaisons de recherche
• A-t-on réellement besoin de chercher tous les couples
de dates pour arriver « proche » d’une bonne solution ?
• Recherche « exhaustive » par semaine ?
• Couples : 4 950 possibilités
• Triplets : 161 700 possibilités
• Quadruplets : 3 921 225
possibilités
Du 01/08/2019
au 25/06/2020
(329 jours)
Webinaire PATAPi (1/12/2022)
35. Vers une limitation du nombre de
combinaisons de recherche
• A-t-on réellement besoin de chercher tous les couples
de dates pour arriver « proche » d’une bonne solution ?
Vert = exacte
Bleu = approchée
à 7 jours
Webinaire PATAPi (1/12/2022)
36. Vers une limitation du nombre de
combinaisons de recherche
• A-t-on réellement besoin de chercher tous les couples
de dates pour arriver « proche » d’une bonne solution ?
• Recherche « exhaustive » par 15aine ?
• Couples : 1 081 possibilités
• Triplets : 16 215 possibilités
• Quadruplets : 178 365
possibilités
Webinaire PATAPi (1/12/2022)
37. Vers une limitation du nombre de
combinaisons de recherche
• A-t-on réellement besoin de chercher tous les couples
de dates pour arriver « proche » d’une bonne solution ?
• Recherche « exhaustive » par mois ?
• Couples : 276 possibilités
• Triplets : 2 024 possibilités
• Quadruplets : 10 626
possibilités
Webinaire PATAPi (1/12/2022)
38. Vers une limitation du nombre de
combinaisons de recherche
• L’utilisation actuelle du moteur de calcul en 2
temps permet d’accélérer la recherche en
• Commençant par une recherche dite « grossière » (i.e.
avec un pas de recherche entre 30 et 60 jours)
• Recentrant les recherches autour des dates
maximales
• Relançant le moteur de calcul autour
de ces dates maximales avec une recherche
plus fine (i.e. avec un pas de recherche entre 8 et 15
jours)
Webinaire PATAPi (1/12/2022)
39. Vers une limitation du nombre de
combinaisons de recherche
Recherche d’un ensemble de 3 dates de pesées pour optimiser le
nombre de PAT120 et PAT210 (avec un pas de recherche à 30 jours)
Webinaire PATAPi (1/12/2022)
40. Vers une limitation du nombre de
combinaisons de recherche
On centre 3 mois autour des solutions maximales et on réduit le pas
de temps de recherche à 15 jours
Webinaire PATAPi (1/12/2022)
41. Les évolutions du moteur de calcul vues
grâce à une application Web
Une application Web Shiny a été développée pour
• Une aide au développement du moteur de calcul
(visualisation des résultats, vérification du moteur de
calcul, enrichissement et simplification du moteur de
calcul…)
• Une aide à la définition des besoins utilisateurs
finaux (graphiques, tableaux... à visualisation dans les
éventuels outils qui seront développé par la suite pour
que le moteur de calcul produise la sortie nécessaire)
Elle n’est pas un livrable du projet en tant que telle mais a
largement contribué à la construction et à l’évolution du moteur
de calcul
Webinaire PATAPi (1/12/2022)
42. Les évolutions du moteur de calcul vues
grâce à l’application
Webinaire PATAPi (1/12/2022)
43. L’algorithme répond-il aux besoins ?
Besoins Description du besoin
L’algorithme répond-
t-il au besoin ?
Un outil
prévisionnel
L'algorithme doit tout d’abord permettre de répondre à
l’objectif d’avoir une simulation prévisionnelle des
dates de passages en début de campagne.
Oui en soumettant les dates
prévisionnelles de naissance
(éventuellement de l’année n-1)
Un outil actualisé
au fil de l’eau
L'algorithme doit ensuite permettre en cours de
campagne d’ajuster les planifications en fonction des
naissances réelles de l’élevage
Oui en soumettant les dates réelles
de naissance (éventuellement de
l’année n-1)
Un outil prenant
en compte les
pesées effectuées
L'algorithme va simuler des dates de pesées à effectuer
sur la campagne en fonction des naissances. En
avançant dans la campagne, des pesées auront été
réalisées, et il est indispensable que l’outil prenne en
compte les pesées effectuées.
Oui en soumettant les données
animales qui contiennent les dates
de pesées
Un outil utilisable
pour tous les
éleveurs
L'algorithme doit pouvoir s’utiliser aussi bien pour des
éleveurs déjà engagés dans une activité de contrôle de
performances (VA4 ou VA0) ou pour des nouveaux
éleveurs
/
Webinaire PATAPi (1/12/2022)
45. Exemple d’intégration : Coclicow
Implémenter la planification
dans un Tableau de Bord
permettant de suivre la
réalisation des pesées
Webinaire PATAPi (1/12/2022)
46. Exemple d’intégration : Coclicow
• Tableau de bord présentant tous les élevages
• Une planification annuelle serait réalisée en début
de campagne, de manière automatique, fondée sur
l’Indice de Tri
• Les résultats seraient stockés
• L’Indice de Tri est essentiel pour la planification,
quelques critères seront à disposition de l’OBC pour
affiner la prévision :
• primauté à la quantité,
• primauté à la qualité,
• primauté d’un PAT
• Gain marginal de nb de PAT pour une pesée de +
Webinaire PATAPi (1/12/2022)
47. Exemple d’intégration : Coclicow
• Tableau de bord présentant tous les élevages
• Cette planification annuelle automatique pourra
être modifiée de manière manuelle pour la rendre
plus adaptée à la conduite de l’élevage
• Cette nouvelle prévision remplacera la prévision
automatique effectuée
• Dans cette gestion manuelle, on pourra scinder
l’élevage en lot (important pour les élevages avec
deux périodes de naissances ou pour gérer les
males et femelles différemment)
Webinaire PATAPi (1/12/2022)
48. Exemple d’intégration : Coclicow
• Tableau de Bord = visibilité des pesées
effectuées et des % de collecte obtenus
• Information si la LP a été éditée
• Alerte sur le dépassement de la date de pesée
proposée
• Lorsque la pesée sera réalisée, elle sera
automatiquement récupérée
Webinaire PATAPi (1/12/2022)
49. Exemple d’intégration : Coclicow
• Tableau de Bord = visibilité des pesées
effectuées et des % de collecte obtenus
• Le moteur PATApi sera relancé après l’arrivée de
nouvelle pesée pour fixer (affiner) les prochaines
pesées à effectuées
• Une option sera présente dans les paramètres de
l’élevage pour tenir compte ou pas des veaux non
pesées lors d’une pesée
Webinaire PATAPi (1/12/2022)
50. Exemple d’intégration : Coclicow
• Tableau de Bord = visibilité des pesées effectuées
et des % de collecte obtenus
• Comme pour la planification initiale, ces nouvelles
dates automatiques seront historisées
(et peuvent être de nouveau modifiées manuellement)
• Un calcul des taux de collecte sera réalisé lors de
l’apport de la pesée permettant de suivre l’état
d’avancement des chantiers
Webinaire PATAPi (1/12/2022)
51. Exemple d’intégration : Coclicow
• Modalité de gestion manuelle de la planification
• La gestion manuelle de la planification sera
programmée de manière analogue à l’appli RShiny
• Le suivi de la planification serait effectuée sur Coclicow
web
Webinaire PATAPi (1/12/2022)
52. N°UL Race VAE/VA4 graph distribution de naissance nb de pesées auto/manuel date P1 date P2 date P3 date P4 géné
3 ⓪
① 15
45678098
45678098 - 220
221
planification début de campagne
Les élevages
Un élevages en lot
Graphique type R
Nb de pesées prévues : fixé en
paramètre ou laissé libre pour que
l’automatisme trouve la meilleure
possibilité
Dates prévues
Indicateur si la prévision est issue
d’1 calcul auto ou d’une gestion
manuelle
Exemple d’intégration : Coclicow
Webinaire PATAPi (1/12/2022)
53. date P2 date P3 date P4 générer LP date P1 % PAT120 %PAT210 auto/manuel P2 recalculée P3 recalculée P4 recalculée générer LP d
⓪ alerte si pas de P1 ⓪ alerte
① 15/01/22 remplir auto ①
Réalisation P1
Ascenseur horizontal
Vers
planification
annuelle
Vers la P2
Bouton de génération de la
LP avec indicateur
Date de la P1 réalisée et si
absence, alerte éventuelle
Taux de collecte obtenu
grâce à la pesée
Nouvelle planification
modifiée suite à la date P1
Exemple d’intégration : Coclicow
Webinaire PATAPi (1/12/2022)
54. Prochaines étapes du projet
• API
• Précisions sur les modalités d’appel, d’hébergement
et le modele éco. cible
• Rédaction du cahier des charges
• Encapsulage du moteur R dans une API
• Evaluation des performances de l’API pour le service
attendu
• Mise à disposition des utilisateurs (de l’API)
• Coclicow
• Ecriture d’un cahier des charges avec ARSOE de
Soual (Pascal VIALA)
• Validation
• Développement
Webinaire PATAPi (1/12/2022)
56. PATApi…
Réponds aux
attentes et
aux besoins
des éleveurs
S’adapte aux
contraintes
différentes du
terrain
Facilitera le
travail des
techniciens
Est une
application
souple et
paramétrable
Améliorera la
qualité du
service rendu
à l’éleveur
Evoluera dans
le futur en
fonction des
besoins
Webinaire PATAPi (1/12/2022)
Notas del editor
Application. Par application s’entend tout service avec lequel un développeur ou une autre application souhaite interagir. Cela peut être un service météorologique, une application de partage d’images, un portail Open Data.
Interface. L’interface est la porte d’entrée par laquelle il sera possible d’interagir avec l’application.
Programme. Le programme est une fonction informatique à laquelle un développeur donne des instructions et qui va interagir avec l’application à notre place. Le programme peut par exemple récupérer des données à intervalles régulières ou soumettre une adresse postale (pour récupérer une coordonnée géographique)…