Sunteți pe pagina 1din 20

Institut Suprieur des Matriaux et Mcaniques Avancs 44 avenue F.A Bartholdi 72000 Le Mans Tl: 02 43 21 40 00 Fax: 02 43 21 40 39 e-mail: ismans@ismans.

s.fr http://www.ismans.fr

Projet : Ingnierie numrique MATLAB.


Recherche de chemin critique en ordonnancement

Tuteur : Monsieur El Kaabouchi Chef de Projet : Meyer Michal Groupe: Chauvet Floriane Allard Jean-Franois Bazin Frdric Bianchini Rmi Celli Marc-Antoine Girault Nicolas

Anne 2008/2009

Table des matires


I Abstract..........................................................................................................................................................2 II Remerciements.............................................................................................................................................2 III Introduction................................................................................................................................................3 IV Prsentation gnrale...................................................................................................................................3 IV.1 Dfinition de l'ordonnancement..........................................................................................................3 IV.2 Dfinition des taches...........................................................................................................................3 IV.3 Dfinition des contraintes...................................................................................................................3 IV.4 Chemin critique...................................................................................................................................4 IV.5 Mise en uvre ....................................................................................................................................4 V Algorithme....................................................................................................................................................5 V.1 Dmarche et problmes rencontrs.......................................................................................................5 V.1.i Premire approche du sujet......................................................................................................................5 V.1.ii Premire dmarche..................................................................................................................................5 V.1.iii Un problme d'ordre...............................................................................................................................5 V.1.iv Deuxime dmarche...............................................................................................................................7 V.1.v Problme de la rcursivit sous Matlab...................................................................................................7 V.1.vi Dmarche itrative..................................................................................................................................7 V.2 Algorithmes...........................................................................................................................................7 V.2.i Premier Algorithme .................................................................................................................................7
a) Algorithme.......................................................................................................................................................7 b) Conclusion.......................................................................................................................................................8

V.2.ii Algorithme en rcursif.............................................................................................................................8 a) Algorithme.......................................................................................................................................................8 V.2.iii Algorithme en itratif...........................................................................................................................10 a) Dclaration des matrices utilises lors de l'algorithmique............................................................................10 Dclaration de la matrice M1...........................................................................................................................10 a) Dclaration de la matrice intermdiaire M2..................................................................................................11 V.2.iv Algorithme en rcursif..........................................................................................................................12 a) Algorithme.....................................................................................................................................................12 b) Conclusion.....................................................................................................................................................13 V.2.v Algorithme en itratif............................................................................................................................13 a) Algorithme ....................................................................................................................................................14 b) Rsultat MATRICE FINALE il nous reste plus ka faire la difference entre duree o plus tard et duree o plus tot. Pour chaque resultat nul, la tache appartien o chemin critique. Sinon, le resultat obtenu nous donne la marge associe a chke tache........16 c) Conclusion et commentaires..........................................................................................................................16 V.2.vi Exemple pour une installation industrielle...........................................................................................17 a) Tableau des tches.........................................................................................................................................17 b) Rsultat obtenu avec Matlab.........................................................................................................................17 VI Applications sur l'ordonnancement : Le Viaduc de Millau.........................................................................18 VI.1 Exemples de tches...........................................................................................................................18 VI.2 Intrt de l'ordonnancement ...........................................................................................................19 VI.3 Deux types d'ordonnancement..........................................................................................................19 VII Conclusion .............................................................................................................................................19 VIII Annexes..................................................................................................................................................20 VIII.1 Algorithme prsence......................................................................................................................20 VIII.2 Fichiers Matlab..............................................................................................................................20

Projet: Ordonnancement

IAbstract

II Remerciements Nous tenons remercier M. EL KABOUCHI , notre tuteur, pour sa disponibilit, et ses conseils. Nous souhaitons galement remercier M. PUJOS pour les renseignements qu'il a pu nous apporter.

Projet: Ordonnancement

III Introduction L'objectif de ce projet est de dterminer le chemin critique en ordonnancement ainsi que les marges associes chaque tches. En effet, l'ordonnancement est une technique qui permet de grer l'ordre des tches dans lequel elles doivent tre effectues afin de ne pas perturber l'chance d'un projet. Ce dossier tudiera dans un premier temps la thorie de l'ordonnancement. Dans une seconde partie il abordera les questions de l'algorithmique en rapport au problme de l'ordonnancement, afin de dterminer le chemin critique. Puis il voquera le dveloppement d'une application sous le logiciel Matlab pouvant traiter tous les types de problmes d'ordonnancement. Une interprtation d'un exemple simple fournit comme directive pour le projet sera donne, puis le traitement d' un exemple plus complexes sera abord, ce qui permettra de prendre plus de recul sur l'ordonnancement et sa relation au programme Matlab. Pour finir le dossier abordera une application de l'ordonnancement dans le milieu industriel. IVPrsentation gnrale IV.1 Dfinition de l'ordonnancement Un problme d'ordonnancement est un sous problme de planification. Ce problme permet de raliser dans le temps, la ralisation des tches compte tenu des contraintes temporelles (dlais et contraintes d'enchanement). La thorie d'ordonnancement s'intresse au calcul des dates d'excution optimales des tches. De manire plus prcise, on parle d'ordonnancement lorsqu'on fixe la date de dbut et de fin de chacune des tches. IV.2 Dfinition des taches Une tches est une entit lmentaire de travail localise dans le temps par une date de dbut t i et/ou de fin c i , dont la ralisation ncessite une dure p i=ci t i Lorsque les taches ne sont soumises aucune contrainte de cohrence technologique (par exemple les contraintes d'enchainement), elles sont dites indpendantes. A chaque tache, on peut associer deux dates diffrentes : la date au plus tt et la date au plus tard. La date au plus tt est la date laquelle la tacha pourra tre commence au plus tt, en tenant compte du temps ncessaire l'excution des taches prcdentes. Et la date au plus tard est la date laquelle la tache doit tre commence tout prix si l'on ne veut pas retarder l'ensemble du projet.

IV.3 Dfinition des contraintes Les contraintes expriment des restrictions sur les valeurs que peuvent prendre simultanment les variables de dcision. On distingue deux types de contraintes temporelles : Les contraintes de temps allou, qui sont issues d'impratifs de gestion et et dpendantes des dates limites des tches ou de la dure totale du projet.
Projet: Ordonnancement

Les contraintes de cohrence technologique, appeles contraintes d'antriorit, qui dcrivent l'ordre relatif qui doit tre respect entre les tches.

IV.4 Chemin critique


Le chemin critique dtermine la dure minimale du projet. On dit qu'une tache de A vers B est critique si la diffrence entre la date au plus tard de B et la date au plus tt de A est gale la dure de tche accomplir. Les tches critiques, ainsi dtermines, dfinissent le chemin critique, qui est le chemin sur lequel aucune tche ne doit avoir de retard, pour ne pas retarder l'ensemble du projet. IV.5 Mise en uvre On attache une importance mettre en vidence les liaisons qui existent entre ces diffrentes tches et dfinir le chemin critique. Le but est de trouver la meilleure organisation possible, pour raliser un projet dans les meilleurs dlais. Pour construire un graphe d'ordonnancement, on procde de la manire suivante : Dans une premier temps, il faut crer un tableau contenant deux colonnes. La premire colonne contient le nom des taches et dans la deuxime colonne on inscrit les contraintes c'est dire les taches qui doivent tre effectues avant la tache considre. Exemple : On doit excuter sept taches a,b,c,d,e,f ,g soumises aux contraintes de succession rapportes dans le tableau ci-dessous : Tches a b c d e f g Contraintes b acheve b acheve a et d acheves c,e et f acheves

Puis on traduit le tableau sous forme de graphe en liant les taches qui se suivent. Pour effectuer une tache, il faut que les contraintes soient acheves. Donc dans notre graphe, toutes les tches dans la colonne contrainte seront suivies des tches qu'elles contraignent.

Projet: Ordonnancement

Prenons l'exemple pour comprendre: La tache b est dans la colonne contrainte. Elle contraint les taches d et e. Et donc dans le graphe la tache b sera suivie des taches d et e. Puis on fait de mme pour toutes les taches, et ainsi notre graphe d'exemple se construit :

a d Dpart b e c
Illustration 1: Graphe des tches de l'exemple
VAlgorithme V.1 Dmarche et problmes rencontrs Premire approche du sujet

Fin

A la lecture du sujet, nous avons fait un rapprochement avec le cours de Monsieur Raynal, Professeur de Management l'ISMANS. En effet, lors de ce cours nous avions pu voir l'une des mthodes d'ordonnancement, qui tait le PERT ( Programm Evaluation and Review Technique - technique d'ordonnancement et de contrle des programmes). Premire dmarche A l'aide de cette mthode, nous avons mis au point un algorithme permettant de calculer: le jour au plus tt o la tche peut tre effectue, le jour au plus tard o une tche peut tre effectue,

afin de pouvoir dduire la marge associe chaque tche, c'est dire la dure maximale de retard possible sur une tche. Cette dure est la diffrence entre le jour au plus tt et le jour au plus tard o la tche peut tre effectue, sans que cela perturbe la dure totale du projet. Un problme d'ordre Mais nous avons eu un problme lors de la ralisation de l'algorithme du jour au plus tard, car nous nous sommes rendus compte que si les tches n'taient pas ordonnes, l'algorithme ne fonctionnait pas. Aprs une recherche sur internet,nous avons envisag d'effectuer un algorithme pour ordonner les tches par niveau : Mthode des niveaux (http://www.logistiqueconseil.org/Fiches/Logistique/Pert.pdf ) Cette mthode permet de distinguer les diffrents niveaux qui apparaissent dans le problme d'ordonnancement. On effectue des manipulations sur les lignes d'un tableau, et les niveaux du problme d'ordonnancement se distinguent. A l'aide de cette mthode, on peut en dduire le graphe des niveaux suivant pour notre exemple.

Projet: Ordonnancement

a d Dpart b e c
Niveau 1 Niveau 2

g
Niveau 3 Niveau 4

Fin

Illustration 2: Graphe des tches de l'exemple avec les niveaux


Aprs la comprhension de la mthode des niveaux, nous avons ralis la matrice suivante pour l'exemple : Construction de la matrice :

0 0 0 A= 0 0 1 0


0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 a b c d

Les lignes correspondent aux tches raliser, et les colonnes aux tches ralises, sachant que le nombre de lignes et de colonnes correspond aux nombres tches ordonnancer. Pour expliquer la construction de la matrice, prenons l'exemple :

a b c A= d e f g


0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
f g a et d acheves c,e et f acheves

La tche f est raliser, pour cela il faut que les tches a et d soient ralises. Ainsi dans la matrice a(6,1) et a(6,4) prennent la valeur 1. De mme pour les autres tches.

Projet: Ordonnancement

Deuxime dmarche Mais suite la premire runion de tutorat, nous avons t orient vers une nouvelle piste o ordonner les tches n'tait pas ncessaire. Nous nous sommes alors dirigs vers la construction d' une nouvelle matrice M2, elle permet d' intgrer directement les dures associes pour effectuer les tches. Ce qui a permis cette fois-ci d'aboutir des algorithmes permettant de calculer le jour au plus tt et le jour au plus tard de chaque tche. Problme de la rcursivit sous Matlab Cependant, ces algorithmes mis au point, utilisent des principes de rcursivit, or le logiciel MATLAB pose un problme au bout de 500 rcursivits. Ceci peut entrainer des erreurs dans le cas des problmes d'ordonnancement comportant de nombreuses tches couples entre elles (majorit des cas industriels). Lors de nos runion de tutorat, nous avons t rdig vers une mthode itrative pour viter ce problme de saturation. Dmarche itrative Nous nous sommes donc dirigs vers une mthode itrative. Dans cette mthode, nous utilisons de plusieurs matrices pour rsoudre le problme d'ordonnancement.

M1 est la matrice qui reprsente le tableau du problme. C'est l'utilisateur en rpondant chaque questions poses par le programme qui va la remplir. M2 est la matrice qui dfinie les dures des tches.

Pour dterminer le jour au plus tard, on procde de la manire suivante : Aprs avoir crit la matrice M2, on crit ensuite la matrice M3, dans laquelle on calcule le maximum des colonnes pour obtenir le rsultat, cest notre matrice de sortie. Puis nous utilisons une matrice qui sert de stockage du chemin que lon est en train de parcourir, c'est la matrice M4. Elle permet de pouvoir continuer le chemin. Cette matrice permet davoir une dmarche de proche en proche pour obtenir le rsultat. Et enfin une dernire matrice, M5, sert la mise en place dune condition darrt sur chaque nud, c'est-dire que tant que les chemins qui aboutissent un mme nud ne sont pas entirement faits, on ne calcule pas le jour max de ce nud. Et de manire analogue, on construira les matrices M6, M7 et M8 pour dterminer le jour au plus tard. V.2Algorithmes Premier Algorithme a) Algorithme Ordonnancement ( T: TABLEAU[0,N][1,6]) % N nombre de tches Pr-condition: % a dfinir Post-condition: % a dfinir % dbut de l'algorithme permettant de dfinir le jour le plus court de chaque tche.

Projet: Ordonnancement

Ralisation: iN Tant que iN Rpter Si T(i,3)=0 Alors T(i,4)T(i,2) Sinon T(i,4)T(i,2) + MAX(T(i,3)) % on prend la valeur maximale des contraintes prsentes la ligne i et la colonne 3 du tableau d'entre Fin Si ii+1 Fin Tant que => Utilisation du MAX MAX ( TABLEAU[0,N][1,6], ): ENTIER k2 j1 r : premier charactere % a sera le rsultat du MAX mNombre_caractre(T(i,3)) Tant que k m Rpter Si disp(ch(j)) disp(ch(k)) % disp correspond la fonction qui assimile un caractre un nombre. Alors kk+1 et rdisp(ch(j)) Sinon jj+1 Fin Si Fin tant que b) Conclusion Ce premier algorithme fonctionne seulement si les tches sont ordonnes, c'est dire si elles sont mis dans l'ordre chronologique ds le dpart.

Algorithme en rcursif a) Algorithme


DUREE_MAX( B[j,k]):ENTIER % On fixe k et on fait varier les ligne et on regarde quand M(j,k) est diffrent de 0. Si c'est le cas on prend cette valeur et on l'additionne la dure max B[x,j-1] en fixant j (on regarde sur la colonne j-1) et en faisant varier les lignes x. A:M1 ? B: M2 ? C: M3 ? Prcondition: B remplit Post-condition: Dclaration de variables:
Projet: Ordonnancement

C: TABLEAU [ENTIER] [1, N+1] [1, N]

j: ENTIER k: ENTIER Ralisation: j1 Si k=1 Alors rsultat 0 Sinon Tant que J N+1 Rpter Si B[j;k] =0 Alors C[j,k]0 Sinon C[j,k] B[j;k]+DUREE_MAX( B[j,k-1]) Fin Si jj+1 Fin Rpter A[k+1;4]MAX(C[i;k]) % on prend la valeur maximale de la colonne k que l'on fait varie Fin Si JOUR_MAXI ( M1: TABLEAU [ENTIER] [1, N+1] [1, 6]: ENTIER; M2: TABLEAU [ENTIER] [1, N+1] [1, N]: ENTIER): M1: TABLEAU [ENTIER] [1, N] [1, 6]: ENTIER Prcondition: M2 remplit Post-condition: le rsulta de la ligne i et de la colonne 4 contient la dure minimal o la tache i peut tre effectu. Dclaration de variables: Ralisation: k1 Tant que k N Rpter M1[k+1;4]DUREE_MAX(M3[i;k]) % on calcule la dure maximale sur la colonne k (qui correspond regarder le jour minimal de la tche k dans M2 ou k+1 dans M1 (mme tche) kk+1 Fin Rpter Fin JOUR_MAXI
b) Conclusion

k: ENTIER

Nous n'avons pas continu avec cette mthode, car le logiciel Matlab aurait bloqu au bout de 500 rcursivits, et nous aurions t limit 25 tches.

Projet: Ordonnancement

Algorithme en itratif a) Dclaration des matrices utilises lors de l'algorithmique


Pour ce programme nous avons besoin de dfinir des matrices:

Dclaration de la matrice M1 N=input ('Entrer le nombre de taches:') % N reoit le nombre de tches M=zeros(N+1,1) % M matrice remplie de 0 de N+1 ligne et de une colonne Pour i = 2 jusqu' i =N+1 M(i,1) = input (['Entrer le nom de la tache ' num2str(i-1) ':']) % M (i,1) reprsente le coefficient de la i me ligne, premire colonne de la matrice M
% La premire colonne de la matrice M1 est remplie par le nom de chaque tche.

M(i,2) = input (['Entrer la dure de la tache ' num2str(i-1) ':']) % M (i,2) reprsente le coefficient de la i me ligne, deuxime colonne de la matrice M
% La seconde colonne de la matrice M1 est remplie par la dure associe chaque tche.

k=input(' Combien avez-vous de contraintes:')


% k correspond au nombre de tches effectuer avant la tche correspondante la ligne i.

Si k1 Pour j =1 jusqu' j=k M(i,j+2) = input(['Entrer la tache effectuer avant la tache ' num2str(i-1) ':'])
% prend le nom de la tche effectuer avant la tche correspondante a la ligne i

Fin Sinon Si k 1 M(i,3)=0 % si il n'y pas de tches effectuer avant la tche correspondante la ligne i,
le nom de la tche effectuer avant est gal zro.

Fin Si Fin si Fin Pour notre exemple: M1

0 1 2 M1= 3 4 5 6 7


0 6 3 6 2 4 3 1 0 0 0 0 2 2 1 3 0 0 0 0 0 0 4 5 0 0 0 0 0 0 0 6 10

Projet: Ordonnancement

Dclaration de la matrice intermdiaire M2


M2=zeros(N+1,N) % Matrice de 0 de N+1 lignes et N colonnes. m= size(M,2) % Donne le nombre de colonne de la matrice. p1 q1 Tant que p N Si p=1 Tant que q N-1 Si M(p,1)=M(q+1,3) M2(p,q)=M(q+1,2) Fin Si q q+1 Fin Tant que q1 Sinon Tant que q N Pour u=3 jusqu' u=m Si M(p,1) = M(q+1,u) M2(p,q) = M(q+1,2) Fin Si Fin qq+1 Fin Tant que q1 Fin Si pp+1 Fin Pour notre exemple: M2

6 0 0 M2= 0 0 0 0 0


3 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 4 0 0 0 0 0 0 3 0 0 3 0 0 0 0 0 0 1 0 1 1 0 11

Projet: Ordonnancement

Nous avons galement besoin de dfinir dM3, qui est de la mme dimension que M2, est la matrice finale, sur laquelle on fait le maximum des colonnes. M3 pour l'exemple:

6 0 0 0 M3= 0 0 0 0


3 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 4 0 0 0 0 0 0 3 0 0 3 0 0 0 0 0 0 1 0 1 1 0

Dclaration de la matrice M4: M4[N+1,N] est la matrice qui stocke le jour maximale de chaque chemin calcul. D'autre part elle permet de se rappeler quel chemin nous faisons.

0 0 0 M4 initial = 0 0 0 0 0
de M5

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

12

M5[2,N] est la matrice qui pose la condition sur chaque noeud. C'est a dire qu'elle permet le franchissement d'un

Projet: Ordonnancement

noeud, une fois que tous les chemins la joignant sont calcul.

a) Algorithme
REMPLISSAGE_M4(M2,M4):M4 Prcondition: Post-condition: Dclaration de variables: j: ENTIER Ralisation: j1 Tant que jN Rpeter jj+1 Fin Rpter Fin REMPLISSAGE_M4 REMPLISSAGE_M5(M2,M5):M5 Prcondition: Post-condition: Dclaration de variables: v: ENTIER w: ENTIER Ralisation: v1 w1 Tant que v N Rpter Tant que w N Rpter Si M2[w,v]0 Alors M5[1;v]M5[1;v]+1 Fin Si ww+1 Fin rpter Si M2[1;j]0 Alors M4[1,j]M2[1;j] Fin Si

vv+1 Fin rpter FIN REMPLISSAGE_M5 exemple de remplissage M5 : Chaque valeur correspond au nombre de chemin arrivant sur une tache. C'est a dire, il y a un chemin qui arrive sur a, 1 sur b,..., 2 sur f, 3 sur g.

M5= 1 1 1 1 1 2 3 0 0 0 0 0 0 0

13

Projet: Ordonnancement

JOUR_MAX(M2,M3,M4,M5): M3 Prcondition: Post-condition: Dclaration de variables: p: ENTIER k: ENTIER m: ENTIER Ralisation: p1 k1 m1 Tant que p N+1%on est sur la ligne p de M4 Rpter Tant que k N % on est sur la colne k de M4 Rpter Si M4[p;k] 0%on regarde les valeur non nulles de M4 a la ligne p et la colone k Alors Tant que m N Rpter si M3[k+1;m] 0 Alors M3[k+1,m]M3[k+1;m]+M4[p;k] % la matrice M3 prend la valeur de son chemin, qui etait stock dans M3, plus celle de M4 qui correspond au jour Max %des taches antecedantes. Et M5[2,m]M5[2;m]+1 % on increment la colonne equivalente dans M5, signifiant qu'un chemin supplementaire a ete calcul. Et Si M5[1,m] = M5[2,m] % on regarde si tous les chemins precedants la tache ont ete calcul. alors M4[p+1,m]max(M3[1...n+1;m]) % on active un nouveau chemin a calculer dans M4. Ce chemin prend le jour max de la tache antecedante. Fin Si Fin Si mm+1 Fin Rpter M1 Fin Si kk+1 Fin Rpter pp+1 k1 Fin Rpter FIN JOUR_MAX <<<On applique la meme demarche que pour jour max, seul change la condition d'arret. Pt=1 kt=1 mt=2 M3T=M2 Tant que P t N+1 Rpter Tant que: kt N Repeter Si M4T[kt,Pt] 0 alors tant que: mt N Rpter Si M3T[mt,kt] 0 Alors M3T[mt,kt] = M4T[Pt,kt]-M3T[mt,kt] M5T[mt,2] = M5T[mt,2]+1 Si M5T[1,2] M5T[1,1] % il s'agit de la condition d'arret, si tous les chemins de la premiere tache sont activs, alors tous les jours min ont ete %calcul. Projet: Ordonnancement

14

Si M5T[mt,2] = M5T[mt,1] Alors M4T[Pt+1,mt-1] = MIN(M3T[mt,:]) %n active un nouveau chemin a calculer dans M4T. Ce chemin prend le jour min de la tache suivante. Fin Si Fin SI Fin Si mtmt+1 Fin Rpter mt1 Fin Si ktkt+1 Fin Tant que PtPt+1 kt1 Fin Tant que

Alors

b) Rsultat MATRICE FINALE il nous reste plus ka faire la difference entre duree o plus tard et duree o plus tot. Pour chaque resultat nul, la tache appartien o chemin critique. Sinon, le resultat obtenu nous donne la marge associe a chke tache c) Conclusion et commentaires Cet algo nous permet d'obtenir les tache qui appartien o chemin critike rechercher AINSI QUE LES MARGE DE TEMPS ASSOCIER A CHAQUE TACHE. En effet, il nous donne une matrice finale dans lakelle on trouve..... Exemple pour une installation industrielle a) Tableau des tches Les tches et leur dures, ainsi que leur contraintes associes sont prsentes dans le tableau suivant: Description des oprations 1- Descente en temprature et en pression 2- Dmontage des circuits infrieurs 3- Remontage refroidisseur 4- Remontage des circuits infrieurs 5- Nettoyage refroidisseur et remplacement des tubes 6- Rgnration du catalyseur 7- Essai de tenue en pression 8- Dmontage du refroidisseur 9- Inspection colonne infrieure et
Projet: Ordonnancement

Dure des tches en heures 10 16 30 40 18 14 17 15 25

Contraintes

1 7,4 8 2 3 9 1 3

15

rparation des tubes 10- Remontage du catalyseur 11- Dmarrage rel 20 5,6

b) Rsultat obtenu avec Matlab

VIApplications sur l'ordonnancement : Le Viaduc de Millau Depuis la fin des anne 80, la stratgie dans les entreprises prend une place importante. L'organisation des taches accomplir pour raliser un projet doit tre efficace. De ce fait, l'ordonnancement des tches joue un rle essentiel afin de pouvoir respecter l'chance du projet. A travers ce projet, il nous a t possible de mettre en uvre une mthode d 'ordonnancement et ainsi tester nos algorithmes sur un exemple simple, limit quelques tches. Il serait maintenant intressant d'utiliser cet algorithme sur des problmes plus industriels prsentant de nombreuses tches. Par exemple sur la construction d'un grand ouvrage d'art tel que du Viaduc de Millau. En effet la construction de ce Viaduc s'est fait en une multitude tapes, toutes s'effectuant dans un ordre prcis et certaines pouvant se raliser simultanment.

Projet: Ordonnancement

16

Illustration 3: Viaduc de Millau

VI.1 Exemples de tches Construction des piles: - Semelle de soutien - lvation de la pile - lvation de la grue Assemblage du tablier Mise en place des bquilles provisoires Mise en place du tablier par poussage Soudure du tablier Mise en place des pilonnes suprieurs et des haubans Suppression des bquilles provisoires Pose de l'enrob VI.2 Intrt de l'ordonnancement L'ordonnancement permet de grer dans le temps les interventions successives des centaines de sous traitant impliqus dans la ralisation du Viaduc de Millau. Exemples pour les piles : - matre d'ouvrage - livraison du btons - fourniture des semelles de construction - grues de connaitre les dates auxquelles un bureau de certification peut certifier un nouvel quipement spcial dans
Projet: Ordonnancement

simultanment pour toutes les piles

simultanment

simultanment pour tous les pilonnes

17

un atelier. d'identifier des priodes au cours desquelles l'activit d'une quipe peut tre accrue ou doit tre diminue faute de ressources suffisantes de savoir l'incidence sur les cot de dveloppement. VI.3 Deux types d'ordonnancement En conception et en exploitation: - l'analyse des tches, leur dfinitions, leur dures - les antriorits - la planification - le chemin critique En contrle de projet: - Suivi des dlais et des cot - Prise de dcisions ( affectation des ressources par exemple)

VII Conclusion

VIIIAnnexes VIII.1 Algorithme prsence presence (Ch: CHAINE, CAR: CARACTERE):BOOLEEN si premier(ch)= ensemble vide alors r <- FAUX sinon si premier(ch)=CAR alors r <- VRAI sinon r <- presence( fin(ch),CAR) fin si

fin si

Projet: Ordonnancement

18

VIII.2 Fichiers Matlab

Projet: Ordonnancement

19

S-ar putea să vă placă și