• Aucun résultat trouvé

Cette partie a pour vocation d’expliquer le mécanisme de modélisation de la trajectoire conduisant aux calculs des flux qui permettront par la suite l’alimentation des indicateurs. Ce mécanisme se base sur une description par contraintes des flux traversants chaque opération. La résolution du calcul des flux est réalisée une fois que le modèle de la trajectoire est entièrement codé sous forme de contraintes puis transmis au solveur.

6.4. MÉTHODE DE CALCUL ET D’ÉVALUATION

6.4.1

Une approche par contraintes

Afin de calculer les flux dans la trajectoire modélisée, l’approche considérée a été de définir chaque opération comme un ensemble de règles ou plus exactement de contraintes entre les différents flux la traversants. Par conséquent, la création du modèle se fait par l’ajout de blocs indépendants du reste du système. Chaque bloc contraint les valeurs des flux entrants et sortants à respecter certaines règles. Il s’ensuit que le mécanisme de résolution cherchera une solution vérifiant l’ensemble des contraintes imposées par chaque opération. Dans ce qui suit, nous présentons les différentes syntaxes que nous avons implémentées pour décrire les règles dans chaque opération.

La description dans une opération se fait en identifiant son entrée ou sa sortie par son nom, suivi du composant prise en compte (composant qui peut être un élément physique ou une information). Ainsi : A > CO2signifie que le composant CO2 dans le connecteur A. De même, le symbole @ représente tous les composants présents (mais pris individuellement). Par exemple, supposons que le flux possède trois éléments c1,c2,c3 et que l’on souhaite dire que tous ce qui rentre dans le connecteur A doit sortir dans le connecteur B. Il est possible de formuler ces contraintes par trois règles :

1. A>c1 = B>c1 2. A>c2 = B>c2 3. A>c3 = B>c3

De cette façon, il est nécessaire, lors du paramétrage de l’opération, de connaître tous les composants et, pour chaque composant, définir une règle. Avec le symbole @, ce type de contrainte devient :

1. A>@ = B>@

Cependant, il est parfois utile de définir des exceptions pour certains composants. Par conséquent, il est possible, lors de la définition du conteneur, d’exclure certains composants du symbole @.

Les règles qui sont insérables comme contraintes sont décrites dans le tableau suivant : Contraintes Explications

A>c1 + 2*B>c2 = 3*C>c3 la quantité de composé c1 dans le conteneur A + 2*la quantité de composé c2 dans le conte- neur B est égale a 3*la quantité de composé c3 dans le conteneur C

A>c1 + 5*B>c2 >= C>c3 La valeur à gauche est supérieure ou égale à la valeur de droite

A>c1 + 5*B>c2 <= C>c3 La valeur à gauche est inférieure ou égale à la valeur de droite

A>c1 != B>c2 != C>c3 Les trois valeurs sont différentes entre elles min(A>c1,B>c2,C>c3,55) Minimum des quatres valeurs

max(A>c1,B>c2,C>c3) Maximum des trois valeurs

6.4.2

Calcul des différents types de flux

Le but de la résolution du modèle est le calcul des différents flux. Comme expliqué précédemment, il est possible de distinguer deux types d’informations. Le premier est le flux physique, c’est-à-dire qu’un flux lie les valeurs associés à deux conteneurs. Autrement dit, il impose une contrainte sur les valeurs manipulées par les opérations unitaires. Le deuxième type d’information est le contenu de chaque flux. En effet, ces derniers peuvent contenir différentes valeurs associées à des quantités. Par exemple, il peut s’agir d’un flux matière où, dans ce cas, les valeurs seront les différents composés contenus dans ce flux ainsi que leurs débits partiels. Dans notre cas, les principales valeurs circulant dans le modèle seront les suivantes :

— Les matières : tout type de composés ou d’éléments qui seront principalement les entrants sortants des opérations ainsi que les utilités.

— Les énergies : par exemple la consommation électrique.

— Les capitaux : les flux financiers, par exemple d’une usine à l’autre ce qui pourra correspondre au chiffre d’affaires.

Chaque flux étant relié à un connecteur de sortie (provenance) et d’entrée (arrivée), il assure une contrainte entre deux connecteurs et par la même occasion entre deux opérations. En effet, la valeur du flux est égale à la valeur du connecteur de sortie, et la valeur du connecteur d’entrée est égale à la somme, par composant, des valeurs des flux connectés. Par ce mécanisme, chaque flux est relié à des contraintes issues de différents blocs formant ainsi un système de contraintes. Pour terminer le modèle, il reste encore à intégrer les contraintes entre les valeurs des connecteurs dans une même opération. Nous avons déjà vu que ces dernières étaient définies

TRAJECTOIRES DE VALORISATION

par des règles implémentées lors de la construction de la classe correspondant au type d’opération souhaitée et pouvant être modifiée par la suite. Ces règles constituent de fait des contraintes entre les valeurs des connecteurs. Plusieurs remarques : il est possible d’observer que ce système, bien que simple, permet la gestion d’un nombre important de connecteurs. De plus, l’insertion des règles au niveau de la classe grâce à l’emploi de la méta-classe assure un comportement par défaut et, comme ces règles sont propres à l’objet en question et ne dépendent en rien des éléments extérieurs, assure une simplicité et une rapidité de modélisation.

6.4.3

Transformation des contraintes locales en un modèle unifié

Dans la partie précédente, nous avons vu les mécanismes régissant la mise sous contraintes des différents opérations et flux. De part la programmation, ces contraintes sont encapsulées, c’est-à-dire qu’elles sont indépen- dantes du milieu extérieur autre que l’objet où elles se trouvent. Il est donc nécessaire de les transformer pour en faire un modèle unifié permettant sa résolution par un solveur. Le mécanisme mis en œuvre ici se résume en une conversion des contraintes par des variables uniques pour l’ensemble du système modélisé. Trois paramètres entre en jeu pour la création de ces dernières :

— Le connecteur — Le flux

— La valeur (le composant par exemple)

Par conséquent, pour une opération, il y a autant de variables que le produit du nombre de flux connecteurs et composés circulant. L’opération consiste donc à attribuer à chaque flux et chaque connecteur un identifiant unique auquel sera ajouté le nom d’une valeur. Ce mécanisme conduit à l’obtention d’une liste de règles modélisant un système de contraintes.

6.4.4

Transformation des contraintes pour faciliter leur utilisation par les mo-

dules de solveur

Chaque solveur ayant sa propre syntaxe pour représenter un modèle de contrainte, il est plus facile de transformer les contraintes du langage naturel en vecteur en identifiant les variables, les réels et le symbole mathématique décrivant la contrainte. Par exemple une égalité du type :

— A>c1 + 2* A>c2 + B>c1 = 7*D>c3 +44 est convertie sous la forme suivante :

— [A>c1,A>c2 ,B>c1 ,D>c3],[1,2,1,-7],44,égalité (où chaque A>c1,A>c2 etc sont transformées en variables globales uniques).

Cette forme est plus compliquée pour l’utilisateur à écrire (moins naturelle), mais elle est plus facilement transformable selon la syntaxe du solveur.

6.4.5

Introduction des systèmes et évaluation des structures

Cette section va présenter l’utilité et le fonctionnement des systèmes. Comme expliqué précédemment, le modèle se veut pouvoir modéliser une trajectoire sous plusieurs niveaux de granularité : comme les opérations unitaires ou encore au niveau usine. Or par un souci d’efficacité et de simplicité, il a été choisi de ne représenter, au niveau calcul, que les contraintes au niveau le plus bas. Pour satisfaire cette contrainte, on introduit ici le concept de système.

On définit un système comme un regroupement d’une ou plusieurs opérations de bas niveau. Par conséquent, d’un point de vue calcul, les systèmes sont transparents, n’ayant pas d’impact sur ce dernier. Les systèmes permettent de regrouper plusieurs éléments afin de permettre une modélisation et surtout une analyse plus cohérente. En effet, l’analyse de la trajectoire par les indicateurs sélectionnés ne se fait qu’au niveau système. Par conséquent, cette idée suppose qu’un élément de niveau supérieur n’existe que comme « concept » et non pas comme réalité à proprement parlé. Par ce mécanisme, la modélisation acquiert une grande fluidité car elle permet de définir, pour une opération, plusieurs systèmes associés. Par conséquent, pour une même modélisation de trajectoire, plusieurs systèmes peuvent être représentés offrant ainsi la possibilité, par exemple, d’une étude de configuration optimale dans la répartition des opérations par centres ou lieux.

6.4.6

Fonctionnement des modules d’évaluation

Les modules d’évaluations sont utilisés une fois que l’ensemble des flux sont calculés. Ces valeurs peuvent être soit des valeurs de flux, soit des valeurs propres aux opérations qui peuvent avoir été intégrées. Il n’y a donc pas, lors de la phase d’évaluation ou d’analyse, de modification de la trajectoire ou d’un de ces éléments. De plus, une des limitations des analyses, par exemple l’analyse environnementale, est qu’elles nécessitent d’être limitées