<figure><img src="image_1.png" /></figure>

ROGER MARTIN-CLOUAIRE, JEAN-PIERRE RELLIER

Simulation du passage des intentions aux actions en agriculture

Volume 2, n° 1 (2021), p. 95-122.

<http://roia.centre-mersenne.org/item?id=ROIA_2021__2_1_95_0>

© Association pour la diffusion de la recherche francophone en intelligence artificielle et les auteurs, 2021, certains droits réservés.

<figure><img src="image_2.png" /></figure>

Cet article est diffusé sous la licence

CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE.

http://creativecommons.org/licenses/by/4.0/
# Simulation du passage des intentions aux actions en agriculture

Roger Martin-Clouaire<sup>a</sup>, Jean-Pierre Rellier<sup>a</sup>

RéSUMÉ. — Dans la conduite des processus de production agricole, toute activité entreprise par l'agriculteur répond à des buts immédiats ou à plus ou moins long terme. Les motivations de l'agriculteur peuvent se décliner en un ensemble d'intentions qui exprime, sous la forme d'un plan flexible, un engagement sur la façon pratique d'aller dans la direction souhaitée. La nature flexible du plan permet d'intégrer un large éventail de possibilités et de comportements pertinents selon les éventualités susceptibles de survenir. Du fait de cette flexibilité le problème de détermination des actions à exécuter et des modalités de l'exécution se pose continuellement et doit se traiter en fonction de la situation biophysique courante. En particulier, une décision importante concerne le moment du passage à l'acte et, avant cela, le moment à partir duquel il convient de surveiller la pertinence de passage à l'acte. Lorsque plusieurs possibilités d'actions sont ouvertes il faut déterminer lesquelles peuvent matériellement être exécutées compte tenu des ressources à mobiliser et lesquelles sont préférables selon les critères mis en avant par l'agriculteur.

L'article décrit la représentation des plans flexibles et des processus invoqués lors de l'exécution, le mécanisme qui permet de simuler le changement d'état des intentions avec l'avancée du temps, et le mécanisme par lequel sont déterminées les actions à exécuter. Ces aspects ont été incorporées dans une plateforme de simulation à événements discrets qui a été utilisée pour développer des modèles de différents systèmes de production agricole allant de l'élevage à la viticulture. Ces modèles permettent d'étudier l'importance des capacités organisationnelles et décisionnelles des agriculteurs dans l'explication des différences de performances économiques et environnementales au sein de la profession.

MOTS-CLÉS. — Décision, Intention, Action, Simulation à événements discrets.

# 1. INTRODUCTION

Toute production végétale ou animale nécessite continuellement de nombreuses décisions de la part du chef d'expôilation. Par exemple, pour une production végétale, outre les décisions stratégiques (e.g. extension des surfaces exploitées, investissement dans des gros équipements), les principales décisions portent sur le choix des cultures à implanter, des traitements à faire et intrants à utiliser, le moment du labourage, des semis, de l'irrigation, la quantité de cultures à vendre et la quantité de cultures à stocker en vue d'une vente ultérieure. Ces décisions directement liées aux actions, aussi appelées « décisions opérationnelles » ou décisions pratiques, influencent fortement

<footnote><sup>a</sup> Université de Toulouse, INRAE, UR MIAT, 31320 Castanet-Tolosan, France</footnote>

<footnote>E-mail: roger.martin-clouaire@inrae.fr, rogermc@club-internet.fr, jprellier@sfr.fr.</footnote>
la quantité et la qualité de la production, ainsi que les performances économiques et
environnementales. La prise de décisions opérationnelles a toujours fait partie inté-
grante et engageante du métier d'agriculteur. Son importance a augmenté en raison des
changements technologiques dans le secteur agricole, de la concurrence commerciale
et des exigences sociologiques et environnementales plus strictes que les agriculteurs
doivent intégrer en tant que gestionnaires. L'agriculture est vraiment unique en ce sens
que les agriculteurs et les ménages prennent ces décisions eux-mêmes ou en consul-
tation avec un nombre relativement restreint de personnes. Les principaux facteurs de
décision sont les motivations, les faits perçus ou crus, et les préférences de l'agricul-
teur. Par conséquent, les décisions des agriculteurs sont hétérogènes d'une exploitation
agricole à l'autre et même d'un champ à un autre; les cultures sont diverses ou les
agriculteurs ne gèrent pas leur bétail de la même manière, et les décisions dépendent
de situations qui changent continuellement et ne sont jamais exactement les mêmes
deux fois.

En raison des biais disciplinaires, la plupart des études sur les caractéristiques
des décisions ont tendance à adopter des perspectives particulières (par exemple,
biophysiques, économiques, psychologiques, culturelles, sociales) au détriment des
autres [2]. De nombreux chercheurs et décideurs politiques ont tendance à considé-
rer la production agricole à travers une optique économique simpliste qui suppose
que tous les agriculteurs ont des objectifs personnels et commerciaux similaires et
se concentrent sur la gestion de leurs exploitations essentiellement comme des en-
treprises visant la maximisation du profit à court terme [12]. De plus, ces études
se concentrent souvent sur les performances d'agrégats statistiques plutôt que sur
les performances individuelles. Pour les agronomes, sont principalement étudiées les
performances biophysiques en réponse aux conditions climatiques et à des règles de
décision qui mettent en œuvre une logique de gestion sans contrainte [26], donc peu
réaliste. La modélisation et l'analyse de la gestion des ressources dans les processus
de production sont soit limitées à une seule ressource (par exemple, l'eau d'irrigation),
soit ne sont pas du tout prises en compte malgré leur grande importance pratique.
D'autres études analysent les différents facteurs qui influencent les décisions des agri-
culteurs [25, 7, 8]. Il s'agit notamment du niveau de formation des agriculteurs, de
leur expérience professionnelle, de leur attitude vis-à-vis de l'environnement, de leurs
désirs et préférences personnels et des caractéristiques de l'exploitation (par exemple,
la taille, les caractéristiques des terres, l'équipement). Les facteurs socio-économiques
sont également importants, et comprennent les relations professionnelles (par exemple,
les réseaux d'information, les services de conseil, les réseaux basés sur le marché),
les caractéristiques du ménage (par exemple, le degré de pluriactivité, l'implication
d'autres membres de la famille) et la situation financière. Ces études fournissent des
indications utiles sur le rôle de ces facteurs dans l'adaptation de leurs systèmes de
production (par exemple, les stratégies pour faire face au changement climatique),
mais ne tiennent pas compte des processus dynamiques par lesquels les actions sont
décidées dans des situations spécifiques. Schlüter et ses collaborateurs [31] ont proposé
un cadre général ouvert sur plusieurs théories décisionnelles dans le but d'étudier les
comportements humains dans la gestion de systèmes socio-écologiques. Ce cadre fait
abstraction de la dimension temporelle des problèmes décisionnels et n’est donc pas
approprié pour aborder ceux rencontrés dans la gestion des processus de production
agricole.

L'un des principaux écueils de beaucoup de modèle de systèmes agricoles était
la quasi exclusive concentration sur l'appareil producteur (le système biophysique)
et le manque d'attention portée aux dimensions cognitives (relativement aux savoirs
pratiques) et décisionnelles qui sont centrales dans la gestion d'un système de produc-
tion. Une meilleure compréhension des mécanismes de prise de décision permettrait
d'expliquer certaines performances inadéquates et de prévoir comment les pratiques
de gestion agricole pourraient changer lorsque les circonstances externes changent.
Cette compréhension est une condition préalable à la conception de stratégies ou de
politiques visant à améliorer les compétences des agriculteurs en matière de gestion
de production [27]. En s'appuyant sur des définitions trop étroites de la rationalité, les
approches normatives des problèmes de décisions en agriculture n'ont pas permis [36]
une prise en compte réaliste des contextes concrets sur lesquels les décisions opéra-
tionnelles doivent s'ancrer. Parmi les aspects les plus négligés figurent la difficulté
d'obtenir des informations actualisées sur le système biophysique, les potentiels effets
multiples et difficiles à inverser de la plupart des opérations agricoles, ainsi que le
décalage temporel variable entre leur exécution et les conséquences qui en découlent.
D'autre part, peu d'attention a été accordée à la nécessité agronomique et organi-
sationnelle de coordonner spatialement et temporellement les opérations de culture.
Les changements de l'état biophysique et de l'environnement extérieur (qui échappent
au contrôle de l'agriculteur) pèsent fortement sur son comportement décisionnel qui
doit être, à la fois, réactif aux contingences et proactif, c'est-à-dire influencé par des
objectifs et une vision anticipatoire des interventions contribuant à ces objectifs.

Le comportement des agriculteurs en matière de gestion est difficile à comprendre
par la simple observation de leurs actions, même sur une longue période. Pour mieux
comprendre leur comportement décisionnel, il faut s'intéresser à leur manière de
raisonner, ce qu'ils savent, ce qui attire leur attention, comment ils organisent l'infor-
mation et les principes et valeurs qui sous-tendent leurs prises de décision en situation.
Cet article décrit les fondements de la modélisation utilisée pour caractériser et ana-
lyser le comportement des agriculteurs en matière de gestion et pour rechercher des
orientations prometteuses d'amélioration des compétences de gestion. Les agriculteurs
sont considérés comme des agents intentionnels qui ont des objectifs et qui élaborent
et exécutent un ensemble d'actions organisées de manière cohérente pour atteindre
ces objectifs. Les actions sont déterminées et exécutées à des moments appropriés
dictés par l'environnement dynamique. Le cadre conceptuel proposé fournit un moyen
de représenter et d'examiner méthodiquement la nature des savoirs pratiques (savoir-
faire) mobilisés par les agriculteurs lors de la prise de décisions opérationnelles. Ce
cadre permet de spécifier l'organisation des intentions d'action en un plan flexible et
de déterminer au fur et à mesure quelles actions il est licite d'exécuter selon ce plan
et compte tenu des circonstances rencontrées. La finalité associée à cette modélisa-
tion, utilisée jusqu'à présent uniquement par des chercheurs, est de pouvoir étudier
les comportements décisionnels en conduite de production agricole et réaliser de l'ex-
périmentation virtuelle de ces comportements par simulation sur ordinateur. Pouvoir
explicitier et simuler des comportements décisionnels est aussi un moyen de faciliter la
communication, l'apprentissage et la conception de façons nouvelles de conduire une
production.

La section 2 traite des notions d'objectif, d'intention et de plan qui sont fondamen-
tales dans la conduite d'un système de production agricole. Une vue synthétique de ce
que recouvre la modélisation d'un système de production agricole est donnée dans la
section 3 en mettant plus particulièrement l'accent sur le rôle de sa composante décis-
ionnelle. La section 4 est dédiée à une description informelle de la modélisation de
la notion d'intention (ou activité) dans le cadre générique de modélisation/simulation
qui a été exploité dans plusieurs applications. Le mécanisme par lequel les activités
changent d'état au cours du temps est explicité algorithmiquement dans la section 5.
Pour passer d'une intention à une action, il faut, comme discuté dans la section 6,
s'intéresser au besoin de ressources et au problème potentiellement combinatoire de
leur allocation aux activités candidates à exécution. Trois exemples d'application du
cadre de modélisation de systèmes de production sont brièvement présentés en sec-
tion 7 pour illustrer la diversté de questionnement en gestion de production agricole
et la généricité du cadre de représentation proposé. La section 9 discute de travaux
connexes à divers aspects abordés dans le présent projet.

2. INTENTIONS ET PLAN DANS LA CONDUITE D'UN SYSTÈME DE PRODUCTION AGRICOLE

La compétence professionnelle d'un agriculteur est ancrée dans ses convictions
sur ce qui est souhaitable et raisonnablement attendu d'un ensemble d'interventions
techniques étalées dans le temps. Les actions de gestion d'un agriculteur sont inten-
tionnelles en ce sens qu'elles sont attachées à une finalité et peuvent être justifiées
par une explication causale liant leurs effets aux objectifs sous-jacents à la finalité. Un
objectif est une combinaison de caractéristiques souhaitées du système de production
qui sont organisées dans le temps. Les objectifs peuvent être positifs (atteindre ou
maintenir les situations souhaitables) ou négatifs (prévenir ou atténuer les situations
indésirables). La motivation peut être intrinsèque (par exemple, profiter d'activités de
plein air liées à la nature), des aspirations élevées (par exemple, assurer un profit suf-
fisant) ou le développement d'un objectif de haut niveau (par exemple, un objectif de
rendement des cultures dans un cycle de production) en sous-objectifs plus spécifiques
(par exemple, maintenir la productivité du sol, maintenir l'humidité nécessaire du sol
tout au long de la saison de croissance, assurer la disponibilité de la main-d'œuvre
au moment de la récolte). Les objectifs de l'agriculteur peuvent fluctuer : certains
objectifs entrent dans la file d'attente tandis que d'autres sortent une fois atteints, ou
bien sont remplacés par des objectifs plus explicites ou disparaissent en raison de l'ob-
solescence causée par les changements de contexte. Les agriculteurs doivent souvent
répondre à une multitude d'objectifs, dont beaucoup sont contradictoires dans le sens
que les progrès réalisés pour l'un d'entre eux se font alors au détriment d'un autre. Les
objectifs peuvent, d'autre part, provenir de sources relativement incommensurables de motivation qui empêchent l'identification d'un choix optimal pouvant faire abstraction de sentiments personnels. Dans la pratique, il n'y a pas, semble-t-il, de délibération formelle sur les objectifs, et les agriculteurs se contentent généralement d'essayer de trouver empiriquement un compromis acceptable.

Une intention est une décision préméditée à agir d'une certaine manière vers les objectifs. Bratman [3] a clarifié la différence entre objectifs et intentions, ces dernières se distinguant par l'idée d'engagement sur les actions futures envisagées. En d'autres termes, la notion d'intention est marquée par son rôle central dans la planification. Elle implique l'existence d'objectifs, mais un objectif est insuffisant pour définir une intention parce qu'il n'implique pas nécessairement un engagement à agir (e.g. « avoir le label agriculture biologique » devient une intention que lorsque sont engagés les changements de pratique adéquats). Les intentions sont organisées temporellement ou logiquement (c'est-à-dire conditionnellement à des situations et/ou des événements) et constituent alors un plan qu'on qualifie lui-aussi d'intention. Un plan n'est une intention qu'une fois que le décideur a décidé de le suivre ; il représente alors une attitude mentale du décideur. Les intentions jouent un rôle essentiel en tant que structure de cadrage des objectifs et des actions en regard de ceux-ci, ainsi que des moyens à mobiliser pour ces actions. Un gestionnaire de système de production choisit ou conçoit un plan qui lui parait à même d'engendrer les fins souhaitées ou de créer les conditions les plus favorables dans cette direction. La planification est également un moyen d'anticiper l'avenir, de guider et d'organiser le travail futur, et d'éviter une gestion erratique grâce à une ligne de conduite stable. Avec l'expérience, les agriculteurs donnent un sens aux observations cumulées et conçoivent les pratiques de gestion des cultures comme un ensemble d'interventions techniques ciblées qui sont à réaliser dans des situations spécifiques. Les actes de gestion restent similaires mais ne sont pas nécessairement identiques chaque année, car les situations diffèrent toujours à des degrés divers. La régularité est suffisante pour éviter de devoir élaborer des plans entièrement nouveaux ; les agriculteurs n'ont qu'à les adapter tant qu'ils restent dans le domaine de validité et de pertinence des pratiques qui leur sont familières.

Comme une intention sous forme de plan concerne des souhaits d'actions dans le futur, une intention est partiellement spécifiée au moment de sa formulation et de son adoption par le gestionnaire. On parle alors de plan incomplètement (partiellement) spécifié ou de plan flexible. Les actions composant le plan sont indéterminées quant aux détails de l'exécution (en particulier, date et ressources utilisées). Les détails ne peuvent être précisés que peu de temps avant l'exécution en fonction de la situation à ce moment là. Les marges de manœuvre sont souvent spécifiées sous forme de fenêtres temporelles, de points de choix entre plusieurs alternatives et de liberté de réaliser ou non certaines activités dites optionnelles. Du fait de la flexibilité des plans, des délibérations successives seront nécessaires pour décider des éventuelles adaptations et, plus souvent encore, de lancer l'exécution de certaines actions ou de remettre cette exécution à plus tard (prenant ainsi le risque de ne jamais y parvenir).
Un plan flexible ne précise pas complètement à l'avance les actions qui seront exécutées et à quels moments. Il restreint simplement l'ensemble des décisions admissibles qui concernent le calendrier des actions, les ressources [23] (main-d'œuvre, équipement) a priori mobilisable pour exécuter les actions, et les choix entre les actions alternatives (ainsi que les ressources qui leur sont allouées) lorsque plusieurs existent. Ce dernier choix implique également des heuristiques qui sont appliquées de manière « rapide et frugale » [11] en utilisant le concept de « satisfaction » de Simon [32], c'est-à-dire la recherche rapide d'une solution acceptable. Comme pour les objectifs, les agriculteurs n'évaluent et ne pèsent qu'occasionnellement les raisons pour ou contre chaque action alternative. La recherche de solutions satisfaisantes n'exige ni un examen complet avec comparaison exhaustive des options, ni la réalisation de calculs complexes d'optimalité. Les heuristiques utilisées sont extrêmement tacites et font intervenir des facteurs tels que la question de savoir si les actions sont trop coûteuses en termes d'intrants matériels et de temps, si elles ont des conséquences négatives à long terme, si elles présentent d'autres avantages (par exemple, esthétiques, environnementaux, moraux) ou si elles sont simplement commodes au moment de leur exécution. Il s'agit de préférences personnelles.

Les plans sont issus de la formation de l'agriculteur ou de l'adoption de pratiques vues ailleurs, de l'expérience accumulée au cours des années précédentes, et des conseils (voire consignes) prodigués par différents organismes. L'agriculteur a ainsi dans son esprit des manières préconçues de répondre à certaines situations (problèmes, dangers et opportunités) qu'il a eu l'occasion de rencontrer ou d'en entendre parler. Outre l'élaboration de plans, il est aussi nécessaire de prévoir des ajustements à réaliser dans les situations inhabituelles ou non conformes à ce qui était attendu. Les plans peuvent donc être reconsidérés en fonction de nouveaux éléments ou de nouvelles évolutions de la situation. La flexibilité, l'ajustabilité et la révocabilité des plans sont essentielles pour qu'ils conviennent dans une large gamme de situations, puissent faire face lorsque surviennent des événements exceptionnels, et aussi pour éviter que l'agriculteur ne s'enferme dans une impasse.

### 3. MODÉLISATION SYSTÉMIQUE POUR LA SIMULATION DES DÉCISIONS OPÉRATIONNELLES

D'un point de vue systémique, un système de production agricole (voir figure 3.1) comporte dans notre approche au moins un système biophysique (composé de terres, de cultures, de bétail, etc.), un système de décision (le chef d'exploitation) et un système opérant qui met en œuvre les décisions en utilisant diverses ressources (intrants, main d'œuvre, machines, etc.). Ce système de production est immergé dans ce qui est appelé l'environnement extérieur (e.g. le contexte climatique et économique) d'où proviennent des entrées physiques (flèches bleues) de matière ou d'énergie, ou informationnelles (flèches noires) ainsi que des événements (e.g. infestation, grêle). Les sorties du système et les échanges entre les trois sous-systèmes sont de même nature. En tant qu'entité active le système de production, ou plutôt les sous-systèmes le composant, sont le siège de processus contrôlés (activés ou désactivés) par des événements (flèches rouges).
<figure><img src="image_3.png" /><figcaption>FIGURE 3.1. Système de production agricole</figcaption></figure>

Le système biophysique, est composé d'entités biophysiques (e.g. culture, animaux, milieu physique) qui ont leurs propres processus (e.g. photosynthèse, croissance, reproduction). Parmi les événements contrôlant ces processus se trouvent ceux activés par l'exécution des opérations réalisées par le système opérant. Les entrées sont les intrants (e.g. engrais ou pesticides provenant du système opérant) et l'énergie issue de l'environnement extérieur ou fournie par le système opérant. Les processus peuvent générer des événements particuliers liés à des changements notables de l'état du système biophysique qui peut être équipé de capteurs et de dispositifs d'alarme. Le décideur (chef d'exploitation) est doté d'une stratégie de conduite qui régit le comportement du système opérant et, indirectement, oriente celui du système biophysique. La stratégie de conduite que se donne l'agriculteur est composée d'un plan flexible organisant dans le temps les intentions d'action (aussi appelées activités), les possibles ajustements que cette stratégie doit subir lorsque certains événements se produisent, et les principes et préférences à respecter par le système opérant pour établir précisément les actions à exécuter. Elle définit aussi le rythme auquel le pilote doit l'examiner.

La dynamique du système de décision responsable du passage d'intention à action est régi par un ensemble de processus assurant :

* la surveillance de l'occurrence d'événements décisifs et l'inspection de l'appareil producteur sur les aspects importants pour la conduite;

* la mise à jour des activités en fonction de l'avancée du temps et des changements survenus (e.g. certaines activités sont devenus obsolètes alors que d'autres sont devenues potentiellement exécutables);

* la révision de la stratégie (du plan en particulier) dans des situations connues pour l'exiger;
* l'extraction, par lecture de la stratégie, des jeux d'activités candidats à exécution et la sollicitation du système opérant pour qu'il traite ces jeux.

Cette dynamique est activée par l'occurrence de certains événements (e.g. nouvelle journée ou achèvement d'une activité) qui induisent normalement la génération d'un ensemble de jeux d'activités dont l'exécution est licite selon le plan. Ces jeux sont transmis au système opérant qui doit dériver celui à exécuter étant donné les ressources disponibles et les préférences énoncées. Le système opérant utilise sa propre procédure de résolution dans le cadre de l'autonomie qui lui est fixée. Il est doté pour cela de processus permettant de :

* rechercher une ou des allocations de ressources aux activités ;

* sélectionner le meilleur jeu d'activités en cas de concurrence entre plusieurs jeux.

L'exécution par le système opérant du jeu qu'il a sélectionné se poursuit jusqu'à ce qu'un changement sur les ressources survienne (fin d'une activité ou fin de l'horaire de travail). Un tel événement provoque un nouveau calcul du jeu à exécuter ou un passage du contrôle au décideur qui poursuit sa tâche tant qu'il reste des activités en attente d'exécution.

# 4. PLAN FLEXIBLE

## 4.1. INTENTIONS/ACTIVITÉS

Au centre de la problématique de conduite se trouve le concept d'intention que nous avons initialement appelé *activité*⁽¹⁾ pour son lien plus explicite avec l'action. Dans sa forme la plus simple, une activité (récolte), alors qualifiée de *primitive*, spécifie un triplet : (i) une opération (récolter les fruits mûrs) à faire (ii) sur une entité biophysique (une plante de tomate) ou un emplacement (un rang) (iii) par un exécutant (un ouvrier, un robot ou un ensemble de ces entités). Outre ces trois composantes, une activité est caractérisée par des conditions locales d'ouverture ou de fermeture définies par des fenêtres temporelles (dates au plus tôt et au plus tard) et/ou des prédicats relatifs à un état (e.g. atteinte d'un stade physiologique, disponibilité d'une ressource). Ces conditions servent dans la détermination au cours du temps des activités dont l'exécution est licite selon le plan ; elles expriment typiquement une pertinence agronomique plutôt qu'une impossibilité matérielle. Toute activité, primitive ou non, a un état dont les valeurs possibles sont : *sleeping*, *waiting*, *open*, *closed* ou *cancelled* (leur signification est donnée dans la suite).

Une opération est une transformation intentionnelle qui lors de son exécution cause des changements du système biophysique autre que ceux dus à sa dynamique propre. Ces effets sont instantanés ou sont progressifs sur une période. Une opération affecte soit des individus dans une collection d'objets (e.g. des plantes dans une population)

<footnote>⁽¹⁾Pour être exact, il faudrait parler de spécification d'activité plutôt que d'activité pour garder à ce dernier terme le sens d'intervention exécutée alors qu'il s'agit ici de tâche intentionnelle incomplètement déterminée et éventuellement jamais exécutée (cas d'utilisation dans les opérateurs *or* et *optional*).</footnote>
soit des objets possédant des descripteurs numériques (e.g. surface). La vitesse d'une opération est définie par la quantité (e.g. nombre d'items, surface) traitable en une unité de temps. Sa durée est le rapport de la quantité totale par sa vitesse. La faisabilité d'une opération peut être conditionnée par un prédicat(2) portant sur l'état du système biophysique (e.g. humidité du sol pour permettre l'accès des engins).

Les activités dont il a été question jusqu'ici sont primitives. Elles peuvent faire l'objet de contraintes supplémentaires en prenant en compte des relations temporelles de séquencement et de synchronisation entre elles, et en utilisant des structures de programmation spécifiant des choix entre activités alternatives, des itérations d'une activité, le regroupement d'activités ou encore le caractère optionnel d'une activité. À cette fin sont utilisés des opérateurs tels que *before*, *meet*, *overlap*, *co-start*, *co-end*, *equal*, *or*, *and*, *iterate* et *optional* qui, appliqués à des activités primitives, donnent naissance à d'autres activités dites non-primitives. Plus généralement, un opérateur de composition appliqué à des activités (primitives ou non) qui sont ses arguments définit une nouvelle activité; on dira des activités arguments qu'elles sont les filles de l'activité composée ou que l'activité composée est la mère des activités arguments de l'opérateur de composition. Une activité composée peut recevoir des conditions d'ouverture et de fermeture comme une activité primitive. L'ouverture et la fermeture d'une activité construite par composition à l'aide d'un opérateur sont induites par les conditions d'ouverture et de fermeture des activités primitives sous-jacentes et par la sémantique des opérateurs de composition. Toutes les activités sont connectées; la seule qui n'a pas de mère est appelée plan nominal.

Ce plan est flexible dans le sens que deux scénarios différents d'entrées et d'événements vont vraisemblablement amener deux réalisations différentes de ce plan. Les dates d'ouverture différeront par exemple. De plus certaines activités pourront être annulées dans un cas et pas dans l'autre si elles sont optionnelles ou sujettes à un choix dépendant du contexte. L'avancée du temps et le changement d'état du système de production est susceptible de rendre satisfaites les conditions qui régissent le changement d'état des activités. Le changement d'état des activités se produit à des moments particuliers spécifiés dans la stratégie (rythme d'examen du plan) et lorsqu'une opération se termine. Tout changement d'état d'une activité est propagé aux activités auxquelles elle est directement ou indirectement connectée par les opérateurs de composition.

La signification des états possibles des activités peut être expliquée maintenant. La valeur *sleeping* est donnée à chaque activité lors de sa création. Elle signifie que les conditions d'ouverture et de fermeture n'ont pas encore besoin d'être surveillées. L'état passe à *waiting* aussitôt que les conditions d'ouverture de l'activité doivent être examinées. Par exemple, dès qu'une activité se termine (et pas avant), il convient de surveiller les conditions d'ouverture de celle qui la suit dans une séquence spécifiée avec l'opérateur *before*. Le plan en tant qu'activité (macro-activité) est déclaré *waiting* à l'initialisation de la simulation. L'état d'une activité passe à la valeur *open* lorsque

<footnote>(2) Une condition de faisabilité est propre à l'opération mais rien n'empêche d'utiliser la même condition pour contraindre l'ouverture d'une activité portant sur cette opération.</footnote>
ses conditions d'ouverture sont satisfaites(3). L'état passe de la valeur *open* à la valeur *closed* lorsque les conditions de fermeture de l'activité sont satisfaites, ou bien, s'il s'agit d'une activité primitive, lorsque l'opération en jeu est terminée. L'état d'une activité passe à la valeur *cancelled* lorsqu'il n'y a plus lieu d'opérer un quelconque changement d'état. Typiquement, cela se produit lors d'un choix entre deux ou plusieurs activités alternatives (opérateur *or*) : l'état des activités non choisies passe à *cancelled*.

La sémantique de chaque opérateur de composition est définie par deux ensembles de règles spécifiant :

* les préconditions que doit satisfaire l'activité mère pour autoriser le changement d'état de certaines activités filles et vice versa;

* les postconditions ou effets d'un changement d'état des activités filles sur la mère et vice versa.

Les cas des opérateurs *before*, *iterate*, et *optional* sont détaillés dans les sous-sections suivantes. Voir [21] pour une présentation exhaustive.

## 4.2. CONTRAINTEES DE SÉQUENCEMENT

Pour spécifier que deux ou plus de deux activités doivent se suivre sans recouvrement lors de leurs exécutions respectives on connecte ses activités par l'opérateur *before*. Par exemple dans le cas de 3 activités A, B, C, l'activité composée *before(A B C)* impose que B ne peut pas être dans l'état *open* avant que A soit dans l'état *closed*. L'ordre de la séquence est exprimé par l'ordre des arguments de l'opérateur. Toute activité composée à partir de *before* a deux propriétés supplémentaires qui permettent de spécifier si besoin des délais entre les ouvertures d'activités consécutives et des délais entre fermeture et ouverture d'activités consécutives.

Les préconditions à un changement d'état sont les suivantes. Pour que l'état de la mère puisse passer :

* *waiting* (resp. *open*), sa première fille doit pouvoir passer *waiting* (resp. *open*);

* *closed*, sa première fille doit pouvoir passer *closed*.

Pour que la première fille puisse devenir :

* *waiting* (resp. *open*), la mère doit pouvoir passer *waiting* (resp. *open*).

Pour qu'une fille autre que la première puisse passer :

* *waiting*, la précédente doit être *closed* ou autorisée à le devenir.

Pour que la dernière fille puisse passer :

* *closed*, la mère doit pouvoir passer *closed*.

L'effet du changement d'état de la mère ou des filles se traduit par les règles suivantes. Aussitôt que la mère devient :

* *waiting* (resp. *open*), la première fille devient *waiting* (resp. *open*);

<footnote>(3) Le passage à l'état *open* d'une activité primitive ne signifie pas que son exécution va démarrer sur le champ. Cette décision dépend d'autres conditions (faisabilité de l'opération sous-jacente, disponibilité de ressources) et d'un éventuel arbitrage.</footnote>
* closed, la dernière fille devient closed.

Aussitôt qu'une fille devient :

* *waiting* et qu'elle est la première fille alors la mère devient *waiting*. Sinon, la fille précédente devient *closed* (si ce n'est pas déjà le cas);

* open et qu'elle est la première fille alors la mère devient open;

* closed et qu'elle est la dernière fille alors la mère devient closed. Sinon, la fille suivante devient *waiting* si possible.

L'opérateur *meet* est un autre opérateur de séquencement. Il est très similaire à *before* sauf qu'il impose la synchronisation de la fermeture d'une fille avec l'ouverture de la suivante.

### 4.3. ITÉRATION

L'opérateur *iterate*, qui a un seul argument, spécifie que l'activité fille doit être répétée dans l'intervalle de temps pendant lequel l'activité mère est *open*. La mère doit impérativement être dotée de conditions d'ouverture et de fermeture (intervalles de date ou prédicats) ou des nombres maximum ou minimum d'itérations ou encore de combinaisons de ces possibilités. La fille ou plus généralement les activités descendantes au sein de l'argument ne doivent pas apparaître ailleurs dans le plan. La mère a deux propriétés supplémentaires permettant de spécifier si besoin les délais entre l'ouverture de deux itérations consécutives de la fille et entre la fermeture d'une itération et l'ouverture de la suivante. Les seules préconditions au changement d'état de la fille sont que la mère soit *waiting* ou *open* pour que la fille devienne *waiting*, et que la mère soit *open* pour que la fille puisse passer *open* ou *closed*.

Dès que la mère devient :

* *open*, la fille devient *waiting* si possible;

* *closed*, la fille devient *closed* si possible.

Dès que la fille devient *closed*, elle passe immédiatement à *waiting* sauf si les conditions de fermeture de la mère sont satisfaites à ce moment. Le processus d'itération, qui est contrôlé par une procédure spécifique, duplique (instancie en fait) l'activité fille en accord avec les contraintes spécifiées sur les délais et nombres d'itération. Ces copies ont un état changeant de *sleeping* à *waiting*, de *waiting* à *open*, de *open* to *closed*, et, exclusivement pour ce cas, de *closed* à *waiting*. Ces transitions continuent tant que la mère est *open*.

### 4.4. ACTIVITÉ OPTIONNELLE

L'opérateur *optional*, appliqué à une activité qui est son unique argument, exprime que si elle ne peut pas être réalisée (i.e. il est trop tard relativement à l'intervalle d'ouverture) alors cet empêchement ne constitue pas une raison suffisante pour déclarer le plan non-viable. En d'autre terme, cet opérateur spécifie que l'activité fille est à réaliser si possible. La fille ou plus généralement les activités descendantes au sein de l'argument ne doivent pas apparaître ailleurs dans le plan. L'état de la mère peut
devenir *waiting* si la fille peut devenir *waiting*. Des préconditions analogues tiennent si on substitue *waiting* par *open* ou par *closed* et aussi en permutant fille et mère. Les règles régissant les effets suivent les règles de préconditions (e.g. la fille devient *open* dès que la mère devient *open*). Lorsqu'une activité mère faite avec l'opérateur *optional* ne peut être réalisée, son état est forcé à la valeur *closed*.

### 4.5. EXEMPLE DE PLAN

Dans l'exemple considéré ici, l'agriculteur a une exploitation en agriculture biologique et utilise la luzerne pour maintenir ou améliorer la fertilité de ses parcelles afin d'obtenir des rendements acceptables sur de longues périodes sans intrants agrochimiques. Cette légumineuse ne nécessite pas d'apport d'azote et fournit même un reliquat pour la culture suivante. L'exemple (voir figure 4.1) met en avant une partie de plan triennal (voir la partie encadrée en rouge) qui ne comporte que des interventions sur la parcelle 1. Les opérateurs sont en caractères gras, les arguments terminaux sont des activités primitives. Les points indiquent les emplacements pour étendre le plan à d'autres parcelles. Le nom de chaque activité primitive révèle l'opération sous-jacente. Pour simplifier on omet de parler des ressources impliquées par ces opérations ainsi que des autres activités présentes dans la réalité (e.g. inspection de l'état sanitaire d'une parcelle).

<figure><img src="image_4.png" /><figcaption>FIGURE 4.1. Plan triennal par parcelle</figcaption></figure>

La séquence (premier *before*) pour la parcelle 1 commence par le semis de la luzerne. La luzerne est ensuite répétitivement (premier *iterate*) désherbée mécaniquement, si nécessaire (*optional*), puis récoltée. Le plan se poursuit par l'itération du semis direct d'un blé à haute tige dans la luzerne et ultrieurement de sa récolte.
Les aspects temporels sont exprimés par : (i) les trois utilisations de l'opérateur *before*, (ii) des spécifications de fenêtres temporelles, et (iii) éventuellement, des prédicats d'ouverture et de fermeture (e.g. la désherbage mécanique est à faire dès la levée). Les activités d'itération ont aussi des spécifications complémentaires. Par exemple, l'itération impliquant la récolte de luzerne précise que la première récolte doit se faire au stade apparition des bourgeons floraux et les autres au stade floraison. L'itération impliquant semis puis récolte de blé précise que la séquence doit être réalisée deux fois (deux années).

## 5. MISE À JOUR DE L'ÉTAT DES ACTIVITÉS

L'avancée du temps et le changement d'état du système de production est susceptible de rendre satisfaites les conditions qui régissent le changement d'état des activités. Le changement d'état d'une activité est réalisé par une procédure qui, essentiellement, vérifie que les conditions d'ouverture et/ou de fermeture peuvent être satisfaites et que les contraintes liant cette activité à d'autres seraient satisfaites si le changement était effectué. Cette procédure, appliquée au plan (initialement dans l'état *waiting*), cause un examen récursif de toutes les activités dans l'état *waiting* ou *open*. Toute activité dont le changement est validée est mise à jour et le changement est propagé immédiatement aux activités qui lui sont liées. Une présentation plus formelle de ce processus est donnée à travers le pseudo-code de la procédure *Update*. Voir Algorithme 1.

Dans le cas général d'activité, c'est-à-dire si l'activité n'est ni primitive ni une itération, la procédure *Update* est immédiatement invoquée sur les composantes et le changement d'état sera alors réalisé par propagation conformément à la sémantique de l'activité mère (voir la section 4.2 pour l'exemple d'une activité spécifiant un séquencement sans recouvrement) via les procédures *TurnToOpen* et *TurnToClosed*. Les activités ne peuvent changer d'état que par propagation à partir de changements d'état des activités primitives et des activités d'itération qui en sont composantes à une profondeur quelconque. La procédure *Update* s'applique répétitivement jusqu'à ce que le plan devienne *closed*. Dans certains cas, le plan ne peut plus être fermé, ce qui révèle un échec du plan. Une telle situation se produit lorsque certaines préconditions au changement ne peuvent plus être satisfaites (e.g. une activité *meet* dans laquelle la seconde fille ne peut être ouverte alors que la première doit être fermée parce que son exécution est achevée). En d'autres termes, ceci survient lorsqu'une activité non-optionnelle ne peut plus être ouverte ou lorsqu'elle ne peut plus être fermée sans violer des contraintes qui la lient à d'autres activités par les opérateurs de composition.

Deux prédicats importants sont utilisés par la procédure *Update* : ?OpeningValid et ?ClosingValid. Ils retournent *true* s'il est licite d'ouvrir ou fermer l'activité passée en argument. Le prédicat ?OpeningValid appelle les prédicats ?CheckSonsIfOpen et ?CheckIfSonOpen qui dépendent du type d'activité. Ceux-ci, avec les quatre autres prédicats ?CheckSonsIfWaiting, ?CheckIfSonWaiting, ?CheckSonsIfClosed, et ?CheckIfSonClosed, sont la traduction des préconditions au changement définies pour chaque opérateur. Ils appellent eux-mêmes ?OpeningValid, ?ClosingValid et
<table><caption>Algorithme 1 : Procédure Update(activity)</caption><tr><td>1</td><td>si activity.status = sleeping ou activity.status = closed ou activity.status = cancelled alors</td></tr><tr><td>2</td><td>return</td></tr><tr><td>3</td><td>si (activity.status = waiting et la condition locale d'ouverture n'est plus satisfiable) ou (activity.type = primitive et activity.status = open et la fenêtre d'ouverture est terminée et l'opération n'est pas en court d'exécution) alors</td></tr><tr><td>4</td><td>si activity.type = optional alors</td></tr><tr><td>5</td><td>TurnToClosed(activity)</td></tr><tr><td>6</td><td>sinon</td></tr><tr><td>7</td><td>exit(**Echec du plan**)</td></tr><tr><td>8</td><td>si activity.status = open et la fermeture n'est plus possible alors</td></tr><tr><td>9</td><td>exit(**Echec du plan**)</td></tr><tr><td>/* Fin de détection de l'échec du plan */</td><td></td></tr><tr><td>10</td><td>suivant activity.type faire</td></tr><tr><td>11</td><td>cas où primitive faire</td></tr><tr><td>12</td><td>si ?OpeningValid(activity) alors</td></tr><tr><td>13</td><td>TurnToOpen(activity)</td></tr><tr><td>14</td><td>si ?ClosingValid(activity) alors</td></tr><tr><td>15</td><td>TurnToClosed(activity)</td></tr><tr><td>16</td><td>cas où iteration faire</td></tr><tr><td>17</td><td>si ?OpeningValid(activity) alors</td></tr><tr><td>18</td><td>TurnToOpen(activity)</td></tr><tr><td>19</td><td>si activity.status = open alors</td></tr><tr><td>20</td><td>child &lt;- activity.child</td></tr><tr><td>/* child = activité fille de activity, une seule en cas d'itération */</td><td></td></tr><tr><td>21</td><td>suivant child.status faire</td></tr><tr><td>22</td><td>cas où sleeping faire</td></tr><tr><td>23</td><td>TurnToClosed(activity)</td></tr><tr><td>24</td><td>cas où waiting faire</td></tr><tr><td>25</td><td>TurnToClosed(activity)</td></tr><tr><td>26</td><td>autres cas faire</td></tr><tr><td>27</td><td>children &lt;- activity.children</td></tr><tr><td>28</td><td>pour chaque child &isin; children faire</td></tr><tr><td>29</td><td>Update童童</td></tr></table>

?WaitingValid. Dans le principe, ces trois prédicats sont très similaires. Le pseudo-code de ?OpeningValid est donné dans Algorithme 2. Pour la clarté, ce code a été épuré de toutes les structures et de tous les tests permettant d'éviter les boucles.

Update appelle TurnToOpen et TurnToClosed. Celles-ci, avec TurnToWaiting, réalisent les changements d'état correspondants sur l'activité passée en argument et progagent l'effet aux activités connectées. Une fois invoquées (soit dans Update ou au début de la simulation quand le plan est forcé à passer de sleeping à waiting) elles font les mises à jour selon les règles définies pour chaque opérateur. Notons que les
<table><caption>Algorithme 2 : Prédicat ?OpeningValid(activity)</caption><tr><td>1</td><td>si activity.status = open alors</td></tr><tr><td>2</td><td>return true</td></tr><tr><td>3</td><td>sinon</td></tr><tr><td>4</td><td>si (activity.status = waiting ou ?WaitingValid(activity)) et conditions locales d'ouverture sont satisfaites alors</td></tr><tr><td>5</td><td>si ?CheckSonsIfOpen(activity) alors</td></tr><tr><td>6</td><td>above ← activity.mothers</td></tr><tr><td>7</td><td>pour chaque mother ∈ above faire</td></tr><tr><td>8</td><td>si ?CheckIfSonsOpen(activity, mother) = false alors</td></tr><tr><td>9</td><td>return false</td></tr><tr><td>10</td><td>return true</td></tr><tr><td>11</td><td>sinon</td></tr><tr><td>12</td><td>return false</td></tr><tr><td>13</td><td>sinon</td></tr><tr><td>14</td><td>return false</td></tr></table>

prédicats ?OpeningValid, ?ClosingValid(4) et ?WaitingValid sont aussi utilisés dans ces procédures de réalisation de changement d'état.

# 6. ALLOCATION DE RESSOUCES ET DÉTERMINATION DES ACTIONS À EXÉCUTER

## 6.1. TYPES DE RESSOURCES ET CONTRAINTEES D'UTILISATION

Tirer profit de la flexibilité d'un plan dépend de la capacité de réalisation pratique d'une intention, qui est contrainte par le besoin de ressources. Une représentation minutieuse des ressources et de leur disponibilité peut donc être essentielle pour obtenir une bonne compréhension de la situation étudiée et des possibilités d'amélioration. Fondamentalement, une ressource est une entité qui permet l'exécution des activités. En règle générale, les exécutants des activités, les machines impliquées et les différents intrants (semences, engrais, eau, carburant) sont des ressources. Les ressources sont généralement en quantité bornée. Elles ont une influence significative sur le moment et la manière dont les activités peuvent être exécutées. La disponibilité d'une ressource est limitée par des contraintes qui précisent les conditions dans lesquelles leur utilisation ou leur consommation est autorisée. Ces contraintes sont temporelles (fenêtres de disponibilité établies de manière statique ou dynamique), liées à la capacité (la quantité disponible) ou à l'état. Les contraintes temporelles liées à la disponibilité des exécutants peuvent être flexibles : la durée d'une journée de travail peut varier légèrement et être modifiée de manière opportuniste d'un jour à l'autre si nécessaire, mais le temps de travail cumulé sur une année doit respecter des conditions strictes. Toute ressource peut éventuellement être limitée en ce qui concerne le nombre maximum d'opérations soutenues simultanément et le nombre maximum de ressources d'autres types pouvant être utilisées simultanément.

<footnote>(4) ?ClosingValid inclut un test relatif au pourcentage minimal prescrit de réalisation de l'exécution, typiquement 100%</footnote>
Il existe de nombreux types de ressources [33]. Une ressource peut être soit consommable (utilisable une seule fois), soit réutilisable après avoir été libérée. Il peut s'agir d'une ressource à état discret comme un équipement (dont la disponibilité est fonction des valeurs possibles prises par une variable discrète) ou d'une ressource de capacité (e.g. carburant) dont la disponibilité est caractérisée par une valeur numérique (volume) ou un vecteur de valeurs numériques (taille x masse) qui expriment une capacité multidimensionnelle. On distingue les ressources individuelles et les ressources agrégées, qui sont des ensembles de ressources.

Dans une activité primitive, le rôle de ressource est joué par l'objet opéré, les ressources d'opération et l'exécutant. Un objet opéré est généralement une ressource à état discret qui fait partie du système biophysique (une entité ou un ensemble d'entités du système biophysique). Il peut aussi être une ressource à capacité comme une parcelle pour laquelle la surface est une propriété essentielle si on s'intéresse à la progression de la réalisation d'une opération. Un objet opéré se caractérise par son aptitude à être transformé par plusieurs opérations simultanément. Il peut permettre à plusieurs ressources d'être impliquées simultanément dans des transformations, et à plusieurs exécutants d'effectuer certaines transformations simultanément.

Une ressource d'opération (e.g. un tracteur) est également caractérisée par sa capacité à être utilisée simultanément pour plusieurs objets sur lesquels on agit dans le système biophysique (e.g. plusieurs rangs de vigne), à être impliquée simultanément dans plusieurs opérations (e.g. récolte et transport) et à être utilisée simultanément par plusieurs exécutants (e.g. chauffeur et superviseur de la récolte).

Un exécutant est une ressource d'état discret qui est soit une ressource individuelle (par exemple, un travailleur), soit une équipe de travail (un ensemble de travailleurs individuels). Un exécutant est aussi caractérisé par sa compétence (activités ou opérations qui seules requièrent cette ressource). Une autre de ses caractéristiques est sa puissance de travail qui a un effet sur la rapidité de l'opération et sur les besoins en ressources d'opération si ces derniers sont déclarés proportionnels à la puissance. La puissance d'une équipe est, par défaut, la somme des puissances des travailleurs individuels qui la composent.

À titre d'illustration, considérons une activité de fauche de l'herbe avec les spécifications des ressources indiquées dans la table 6.1 où les noms de classe<sup>(5)</sup> sont en lettres majuscules et les instances disponibles sont en minuscules. La spécification de l'objet exploité fait référence à un ensemble d'entités spatiales (parcelles) qui sont générées dynamiquement par l'expansion de la spécification de l'ensemble d'entités définissant cet ensemble. Il est utile de la considérer comme une ressource dans le cas où il serait décidé d'interdire deux opérations simultanées sur l'une de ces entités. La spécification des ressources associées à l'opération indique que deux machines sont nécessaires : une barre de coupe et un tracteur. L'exécutant est une personne à sélectionner, soit parmi les fils de l'agriculteur, soit parmi ses employés. Dans cet exemple, au moment de l'attribution, la procédure envisage deux alternatives (p1, b1, t2, f2), (p1, b1, t2, e)

<footnote>(5) Tous les concepts manipulés sont définis sous la forme de classes.</footnote>
si p1 est la seule parcelle qui satisfait à la demande, b1 et b2 sont des choix équivalents pour la barre de coupe, t2 est le seul tracteur disponible, et f2 et e sont respectivement le deuxième fils et l'employé qui sont libres à ce moment. Elle aurait fourni un ensemble d'une seule solution si seulement un fils ou un employé avait été disponible, ou si ces deux personnes avaient été considérées équivalentes. Dans certains cas, il se peut évidemment qu'il n'y ait aucune solution. Tous les cas de ressources d'une classe mentionnée dans les spécifications (par exemple, BARRE, FILS) sont considérés comme équivalents, sauf indication contraire, ce qui nécessiterait de prendre en considération les combinaisons d'affectations formées à partir de chaque cas. Dans les spécifications des ressources présentées dans la table 6.1, une seule ressource propre à l'opération est requise dans chacune des deux classes et un ensemble dans le cas des objets opérés. Le langage de représentation permet l'expression de spécifications plus riches impliquant l'exigence d'un nombre fixe de ressources du même type ou l'utilisation du nombre maximum d'entre elles, voire de toutes.

<table><caption>TABLE 6.1. Ressources requises dans une activité de coupe</caption><thead><tr><td>Composante de l'activité</td><td>Spécification</td><td>Instances de ressources</td></tr></thead><tbody><tr><td>Objets opérés</td><td>« toutes les parcelles de plus de 0.5 ha »</td><td>PARCELLE: {p1, p2, p3}</td></tr><tr><td>Ressources d'opération</td><td>« une barre de coupe et un tracteur »</td><td>BARRE: {b1, b2}, TRACTEUR: {t2}</td></tr><tr><td>Exécutant</td><td>« une personne prise parmi les fils de l'agriculteur ou ses employés »</td><td>FILS: {f1, f2, f3}, EMPLOYE: {e}</td></tr></tbody></table>

L'utilisation des ressources est limitée par diverses contraintes qui font de l'allocation de ressources une tâche combinatoire délicate. En plus des contraintes de disponibilité, la représentation permet de spécifier des restrictions de co-utilisation qui concernent l'utilisation simultanée d'une ressource dans différentes opérations et en combinaison avec d'autres ressources. Ces restrictions de co-utilisation consistent en un ensemble (conjonction) de conditions d'incohérence définies comme des limitations de cardinalité (c'est-à-dire le nombre d'éléments autorisés). La restriction appelée *activity-inconsistency-condition* s'applique à une activité, tandis que celle appelée *resource-sharing-violation-condition* s'applique à une ressource. Enfin, il existe un troisième type de restriction d'utilisation, appelé *activities-resources-inconsistent-commitment*, qui comprend un ensemble de *activity-inconsistency-condition* et un ensemble de *resource-sharing-violation-condition*. Voir la table 6.2 pour un exemple de chacune. La condition d'inconsistance d'activité précise qu'il est interdit aux fils de l'agriculteur d'utiliser un tracteur pour faucher une parcelle. Vérifier cette contrainte revient à faire des vérifications de cardinalité par rapport au nombre de fils et au nombre de tracteurs impliqués dans l'activité (leur nombre ne doit pas être supérieur à 0 pour les deux simultanément). La restriction de la condition de partage des ressources précise qu'il ne peut y avoir plus d'un exécutant à un endroit donné. Là encore, la vérification
de la contrainte est une question de vérification de la cardinalité, mais cette fois, toutes les allocations effectuées jusqu'à présent pour la liste d'activités en cours sont prises en compte. La contrainte d'engagement de *activities-resources-inconsistent-commitment* signifie qu'il existe une incompatibilité entre une activité de pâturage par un troupeau laitier quelconque et l'utilisation concomitante de tout pesticide en tout lieu.

<table><caption>TABLE 6.2. Exemples de restrictions sur l'utilisation des ressources</caption><thead><tr><td>Type de contrainte</td><td>Exemple</td></tr></thead><tbody><tr><td>activity-inconsistency-condition</td><td>{FAUCHE; (FILS &gt; 0)(TRACTEUR &gt; 0))}</td></tr><tr><td>resource-sharing-violation-condition</td><td>{LIEU; ((EXECUTANT &gt; 1))}</td></tr><tr><td>activities-resources-inconsistent-commitment</td><td>{ {PATURAGE; ((TROUPEAU-LAITIER &gt; 0)) } {LIEU; ((PESTICIDE &gt; 0)) }</td></tr></tbody></table>

## 6.2. PROCÉDURE D'ALLOCATION DE RESSOURCE ET DÉTERMINATION DES ACTIONS À EXÉCUTER

Cette sous-section présente les principales idées mises en œuvre dans le processus qui est responsable de l'allocation des ressources. Supposons que nous ayons actuellement un ensemble de trois activités primitives a b c qui sont ouvertes et dont les opérations satisfont aux conditions de faisabilité. Les activités sont ordonnées (l'ensemble est en fait une liste) pour mettre en avant les activités qui ont été déclarées comme devant être reprises de préférence au cas où leur exécution serait interrompue. Une activité qui implique la spécification d'un nombre maximum d'unités d'un type spécifique de ressource doit être mise à la fin de la liste pour forcer son attribution en dernier. L'ordonnancement peut également se faire en fonction des priorités d'allocation définies par le modélisateur pour chaque activité.

L'algorithme fonctionne sur un treillis de sous-ensembles d'activités primitives (voir figure 6.1) où un lien entre deux nœuds représente la relation « est un sur-ensemble de ». Les nœuds sont parcourus dans l'ordre chronologique, en commençant par le haut. Dans un nœud donné, l'algorithme tente d'allouer chaque activité à tour de rôle. Il visite successivement chaque exigence de ressource, obtient une instance qui satisfait l'exigence, puis vérifie les trois types de contraintes de co-utilisation. Il passe à une autre instance en cas d'échec.

Le résultat d'une allocation provisoire de ressources à une activité (qu'elle soit réussie ou non) est propagé dans le treillis afin que l'espace de recherche puisse être considérablement réduit. Plus précisément, l'algorithme duplique et transfère cette allocation aux nœuds descendants qui ont les mêmes activités de départ jusqu'à l'activité en cours d'allocation (par exemple, le nœud 1 et le nœud 2 ont les mêmes activités de départ jusqu'à b compris). Dans l'exemple de la figure 4.1, les ressources allouées à l'activité a dans le nœud 1 peuvent être propagées à la même activité dans les nœuds 2, 5 et 3. Si une défaillance survient lors d'une tentative d'allocation d'une activité dans un nœud, ce nœud est déclaré incohérent et tous les nœuds descendants
<figure><img src="image_5.png" /><figcaption>FIGURE 6.1. Treillis impliquant les activités primitives a, b et c</figcaption></figure>

ayant les mêmes activités de départ (jusqu'à l'activité en cours d'allocation) sont également déclarés incohérents. Par exemple, comme l'activité b du nœud 1 ne peut pas être attribuée une fois que l'activité a a été attribuée, le nœud 1 est déclaré incohérent (pas besoin de visiter l'activité c), ce qui fait que le nœud 2 est également déclaré incohérent. Si un nœud est entièrement alloué, les nœuds alloués en ordre décroissant sont marqués « sous-optimaux » dans le sens où ils sont inclus dans un ensemble plus large d'activités exécutables. Une fois que le nœud 3 est entièrement alloué dans la figure 4.1, les nœuds 5 et 7 sont marqués « sous-optimaux ». Notez qu'en raison des restrictions de co-utilisation, l'ensemble des ressources allouées à une activité (par exemple, c) dans un nœud (par exemple, le nœud 3) à un niveau donné peut être différent de l'ensemble des ressources allouées à la même activité dans un autre nœud (par exemple, le nœud 4) au même niveau.

Àla fin, l'algorithme renvoie tous les nœuds qui sont entièrement alloués et non sous-optimaux, c'est-à-dire les nœuds 3 et 4 dans l'exemple. L'algorithme est complet dans le sens où toutes les solutions sont produites. Le choix de celle à exécuter résulte du calcul d'une méthode de notation qui combine diverses préférences du décideur en fonction, par exemple, de la priorité moyenne des opérations dans les activités primitives concernées, de l'urgence des activités exprimée par rapport à leurs dernières dates d'ouverture ou de clôture, de la durée prévue de l'exécution ou du coût de la consommation des ressources.

L'exécution d'une activité primitive fait progresser le degré de réalisation de l'opération sous-jacente en fonction de la vitesse déclarée. En conséquence, les ressources mobilisées par l'opération ne seront libérées qu'une fois l'opération terminée. Si une ressource est immobilisée en cours de réalisation (fin de la journée de travail, par exemple), la progression de l'opération est arrêtée, mais l'activité concernée reste ouverte. Lors du prochain examen du plan (le lendemain, typiquement), la progression
continuera si toutes les conditions sont réunies, mais pourra rester suspendue si, par exemple, la condition de faisabilité de l'opération devient non satisfaite (e.g. le sol est devenu trop humide pour le passage d'un tracteur). Si la suspension persiste plus longtemps, il peut arriver que la date au plus tard donnée à l'activité pour sa fermeture soit dépassée : le plan est alors déclaré en échec, sauf si une réaction à cette situation a été explicitement prévue dans la stratégie.

# 7. TROIS EXEMPLES D'APPLICATION ET QUESTIONS DE RECHERCHE ASSOCIÉES

Trois projets en élevage, grande culture et viticulture sont succinente présentés à travers leurs objets d'étude respectifs et les motivations scientifiques des chercheurs-agronomes (dont deux doctorants) qui les ont initiés. Le développement informatique des modèles de système de production de chaque projet s'est fait en partenariat avec des chercheurs-agronomes. Le lecteur est renvoyé aux publications pour plus de détail sur les contenus de ces modèles (dont les activités et les plans) et leurs implémentations dans le cadre de la plateforme DIESE de simulation à événements discrets. Ce cadre de représentation [22] et le moteur à événements discrets [29] qui gère les différents processus sont implémentés sous la forme d'une bibliothèque C++. DIESE est fondé sur une ontologie du domaine [21], c'est-à-dire un corps formel de connaissances sur la structure, le fonctionnement et la dynamique des systèmes, en particulier agricoles. Une partie notable de ce corps de connaissances porte sur les concepts de pilotage de systèmes abordés dans cet article et sur les données et les inférences qui sous-tendent la simulation de la dynamique de ces systèmes. Développer un modèle dans ce cadre revient à particulariser puis instancier les classes implémentant les concepts de l'ontologie.

## 7.1. SEDIVER

Les élevages de bovins laitiers basés sur les prairies sont des systèmes dynamiques difficiles à gérer, notamment à cause de leur sensibilité aux facteurs climatiques (températures, ensoleillement, pluie). La conception des exploitations agricoles (dont le dimensionnement) et de stratégies de gestion capables de faire face à un large éventail de conditions constitue donc un défi. Le cadre de simulation à événements discrets SEDIVER [16, 15] a été développé pour soutenir la construction de modèles de simulation dynamique des exploitations reposant sur le pâturage pour l'évaluation et à des fins de conception empirique. Ce cadre est une particularisation du cadre générique DIESE ([29] au système d'élevage. L'originalité des modèles construits avec SEDIVER réside dans la représentation explicite de : (i) stratégies de gestion permettant coordonner des activités dans le temps et l'espace par lequel l'agriculteur influence les processus biophysiques se produisant au sein du système (la croissance végétale et le prélèvement par les bovins en particulier), et (ii) la diversité des espèces végétales et animales, des prairies et des terres agricoles, ainsi que les possibilités et les difficultés de gestion que cela pourrait induire. Un exemple d'étude rendue possible par des modélisation et simulation avec SEDIVER a porté sur un élevage français qui a été examiné selon deux stratégies de gestion : la première correspondant à la pratique réelle courante
et la seconde tenant compte et exploitant la diversité de la flore et des prairies. Les résultats de la simulation ont montré que la seconde pourrait à peu près doubler les rendements fourragers. Elle pourrait assurer ainsi l'autosuffisance de l'exploitation en fourrage grâce à la mise en valeur des complémentarités et des synergies fonctionnelles entre les prairies. Celles-ci peuvent convenir à des utilisations différentes, et parfois multiples, qui sont fonction des conditions particulières de production et sont en adéquation avec des besoins alimentaires propres aux différentes catégories d'animaux (e.g. génises et vaches laitières).

## 7.2. SILASOL

En agriculture, la complexité de la conduite des activités de production et de l'organisation du travail augmente rapidement mais la question du travail est encore très peu présente dans les problématiques de recherche (contrairement au domaine de la production industrielle). L'insertion d'un système de culture innovant dans une exploitation agricole, aussi bien que l'insertion d'un type variétal nouveau dans un système de culture peuvent impacter considérablement l'organisation du travail : le travail est, souvent, un point d'achoppement pour l'adoption d'une innovation. La question abordée dans le projet SILASOL [30] a porté sur la modélisation de l'organisation du travail pour prendre en compte les incidences directes et indirectes d'une innovation dans une démarche de conception ou d'évaluation ex ante assistées par modèle. L'effort de modélisation a porté sur la nature, l'agencement, et les propriétés des activités, des opérations et des ressources qu'elles mobilisent. Les raisonnements portent sur la localisation spatio-temporelle des actes techniques, en fonction de la perception dynamique de l'état du système, et l'allocation des ressources aux activités. Ce cadre accorde une place importante à la modélisation du contexte dans lequel le travail se déroule, c'est-à-dire les conditions qui président à la détermination des activités à réaliser à un moment donné et au déroulement de leur réalisation. L'agent en charge de la conduite est modélisé à travers son observation (surveillance) de l'appareil de production, sa prise de décision en situation quant aux interventions sur cet appareil. Pour analyser le comportement organisationnel du gestionnaire, il est nécessaire de modéliser la nature circonstancielle des décisions opérationnelles qui, du fait des facteurs incontrôlables (e.g. le climat) pesant sur un système agricole, voient leur pertinence et leur faisabilité très dépendantes des conditions et contraintes courantes, en particulier celles qui concernent les ressources. Le couplage entre un modèle de culture et le modèle d'organisation du travail permet d'estimer les conséquences des retards de semis et des conditions d'implantation parfois médiocres sur la production (moyenne et variabilité) des différents types variétaux.

## 7.3. DHIVINE

Le développement de Dhivine [24] a été motivé par la nécessité d'évaluer les impacts environnementaux des pratiques de gestion en viticulture, en particulier la pulvérisation de pesticides et le travail du sol. Dans cette étude, le modèle a été utilisé pour reproduire les calendriers et les lieux de travail du sol et de pulvérisation de
pesticides sur un vignoble. Dhivine simule de manière réaliste la production de raisins à l'échelle de l'exploitation et les processus de gestion responsables de la planification dynamique des activités (en particulier le choix des parcelles sur lesquelles il convient d'intervenir en priorité). Son originalité réside dans l'expression de la diversité des stratégies de gestion. Le modèle est bien adapté à l'étude de la gestion centralisée qui se concentre sur la programmation et la contextualisation des activités, qui doivent être connues pour évaluer avec précision les impacts environnementaux des systèmes de culture. Notre approche de modélisation améliore les outils traditionnels d'analyse des exploitations agricoles en fournissant une vue globale et orientée vers la gestion. Dhivine n'est pas destiné à reproduire le processus de décision d'un gestionnaire particulier, qui semble dépasser les capacités actuelles des sciences cognitives et de la décision. Il vise plutôt à déterminer les schémas spatiaux et temporels des opérations produites par la mise en œuvre d'une stratégie de gestion conçue par le modélisateur (éventuellement inspirée de celles observées) et si ces schémas sont qualitativement cohérents avec les attentes des experts (par exemple, chercheurs, gestionnaires de vignobles, conseillers).

## 8. DISCUSSION ET TRAVAUX CONNEXES

Bien que l'existence du lien conceptuel entre l'action et intention fasse consensus, il reste délicat d'expliquer ce lien qui a fait l'objet de travaux de recherche par des philosophes [1, 5, 3, 28] et des psychologues cognitifs [38]. Les travaux ont en particulier visé à clarifier les relations entre les intentions prospectives, l'action intentionnelle et l'action avec une certaine intention. Nous nous sommes interessés aux intentions prospectives mises en avant par Bratman [3] pour leur rôle central dans la planification d'actions qui sont motivées par des objectifs, s'étalent dans le temps, et nécessitent pilotage anticipatoire, coordination et décisions sur les moyens. Le travail théorique de Bratman a inspiré en partie le développement du modèle logiciel initial de type BDI (Belief-Desire-Intention) [4, 9, 14] qui met en œuvre les notions de croyance, de désir et d'intention, cette dernière véhiculant l'idée d'engagement sur un plan d'action et donc de décision ayant une portée et une persistance temporelle. Outre son fondement philosophique, l'approche BDI a donné lieu à de multiples implémentations et applications, ainsi que des travaux théoriques utilisant une famille de logiques formelles permettant des raisonnements dans un cadre multiagent [39]. La richesse d'expression des connaissances dans les plans reste toutefois limitée quant au contraintes temporelles et leur flexibilité. Les plans considérés dans les BDI ne sont des solutions que pour des intentions considérées isolément [13] alors que les besoins pratiques de coordination et de gestion des ressources requièrent une appréhension globale.

Pour des besoins d'automatisation, d'augmentation de la productivité et de réduction des coûts, la gestion de production dans les organisations et dans la production manufacturière, les sciences de gestion, ont fait naître des modélisations de workflows, flux de travaux ou encore flux opérationnels, représentant une suite de tâches ou d'opérations effectuées par une personne ou un groupe de personnes dans la réalisation d'un
processus métier ou d'une « procédure d'entreprise ». Simultanement ont été développés des méthodes, des techniques et des outils (BPM = Business Process Management) pour aider à la conception, la mise en œuvre, la gestion et l'analyse des workflows [35]. Les modèles de workflow ont des points communs avec la représentation de plans dans notre approche, en particulier la possibilité d'exprimer des trajectoires d'action complexes et diverses, dépendant de l'occurence d'événements et de la disponibilité de ressources. De plus la simulation de workflow est une des techniques d'analyse utilisées. Toutefois, la spécificité des systèmes agricoles est de dépendre d'un environnement extérieur incontrôlable et d'opérer sur des entités biologiques qui ont rendu nécessaire la capacité de conférer de la flexibilité dans la spécification et la mise en œuvre d'un plan. Ce besoin n'est pas aussi prégnant dans les domaines d'application des modèles de type workflow. La nature biologique des productions agricoles les rend fondamentalement différentes des productions manufacturières. L'incertitude dans l'industrie concerne principalement les objectifs de production (la demande) et, à un degré moindre, la disponibilité de ressources (e.g. panne de machine). En agriculture, l'incertitude affecte le déterminisme des actions et force l'enchaînement des actions à être dépendant du contexte pour faire face à des menaces ou saisir des opportunités. Les processus de production manufacturée sont entièrement conçus par l'homme et sont de ce fait pensés en cohérence avec les besoins de planification et d'ordonnancement des opérations. En agriculture les processus de production peuvent se poursuivre sans intervention humaine sous l'effet des facteurs moteurs naturels (lumière, énergie). De plus, les critères de performance diffèrent : dans l'industrie on cherchera typiquement à réduire les temps d'exécution alors qu'en agriculture on s'attachera en priorité à la maîtrise des risques liés aux facteurs incontrôlables.

La problématique d'exécution d'actions pré-programmées dans un monde ouvert est aussi abordée par les communautés de planification en intelligence artificielle (voir par exemple le système PRS [14]). Dans ces approches [10], l'accent est plutôt mis sur la synthèse automatique de plan, sur la vérification formelle de propriétés souhaitables d'un plan, et sur les performances d'exécution. Parce que nous nous attachons seulement à éliciter et simuler des comportements décisionnels conçus par des agents humains nous donnons une plus grande importance à la richesse expressive du langage de représentation pour qu'il puisse capter les pratiques observées en conduite de production. Le langage doit être suffisamment flexible, pour éviter de forcer un engagement trop précoce et permettre d'entrelacer en temps utile l'interprétation et la révision de plan avec l'allocation de ressources. La synthèse automatique de plan nous paraît encore hors d'atteinte (d'une complexité combinatoire trop grande) pour notre domaine d'application. Toutefois les plans que nous utilisons (qui sont construits *a priori* plutôt que générés par un algorithme de planification) ont une structure arborescente semblable aux plans HTN (Hierarchical Task Network) et explicitent une décomposition des activités partant des plus abstraites jusqu'à celles primitives, directement exécutables. L'approche HTN a plutôt été utilisée pour réduire la complexité de la planification grâce à l'exploitation de connaissances heuristiques du domaine.

Plusieurs approches de spécification du comportement d'agent ont été publiées dans la littérature d'IA et de robotique. Les langages d'agent à base de formalismes
en logique du premier ordre comme ceux de la famille Golog/ConGolog [6] ont été conçus principalement pour faire du raisonnement formel sur les activités courantes et potentielles d'un agent de façon à s'assurer que certaines propriétés sont bien vérifiées. Ils s'appuient sur des représentations symboliques de l'environnement de l'agent et sur des théories de l'action qui permettent d'exprimer des relations entre des propriétés (fluents) dépendantes de situations, l'effet des actions sur ces propriétés et de raisonner sur ceux-ci. ConGolog permet de spécifier des plans complexes qui sont des sortes de procédures de conduite. Il utilise des structures de programmation autorisant l'expression de séquencement, exécution en parallèle, des actions de test, le choix non-déterministe d'actions et l'itération d'action. Un programme ConGolog utilise une version étendue du calcul de situation pour simuler les changements du monde de façon à pouvoir vérifier l'exécutabilité d'une action par anticipation (avant son exécution réelle) et pour choisir intelligemment la bonne branche en présence d'actions alternatives. La principale différence avec notre approche est que notre interpréteur ne peut déterminer que progressivement les actions potentiellement exécutables. La non-exécutabilité est une propriété qui n'est révélée que dès qu'une impasse est découverte par la procédure *Update*. En fait, pour notre domaine d'application, nous recherchons plutôt une estimation statistique de la non-exécutabilité; un plan qui ne marche pas (ou pas bien) dans des scénarios climatiques extrêmes (e.g. sécheresse sévère) ne sera pas nécessairement rejeté en agriculture. Une situation de non-exécutabilité d'un plan révélée par la simulation appelle une modification du plan ou des ajustements conditionnels dont le rôle est précisément de changer le plan lorsque les circonstances rencontrées sont trop éloignées de ce qui était attendu. D'autre part, nos problèmes de conduite sont riches en contraintes temporelles sur et entre les activités. Nous avons ainsi accordé de l'importance à l'intelligibilité du langage de représentation de plan. Enfin, les actions ont, en agriculture, des conséquences complexes et hautement incertaines qui paraissent difficilement incorporables dans une théorie de l'action permettant d'anticiper précisément leurs effets. Il n'est pas encore clair que ces approches formelles puissent s'appliquer à des problèmes de cette complexité et portant sur des mondes changeant continument (voir [17] toutefois).

Le type de contraintes temporelles flexibles utilisées dans notre représentation de plan est aussi présent dans le système COMIREM [34] qui met en avant un paradigme de planification interactive opportuniste. Dans ce système, l'allocation de ressources est incrémentale et se fait lorsqu'arrivent de nouvelles contraintes de disponibilité et lorsque de nouvelles activités sont incorporées au plan.

## 9. REMARQUES DE CONCLUSION

Nous avons présenté un cadre de représentation de plans flexibles spécialement conçu pour l'étude de la conduite de systèmes de production agricole qui sont fortement dépendants de facteurs incontrôlables. De fait, en dépit de l'incertitude et de la variabilité inhérentes aux systèmes biophysiques, les processus de décision en conduite de production agricole ne sont pas purement réactifs. Des régularités d'une année à l'autre permettent aux agriculteurs de planifier dans les grandes lignes les
principales activités requises par un objectif de production dans un contexte donné. La construction du plan est typiquement faite par un binome modélisateur-agronome pour structurer temporellement et procéduralement (coordonner) un ensemble d'intentions de l'agriculteur (virtuel ou réel) qui sont censés mettre en cohérence les finalités et les potentialités du système de production. Le plan embarque un ensemble d'objectifs qui restent implicites dans notre approche, le raisonnement sur ces objectifs se faisant en amont ou lors de l'élaboration du plan. Cette tâche de planification nécessite de procéder à un subtil arbitrage entre sous-spécification qui n'aurait qu'un faible pouvoir canalisateur, et sur-spécification qui par la trop grande rigidité induite ne serait pas à même de faire face à la variété de situations potentielles. Ainsi, les intentions composant le plan doivent être spécifiées conditionnellement et laisser une certaine flexibilité qui est exploitée lors de la délibération précédant tout choix d'actions à exécuter.

Le recours à la modélisation est bénéfique dans deux stades de vie d'un modèle de simulation : lors de sa construction (modélisation) et dans sa manipulation dans des expériences de simulation. La phase de modélisation est coûteuse en temps pour l'élicitation des connaissances pratiques de l'agriculteur [20] (savoir-faire de gestionnaire de système de production) et de développement informatique. L'exigence pèse sur les agronomes (voire les agriculteurs) impliqués dans le projet et sur les modélisateurs qui doivent d'abord acquérir la maîtrise de la plateforme de modélisation-simulation. D'autre part, comme pour tout exercice de modélisation, notre approche doit inévitablement se confronter à la recherche de compromis entre le réalisme, la précision et l'intelligibilité des modèles développés. Il est impossible de modéliser toutes les activités (par exemple, l'entretien du matériel) et de saisir avec précision les croyances, les intentions, les attitudes et les contraintes des gestionnaires. Il semble de plus impossible de prédéfinir toutes les contingences possibles qui peuvent affecter un processus de production. Plus fondamentalement, la modélisation est délicate parce que les processus cognitifs que les gestionnaires de production mettent en œuvre dans leur prise de décisions restent mal connus car peu explorés scientifiquement jusqu'à présent [18].

Les problèmes de décision opérationnelle (sur l'action) sont notablement différents des problèmes de décision pour la conception (design) et de choix stratégique qui abordent en premier lieu des questions de configuration et d'organisation. Le problème de décision en conception est « ponctuel » et énoncé de manière statique. Une autre caractéristique de la prise de décision opérationnelle est qu'une grande partie des connaissances invoquées sont tacites et internes dans la tête de l'agriculteur. Toutefois les approches de simulation telles que celle considérée dans cet article ont un réel intérêt pour le dimensionnement de systèmes de production et, en particulier, pour la conception de stratégies de gestion.

Une limite de notre approche de modélisation du comportement décisionnel de l'agriculteur est qu'elle se cantonne à une vision trop restrictive du décideur et oublie la dimension socio-écologique englobante [19] dans laquelle interagissent des processus écosystémiques [37] et des processus sociaux. La gestion des systèmes agricoles est souvent placée sous la responsabilité de plusieurs personnes (membres de la famille ou associés). Les aspects sociaux de la prise de décision jouent alors un rôle important. Ils
pèsent beaucoup aussi lorsque plusieurs agriculteurs sont en situation des ressources matérielles (équipements ou eau d'irrigation) ou ont des objectifs communs (créer ou maintenir des services écosystémiques à l'échelle du paysage). Il se pose alors un problème de coordination de leurs plans et actions respectifs. Des recherches supplémentaires sont nécessaires pour passer à un tel niveau multiagent.

BIBLIOGRAPHIE

[1] G. E. ANSCOMBE, *Intentions*, Blackwell, Oxford, UK, 1963.

[2] J. ANTLE, S. CAPALBO, E. ELLIOTT, H. HUNT, S. MOONEY & K. PAUSTIAN, « Research Needs for Understanding and Predicting the Behavior of Managed Ecosystems : Lessons from the Study of Agroecosystems », *Ecosystems* **4** (2001), p. 723-735.

[3] M. BRATMAN, *Intentions, Plans and Practical Reason*, Harvard University Press, Cambridge, 1987.

[4] M. BRATMAN, D. ISRAEL & M. POLLACK, « Plans and resource-bounded practical reasoning », *Com- putational Intelligence* **4** (1988), n° 3, p. 349-355.

[5] D. DAVIDSON, *Essays on Actions and Events*, Oxford University Press, Oxford, UK, 1980.

[6] G. DE GIACOMO, Y. LESPÉRANCE & H. LEVESQUE, « Congolog, a concurrent programming language based on the situation calculus », *Artificial Intelligence* **121** (2000), n° 1, p. 109-169.

[7] G. EDWARDS-JONES, « Modelling farmer decision-making : concepts, progress and challenges », *Animal Science* **82** (2006), p. 783-790.

[8] G. FEOLA & C. BINDER, « Towards an improved understanding of farmers’ behaviour : the integrative agent-centered (IAC) framework », *Ecological Economics* **69** (2010), p. 2323-2333.

[9] M. GEORGEFF & F. INGRAND, « Decision-making in an embedded reasoning system », in *International Joint Conference on Artificial Intelligence (IJCAI-89)*, 1989, p. 972-978.

[10] M. GHALLAB, D. NAU & P. TRAVERSO, « The actor’s view of automated planning and acting : A position paper », *Artificial Intelligence* **208** (2014), p. 1-17.

[11] G. GIGERENZER, « Fast and frugal heuristics : The tools of bounded rationality », in *Blackwell handbook of judgment and decision making* (D. Koehler & N. Harvey, éds.), Blackwell, Oxford, UK, 2004, p. 62-88.

[12] J. B. HARDAKER, R. B. M. HUIRNE & J. R. ANDERSON, *Coping with Risk in Agriculture*, CAB International, Wallingford, 1997.

[13] A. HERZIG, E. LORINI, L. PERRUSSEL & Z. XIAO, « BDI logics for BDI architectures : old problems, new perspectives », *KI - Künstliche Intelligenz* **31** (2017), n° 1, p. 73-83.

[14] F. INGRAND, M. GEORGEFF & A. RAO, « An architecture for real-time reasoning and system control », *IEEE Expert* **7** (1992), n° 6, p. 34-44.

[15] G. MARTIN, R. MARTIN-CLOUAIRE, J.-P. RELLIER & M. DURU, « A conceptual model of grassland- based beef systems », *International Journal of Agricultural and Environmental Information Systems* **2** (2011), n° 1, p. 20-39.

[16] ——, « A simulation framework for the design of grassland-based beef-cattle farms », *Environmental Modelling & Software* **26** (2011), p. 371-385.

[17] Y. MARTIN, « The concurrent continuous FLUX », in *International Joint Conference on Artificial Intelligence (IJCAI-03)*, 2003, p. 1085-1090.

[18] R. MARTIN-CLOUAIRE, « Modelling operational decision-making in agriculture », *Agricultural Sciences* **8** (2017), p. 527-544.

[19] ——, « Ontological foundation of ecosystem services and the human dimension of agroecosystems », *Agricultural Sciences* **9** (2018), p. 525-545.

[20] ——, « Knowledge elicitation and modeling of agroecological management strategies », in *Information and Communication Technologies for Agriculture–Theme III : Decision* (D. Bochtis, C. Sørensen, S. Fountasand, V. Moysiadis & P. Pardalos, éds.), Springer, 2021.

[21] R. MARTIN-CLOUAIRE & J.-P. RELLIER, « Fondements ontologiques des systèmes pilotés », Tech. report, UBIA-INRA, 2004, Rapport Interne UBIA-INRA, Toulouse-Auzeville (dernière version : juin 2012). https://hal.inrae.fr/hal-03153904/file/Ontol-Syst-pilot.pdf.
[22] —, « Modelling and simulating work practices in agriculture », *International Journal of Metadata, Semantics and Ontologies* **4** (2009), p. 42-53.

[23] —, « Dynamic Resource Allocation in Farm Management Simulation », in *19th International Congress on Modelling and Simulation (MODSIM2011)* (F. Chan, D. Marinova & R. S. Anderssen, éds.), 2011, http://www.mssanz.org.au/modsim2011/B1/martin_clouaire.pdf, p. 808-814.

[24] R. MARTIN-CLOUAIRE, J.-P. RELLIER, N. PARÉ, M. VOLTZ & A. BIARNÈS, « Modelling management practices in viticulture while considering resource limitations : the Dhivine model », *PLoS ONE* **11** (2016), n° 3, article no. e0151952 (21 pages).

[25] R. McCOWN, « New Thinking About Farmer Decision Makers », in *The Farmer's Decision : Balancing Economic Successful Agriculture Production with Environmental Quality* (J. Hatfield, éd.), Soil and Water Conservation Society, Ankeny, Iowa, USA, 2005, p. 11-44.

[26] R. McCOWN, G. HAMMER, J. HARGREAVES, D. HOLZWORTH & D. FREEBAIRN, « APSIM : a novel software system for model development, model testing and simulation in agricultural systems research », *Agricultural Systems* **50** (1996), n° 3, p. 255-271.

[27] B. ÖHLMÉR, K. OLSON & B. BREHMER, « Understanding farmers’ decision making processes and improving managerial assistance », *Agricultural Economics* **18** (1998), p. 273-290.

[28] E. PACHERIE, « Conscious Intentions - The Social Creation Myth », chap. 29(T), MIND Group, Frankfurt am Main, 2015.

[29] J.-P. RELLIER, « DIESE : un outil de modélisation et de simulation de systèmes d'intérêt agro-nomique », Tech. report, UBIA-INRA, 2005, Rapport Interne UBIA-INRA, Toulouse-Auzeville. https://carlit.toulouse.inra.fr/diese/docs/ri_diese.pdf.

[30] J.-P. RELLIER, R. MARTIN-CLOUAIRE, N. CIALDELLA, M. JEUFFROY & J. MEYNARD, « Modélisation de l'organisation du travail en systèmes de grande culture : méthode et application à l'évaluation ex ante d'innovations variétales de pois », in *Le travail en agriculture : son organisation et ses valeurs face à l'innovation* (P. Béguin, B. Dedieu & E. Sabourin, éds.), L'Harmattan, 2011, p. 205-221.

[31] M. SCHLÜTER, A. BAEZA, G. DRESSLER, K. FRANK, J. GROENEVELD, W. JAGER, M. JANSSEN, R. MCALLISTER, B. MÜLLER, K. ORACH, N. SCHWARZ & N. WIJERMANS, « A framework for mapping and comparing behavioural theories in models of social-ecological systems », *Ecological Economics* **131** (2017), p. 21-35.

[32] H. A. SIMON, *The Sciences of the artificial*, The MIT Press, Cambridge, MA, 1996.

[33] S. SMITH & M. BECKER, « An ontology for constructing scheduling systems », in *AAAI-97 Spring Symposium on Ontological Engineering*, 1997.

[34] S. F. SMITH, D. W. HILDUM & D. R. CRIMM, « COMIREM : an intelligent form for resource management », *IEEE Intelligent Systems* **20** (2005), n° 2, p. 16-24.

[35] W. M. P. VAN DER AALST, « Business Process Management : A Comprehensive Survey », *ISRN Software Engineering* **2013** (2013), p. 1-37.

[36] K. WALDMAN, P. TODD, S. OMAR, J. BLEKKING, S. GIROUX, S. ATTARI, K. BAYLIS & T. EVANS, « Agricultural decision making and climate uncertainty in developing countries », *Environmental Research Letters* **15** (2020), n° 11, article no. 113004 (19 pages).

[37] A. WEZEL, *Agroecological Practices for Sustainable Agriculture : Principles, Applications, and Making the Transition*, World Scientific, London, 2017.

[38] F. WIEBER, J. THÜRMER & P. GOLLWITZER, « Intentional Action Control in Individuals and Groups », in *Acting intentionally and its limits : individuals, groups, institutions* (G. Seebass, M. Schmitz & P. Gollwitzer, éds.), De Gruyter, Berlin, 2013, p. 133-162.

[39] M. WOOLDRIDGE, *An Introduction to Multi-Agent Systems*, John Wiley & Sons, Hoboken, 2009.

<footnote>ABSTRACT. — In the conduct of agricultural production processes, any activity undertaken by the farmer responds to immediate or more or less long-term goals. The farmer's motivations can be expressed in a set of intentions that expresses, in the form of a flexible plan, a commitment to proceed in a certain way in order to move in the desired direction.</footnote>
The flexible nature of the plan allows for a wide range of possibilities and relevant behav-
iors to be incorporated depending on the contingencies that may arise. Because of this
flexibility, the problem of determining what actions to take and how to take them arises
continuously and must be dealt with in accordance with the current biophysical situation.
In particular, an important decision concerns the time of the action and, before that, the
time from which the relevance of the action should be monitored. When several action
options are open, it is necessary to determine which ones can be physically executed given
the resources to be mobilized and which ones are preferable according to the criteria put
forward by the farmer.

The article describes the representation of the flexible plans and the processes in-
voked during the execution, the mechanism that allows to simulate the change of state
of the intentions with the advance of time, and the mechanism by which the actions
to be executed are determined. These aspects have been incorporated into a discrete
event simulation platform that has been used to develop models of different agricultural
production systems ranging from livestock to vineyards. These models allow us to study
the importance of farmers’ organizational and decision-making abilities in explaining
differences in economic and environmental performance within the profession.

KEYWORDS. — Decision, Intention, Action, Discrete-event simulation.

Manuscrit reçu le 30 mars 2021, révisé le 15 juillet 2021, accepté le 1er septembre 2021.