écrire un programme en c permet d'affecter les taches sur les machines???
2 participants
Page 1 sur 1
écrire un programme en c permet d'affecter les taches sur les machines???
Salut,
En fait, le problème consiste à placer n taches sur m machines pour minimiser les retards totaux.
La règle est la suivante : placer la tache dont la durée d'exécution est la plus petite à la machine disponible.
A chaque fois on doit calculer le retard "T" de chaque tache (formule est la suivante : date de fin d'exécution de la tache déterminer après affectation des taches sur les machines "c" -date de fin au plus tard de la tache "d") : T= c - d.
Ce qui est demandé :
1) écrire un programme en c qui permet de trier les taches par durée d'exécution croissant: c'est fait!
2) écrire un programme en c qui permet placer les taches sur les machines pour calculer les retards totaux selon la formule donnée.
Là, je me bloque . Je n'arrive pas à le faire
Pourriez vous me donner un coup d'aide?
Merci!
Voici un exemple pour mieux assimiler:
soit
En fait, le problème consiste à placer n taches sur m machines pour minimiser les retards totaux.
La règle est la suivante : placer la tache dont la durée d'exécution est la plus petite à la machine disponible.
A chaque fois on doit calculer le retard "T" de chaque tache (formule est la suivante : date de fin d'exécution de la tache déterminer après affectation des taches sur les machines "c" -date de fin au plus tard de la tache "d") : T= c - d.
Ce qui est demandé :
1) écrire un programme en c qui permet de trier les taches par durée d'exécution croissant: c'est fait!
2) écrire un programme en c qui permet placer les taches sur les machines pour calculer les retards totaux selon la formule donnée.
Là, je me bloque . Je n'arrive pas à le faire
Pourriez vous me donner un coup d'aide?
Merci!
Voici un exemple pour mieux assimiler:
soit
données :
6 taches : j1, j2, j3, j4, j5, j6
3 machines : m1, m2, m3
durée d'exécution : 3, 6, 1, 2, 10, 4
d : 12, 5, 7, 8, 10, 6, 18
r(date de début de la tache, nécessaire pour placer les taches sur la machine) : 0, 1, 6, 3, 9, 12
Solution :
1)
séquence de tache (3,4,1,6,2,5)
2)
manuellement
sur m1 : les taches 3, 5
sur m2 : les taches 4, 2
sur m3 : les taches 1, 6
retards :
T1 :3-12<0->T1=0 (retard ne peut pas être négatif)
T2 : 10-5=5->T2=5
T3: 7-7=0
T4:5-10<0
T5:17-6=11
T6:7-8<0
T retards totaux: 5+11=16
pascal- Bavard
- Messages : 20
Date d'inscription : 20/08/2009
Re: écrire un programme en c permet d'affecter les taches sur les machines???
Je ne vois pas trop en quoi c'est une question sur le langage C. Je conseille de demander sur le forum algorithme :pascal a écrit:2) écrire un programme en c qui permet placer les taches sur les machines pour calculer les retards totaux selon la formule donnée.
Là, je me bloque . Je n'arrive pas à le faire
Pourriez vous me donner un coup d'aide?
http://www.developpez.net/forums/f60/autres-langages/algorithmes/
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|