# Convexité du coût annualisé des systèmes énergétiques avec une durée de vie dépendant de l'usage

Pierre Haessig, Elsy El Sayegh, Jean Fructhieu Armand Delwende Nikiema, Nabil Sadou

► To cite this version:

Pierre Haessig, Elsy El Sayegh, Jean Fructhieu Armand Delwende Nikiema, Nabil Sadou. Convexité du coût annualisé des systèmes énergétiques avec une durée de vie dépendant de l'usage. Symposium de Génie Électrique (SGE) 2025, Jul 2025, Toulouse, France. hal-05144507

HAL Id: hal-05144507

https://hal.science/hal-05144507v1

Submitted on 4 Jul 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

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

Distributed under a Creative Commons Attribution 4.0 International License
# Convexité du coût annualisé des systèmes énergétiques avec une durée de vie dépendant de l'usage

Pierre HAESSIG¹, Elsy EL SAYEGH², Jean Fructieu NIKIEMA¹, Nabil SADOU¹

¹IETR, CentraleSupélec, Rennes, ²EDF R&D, Palaiseau,

**RÉSUMÉ** – Le dimensionnement des systèmes énergétiques est un problème d'optimisation parfois complexe à résoudre. Pour avoir des garanties de convergence en un temps raisonnable, il est souhaitable que le problème soit convexe. Cependant, la prise en compte de l'impact du régime d'utilisation des composants d'un système énergétique sur leur durée de vie (en particulier cyclage batterie) aboutit à une expression non linéaire du coût annualisé avec taux d'actualisation. Nous prouvons ici que cette expression est convexe. Comparés à un modèle classique à durées de vie supposées fixes, les résultats avec dépendance à l'usage sont plus réalistes et réduisent le coût réel du système. De plus, le temps de résolution est du même ordre de grandeur grâce à une approximation linéaire par morceaux. Notre analyse permet également d'améliorer les formulations basées sur une pénalisation de l'usage.

*Mots-clés – Systèmes énergétiques, microréseaux, dimensionnement, vieillissement, optimisation convexe.*

## 1. INTRODUCTION

Le dimensionnement des systèmes énergétiques est souvent formulé comme un problème d'optimisation. Il faut à la fois déterminer la taille et le type de chacun des composants, mais également résoudre le problème imbriqué de la gestion d'énergie (répartition de flux d'énergie entre les composants à chaque instant). Les critères et/ou contraintes à optimiser incluent des coûts (économique, environnemental...) et des indicateurs de qualité de service. Dès lors que le nombre de composants augmente (p. ex. systèmes multi-énergies) ou que l'on prend en compte des contraintes complexes (contraintes opérationnelles, contrainte de transit des flux de puissance dans un réseauSPA TIALEMENT ÉTENDU...), le problème peut devenir difficile, voire impossible à résoudre dans un temps raisonnable.

Le problème d'optimisation du dimensionnement peut être formulé de plusieurs manières que l'on peut classer en deux familles de modèles :

- **Modèle algébrique** : objectif de conception et contraintes formulées à l'aide d'équations acausales, implémentées à l'aide de langages de modélisation pour l'optimisation (GAMS, Pyomo, JuMP...). Exemples : DER-CAM [1], PyPSA, FINE, OSeMOSYS, et bien d'autres [2, 3].

- **Modèle impératif** : un code de calcul numérique (Matlab, C++, Python, Julia...) implémente un modèle "direct" (simulateur de la performance opérationnelle et économique) qui prend comme entrée un design à tester et génère des indicateurs clés de performance (KPI) à optimiser. Ensuite, cette fonction est transmise à une routine d'optimisation boîte noire qui cherche itérativement le meilleur design qui optimise les KPI souhaités. Exemples : HOMER [4], iHOGA [5], ODYSSEY [6] ou Microgrids.jl [7].

Si les modèles impératifs ont des avantages [8], ils restent plus souvent appliqués aux seuls microréseaux, alors que les approches algébriques sont mieux adaptées pour prendre en compte des contraintes complexes. Surtout, seules les formulations algébriques peuvent offrir des garanties de convergence d'optimisation en un temps raisonnable, mais à condition que le problème soit convexe.

Plus un modèle de dimensionnement prend en compte de détails techniques (par ex. physique des composants) ou économiques, plus il peut produire des résultats réalistes (c'est-à-dire avec un faible écart par rapport à la future performance du système une fois déployé sur le terrain). Cependant, cette course au réalisme peut rapidement aboutir à des modèles insolubles, en particulier dès lors que le modèle global devient non convexe.

Un aspect de modélisation important pour les systèmes énergétiques est le **vieillissement** des composants, en particulier le stockage par batterie [9]. Le vieillissement entraine des remplacements qui augmentent le coût global, or il est lié à la *phase d'usage*. Le vieillissement créé donc un couplage entre l'usage à chaque instant des composants et le coût global du système et cette dépendance est généralement non linéaire. Pour éviter ce couplage, les modèles d'optimisation **algébriques** de la littérature sont quasiment tous :

- soit à **durée de vie fixe**, sans effet de l'usage

- soit avec **pénalisation de l'usage**

car cela préserve la convexité du modèle. La formulation à durée de vie fixe est une hypothèse simplificatrice très largement utilisée ([1, 2, 3] parmi beaucoup d'autres), alors que la pénalisation de l'usage est nettement plus rare (Li [10], Balderrama [11]).

Cependant, nous prouvons ici que l'effet de l'usage sur le coût global du système, bien que non linéaire, **peut être convexe**, au moins pour des modèles simples de vieillissement (comptage du cyclage batterie avec l'énergie échangée [9]). Cela avait d'ailleurs été relevé dans un cas particulier, mais non prouvé, par Moretti [12] qui est la seule exception que nous connaissons à la classification ci-dessus.

Cet article, qui est une version française courte d'un manuscrit en cours de finalisation [13], propose une preuve de la convexité et une illustration numérique de la méthode proposée. Nous traitons un exemple simple de dimensionnement d'un microréseau isolé avec des productions solaire et éolienne ainsi qu'avec une batterie et un générateur. Nous comparons notre méthode aux deux approches classiques existantes, à savoir à durée de vie fixe ou avec pénalisation de l'usage.

## 2. FORMALISATION

### 2.1. Coût annualisé dans l'approche Single-Year

Pour l'optimisation des systèmes énergétiques (microréseaux ou autre), nous nous plaçons dans l'hypothèse des modèles "Single-Year" (SY) où une seule année, supposée représentative, est explicitement modélisée. Cette approche, choisie par les logiciels HOMER [4] ou iHOGA [5] (dans leur variante de base), permet de réduire le temps de calcul par rapport à une approche pluriannuelle. Notons que l'approche Single-Year a pour inconvénient d'empêcher de modéliser des effets long terme tels que des hausses ou baisses de consommation globale. Cela sort du cadre de cet article, mais est discuté en détail dans un de nos travaux récents [14, Ch4].

En Single-Year, les résultats de l'année simulée sont *extrapola*és économiquement sur la durée de vie du projet. En particulier en formulation algébrique, la fonction coût à minimiser est généralement le coût annualisé équivalent (AE) du système qui est
calculé par sommation du coût annualisé de chaque composant :

$$C^{ann} = \sum_{j=1}^{N_{comp}} C_{comp(j)}^{ann} \qquad (1)$$

où $C^{ann}$ est le coût annualisé du projet (€/an) et chaque composant $j$, parmi les $N_{comp}$ du système, a pour coût :

$$C_{comp(j)}^{ann} = I_{comp(j)} \times \text{CRF}(i, T_{comp(j)}) + \text{OM}_{comp(j)} \quad (2)$$

avec, en omettant l'indice $j$, $I_{comp}$ le coût d'investissement initial du composant (€) et $\text{OM}_{comp}$ le coût opérationnel et de maintenance (O&M, en €/an) qui est supposé constant au fil des ans dans l'hypothèse SY. L'annualisation, en tenant compte d'un taux d'actualisation $i$, fait intervenir le "Capital Recovery Factor" qui est l'inverse de la somme des facteurs d'actualisation $d_n = 1/(1+i)^n$ sur $T$ années :

$$\text{CRF}(i, T) = \left( \sum_{n=1}^{T} d^n \right)^{-1} = \frac{i}{1 - (1 + i)^{-T}} \quad (3)$$

À noter que, sans actualisation, $d_n = 1$ et $\text{CRF}(T) = 1/T$. Le cas sans actualisation est en particulier utile si l'on veut transposer notre approche centrée sur la minimisation du coût économique à d'autres critères comme l'impact carbone.

L'intérêt de la formulation annualisée par composant (1) est que la durée de vie de chaque composant peut être différente, ce qui modélise de façon implicite les coûts des remplacements des composants.

## 2.2. Analyse de convexité

En nommant $x$ la taille d'un composant (i.e. en kW ou kWh) et en faisant l'hypothèse classique, mais discutable, que les coûts d'investissement et de maintenance sont proportionnels à cette taille (par ex. $I_{comp} = p \cdot x$ où $p$ est le prix unitaire), alors $C_{comp}^{ann}(x)$ est une fonction linéaire et le coût global aussi. Ce n'est cependant vrai que si la durée de vie $T_{comp}$ est fixée ! Si la durée de vie dépend de l'usage, même avec un modèle simple comme le comptage de l'énergie échangée pour une batterie [9], alors le coût global est non linéaire via la composition usage $\mapsto T \mapsto \text{CRF}$, puis la bilinéarité $x \times \text{CRF}$, dès lors que le CRF n'est plus une constante.

Cependant, comme Moretti l'avait déjà noté sur un cas particulier et sans le prouver [12], le coût annualisé non linéaire peut être convexe et donc être approximé linéairement par morceaux. Le problème global peut alors être traité efficacement par un solveur linéaire (LP : Linear Programming).

Notre contribution se base sur une hypothèse générique sur la durée de vie de chaque composant qu'on suppose être de la forme :

$$T_{comp} = \frac{x}{u} \qquad (4)$$

où $u$ est une variable dite d'usage, dont la définition est à adapter pour chaque composant, ce que nous détaillons partie 2.3. Par exemple $u$ est proportionnelle à l'énergie échangée pour une batterie. L'hypothèse (4) s'interprète comme suit : pour une taille $x$ donnée, doubler l'usage $u$ (p. ex. les kWh qui transitent dans une batterie) réduit la durée de vie d'un facteur 2, mais pour un usage $u$ donné, doubler la taille double la durée de vie (car pour une batterie le nombre de cycles pleins équivalents est réduit d'un facteur 2).

Nous prouvons à présent la convexité du coût annualisé (2) sous l'hypothèse qu'un modèle de vieillissement peut se mettre sous la forme (4). Pour ce faire, nous mettons de côté le terme d'O&M supposé proportionnel à la taille ou l'usage pour se concentrer sur le terme non linéaire :

$$X^{ann}(x, u) = x \cdot \text{CRF}(T = x/u) \qquad (5)$$

<figure><img src="image_2.png" /><figcaption>FIG. 1. Contours de la fonction "taille annualisée" $X^{ann}(x, u)$ (5) pour un taux d'actualisation $i = 10\%$. En pointillés gris : approximation linéaire par morceaux à 3 régions (limites des régions marquées en rouge).</figcaption></figure>

que l'on nomme "taille annualisée". Le coût annualisé lui est simplement proportionnel ($C^{ann} = p \cdot X^{ann}$, hors O&M). Cette fonction bivariable est illustrée Fig. 1 sur le domaine $x \ge 0, u \ge 0$ où l'on peut voir que les lignes de niveau entourent des régions convexes, ce qui est une condition nécessaire, mais non suffisante de la convexité de $(x, u) \mapsto X^{ann}(x, u)$ sur $\mathbb{R}_+^2$. La figure permet de voir comment la taille annualisée (et donc le coût), partant d'une valeur nulle en $(0, 0)$, croît à la fois avec la taille $x$, mais aussi avec l'usage $u$ (via la réduction de $T_{comp}$).

Pour prouver la convexité, nous réécrivons $X^{ann}$ sous la forme :

$$X^{ann} = i \cdot g(z), \quad \text{pour } z = \frac{u}{x} \cdot \frac{1}{\log(1 + i)} \qquad (6)$$

qui fait apparaître la fonction unidimensionnelle :

$$g(z) = \frac{1}{1 - \exp(-1/z)}. \qquad (7)$$

La variable $z$ peut être interprétée comme l'inverse de la durée de vie (4), normalisée par le taux d'actualisation ($\log(1 + i) \approx i$). En particulier, $z$ est proportionnelle à l'usage $u$. Quant à $g(z)$, c'est le CRF normalisé par $i$, mais fonction de l'inverse de la durée de vie. La Fig. 2 représente la fonction, qui est minimale en $z = 0$ ($T_{comp} \to +\infty$) puis croît avec $z$ ($T_{comp} \to 0$). $g$ est visiblement au-dessus de toutes ses tangentes, ce qui est un critère de convexité. La preuve analytique, basée sur la positivité de $g''$, est donnée dans notre manuscrit [13].

Pour obtenir la convexité bidimensionnelle de $(x, u) \mapsto X^{ann}(x, u)$, il est possible de faire l'analyse des conditions au premier ordre comme dans [13], mais entre temps nous avons trouvé un critère plus direct, quoique plus abstrait : $X^{ann}(x, u)$ est la "perspective" de $g(z)$, or l'opération perspective préserve la convexité [15, §3.2.6].

Au final, la convexité permet d'écrire que la fonction est au-dessus de tous ses plans tangents, ce qui permet d'obtenir l'approximation linéaire par morceaux (PWL) suivante :

$$X^{ann}(x, u) \geq i \cdot g_0^0 \cdot x + \frac{i \cdot g_0'}{\log(1 + i)} \cdot u \qquad (8)$$

où l'on a utilisé la notation compacte $g_0' = g'(z_0)$ et $g_0^0 = g(z_0) - g_0' \cdot z_0$ pour la pente et l'ordonnée à l'origine d'une tangente à la fonction $g(z)$ au point de linéarisation $z_0$. Trois tangentes sont représentées Fig. 2, qui génèrent l'approximation à 3 régions Fig. 1. L'approximation linéaire se construit donc en instanciant plusieurs fois la contrainte linéaire (8), pour différentes valeurs de $z_0$ à choisir. Deux faits sont remarquables dans cette approximation. Tout d'abord, la forme
<figure><img src="image_3.png" /><figcaption>FIG. 2. Fonction g(z) (7) qui est convexe pour $z > 0$. Les deux principales asymptotes sont $g(z) \sim 1$ en $0^+$ et $g(z) \sim z - 1/2$ en $+\infty$, avec une transition à $z = 1/2$. Trois approximations linéaires sont tracées aux points $z_0 = 0, 1/2, +\infty$.</figcaption></figure>

particulière (6) permet de générer une approximation bidimensionnelle en ne balayant qu’un seul paramètre. Deuxièmement, cette approximation est indépendante des paramètres du composant modélisé (même s’il faut l’instancier pour chaque composant à durée de vie variable), car ces paramètres sont déplacés dans la définition de $u$, ce qui facilite une mise en œuvre générique. Les graphiques montrent qu’avec 3 points l’approximation linéaire par morceaux est déjà bonne, mais dans [13], nous montrons qu’en choisissant 10 points dans l’ensemble $Z_0^{(10)} = \{0, 0.20, 0.28, 0.37, 0.50, 0.68, 1.0, 1.7, 4.0, +\infty\}$, on obtient une erreur d’approximation de 0,23% dans le pire cas.

## 2.3. Modélisation de la durée de vie fonction de l'usage

Nous justifions à présent l'hypothèse de durée de vie (4) pour les deux composants à durée de vie variable considérés : la batterie et le générateur.

### Durée de vie batterie
Pour le cas d'une batterie, nous modélisons le vieillissement en cyclage par le modèle simple de l'énergie échangée, aussi appelé comptage des cycles pleins équivalents [9], qui est classiquement utilisé par ex. dans HOMER [4].

Dans ce modèle, on considère l'énergie échangée cumulée (en kWh/an) :

$$E_{through} = \frac{1}{2} \sum_{k=0}^{K_{sim}} |P_{sto}(k)| \Delta_t \quad (9)$$

avec $P_{sto}(k)$ la puissance échangée par la batterie à chaque instant $k$. Le fonctionnement opérationnel du système est modélisé sur 1 an (hypothèse SY) avec $K_{sim} = 8760$ instants pour un pas de temps $\Delta_t = 1$ h. À noter que la valeur absolue est généralement linéarisée en introduisant les variables auxiliaires de charge et de décharge ($|P_{sto}| = P_{sto}^+ + P_{sto}^-$), ce qui induit une relaxation qui est souvent, mais pas toujours, exacte [16].

L'énergie échangée sert à définir le nombre de cycles "pleins équivalents" (en c/an), par comparaison à la capacité $E_{sto}^{rated}$ (en kWh) :

$$N_{cycl} = \frac{E_{through}}{E_{sto}^{rated}} \quad (10)$$

Ce comptage des cycles permet d'estimer la durée de vie (en années), par comparaison à $N_{life}$ le nombre maximal de cycles que la batterie est supposée pouvoir fournir sur sa vie :

$$T_{cycl} = \frac{N_{life}}{N_{cycl}} \quad (11)$$

Dès lors, en comparant (11) à (4), et sachant que la variable "taille" considérée pour une batterie est $x = E_{sto}^{rated}$, on

constate que l'hypothèse de durée de vie est vérifiée en choisisant comme variable d'usage $u$ l'énergie cumulée comparée au paramètre $N_{life}$ :

$$u_{sto} = \frac{E_{through}}{N_{life}} \quad (12)$$

### Durée de vie générateur
Pour ce qui est du générateur, la modélisation est plus complexe, car le modèle classique de vieillissement des générateurs (là encore utilisé par HOMER [4]) fait appel au cumul du nombre d'heures de fonctionnement plutôt que de l'énergie produite. La durée de vie est estimée par :

$$T_{gen} = \frac{h_{life}}{h_{oper}} \quad (13)$$

avec $h_{life}$ le nombre total d'heures que le générateur peut fournir avant remplacement, et $h_{oper}$ le cumul effectivement utilisé (en h/an), calculé par :

$$h_{oper} = \sum_{k=0}^{K_{sim}} t_{oper}(k) \quad (14)$$

où $t_{oper}(k)$ compte le temps effectif d'utilisation à chaque instant, qui dépend de façon discontinue de la puissance fournie $P_{gen}$ :

$$t_{oper}(k) = \begin{cases} 0 & \text{si } P_{gen}(k) = 0 \\ \Delta_t & \text{si } P_{gen}(k) > 0 \end{cases} \quad (15)$$

Cette discontinuité est une non-convexité qui nécessite une modélisation MILP très coûteuse en temps de calcul [17]. Nous proposons à la place une approximation linéaire qui revient au final à approximer les heures de fonctionnement par l'énergie fournie :

$$\tilde{t}_{oper}(k) = \alpha \frac{P_{gen}(k)}{P_{gen}^{rated}} \cdot \Delta_t \quad (16)$$

où $P_{gen}^{rated}$ est la puissance nominale du générateur et où $\alpha \ge 1$ est le "gain de linéarisation", qui est à régler. Pour $\alpha = 1$, (16) est la relaxation convexe de (15) ce qui signifie que les heures de fonctionnement sont sous-évaluées, et donc la durée de vie (13) est surestimée. Il est possible d'augmenter $\alpha$ pour compenser heuristiquement cette erreur et dans [13] nous proposons d'utiliser $\alpha = 2$. Cette approche est inspirée d'une technique d'approximation de norme $l_0$ en traitement du signal [18]. Au final, en utilisant le comptage approximé (16) dans (14), on obtient un cumul d'heures approximées $\tilde{h}_{oper}$ qui vient prendre place dans l'estimation de durée de vie (13). Il reste à comparer (13) à l'hypothèse (4), sachant que la variable "taille" pour un générateur est $x = P_{gen}^{rated}$. L'hypothèse est vérifiée en utilisant comme variable d'usage :

$$u_{gen} = \alpha \frac{E_{gen}}{h_{life}} \quad (17)$$

avec $E_{gen} = \sum_{k=0}^{K_{sim}} P_{gen}(k) \Delta_t$ qui est l'énergie fournie par le générateur (kWh/an). Ainsi, la définition de la variable d'usage du générateur (17) est très proche de celle de la batterie (12).

Au final, ces définitions de variables d'usage sont des expressions linéaires des variables de fonctionnement opérationnel du système énergétique. Ainsi, en les combinant avec l'approximation linéaire du coût annualisé pour chaque composant de la partie 2.2, on obtient un problème d'optimisation linéaire, avec des variables à la fois de dimensionnement et de gestion d'énergie, qui prend en compte l'effet de l'usage des composants sur le coût total du système.
### 3. EXEMPLE : DIMENSIONNEMENT DE MICRORÉSEAU

Nous illustrons à présent notre approche sur un exemple simple de dimensionnement : un microréseau isolé avec des productions solaire et éolienne ainsi qu'avec une batterie et un générateur. Seuls ces deux derniers composants ont une durée de vie dépendant de leur usage suivant les modèles exposés partie 2.3. Nous utilisons le cas d'étude de l'île d'Ouessant (Bretagne), non connectée au continent, avec une consommation de pointe d'environ 2000 kW. Ce cas a déjà été exploré [19, 20, 7], en particulier grâce à sa courbe de charge open data. Nous traitons ici d'une conception "greenfield", c'est à dire qui fait imaginairement table rase des installations existantes. Les données (prix, paramètres, séries temporelles), ainsi que les modèles d'optimisation sont disponibles dans notre dépôt open source Microgrids.JuMP [21]. Parmi les paramètres importants, notons le taux d'actualisation $i = 5\%$, la durée de vie de la batterie de $N_{life} = 1500$ cycles pleins équivalents avec une limite calendaire de $T_{cal} = 15$ ans et pour le générateur un nombre maximal d'heures de fonctionnement $h_{life} = 15000$ h. Les modèles sont formulés avec JuMP [22], un langage de modélisation pour l'optimisation en Julia qui se veut très performant.

#### 3.1. Démarche de comparaison des méthodes

Nous comparons notre méthode, à la fois sur l'optimalité et sur le temps de calcul, aux deux approches classiques existantes, à savoir à durée de vie fixe ou avec pénalisation de l'usage.

La fonction objectif à minimiser est le coût total annualisé du système $C^{ann}$ (1). Ce coût annualisé est converti en coût de l'énergie (LCOE) en €/MWh :

$$LCOE = \frac{C^{ann}}{\sum_{k=1}^{K_{sim}} P_{load}(k) \Delta_t / T_{sim}} \quad (18)$$

où $P_{load}(k)$ est la consommation souhaitée à chacun des $K_{sim}$ instants simulés, sachant que, par contrainte, aucun délestage n'est autorisé.

Notons que pour chacun des modèles comparés ci-après, nous produisons 3 LCOE basés sur 3 coûts annualisés différents :

1. MOD (coût brut du modèle) : valeur brute de la variable $C^{ann}$ dans le modèle d'optimisation testé

2. CVX (coût réel convexe) : calcul a posteriori du coût réel du microréseau, basé sur les sorties du modèle (dimensionnement et séries temporelles de dispatch) avec les modèles de durée de vie du stockage et du générateur, tout en conservant la convexité du problème grâce à la linéarisation des heures de fonctionnement du générateur

3. NS (coût réel "nonsmooth") : comme CVX, mais en utilisant le vrai comptage discontinu et non convexe des heures de fonctionnement du générateur

Les coûts CVX et NS sont les seuls indicateurs pertinents pour comparer les modèles entre eux. En effet, le coût brut MOD, selon la variante du modèle, est souvent sous-estimé en raison des hypothèses simplificatrices (comme la durée de vie fixe ou l'approximation linéaire par morceaux). NS est le seul "vrai" coût qui compte au final, mais il est impossible de le déliser exactement avec un modèle convexe comme celui utilisé ici. C'est pourquoi nous calculons également CVX, son approximation convexe, car c'est le seul pour lequel nous avons une garantie d'optimalité globale. Cependant, on constatera dans les expériences qui suivent que la position des minima de ces deux coûts ne coïncide pas exactement.

Le calcul post-optimisation des métriques de performance est effectué avec notre modèle impératif Microgrids.jl [7].

Avant de pouvoir comparer notre méthode de dimensionnement, il faut d'abord régler ses paramètres, à savoir :

— $n_z$ : nombre de tangentes pour l'approximation linéaire (PWL) du coût, ainsi que l'emplacement $z_0$ des tangentes

— $\alpha$ : gain de linéarisation pour les heures de fonctionnement du générateur

Dans [13] nous étudions des variantes, mais ici nous nous en tenons au réglage mentionné partie 2 : $\alpha = 2$ et $n_z = 10$.

Avec ce réglage, nous obtenons le dimensionnement suivant pour le générateur et la batterie (cf. première ligne des tableaux 1 et 2) : $P_{gen}^{rated} = 1255$ kW, $E_{gen}^{rated} = 5837$ kWh. Le coût MOD est de 250.239 €/MWh, alors que le coût CVX n'est que légèrement supérieur à 250.260 €/MWh. L'erreur d'approximation PWL est donc $< 10^{-4}$, nettement plus faible que le pire cas pour les $n_z = 10$ tangentes choisies (0.23%), ne serait-ce que parce que dans le coût total du système (1), seuls les coûts du générateur et de la batterie sont approximés (éolien et solaire sont à durée de vie fixe). Enfin, le coût réel NS est plus élevé, à 252.218 €/MWh. Cette dernière différence s'explique par le fait que les heures de fonctionnement linéarisées valent 1583.7 pour $\alpha = 2$, alors que la vraie valeur est plus grande à 1809.

Ce résultat est obtenu en 11 s sur un ordinateur portable avec processeur Intel Core i7-1165G7, en utilisant le solveur HiGHS 1.9.0, un des solveurs LP open source les plus performants du moment [23]. Ce temps est très raisonnable pour une formulation qui prend en compte une année entière à pas horaire.

Cette solution de notre méthode à durée de vie variable étant posée, nous regardons à présent les résultats des formulations alternatives de la littérature que nous avons réimplémentées.

#### 3.2. Comparaison avec les modèles à durée de vie fixe

Dans cette partie, nous comparons notre méthode qui prend en compte l'effet de l'usage des composants à l'alternative plus répandue : l'hypothèse de durées de vie fixes.

Pour avoir une base commune de comparaison, nous supposons que notre modèle de durée de vie variable est la réalité, tandis que l'hypothèse d'une durée de vie fixe est une approximation visant à réduire le temps de calcul (bien que nous prouvions dans la suite que les temps de résolution sont du même ordre de grandeur grâce à notre formulation convexe).

La durée de vie fixe n'étant qu'une hypothèse d'approximation, il faut définir une méthode de réglage. Dans les lignes 2 et 3 des tableaux 1 et 2, nous montrons les résultats de plusieurs calculs à durées de vie fixes avec différentes hypothèses de durée de vie. Notons que, pour le générateur, nous fixons sa durée de vie indirectement, sachant qu'elle est paramétrée par le nombre maximal d'heures de fonctionnement $h_{life}$, une donnée constructeur (voir la partie 2.3). Nous posons à la place une hypothèse sur le nombre d'heures de fonctionnement annuel $h_{oper}$, et la durée de vie s'en déduit par (13).

Ensuite, chaque optimisation produit un dimensionnement qui est réévalué comme expliqué partie 3.1, sauf que nous ne calculons pas le coût CVX, car il utilise la linéarisation des heures de fonctionnement qui n'est pas nécessaire pour les modèles à durée de vie fixe (c'est pourquoi les paramètres inutilisés $n_z$ et $\alpha$ ne sont pas définis). Nous ne calculons donc que le coût brut MOD et le coût réel NS, ainsi que les paramètres opératonels qui montrent les vraies valeurs de durée de vie (ou le véritable nombre d'heures de fonctionnement pour le générateur) qui sont généralement différentes de leurs valeurs supposées.

Ligne 2, nous fixons l'hypothèse de durée de vie avec une approche experte, supposant un retour d'expérience d'un précédent projet. Pour cela, nous utilisons les valeurs effectives de la solution de base : 10.69 ans pour la batterie et 1809 h/an pour le générateur, soit une durée de vie supposée de 15k/1.8k=8.3 ans. La ligne correspondante du tableau 2 montre la faillite de cette approche : comme le modèle ne modélise pas l'effet préjudiciable de l'usage sur la durée de vie, les durées de vie effectives sont plus basses : 8.63 ans pour la batterie et une surutilisation du générateur à 2403 h/an, soit une durée de vie de 6.2 ans. Cet écart de modélisation se ressent sur le coût : la valeur brute MOD à 245.986 €/MWh est artificiellement basse, alors que le coût réel NS à 255.241 €/MWh est nettement au-dessus du cas de base.
<table><caption>TABLEAU 1. Expérience de dimensionnement de microréseau : paramètres, résultats économiques et temps de calcul.</caption><thead><tr><th rowspan="2">Expérience</th><th colspan="4">Paramètres</th><th colspan="3">Coût de l'énergie (€/MWh)</th><th rowspan="2">Perf.<br>Temps<br>optim.<br>(s)</th></tr><tr><th>Hypoth.<br>dur. vie<br>stock. (y)</th><th>Hypoth.<br>opér.<br>gén. (h/y)</th><th>nb<br>tan</th><th>gain<br>linéar.</th><th>MOD</th><th>CVX</th><th>NS</th></tr></thead><tbody><tr><td>1 Référence</td><td>—</td><td>—</td><td>10</td><td>2.00</td><td>250.239</td><td>250.260</td><td>252.218</td><td>11.1</td></tr><tr><td>2 Vie fixe expert</td><td>10.69</td><td>1809</td><td>—</td><td>—</td><td>245.986</td><td>—</td><td>255.241</td><td>4.8</td></tr><tr><td>3 Vie fixe itér.</td><td>7.88</td><td>2760</td><td>—</td><td>—</td><td>259.502</td><td>—</td><td>259.502</td><td>4.8</td></tr><tr><td>4 Pénal. usage v1</td><td>15</td><td>2000</td><td>—</td><td>2.00</td><td>234.926</td><td>254.087</td><td>257.810</td><td>6.6</td></tr><tr><td>5 Pénal. usage v2</td><td>15</td><td>2000</td><td>—</td><td>2.00</td><td>212.675</td><td>250.360</td><td>250.714</td><td>6.6</td></tr></tbody></table>

<table><caption>TABLEAU 2. Expérience de dimensionnement de microréseau : dimensionnement et performance opérationnelle.
La variable de dimensionnement dont l'écart à la solution de référence (1re ligne) est le plus grand est mise en gras.</caption><thead><tr><th rowspan="2">Expérience</th><th colspan="3">Statistiques opérationnelles</th><th colspan="5">Dimensionnement</th></tr><tr><th>Dur. vie<br>stock. (y)</th><th>Opér.<br>gén. (h/y)</th><th>Opér.<br>linéar.<br>gén. (h/y)</th><th>Gén.<br>(kW)</th><th>Stock.<br>(kWh)</th><th>Solaire<br>(kWc)</th><th>Éolien<br>(kW)</th><th>Δ réf.</th></tr></thead><tbody><tr><td>1 Référence</td><td>10.69</td><td>1 809</td><td>1 583.7</td><td>1 255</td><td>5 837</td><td>2 330</td><td>1 596</td><td>réf.</td></tr><tr><td>2 Vie fixe expert</td><td>8.63</td><td>2 403</td><td>—</td><td>1 170</td><td><b>3 823</b></td><td>2 266</td><td>1 479</td><td>-35 %</td></tr><tr><td>3 Vie fixe itér.</td><td>7.88</td><td>2 760</td><td>—</td><td>1 227</td><td><b>2 706</b></td><td>2 073</td><td>1 477</td><td>-54 %</td></tr><tr><td>4 Pénal. usage v1</td><td>8.70</td><td>2 653</td><td>2 214.8</td><td>1 221</td><td><b>2 812</b></td><td>1 817</td><td>1 636</td><td>-52 %</td></tr><tr><td>5 Pénal. usage v2</td><td>10.58</td><td>1 864</td><td>1 818.4</td><td><b>1 119</b></td><td>5 859</td><td>2 308</td><td>1 562</td><td>-11 %</td></tr></tbody></table>

Ligne 3, nous testons une approche pour annuler l'écart entre hypothèse initiale et réalité. Dans le même esprit que Petrelli [24], nous partons d'une valeur experte, puis nous faisons tourner le modèle itérativement, en ajustant l'hypothèse d'entrée au résultat de l'optimisation précédente. Un point fixe est obtenu au bout de quelques itérations, à 7.88 ans pour la batterie et 2760 h/an pour le générateur. On obtient alors l'égalité MOD=CVX, car le modèle à durée de vie fixe devient cohérent. Cependant, cette convergence n'est pas synonyme d'optimalité. En effet, et c'est le principal problème de cette approche, le dimensionnement obtenu s'éloigne nettement de l'optimum, avec un coût de 259.502 €/MWh, en raison d'une batterie sous-dimensionnée de 2706 kWh qui est compensée par une surutilisation du générateur (2760 h/an contre 1809 h/an).

Dans tous les cas, l'optimisation à durée de vie fixe est résolue en 4.8 s, ce qui est deux fois moins que pour le modèle à durée de vie variable, mais qui reste du même ordre de grandeur.

Ces expériences permettent de conclure que, lorsque la durée de vie dépend de l'utilisation, c'est une mauvaise idée de l'approximer par un modèle à durée de vie fixe.

### 3.3. Comparaison avec les modèles à pénalité de l'usage

Dans cette partie, nous comparons notre méthode de dimensionnement à une alternative meilleure, mais plus rare : l'approche par pénalisation de l'usage utilisé par Li [10] ou Balderama [11]. Celle-ci étend au problème de dimensionnement une pénalisation heuristique de l'usage déjà utilisée pour le dispatch [25], une idée que l'on retrouve aussi, un peu cachée, chez HO-MER [4, Fig. 15.18].

Cette approche applique un coût marginal d'usage pour chaque composant concerné, avec une fonction coût, exprimée avec les notations de cet article :

$$J(x, u) = C_{ann}(x) + p.u \quad (19)$$

Par exemple, pour la batterie, avec la définition (12), le terme de pénalité $p.u$ est $(p/N_{life}) \times E_{through}$. Autrement dit, l'énergie échangée est pénalisée à une fraction $1/N_{life}$ du prix unitaire du stockage $p$. Dans [13], nous détaillons comment (19) est en fait une variante proche, mais légèrement inexacte, de l'approximation linéaire du coût à durée de vie variable (8), avec une seule tangente. En particulier, un des problèmes que nous constatons avec la formulation (19) est la façon d'annualiser le terme dépendant de la taille $C_{ann}(x)$ : quel CRF choisir si l'effet de l'usage sur la durée de vie est déjà censé être pris en compte dans le terme $p.u$ ? Nous définissons plusieurs variantes :

— Variante 1 : $CRF = CRF(T_{proj})$

— Variante 2 : $CRF = i/2$ (moitié du taux d'actualisation)

La variante 1, qui est la plus courante (cf. [10, eq (47)]), fait comme si la durée de vie du composant était celle du projet. Le coût d'investissement est, en apparence, sous-évalué, car soutient $T_{comp} < T_{proj}$, mais cela est censé être compensé par le terme $p.u$. Cependant, notre analyse dans [13] montre que cette valeur de CRF sur-évalue le coût de l'investissement et qu'il vaudrait mieux choisir $i/2$<fnref n="1" />. C'est ainsi que nous proposons la variante 2 comme une amélioration de la pénalisation classique.

Dans les lignes 4 et 5 des tableaux 1 et 2, nous montrons les résultats des variantes 1 et 2 et ils confortent la discussion théorique ci-dessus. La variante 1 sur-pénalise l'investissement dans le stockage et le générateur, ce qui entraîne un sous-dimensionnement du stockage de 52% par rapport à la solution de base. Ce sous-dimensionnement, contrebalancé par une surutilisation du générateur (fonctionnement 2653 h/an), augmente le coût réel, qu'il soit CVX (254.087 €/MWh) ou NS (257.810 €/MWh). La variante 2 prouve son efficacité avec un dimensionnement très proche de la solution de base. Le coût CVX (250.360 €/MWh) est ainsi à peine supérieur au coût de base (250.260 €/MWh). On notera même que le coût NS (250.714 €/MWh) est le plus bas de toutes les expériences ! Il ne faut cependant pas en tirer de généralité, car nous rappelons que la minimisation du coût NS est un problème non convexe,

<footnote n="1">1. Le terme $1/2$ provient de l'ordonnée à l'origine $g_0^0$, utilisée dans (8), et qui vaut $0.5$ lorsque que $z_0 \to \infty$, cf. Fig. 2. Ce cas correspond à un composant suffisamment utilisé pour que sa durée de vie soit nettement plus faible que $T_{mid} = 2/\log(1+i) \approx 2/i$, un seuil qui vaut 21 ans pour notre cas d'étude.</footnote>
donc aucune méthode convexe (durée de vie fixe, variable, ou pénalisation de l'usage) ne peut prétendre en trouver le minimum global. Cette valeur plus basse que la solution de base n'est donc que fortuite, et la version plus riche du tableau dans [13] contient d'autres cas.

Ainsi, nous montrons que la méthode par pénalisation de l'usage permet d'approcher, au moins dans ce cas, le calcul exact. Cependant, la méthode est à manipuler avec soin, en particulier car ce n'est qu'avec notre variante inédite que nous obtenons un bon résultat. De plus, et ce n'est pas présenté ici, il existe un risque de pénaliser inutilement l'usage si c'est la durée de vie calendaire qui est limitante (voir [13], sachant que, dans toutes les expériences de cet article, la contrainte calendaire de 15 ans est inactive vu les durées de vie dues au cyclage).

## 4. CONCLUSIONS

Nous avons proposé une formulation algébrique "Single-Year" pour l'optimisation des systèmes énergétiques qui, dans l'esprit de Moretti [12], tient compte de l'impact de l'usage des composants sur leur coût de remplacement, tout en préservant la convexité et donc la rapidité de résolution du problème. La convexité du modèle a été démontrée en supposant une hypothèse généralisée "durée de vie = taille/utilisation". Nous avons montré que cette hypothèse est compatible avec le modèle classique de comptage de l'énergie pour le vieillissement des batteries, alors qu'une approximation linéaire est nécessaire pour les générateurs, en raison de la non-convexité intrinsèque du comptage des heures de fonctionnement.

La convexité du modèle permet d'obtenir un temps de résolution du même ordre de grandeur que l'approche la plus courante qui suppose des durées de vie fixes. Cette efficacité de calcul est obtenue par une approximation linéaire par morceaux, ce qui permet d'utiliser des solveurs de programmation linéaire.

Sur un cas de test représentatif du dimensionnement d'un microréseau open source, notre proposition permet de réduire de manière significative le coût de l'énergie par rapport aux approches classiques à durée de vie fixe. Par rapport aux approches plus avancées qui pénalisent l'usage des composants, le gain est moindre. Cependant, la différence de coût n'est que faible lorsqu'on utilise une variante améliorée par nos soins et cette amélioration est basée sur l'approximation linéaire du coût fonction de l'usage présentée dans cet article.

Sur la base de ce travail, deux articles plus courts examinent les améliorations possibles. Dans [17], la nécessité de linéarisier le comportement du générateur est supprimée en mettant en œuvre le comptage exact des heures de fonctionnement. Cependant, la modélisation non convexe aboutit à une formulation MILP (présence de variables binaires) qui augmente considérablement le temps de calcul (de quelques secondes à plusieurs heures). Dans [26], un modèle plus avancé de vieillissement en cyclage des batteries est analysé et sa convexité est démontrée. Ce modèle non linéaire, qui dépend du C-rate, apporte une plus grande fidélité à la modélisation du vieillissement, mais au prix d'un temps de calcul beaucoup plus élevé.

Pour finir, une limitation manifeste de l'approche proposée, bien que ce soit le cas pour beaucoup d'autres, est le fait qu'elle dépend de l'hypothèse Single-Year. L'extrapolation de la performance opérationnelle du système sur une année représentative à toute la durée du projet empêche de modéliser des changements interannuels (consommation, climat, prix...). Bien qu'il soit possible, dans une certaine mesure, d'utiliser un modèle SY comme brique de base d'une formulation pluriannuelle (MY : Multi-Year), cette possibilité n'a pas été explorée dans le cadre du modèle de coût dépendant de l'usage discuté dans cet article. Une perspective potentiellement fructueuse est donc d'étudier si une telle combinaison est valide d'un point de vue économique et si elle peut fournir de bons résultats de dimensionnement, par exemple en produisant des trajectoires d'investissement plurianuelles.

## 5. REMERCIEMENTS

Les travaux de thèse de Jean Fructhieu NIKIEMA bénéficient du soutien de la Région Bretagne via une demi-bourse "ARED-Allocations de Recherche Doctorale" et de EDF via l'Institut RISEGrid.

## 6. RÉFÉRENCES

[1] Afzal S. Siddiqui, Chris Marnay, Jennifer L. Edwards, Ryan Firestone, Srijay Ghosh, and Michael Stadler. Effects of carbon tax on microgrid combined heat and power adoption. *Journal of Energy Engineering*, 131 (1):2–25, 2005.

[2] Behrang Shirizadeh and Philippe Quirion. Low-carbon options for the French power sector: What role for renewables, nuclear energy and carbon capture and storage? *Energy Economics*, 95:105004, 2021.

[3] Fadi Agha Kassab, Berk Celik, Fabrice Locment, Manuela Sechilariu, Sheroze Liaquat, and Timothy M. Hansen. Optimal sizing and energy management of a microgrid: A joint MILP approach for minimization of energy cost and carbon emission. *Renewable Energy*, 224:120186, 2024.

[4] Tom Lambert, Paul Gilman, and Peter Lilienthal. Micropower system modeling with HOMER. In Felix A. Farret and M. Godoy Simões, editors, *Integration of Alternative Sources of Energy*. John Wiley & Sons, 2005.

[5] Rodolfo Dufo-López and José L. Bernal-Agustín. Design and control strategies of PV-diesel systems using genetic algorithms. *Solar Energy*, 79 (1):33–46, 2005.

[6] Benjamin Guinot. Evaluation multicritère des technologies de stockage couplées aux énergies renouvelables : conception et réalisation de la planteforme de simulation ODYSSÉY pour l'optimisation du dimensionnement et de la gestion énergétique. PhD thesis, Université de Grenoble, 2013. NNT: 2013GRENI027.

[7] Evelise de Godoy Antunes, Pierre Haessig, Chaoyun Wang, and Roberto Chouhy Leborgne. Optimal Microgrid Sizing using Gradient-based Algorithms with Automatic Differentiation. In *ISGT Europe 2022, Novi Sad, Serbia*, 2022.

[8] Elsy El Sayegh, Nabil Sadou, Pierre Haessig, Sarah Nasr, Julien Bruschi, Benoît Jacquet, Ali El Akoum, and Hervé Guéguen. Towards avoiding microgrid design failures arising from an unrealistic operating strategy: an anticipative White Box model versus a responsive Black Box model. In *Jeunes Chercheurs en Génie Électrique (JCGE22), Le Croisic*, 2022.

[9] Pierre Haessig, Bernard Multon, and Hamid Ben Ahmed. Energy Storage Control with Aging Limitation. In *IEEE PowerTech 2015 Conference, Eindhoven, the Netherlands*, 2015.

[10] Bei Li, Robin Roche, Damien Paire, and Abdellatif Miraoui. Sizing of a stand-alone microgrid considering electric power, cooling/heating, hydrogen loads and hydrogen storage degradation. *Applied Energy*, 205: 1244–1259, 2017.

[11] Sergio Balderrama, Francesco Lombardi, Fabio Riva, Walter Canedo, Emanuela Colombo, and Sylvain Quoilin. A two-stage linear programming optimization framework for isolated hybrid microgrids in a rural context: The case study of the "El Espino" community. *Energy*, 188: 116073, 2019.

[12] Luca Moretti, Marco Astolfi, Claudio Vergara, Ennio Macchi, José Ignacio Pérez-Arriaga, and Giampaolo Manzolini. A design and dispatch optimization algorithm based on mixed integer linear programming for rural electrification. *Applied Energy*, 233–234:1104–1121, 2019.

[13] Pierre Haessig, Elsy El Sayegh, Jean Fructhieu Nikiema, and Nabil Sadou. Convexity of energy systems annualized cost with usage-dependent lifetime. 2025. URL https://hal.science/hal-05052473.

[14] Elsy El Sayegh. Methodology for dynamic sizing of microgrids under uncertainties. PhD thesis, CentraleSupélec, March 2024. NNT 2024CSUP0004.

[15] Stephen Boyd and Lieven Vandenberghe. Convex Optimization. Cambridge University Press, 2004. ISBN 978-0-521-83378-3.

[16] Pierre Haessig. Convex Storage Loss Modeling for Optimal Energy Management. In *IEEE PowerTech 2021 Conference, Madrid, Spain*, June 2021.

[17] Jean Fructhieu Nikiema, Pierre Haessig, Nabil Sadou, and Hervé Guéguen. Microgrid optimal sizing integrating usage-dependent components lifetime into a MILP. In *IEEE PowerTech 2025 Conference, Kiel, Germany*, 2025.

[18] Emmanuel J. Candès, Michael B. Wakin, and Stephen P. Boyd. Enhancing
Sparsity by Reweighted l1 Minimization. *Journal of Fourier Analysis and Applications*, 14(5-6):877-905, 2008.

[19] M. F. Zia, E. Elbouchikhi, M. Benbouzid, and J. M. Guerrero. Energy Management System for an Islanded Microgrid With Convex Relaxation. *IEEE Transactions on Industry Applications*, 55(6):7175-7185, 2019.

[20] Anthony Roy, François Auger, Florian Dupriez-Robin, Salvy Bourguet, and Quoc Tuan Tran. A multi-level Demand-Side Management algorithm for offgrid multi-source systems. *Energy*, 191:116536, 2020.

[21] Pierre Haessig. GitHub - pierre-haessig/Microgrids.JuMP : Microgrid sizing optimization using an algebraic formulation.. 2025. URL https://github.com/pierre-haessig/Microgrids.JuMP.

[22] Miles Lubin, Oscar Dowson, Joaquim Dias Garcia, Joey Huchette, Benoît Legat, and Juan Pablo Vielma. JuMP 1.0 : recent improvements to a modeling language for mathematical optimization. *Mathematical Programming Computation*, 15(3):581-589, 2023.

[23] Q. Huangfu and J. A. J. Hall. Parallelizing the dual revised simplex method. *Mathematical Programming Computation*, 10(1):119-142, 2018.

[24] Marina Petrelli, Davide Fioriti, Alberto Berizzi, and Davide Poli. Multi-Year Planning of a Rural Microgrid Considering Storage Degradation. *IEEE Transactions on Power Systems*, 36(2):1459-1469, 2021.

[25] F. García and C. Bordons. Optimal economic dispatch for renewable energy microgrids with hybrid storage using Model Predictive Control. In *39th Ann. Conf. of the IEEE Industrial Electronics Soc. (IECON 2013)*, 2013.

[26] Paul Sourisse, Pierre Haessig, and Nabil Sadou. Convex Nonlinear Battery Aging Model for Microgrid Sizing Optimization. In *IEEE PowerTech 2025 Conference, Kiel, Germany*, 2025.