Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : besoin d'un ptit coup de main [ Archives / Maths & Algorithmes ] (maximus84)

samedi 14 février 2004 à 14:42:47 | besoin d'un ptit coup de main

maximus84


Voilà, je suis étudiant en informatique, et je rencontre quelques difficultés a terminer un exercice dont voilà le sujet :


On souhaite simuler la gestion d'un port pétrolier où arrivent des tankers. Ces derniers arrivent au port selon la distribution de temps inter-arrivée suivante :
Temps inter-arrivée(jours) :1 probabilité : 0.2
Temps inter-arrivée(jours) :2 probabilité : 0.25
Temps inter-arrivée(jours) :3 probabilité : 0.35
Temps inter-arrivée(jours) :4 probabilité : 0.15
Temps inter-arrivée(jours) :5 probabilité : 0.0.5

Le port possède Deux terminaux A et B. Le terminal B est le plus récent donc plus efficace au niveau logistique que la terminal A. le temps pris pour décharger un tanker dépend de la taille de celui-ci. Un super-tanker prend 4 jours pour décharger au terminal A et 3 jours au terminal B. Un tanker de tailler moyenne est décharger en 3 jours au terminal A et 2 jours au terminal B.Finalement, un petit tanker prend 2 jours pour décharger au terminal A et 1 jour au terminal B.

Lorsque les tankers arrivent, ils attendent au large du port jusqu'à ce qu'un terminal devienne disponible. Les tankers sont déchargés selon la règle du premier arrivé-premier servis. Le type de tanker et la fréquence avec laquelle ils arrivent au port est donnée par la distribution suivante :
Type de tanker : super tanker probabilité :0.4
Type de tanker : tanker moyen probabilité :0.35
Type de tanker : petit tanker probabilité :0.25

Développer un modèle de simulation pour ce port.
Effectuer des simulations sur des périodes de 30,60.90 jours et calculer des statistiques telles que le nombre moyen de tankers dans le port, le nombre moyen de jour d'un tanker dans un port, le pourcentage de temps inoccupé de chacun des terminaux.

Dans ce problème on ne recherche pas à optimiser le temps de déchargement. L'attente au large du port correspond a une mise en file d'attente.
Voilà ce que j'ai fais pour l'instant, j'aimerai bien que l'on m'aide à terminer. MERCI

PS: voici quelques informations :
TH est le temps d'horloge
ESA=0 si le terminal A est libre, 1 sinon
ESB=0 si le terminal B est libre, 1 sinon
TA est le temps de la prochaine arrivée
TFA temps de fin d'exécution dans le terminal A
TFB temps de fin d'exécution dans le terminal B
TMX est la période maximale = nombre de jour de la simu
LF est la longueur de la file d'attente ( il s'agit ici d'une file d'attente simple représenté par un compteur, on n'utile pas de tableau)

#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>

main()
{int TH=0,ESA=0,ESB=0,TA=0,TFA=100,TFB=100,TMX=0,LF=0;
srand(100);
printf(" entrer la période en jours");
scanf("%d",&TMX);
while(TH<=TMX)
{ if(TA<=TFB)
if(TA<=TFA)
{ TH=TA;TFA=tps_arrive()+TH;
if(ESB==0)
{ESB=1;
TFB=TH+tps_decharge('b');}
else if(ESA==0)
{ESA=1;
TFA=TH+tps_decharge('a');}
else LF++;
}
else
{TH=TFA;
if(LF>0) {LF--;TFA=TH+tps_decharge('a');}
else {ESA=0;TFA=100;}
}

else{TH=TFB;
if(LF>0) {LF--;TFB=TH+tps_decharge('b');}
else{ ESB=0;TFB=100;}
}

}

}

int tps_arrive()
{float x;
x=(float)(rand()/RAND_MAX);
if(x<=0.2) return 1;
else if (x<=0.45) return 2;
else if(x<=0.80) return 3;
else if(x<=0.95) return 4;
else return 5;
}

int type_tanker()
{float x;
x=float(rand()/RAND_MAX);
if(x<=0.4) return 3;
else if (x<=0.75) return 2;
else return 1;
}

int tps_decharge(char terminal)
{int i=type_tanker();
if(terminal=='b') return i;
else return (i+1);
}





Cette discussion est classé dans : temps, return, terminal, jours, tanker


Répondre à ce message

Sujets en rapport avec ce message

comment faire des calculs et dessiner en meme temps avec GLUT [ par nabil ] SALUT,j'ai le probleme suivant : je veux lire des coordonnées des points qui se trouve dans fichier et de faire un petit calcul et d'afficher des poin Calcul du temps de chargement d'un prog... [ par MorZong ] Salut,Encore moi, je suis partout, là c'est pour me dire comment faire pour calculer le temps (en millisecondes si c'est possible) qu'a prit un progr Comment savoir le temps que prend un instruction? [ par Samoul ] Je voudrait savoir comment calculer a l'aide d'un chronomètre ou de nimporte quel autres manière le temps qye peut prendre un instruction.Ex:Timer sta MFC : marche pas tout le temps. [ par jefk ] Voila, j'ai un pbm zarbi. J'ai fait une application SDI bidon sous visual studio avec le wizzard MFC.Ya deux menus, chacun a un sous menu qui fait apa arrive pas a compiler .... [ par Heero ] #include void display();int main(int argc, char **argv){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); ressources et API !!!! [ par Xs ] salut !voila, pour me simplifier la tache, j'utlise les ressources pour creer une boite de dialog (sous VC++ 6).mais j'obtiens, lors de la compilation agrandir le terminal [ par bidules ] Bonjours,j'aimerais trouver une commande (en c++ ou en shell(sous linux)) permettant de maximiser le terminal en cous.qqun peut m'aider?Merci. Problème incompréhensible [ par JosueClement ] Regardez plutot...Ce programme est une sorte d'horloge!Il n'y a aucune erreur de compilation, mais les heures n'augmentent jamais!!A la ligne 54, j'ai scanf() [ par clb ] bonjour à tous,j'ecris par exemple :int fonction(){ if(true) return 0; else return -1}dans main, si cette fonction retourne 0,alors j'appli bomberman avec turbo c++ [ par xav42 ] Bonjour, je suis étudiant et à mon iut on utilise turbo c++ qui date un peumais bon...Voici mon probleme :j'ai un projet pour la fin de l'annee: fair


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,733 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.