recherche opérationnelle dans le secteur de la

43
Version pour diffusion Copyright Bouygues e-lab Reproduction interdite sans accord Recherche opérationnelle dans le secteur de la construction (3/5) Jeudi 2 décembre 2010 Ecole des Mines de Nantes Amphi Georges Besse 14h30 - 16h30 Antoine Jeanjean Ingénieur de recherche

Upload: others

Post on 20-Jun-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

Recherche opérationnelle dans le secteur de la construction (3/5)

Jeudi 2 décembre 2010Ecole des Mines de Nantes

Amphi Georges Besse14h30 - 16h30

Antoine JeanjeanIngénieur de recherche

Page 2: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

2 / 113Jeudi 2 décembre 2010

Plan de la présentation

• Le Groupe Bouygues

• Le Bouygues e-lab

• La R.O. dans le groupe Bouygues– Quelques problématiques de R.O. - TF1

• 2 problématiques dans la construction– Optimisation sur les chantiers d’habitat – Bouygues Batiment– Optimisation sur les chantiers de terrassement – DTP Terrassement

• En option : Le problème d’optimisation de tournées avec gestion des stocks

Page 3: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

3 / 113Jeudi 2 décembre 2010

La gestion des banchessur les chantiers de construction

Page 4: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

4 / 113Jeudi 2 décembre 2010

Matériel de coffrage (banches)

Page 5: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

5 / 113Jeudi 2 décembre 2010

Contexte

• Bouygues Bâtiment Ile de France (bureau des méthodes)

• Collaboration depuis 1997

• Construction de résidences

• Gros œuvre = coulage des murs (et des planchers)

• Etages identiques: typiquement 100 murs/étage en une dizaine de jours

Page 6: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

6 / 113Jeudi 2 décembre 2010

Problèmes d’optimisation

• Ordonnancement (affectation mur jour)

• Minimisation du matériel du coffrage

• Plan de rotation des coffrages

• Planning journalier de la grue

• Planification des sous traitants (corps d’états secondaires)

Page 7: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

Page 8: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

Page 9: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

Page 10: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

Page 11: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

11 / 113Jeudi 2 décembre 2010

Longueur à couvrir sur un mur

• Intervalle à couvrir

– Abouts

– Demi-épaisseurs

• Extrémités libres / Murs bloqués

Page 12: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

12 / 113Jeudi 2 décembre 2010

« Train de banches »

• Somme de sous-ensemble– Exemple 9,50m =

• + des RestrictionsContrainte stabilité

Modèles spéciaux

Modèles d’extrémité

2 x 4m + 1 x 2mou 3 x 3m + 1 x 1mou 1 x 4m + 2 x 3m

Page 13: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

13 / 113Jeudi 2 décembre 2010

Le modèle pour un mur

La longueur assignée doit couvrir l’intervalle [Cw

min, Cwmax]

Les banches extrèmes ne peuvent être utilisées qu’au extrémités

Chaque banche non-stable doit être entouré de 2 banches stables

Le nombre de banches spéciales est borné

Les banches lourdes ne conviennent pas à tous les murs

Page 14: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

14 / 113Jeudi 2 décembre 2010

Le problème global

• Les stocks globaux commandés correspondent aux max de chaque jour : mf = maxt (nf,t)

• L’objectif à minimiser :

– Coûts de location (« aL+b »)

– Coûts de « non-utilisation »

• D’autres contraintes sont ajoutés par les utilisateurs comme des max locaux : mf ≤ Uf

Minimum Formwork Stock Problem (NP-hard)

Page 15: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

15 / 113Jeudi 2 décembre 2010

Les stratégies de résolution

• MIP trop long (et souvent infini)

• CP + Heuristique constructive– Utilisation d’un paramètre « maxUnusedDays »

– Parcours les modèles par taille décroissante

– Assigne les modèle aux murs dont la contrainte

maxUnusedDays est satisfaite.

– On maintient le support (ie la solution faisable) pour

chaque mur afin d’éviter de tomber dans une impasse.

Cette méthode fournit des résultats satisfaisant mais les temps de résolutions sont improbables et peuvent être améliorés.

Page 16: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

16 / 113Jeudi 2 décembre 2010

Décomposition Dantzig-Wolfe

Covering possibilities

0

100

200

300

400

500

600

700

800

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55

walls

number

• On calcule pour chaque mur les vecteurs solutions

• La génération de colonnes– Avec une particularité ici, la génération a lieu au début car le nombre

de colonnes est raisonnable :

• Modèle– 1 covering vector per wall– mf = max (nf,t)– Même fonction objectif

Page 17: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

17 / 113Jeudi 2 décembre 2010

Approche par MIP

• On obtient ici une solution optimale

• Comme dans l’approche PPC, les temps de résolution restent improbables( 1s 2mn)

• On construit ici un outil d’aide à la décision, les temps de réponse se doivent être court afin de faciliter l’utilisation.

Page 18: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

18 / 113Jeudi 2 décembre 2010

Approche par recherche locale

• La notion de voisinage utilisée ici : pour chaque mur on change le vecteur couvrant et on mesure l’impact sur la solution globale.

• Bonne diversification et convergence rapide.

• Problème de temps d’initialisation : Pourquoi ne pas utiliser une solution fractionnaire

comme solution de départ?

Page 19: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

19 / 113Jeudi 2 décembre 2010

Algorithme Hybride

• Optimum fractionnaire : on génère des combinaisons qu’on affecte avec un modèle LP relaxée : ~ 50% valeurs entière.

• On trouve une première solution entière par recherche locale puis on l’améliore.

MIP

Hybrid Scheme

Page 20: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

20 / 113Jeudi 2 décembre 2010

Selected Algorithm

CP tree search

CP tree search

CP tree search

CP tree search

CP tree search

For each wall

Dantzig Wolfe Model

(LP or MIP resolution)

Local search if needed

Limited CPU

Page 21: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

21 / 113Jeudi 2 décembre 2010

Conclusion

• Intégration du module de calcul directement à Autocad

• Utilisation par une 50aine d’ingénieurs méthodes pour les chantiers de construction du Groupe Bouygues Construction.

• Possibilité de tester rapidement des scénarios et de réduire le matériel non utilisé sur les chantiers.

Page 22: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

22 / 113Jeudi 2 décembre 2010

Planification des corps d’état secondaires sur des chantiers de résidences

Page 23: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

23 / 113Jeudi 2 décembre 2010

Objectif du problème

• Fournir un planning d’interventions des sous traitants en corps d’état secondaire (CES)

• Les CES : toutes les interventions hors gros œuvre réalisées par des sous traitants

• Un logiciel utilisé sur les chantiers tout au long des travaux par les conducteurs de travaux

• Nécessité de fournir le planning en moins de 30 secondes

• Minimiser les interruptions d’interventions des sous-traitants

Page 24: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

24 / 113Jeudi 2 décembre 2010

• Chantiers d’une cinquantaine d’appartements sur lesquels on réalise une cinquantaine de tâches élémentaires :

2500 tâches à planifier en 30 secondes.

• Quelques exemples de chantiers :

• Nanterre : 102 chambres universitaires + 12 parties communes• St Denis Pleyel : Résidence de 58 logements• Cergy : 3 bâtiments pour un total de 158 logements

Taille du problème

Page 25: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

25 / 113Jeudi 2 décembre 2010

Quelques exemples de CES

Page 26: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

26 / 113Jeudi 2 décembre 2010

Définition du problème

• Problème de planification sur des Zones, de Tâchesappartenant à des Ressources.

• Notion de Zone

• Notion de Ressource

• Notion de Tâche

• Gestion fluide des m²

Page 27: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

27 / 113Jeudi 2 décembre 2010

Définition d’une zone

• Donnée atomique du problème

• Elle décrit soit un appartement, un escalier, un hall d’entrée, une partie commune,…

• Définie par :

• une surface

• un ensemble de tâches à effectuer

• des caractéristiques propres à la zone

• On cherche pour chaque zone :

• sa date de début

• sa date de fin Start End t

Nb Tâches

3

Page 28: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

28 / 113Jeudi 2 décembre 2010

Définition d’une ressource

• Rattachée à un corps d’état secondaire (Ex : Ressource carreleurs)

• Définie par :

• la puissance de travail journalière

• sa capacité

• sa capacité maximum

• On cherche pour chaque ressource

• sa date de début

• sa date de fin

• le volume à traiter par jour

• Exemples :

• Parquet plaquette anglaise, 40 m² / jour / équipe, 2 équipes, 5 équipes

• Plomberie , 2 zones / jour / équipe, 3 équipes, 6 équipes…

Start End t

VolumeMAX

CAPA

Page 29: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

29 / 113Jeudi 2 décembre 2010

Définition d’une tâche

• Définie par :– Métier / Ressources CES– Zone d’intervention– Une durée min et une durée max– Une cadence min et une cadence max

• On cherche pour chaque tâche :– sa date de début– sa date de fin– son volume journalier

Ex : Le parquet d’une zone Appartement T3 doit s’étaler sur au moins 2 jours et se terminer avant 6 jours.

Start End t

v

Volume totaleà réaliser

Min Start

Max EndMin End

Max Start

Page 30: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

30 / 113Jeudi 2 décembre 2010

Gestion fluide des m²

• Taille du problème trop grande pour un découpage à l’heure

• Planification de type prévisionnel : niveau de détail précis non nécessaire

• Importante notion de volume pour le sous traitant lors de sa venue sur le chantier

• Nécessité de connaître la surface à traiter pour anticiper l’approvisionnement du matériel

• Le sous-traitant sait qu’il aura un volume et s’organise comme il le souhaite pour le traiter dans la journée

Page 31: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

31 / 113Jeudi 2 décembre 2010

Problème à n Zones

• Le sous traitant ne peut pas avoir ses salariés éparpillés sur le chantier

• Volonté de travailler par cycle

• Contrainte sur l’ouverture des zones : garantie que la distanceentre la première équipeet la dernière équipe ne dépassepas un certain rang pour uneressource donnée.

Page 32: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

32 / 113Jeudi 2 décembre 2010

• Rappel des données/variables

Durée maximum du chantier

Les zones

Les sous-traitants et leurs activités

Les tâches (qui occupe une certaine place et qui prend un certain volume de la ressource, qui a une durée, date début et fin, un rang)

Des contraintes dites de précédences du type « Le début de la tache B doit avoir lieu au moins 3 jours après la fin de la tache A »

Formulation mathématique

Page 33: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

33 / 113Jeudi 2 décembre 2010

• Fonction objectif :

Minimiser les dépassements de ressources journaliers

Des sous-objectifs d’optimisation sont :

- Minimiser le nombre d’interruptions dans l’intervention des sous-traitant.

- Minimiser le makespan global. (C’est-à-dire la durée totale de la planification)

Formulation mathématique

Page 34: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

34 / 113Jeudi 2 décembre 2010

Résolution

• Le temps donné et la taille ont influencé notre stratégie de résolution.

• L’algorithme est un glouton basé sur la programmation par contraintes

• Le problème utilise deux jeux de contraintes :

• Un graphe de précédences

• Une série de contraintes sur les ressources.

• Ces deux jeux de contraintes sont liées par les domaines des tâches.

Page 35: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

35 / 113Jeudi 2 décembre 2010

Contraintes de précédences

Page 36: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

36 / 113Jeudi 2 décembre 2010

Contraintes de précédences

• L’utilisateur saisit les contraintes de précédences du modèle.

• On traduit ces contraintes par des inégalités simples entre deux tâches.

• L’ensemble de ces contraintes garantit le respect global des précédences.

• A-t-on intérêt de faire une propagation qui coute très chère grâce à une contrainte globale ou bien une succession de petite propagation rapide sur de nombreuses contraintes simples ?

• Ici, le PERT global est trop couteux pour le nombre de tâches : on utilise des contraintes simples d’inégalités.

Page 37: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

37 / 113Jeudi 2 décembre 2010

Les patterns

Pattern 1

Pattern 2

2 3 4 6

1 5

8 9 10 12

7 11

4 10et sont identiques car elles ont les mêmes précédents et suivants. Elles ont les mêmes durées min et max.

• Une fois les patterns trouvés et stockés, on est en mesure de créer un sous problème par pattern.

• Ces sous-problèmes peuvent être résolus. Ils représentent une cinquantaine de tâche sur la zone.

• On identifie des « pattern » de tâches : Séquence du même nombre de tâches sur des zones de même capacité. De plus les tâches doivent être similaires.

Page 38: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

38 / 113Jeudi 2 décembre 2010

Résolution pattern par pattern

• Que va-t-on faire alors ?

=> On va résoudre des minis problèmes d’une cinquantaine de tâches sur une zone donnée. Mais cette fois se souciant de la notion d’occupation.

• Pour cela, on utilise une contrainte cumulative qui permet d’assurer les pourcentages d’occupation de la zone. Comment fonctionne-t-elle ?

Capacité d’occupation

Zone 1

Tâche 3

Tâche 2

Tâche 1

Page 39: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

39 / 113Jeudi 2 décembre 2010

Retour au problème global

• Ces minis problèmes vont fournir de nouvelles contraintes d’inégalités entre les tâches.

• On sauve le jeu de précédences strictes alors déduit de ces sous problèmes. On applique ces précédences à toutes les jeux de tâches ayant le même pattern. (plus besoin d’une cumulative globale).

• Les patterns offrent une meilleure lisibilité pour le client.

• Ensuite, on construit de manière gloutonne et chronologique le planning des tâches en propageant à chaque itération.

Page 40: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

40 / 113Jeudi 2 décembre 2010

Résolution finale

1- Toutes les tâches

2- On applique les contraintes(précédences, occupation,…) 3- Les domaines

se mettent à jour

5- On la fixe. Elle va consommer des ressources, de l’occupation, …

6- Et on boucle !

4- On sélectionne la demandequi peut être placé au plus tôt(earliest start)

Page 41: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

41 / 113Jeudi 2 décembre 2010

• Outil testé sur les chantiers

• Simplification du modèle en cours

• Lien avec les relevés d’avancement

Perspectives

Page 42: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

42 / 113Jeudi 2 décembre 2010

Fin de la présentation 3 / 5

Page 43: Recherche opérationnelle dans le secteur de la

Ver

sio

n p

ou

r d

iffu

sio

n –

Co

pyr

igh

t B

ou

ygu

es e

-lab

–R

epro

du

ctio

n in

terd

ite

san

s ac

cord

43 / 113Jeudi 2 décembre 2010

Merci pour votre attention…

Questions ?

Antoine Jeanjean

Bouygues e-lab, 40 rue de Washington, 75008 Paris

LIX, UMR CNRS 7161, École Polytechnique, F-91128 Palaiseau

[email protected]