Nisrine1
Messages postés18Date d'inscriptionmardi 31 décembre 2013StatutMembreDernière intervention25 mars 2014
-
31 déc. 2013 à 12:15
Nisrine1
Messages postés18Date d'inscriptionmardi 31 décembre 2013StatutMembreDernière intervention25 mars 2014
-
31 déc. 2013 à 13:30
Bonjour tout le monde!
je suis nouvelle en programmation et j'y connais absolument pas grand chose. Ce pendant je suis face a une programmation d'un système complexe(file d'attente/client serveur) que je vous poste:
Il s'agit de simuler le comportement d'un système d'attente correspondant à une chaîne d'assemblage ayant les caractéristiques suivantes :
* le poste serveur 1 est une machine d'assemblage qui a besoin de deux composants
* le composant 1 arrive sur le serveur 1 suivant une loi exponentielle de durée moyenne 1'30
* le composant 2 arrive sur le serveur 1 suivant une loi exponentielle de durée moyenne 1'10
* la pièce ainsi assemblée doit se rendre sur le serveur 2 où un troisième composant est installé
* le composant 3 arrive sur le serveur 2 suivant une loi exponentielle de durée moyenne 2'
* la durée d'assemblage sur poste serveur 1 suit une loi exponentielle de durée moyenne 1'
* la durée d'assemblage sur poste serveur 2 suit une loi exponentielle de durée moyenne 1'30
On demande:
* de simuler sur un nombre suffisant d'itérations sur macro excel
Nous serions heureux de t'aider... toutefois, sur ce site, nous ne faisons pas le travail à votre place....
Il est demandé que vous fassiez un minimum d'effort avant que quelqu'un ne prenne le temps de vous aider...
Pour cela, merci de nous montrer que le code que vous avez commencé à mettre en place et indiquez nous sur quoi vous bloquez éxactement...
Merci, avant de répondre, de lire les liens suivants:
Dim Test As Double
Test = Application.WorksheetFunction.ExponDist(1, 2, True)
Nisrine1
Messages postés18Date d'inscriptionmardi 31 décembre 2013StatutMembreDernière intervention25 mars 2014 31 déc. 2013 à 13:08
Bonjour Jordan
Merci bcp pour ton attention. Mon probleme c'est comment programmer le language de macro VB!
j'ai generer 3 variables aléatoires suivant une loi uniforme avec 100 ecantillons
ensuite j'ai simuler les loi exponetielles des trois arrivées sur excel et quand je retourne sur macro voilà ce que ça me donne:
Sub Macro2()
'
' Macro2 Macro
'
'
Application.Run "ATPVBAEN.XLAM!Random", ActiveSheet.Range("$A$1"), 3, 100 _
, 1, , 0, 1
'simulation de la loi exponentielle arrivé composant1
Range("D1").Select
ActiveCell.FormulaR1C1 = "=(-1/90)*LN(1-RC[-3])"
Range("D100").Select
Range("D1").Select
ActiveCell.FormulaR1C1 = "=(-1/90)*LN(1-RC[-3])"
Range("D1").Select
Selection.AutoFill Destination:=Range("D1:D100"), Type:=xlFillDefault
Range("D1:D100").Select
Range("D1").Select
ActiveCell.FormulaR1C1 = "=(-1/90)*LN(1-RC[-3])"
'simulation de la loi exponentielle arrivé composant2
Range("E1").Select
ActiveCell.FormulaR1C1 = "=(-1/70)*LN(1-RC[-3]:RC[-2])"
Range("E1").Select
ActiveCell.FormulaR1C1 = "=(-1/70)*LN(1-RC[-3])"
Range("E1").Select
Selection.AutoFill Destination:=Range("E1:E100"), Type:=xlFillDefault
Range("E1:E100").Select
'simulation de la loi exponentielle arrivé composant3
Range("F1").Select
ActiveCell.FormulaR1C1 = "=(-1/120)*LN(1-RC[-3])"
Range("F1").Select
Selection.AutoFill Destination:=Range("F1:F100"), Type:=xlFillDefault
Range("F1:F100").Select
Range("G100").Select
End Sub
La suite il faut j'arrive a gerer les etats des serveurs(serveur1 pour arrivée composant 1 & 2) et serveur 2 (arrivée de l'assembler 1&2 et 3)
C'est à dire je dois comparer le prochain évenement à un instant donné à savoir le temps d'arrivé au niveau des serveurs et la sortie qui se produit aussi.
31 déc. 2013 à 12:37
http://office.microsoft.com/fr-fr/excel-help/fonction-loi-exponentielle-HP010062497.aspx
pour l'utiliser en Macrro (VBA) tu peux le faire ainsi :
31 déc. 2013 à 13:08
Merci bcp pour ton attention. Mon probleme c'est comment programmer le language de macro VB!
j'ai generer 3 variables aléatoires suivant une loi uniforme avec 100 ecantillons
ensuite j'ai simuler les loi exponetielles des trois arrivées sur excel et quand je retourne sur macro voilà ce que ça me donne:
Sub Macro2()
'
' Macro2 Macro
'
'
Application.Run "ATPVBAEN.XLAM!Random", ActiveSheet.Range("$A$1"), 3, 100 _
, 1, , 0, 1
'simulation de la loi exponentielle arrivé composant1
Range("D1").Select
ActiveCell.FormulaR1C1 = "=(-1/90)*LN(1-RC[-3])"
Range("D100").Select
Range("D1").Select
ActiveCell.FormulaR1C1 = "=(-1/90)*LN(1-RC[-3])"
Range("D1").Select
Selection.AutoFill Destination:=Range("D1:D100"), Type:=xlFillDefault
Range("D1:D100").Select
Range("D1").Select
ActiveCell.FormulaR1C1 = "=(-1/90)*LN(1-RC[-3])"
'simulation de la loi exponentielle arrivé composant2
Range("E1").Select
ActiveCell.FormulaR1C1 = "=(-1/70)*LN(1-RC[-3]:RC[-2])"
Range("E1").Select
ActiveCell.FormulaR1C1 = "=(-1/70)*LN(1-RC[-3])"
Range("E1").Select
Selection.AutoFill Destination:=Range("E1:E100"), Type:=xlFillDefault
Range("E1:E100").Select
'simulation de la loi exponentielle arrivé composant3
Range("F1").Select
ActiveCell.FormulaR1C1 = "=(-1/120)*LN(1-RC[-3])"
Range("F1").Select
Selection.AutoFill Destination:=Range("F1:F100"), Type:=xlFillDefault
Range("F1:F100").Select
Range("G100").Select
End Sub
La suite il faut j'arrive a gerer les etats des serveurs(serveur1 pour arrivée composant 1 & 2) et serveur 2 (arrivée de l'assembler 1&2 et 3)
Merci de votre guide!
Modifié par elhadjinassara le 31/12/2013 à 13:49