IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

problème de production


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 301
    Par défaut problème de production
    Bonjour à tous,

    J'ai un problème algorithmique qui peut s'enoncer comme un problème de production: j'ai n tâches à exéctuer sur m machines (m=n). Chaque tâche a une date de début et une date de fin connue. Mon but est de les affecter aux machines de sorte à minimiser le nombre de machines utilisées. Mon algo actuel consite à trier les tâches par date de début d'exécution croissante et à les placer sur la machine compatible (qui est disponible avant la date de début de la tâche courante) disponible au plus tard. J'ai l'impression que ce problème est polynomial mais je n'arrive pas à le ramener à un problème "classique". Si vous avez des idées de pistes... je suis preneur

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    A mon avis, ton problème doit être un "Job Shop Scheduling" mais de la manière dont tu l'as expliqué, je ne comprend pas: si les dates de début et de fin des tâches sont imposées, je ne vois pas trop comment on peut minimiser quoi que ce soit.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 301
    Par défaut
    Justement, le truc c'est qu'ici je ne cherche pas à minimiser la date de fin de la dernière tâche mais le nombre de machines utilisées: si par exemple j'ai n tâches unitaires telles que la tâche i se commence en i et se termine en i+1, je peux très bien décider d'affecter chaque tâche à chaque machine (j'ai donc utilisé n machines) mais dans mon cas je préfèrerais qu'elles soient toutes affectées à la première machine (j'aurais donc utilisé une seule machine). Avec cet exemple c'est effectivement possible de toutes les affecter à la machine 1 mais si j'ai une tâche k qui commence en k et se termine en k+3, je serai alors obligé d'utiliser deux machines. Et je voudrais donc déterminer un algo optimal (si le problème est polynomial ou pseudo-polynomial) ou alors une bonne heuristique (si le problème est NP-difficile) pour le cas général où on connait pour chaque tâche sa date de début et sa date de fin.

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    ... Je comprend toujours pas.

    Si la date de début de la tâche est est imposée, il faut nécessairement affecter cette tâche à une machine disponible. N'importe laquelle.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 301
    Par défaut
    Ben... non... pas n'importe laquelle, je pense qu'un exemple vaut mieux qu'un long discours:
    n = 3 (le nombre de tâches)
    T1 [0,1], T2 [1,2], T3[2,3] (les dates de début et de fin des tâches)
    Première possibilité d'affectation:
    M1 |[T1][T2][T3]
    M2 |___________
    M3 |___________
    Nombre de machines utilisées : 1

    Deuxième possibilité d'affectation:
    M1 |[T1]________
    M2 |____[T2]____
    M3 |________[T3]
    Nombre de machines utilisées : 3

    Donc il faut pas affecter une tâche à n'importe quelle machine puisque je veux minimiser le nombre de machines utilisées (et donc avec l'exemple être dans le cas de la première possibilité). Voilà, je sais pas si c'est plus clair maintenant. En fait il faudrait donc un algorithme pour le cas général et si possible que j'arrive à identifier quel type de problème c'est (genre si j'arrive à dire "c'est un problème de recherche de plus court chemin dans un graphe" c'est cool c'est polynomial ou encore "c'est un problème de sac à dos" bon c'est moins cool c'est pseudo polynomial ou enfin "c'est un problème de voyageur de commerce" et là c'est NP-Difficile mais au moins j'aurais accès à de bonnes heuristiques)

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Ahhhhh.... je comprend mieux.

    Tu veux minimiser le nombre de machines différentes nécessaires au scheduling.

    Dans ce cas, au lieu de prendre "n'importe quelle" machine, il faut prendre en priorité celles qui ont déjà été utilisées. non ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. Problème de production
    Par Carcharodon dans le forum Administration
    Réponses: 33
    Dernier message: 12/11/2010, 17h06
  2. Problème de "Product"!
    Par Mayous29 dans le forum Simulink
    Réponses: 2
    Dernier message: 30/04/2009, 22h00
  3. [WD14] Problème connexion base C/S en production
    Par Xsara 167 cv dans le forum WinDev
    Réponses: 22
    Dernier message: 30/03/2009, 08h24
  4. Réponses: 0
    Dernier message: 23/09/2008, 12h54
  5. Problème packages SSIS (mise en production)
    Par kince dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/04/2007, 19h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo