Bornes pour un problème d'ordonnancement avec allocation et stockage d'énergie et coûts linéaires par morceaux
Résumé
Présentation du problème et programme linéaire en variables mixtes Ce papier traite d'un problème d'ordonnancement d'un ensemble A de tâches préemptives, sur un horizon T discrétisé en périodes. Chaque tâche doit être exécutée à l'intérieur d'une fenêtre temporelle [r i , d i [ sur une durée p i , ∀i ∈ A, et consommatrices d'électricité selon une demande individuelle b i sur chaque période d'exécution de la tâche. L'énergie demandée par l'ensemble des tâches dans une période est la somme des énergies demandées individuellement par les tâches. Elle peut être apportée au moyen de deux sources d'énergie. Une source d'énergie réversible, de type batterie, peut stocker et restituer de l'énergie avec un stock initial s 0 et une capacité de stockage Q. Une source d'énergie non-réversible, de type fournisseur d'électricité, ne peut que fournir de l'énergie moyennant un coût linéaire par morceaux dépendant du temps ρ t (b) à payer sur chaque période de temps t pour une consommation totale b. Dans un travail précédent nous avons proposé des approches de programmation linéaire en nombres entiers pour un problème (ORDO) similaire mais sans source réversible. Nous avons montré que le problème était déjà NP-difficile au sens fort et proposé un algorithme de Branch & Price (BP) pour le résoudre efficacement [2]. A l'inverse, lorsque l'ordonnancement des tâches est fixé, on obtient une demande énergétique prédéterminée. Le problème de couverture de la demande de chaque période par les deux sources est équivalent à un problème de lot-sizing (LS), NP-difficile au sens faible. Un algorithme de programmation dynamique (PD) en O(|T | 2qd) a été proposé pour des demandes entières oùd désigne la demande moyenne etq est le nombre moyen de points de rupture de la fonction ρ. Un programme linéaire en variables mixtes (PLVM) de taille pseudo-polynomiale peut être proposé en utilisant les variables de décisions binaires x it , ∀i ∈ A, t ∈ T signifiant que la tâche i est en cours d'exécution à la période t. Une variable continue s t ≥ 0 donne le stock dans la ressource réversible à la période t et une variable continue w t donne la quantité d'énergie fournie par la source non-réversible à la période t. Avec ces variables on doit minimiser la fonction t∈T ρ t (w t). Une contrainte de respect des durées s'écrit di−1 t=ri x it ≥ p i , ∀i ∈ A. Le respect dans la demande et l'allocation d'énergie pour toute période t ∈ T s'écrit w t − i∈A b i x it + s t−1 − s t = 0. On impose par ailleurs que le stock initial soit restitué (s |T | ≥ s 0) et que le stock ne dépasse pas la capacité (s t ≤Q, ∀t ∈ T). Enfin on pose x it = 0 pour tout t ∈ [t i , d i [. Matheuristique Le PLVM montre ses limites et ne parvient pas à résoudre optimalement plusieurs instances à 30 et 60 tâches en moins de 600s. Or comme nous disposons de méthodes exactes efficaces pour résoudre exactement (ORDO) et (LS) séparément, nous proposons une matheuristique
Origine | Fichiers produits par l'(les) auteur(s) |
---|