begin process at 2012 02 16 10:57:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

HELP!!! Problème complexe d'ordonnancement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

HELP!!! Problème complexe d'ordonnancement

lundi 31 décembre 2007 à 11:29:29 | HELP!!! Problème complexe d'ordonnancement

hela_bouks

Bonjour,
J'explique mon probleme : j'ai 3 produit P1, P2, P3 à affecter sur 5 machines.
Chaque produit est divisé en opération, ce qui donne :
O11
O21
O31
O12
O22
O32
O13
O23
Le premier chiffre indique le numéro de l'operation et le deuxième le numéro du produit.
Bien sur, l'operation 1 passe toujours avant la 2 et la 2 avant la 3. Chaque operation est affectée aleatoirement à une machine.
Le but est de choisir une operation au hasard parmi cet ensemble et de verifier que :
1- qu'elle n'a pas encore été choisie auparavant
2 - que les operations qui la precedent ont deja été affectée à des machines (cad si le choix est O32, il faut verifier que O22 et O12 ont été préalablement traitées)

Ce serait mega génial si vous pouviez m'aider!!!!
Un grand merci
lundi 31 décembre 2007 à 12:05:11 | Re : HELP!!! Problème complexe d'ordonnancement

jmfmarques

Membre Club

Bonjour,

Je ne comprends pas la philosophie de ton truc !

je dirais :

pour chaque produit : une chaine 123
- tirage aléatoire d'une machine (sur une leste de 5 machines)
- tirage aléatoire d'un produit (sur une liste de 3 produits) - attribution du 1er caractère de la chaine et suppresion de ce caractère dans la chaine. Et si, après suppression (dernier caractère) la chaine et vide : suppression du produit dans la liste des produits.

lundi 31 décembre 2007 à 12:54:32 | Re : HELP!!! Problème complexe d'ordonnancement

hela_bouks

En fait, à la base ce n'est pas trés compliqué,
Chaque produit doit passer par une machine, peu importe laquelle. Mais par exemple sur une même machine, le produit O32  ne peut pas passer avant O22, l'ordre doit être respecté!!!
Un autre exemple : On peut traiter O11 sur la machine 4 et O21 sur la machine 1 en parallère, ça ne pose pas de problème.
Ce qui me pose problème c'est comment respecter l'ordre de passage sur une machine donnée.
Si je peux donner plus d'explication, je suis à votre disposition.
Merci
lundi 31 décembre 2007 à 13:07:17 | Re : HELP!!! Problème complexe d'ordonnancement

jmfmarques

Membre Club
Bon,

1) j'ai maintenant bien compris ton truc
2) il s'agit là d'un problème simple et non "complexe"
3) je t'ai donné des indications suffisamment précises
4) je viens de mettre en oeuvre, sans problèmes, la "chose"
5) il s'agit manifestement là d'un exercice de cours et je n'ai dans ce cas absolument pas l'intention de le faire à ta place
6) la solution est moins dans le code VB que dans l'élaboration d'un mécanisme de pensée (comme toujours, d'ailleurs)
7) dans ce cas et en conclusion :
- une listbox comportant 3 articles : 1123 2123 3123, où le 1er caractère est l'identificateur du produit
- 5 listboxes vides au départ, représentant tes 5 machines et qui seront alimentées par les produits jusqu'à épuisement

Pour le reste : à toi de jouer (celà se fait en à peine quelques lignes de code... !). Je ne reviendrai ici que si tu nous montres un peu de code d'essai sur ces bases et celles que je t'ai montrées plus haut. Le tout est fort simple.
mardi 1 janvier 2008 à 09:38:31 | Re : HELP!!! Problème complexe d'ordonnancement

jmfmarques

Membre Club

Allez ...

Un cadeau pour le jour de l'an, va...

Une listbox nommée List1, une listbox nommée List2 et un bouton de commande nommé Command1

Code :

Private Sub Form_Activate()
  Randomize Timer
End Sub

Private Sub Command1_Click()
  Dim nb As Integer, machine As Integer, produit As Integer, chaine As String
  List1.Clear
  List1.AddItem "1231"
  List1.AddItem "1232"
  List1.AddItem "1233"
  List2.Clear
  While List1.ListCount > 0
    nb = List1.ListCount
    produit = Int(nb * Rnd)
    machine = Int((5 * Rnd) + 1)
    chaine = List1.List(produit)
    List2.AddItem "machine " & machine & " : 0" & Left(chaine, 1) & Right(chaine, 1)
    List1.List(produit) = Mid(chaine, 2)
    If Len(List1.List(produit)) = 1 Then List1.RemoveItem produit
  Wend
  End Sub

mardi 1 janvier 2008 à 10:21:36 | Re : HELP!!! Problème complexe d'ordonnancement

jmfmarques

Membre Club
Une autre feinte est de traiter tes produits dans l'ordre et de leur attribuer aléatoirement une machine, tout simplement :

Exemple :

1 seule listbox nommée List1 et un bouton de commande Command1

code :

Private Sub Command2_Click()
 Randomize Timer
 Dim nbproduits As Integer, nbmachines As Integer, nbreferences As Integer
 nbproduits = 3
 nbmachines = 5
 nbreferences = 3
 List2.Clear
 Dim I As Integer, J As Integer
 For I = 1 To nbproduits
   For J = 1 To nbreferences
     List2.AddItem "machine " & Int((nbmachines * Rnd) + 1) & " : " & "0" & J & I
   Next
 Next I
End Sub

Tu remarqueras que tu peux faire varier à ta guise le nombre des machines, celui des produits et celui des références de chaque produit

Voilà ... tu découvres ainsi que le développement informatique est avant tout celui de sa propre pensée...


Cette discussion est classée dans : problème, help, produit, operation, complexe


Répondre à ce message

Sujets en rapport avec ce message

Problème de tranfert vers un serveur FTP Help Help Urgent [ par fredo ] Dans la procedure voici ce qu'il y a :With InetFtpDirect .URL = AdrFTP 'Adresse de l'url .UserName = CodeAccessFTP 'Login .Password = Pas Help ! PrintOut sur Excel [ par alolo ] Bonjour et bonne année.Gros problème : modeste programmeur, j'ai créé une application financière VB6 qui utilise in fine l'impression des résultats so HELP Base de Données [ par Yerffuaj ] bonjour J'ai un problème qui me bloque, J'ai une base de données contenant 10 champs (lignes) et j'aimerais pouvoirprendre modifier et enregistrer SVP HELP ME ( problème de textbox ) [ par Néo ] Je crée un logiciel afin d'éditer des quittances de loyer.Mon pb c'est que je n'arrive pas à conserver les données enregistrées dans certains texbox. Paramètre d'impression ???? Help please??? [ par Spike ] Salut,Mon problème : imprimer un document Excel contenue dans plusieurs onglet et pouvoir modifier les paramètres d'impression sachant que 3 onglets s Problème avec une DLL... HELP ! [ par macz ] Voilà mon problème :J'ai créé une DLL sous Visual C++ 6.0 qui contient comme seul point d'entrée une fonction Recherchequi renvoie une String que mon Recherche idées.... help.... [ par GrosLolo ] Bonjour,Voici le problème, j'ai une application en CLIPPER ( dbase sous DOS pour ceux qui ne connaissent pas ! ) que je dois migrer en VB. Le problème Empaquetage et installation, petit problème... HELP! [ par C17 ] Salut à tous, J'ai développé un petit programme en VB, je l'ai empaqueté mais lorsque j'installe ce programme j'ai le message suivant: "Une erreur s'e Help problème d'empaquetage [ par sharky ] Débutant qui débute :)J'ai developpé une appli sous vb 6 entreprise / win98.J'amerais la tester chez moi sous win xp et j'ai un problème pour l'empaq Problème Raccourcis ! Help [ par MatthieuFourcade ] Bonjour j'ai un petit problème en vb6.0 j'aimerai savoir comment on fait pour recupérer la cible d'un raccourci ?MErci !


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,498 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales