begin process at 2012 02 11 19:47:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

besoin d'un ptit coup de main


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

besoin d'un ptit coup de main

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ée 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...

Comparez les prix

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 : 0,234 sec (4)

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