Probleme de math calcul duree d'execution!!!!
Fermé
totorleplusfort
Messages postés
2
Date d'inscription
lundi 29 janvier 2007
Statut
Membre
Dernière intervention
1 février 2007
-
29 janv. 2007 à 02:03
sisoi - 23 déc. 2010 à 22:37
sisoi - 23 déc. 2010 à 22:37
A voir également:
- Probleme de math calcul duree d'execution!!!!
- Calcul moyenne excel - Guide
- Formule math - Télécharger - Études & Formations
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Calcul km marche à pied gratuit - Télécharger - Sport
7 réponses
Salut,
à midi, l'ouvrier 1 a construit 180 pièces (2*90) et l'ouvrier 3 en a construit 90. Donc à midi, il y a eu 270 pièces de construites.
600-270 = 330.
En 1 heure, les 3 ouvriers construisent 270 pièces donc pour construire les 330 pièces il faut 330/270 = 1.222 heure c'est-à-dire 73 minutes (environ)
Donc le travail sera fini à 13h13
CQFD
à midi, l'ouvrier 1 a construit 180 pièces (2*90) et l'ouvrier 3 en a construit 90. Donc à midi, il y a eu 270 pièces de construites.
600-270 = 330.
En 1 heure, les 3 ouvriers construisent 270 pièces donc pour construire les 330 pièces il faut 330/270 = 1.222 heure c'est-à-dire 73 minutes (environ)
Donc le travail sera fini à 13h13
CQFD
chat_teigne
Messages postés
15596
Date d'inscription
mercredi 27 février 2002
Statut
Modérateur
Dernière intervention
27 janvier 2020
1 559
31 janv. 2007 à 14:14
31 janv. 2007 à 14:14
Copie du message de totorleplusfort (mardi 30 janvier 2007 à 21:53:00)
Ce message était posté en dehors du post initial.
A+
je suis tout a fait d'accord avec toi, le seul petit hic c qu'il faut que j'en tire une ( ou des)formule valable pour les cas de figures: changement du nombre de piece a faire mais aussi changement du planning. Dans tous les cas j'apprecie ton aide
Ce message était posté en dehors du post initial.
A+
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
31 janv. 2007 à 17:04
31 janv. 2007 à 17:04
En fait, tu veux un algorithme plutôt qu'une formule, non ?
Une formule unique ne peut pas exister...
Voilà ce que je te propose.
La fonction f(t) qui donne le nombre de pièces construites au temps t est une fonction affine par morceaux : sa représentation serait une suite de segments connexes.
Soit la fonction g(t) qui donne, à un instant t, le nombre d'ouvriers en oeuvre. Soit A le rythme de confection des pièces.
A tout moment, la dérivée f' de f est telle que f'(t) = g(t)*A (en prenant t en heures)
Il n'est pas trop compliqué de définir g(t) : c'est une fonction par palliers, qui vaut 0 à t=0, dont la valeur augmente de 1 chaque fois qu'un ouvrier arrive et diminue de 1 quand un ouvrier part.
Décrivons tout cela de façon informatique (je ne prétends pas optimiser la complexité de l'algorithme)
Définissons un objet HEURE.
HEURE contient deux valeurs :
- H, qui est l'heure en elle-même,
- Type, qui vaut +1 si c'est une heure d'arrivée, et -1 si c'est une heure de départ.
Soit PALLIERS() la liste ordonnée des HEURE de rotation (donc, toutes les heures de début et toutes les heures de fin)
Soit la fonction g, qui prend en paramètre une heure, et renvoie un nombre.
Tout le problème me semble formalisé. Le principe, donc, globalement : parcourir toutes les heures "spéciales" dans l'ordre, et ajouter à chaque fois la quantité produite : quand on dépasse, on regarde plus précisément pour trouver le moment où cela a dépassé.
Si tu a un langage précis dans lequel tu veux que je traduise l'algorithme, ça peut se faire.
En espérant t'avoir plus aidé que saoûlé ;)
Xavier
Une formule unique ne peut pas exister...
Voilà ce que je te propose.
La fonction f(t) qui donne le nombre de pièces construites au temps t est une fonction affine par morceaux : sa représentation serait une suite de segments connexes.
Soit la fonction g(t) qui donne, à un instant t, le nombre d'ouvriers en oeuvre. Soit A le rythme de confection des pièces.
A tout moment, la dérivée f' de f est telle que f'(t) = g(t)*A (en prenant t en heures)
Il n'est pas trop compliqué de définir g(t) : c'est une fonction par palliers, qui vaut 0 à t=0, dont la valeur augmente de 1 chaque fois qu'un ouvrier arrive et diminue de 1 quand un ouvrier part.
Décrivons tout cela de façon informatique (je ne prétends pas optimiser la complexité de l'algorithme)
Définissons un objet HEURE.
HEURE contient deux valeurs :
- H, qui est l'heure en elle-même,
- Type, qui vaut +1 si c'est une heure d'arrivée, et -1 si c'est une heure de départ.
Soit PALLIERS() la liste ordonnée des HEURE de rotation (donc, toutes les heures de début et toutes les heures de fin)
Soit la fonction g, qui prend en paramètre une heure, et renvoie un nombre.
g(T) : { renvoie (somme de HEURE.Type pour toutes les HEURE où HEURE.H < T) }Soit la fonction heureFinale(), qui fait ce que tu veux. Elle prend un argument entier (le nombre d'objets), et renvoie l'heure où c'est atteint.
heureFinale(QTE) : { PiecesCreees = 0; HeurePrecedente = 0; Pour chaque PIVOT dans PALLIERS() { PiecesCreeesDuPallier = A*g(PIVOT.H)*(PIVOT.H-HeurePrecedente); SI (PiecesCreees + PiecesCreeesDuPallier >=QTE) { Renvoie (PIVOT.H + (QTE-PiecesCreees) / (A*g(PIVOT.H)) ) } HeurePrecedente = PIVOT.H PiecesCreees = PiecesCreees + PiecesCreeesDuPallier } Renvoie -1 }Pfiou, voilà :)
Tout le problème me semble formalisé. Le principe, donc, globalement : parcourir toutes les heures "spéciales" dans l'ordre, et ajouter à chaque fois la quantité produite : quand on dépasse, on regarde plus précisément pour trouver le moment où cela a dépassé.
Si tu a un langage précis dans lequel tu veux que je traduise l'algorithme, ça peut se faire.
En espérant t'avoir plus aidé que saoûlé ;)
Xavier
totorleplusfort
Messages postés
2
Date d'inscription
lundi 29 janvier 2007
Statut
Membre
Dernière intervention
1 février 2007
1 févr. 2007 à 05:48
1 févr. 2007 à 05:48
j'avoue que ton niveau en math et en informatique m'impression! Mais malheursement j'ai pas tout compris, d'ailleur je ne pensais pas que mon probleme etait de ce niveau la! le truc comme je le dit precedement c qu'il faut que je rentre tout cela sur excel (et moi qui penser avoir un bon niveau sous excel). pour le moment ma feuille excel ressemble assez a l'ennoncé (avec des calcul en plus mais qui ne peuvent que compliqué le probleme).
Donc le probleme pour moi c de traduire l'algorithme ( et le programme que tu as trouvé) sous un language que excel peux comprendre!
Voila, je suis tres reconnaissant de ce que tu as fait pour moi! ET te redit houaou pour cette demonstration!
Donc le probleme pour moi c de traduire l'algorithme ( et le programme que tu as trouvé) sous un language que excel peux comprendre!
Voila, je suis tres reconnaissant de ce que tu as fait pour moi! ET te redit houaou pour cette demonstration!
plop!
Messages postés
54
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 mai 2007
27
1 févr. 2007 à 06:50
1 févr. 2007 à 06:50
MMh, sous excel, en VB script alors ?
Je vois que les heures sont toutes entières, je présume que les minutes n'interviennent pas ! Donc il n'y a que 24h dans la journée.
Je te le fais en vieil algo. Particularité : O.debut c'est l'heure ou commence l'ouvrier, et .fin ... t'a compris. Les variables commencent par $ (overdose de PHP) :
Tu dira pas que c'est moi qui t'ai aidé hein ?
Je vois que les heures sont toutes entières, je présume que les minutes n'interviennent pas ! Donc il n'y a que 24h dans la journée.
Je te le fais en vieil algo. Particularité : O.debut c'est l'heure ou commence l'ouvrier, et .fin ... t'a compris. Les variables commencent par $ (overdose de PHP) :
$Nb = pièces à produire $Rendement = pièces / heure Pour $H allant de 0 à 24 Pour chaque ouvrier $O Si $H >= $O.debut && $H < $O.fin Alors $Nb = $Nb - $Rendement FinPour Si $Nb <= 0 Aller à FIN FinPour FIN: Les pièces sont prêtes à l'heure $H
Tu dira pas que c'est moi qui t'ai aidé hein ?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
1 févr. 2007 à 10:01
1 févr. 2007 à 10:01
Ta solution masque quand même le fait que si les employés arrivent à heure pile, l'heure de fin du travail peut ne pas être sur une heure "pile" ! Ca dépend un peu de ce dont on a besoin... Mais au moins, c'est simple et clair :)
Un peu plus que mon explication :p
Un peu plus que mon explication :p
plop!
Messages postés
54
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 mai 2007
27
1 févr. 2007 à 18:34
1 févr. 2007 à 18:34
Ton explication est parfaite, et c'est ce que j'aurai fait également ; mais vu le problème, je me suis dit que son prof n'en attendait pas autant... je me trompais.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
1 févr. 2007 à 13:19
1 févr. 2007 à 13:19
Salut.
l'on fait remarquer les autres, c''est simplement l'intégrale de la fonction de production. la fonction de production, c'est N(t)*D où N est le nombre d'ouvier et D le débit du travail. Donc, le nombre de piece produite c'est :
NP=int_0^t(N(t).dt)
l'inconnue est t, et comme N est une fonction discontinue, il est impossible de résoudre exactement, ou alors seulement si le nomre d'ouvrier reste constant sur la tranche horaire considérer.
l'on fait remarquer les autres, c''est simplement l'intégrale de la fonction de production. la fonction de production, c'est N(t)*D où N est le nombre d'ouvier et D le débit du travail. Donc, le nombre de piece produite c'est :
NP=int_0^t(N(t).dt)
l'inconnue est t, et comme N est une fonction discontinue, il est impossible de résoudre exactement, ou alors seulement si le nomre d'ouvrier reste constant sur la tranche horaire considérer.
salut,
encore quelques petites choses:
-malheureusement non les ouviers ne commence pas forcement a l'heure pile (cela varie de 5 minutes en 5 minutes).
-"l'inconnue est t, et comme N est une fonction discontinue, il est impossible de résoudre exactement, ou alors seulement si le nomre d'ouvrier reste constant sur la tranche horaire considérer. " ben alors pourquoi en cherchant heure par heure on arrive a trouve le resultat?
encore quelques petites choses:
-malheureusement non les ouviers ne commence pas forcement a l'heure pile (cela varie de 5 minutes en 5 minutes).
-"l'inconnue est t, et comme N est une fonction discontinue, il est impossible de résoudre exactement, ou alors seulement si le nomre d'ouvrier reste constant sur la tranche horaire considérer. " ben alors pourquoi en cherchant heure par heure on arrive a trouve le resultat?
plop!
Messages postés
54
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 mai 2007
27
2 févr. 2007 à 00:18
2 févr. 2007 à 00:18
Ooooh....
Ce que Char Sniper veut dire par "impossible" c'est que la solution de l'intégrale est impossible à déterminer sous forme de fonction [ f(probleme) = solution ].
Donc il faut nécessairement un algorithme pour résoudre cette intégrale.
Il faut utiliser la solution des pivots, qui est excellente.
Ce que Char Sniper veut dire par "impossible" c'est que la solution de l'intégrale est impossible à déterminer sous forme de fonction [ f(probleme) = solution ].
Donc il faut nécessairement un algorithme pour résoudre cette intégrale.
Il faut utiliser la solution des pivots, qui est excellente.