• Aucun résultat trouvé

Exercice de recherche op´erationnelle Probl`eme de transf`erement

N/A
N/A
Protected

Academic year: 2022

Partager "Exercice de recherche op´erationnelle Probl`eme de transf`erement"

Copied!
2
0
0

Texte intégral

(1)

Exercice de recherche op´erationnelle Probl`eme de transf`erement

Marc Roelens D´ecembre 2007

1 Le probl`eme

Une mati`ere premi`ere se trouv´ee stock´ee dans 5 d´epˆots situ´es `a Dunkerque (50 tonnes disponibles), au Havre (70 tonnes disponibles), `a Bordeaux (40 tonnes disponibles), `a S`ete (60 tonnes disponibles) et `a Mulhouse (80 tonnes disponibles).

On souhaite approvisionner `a moindre coˆut 4 points de vente situ´es `a Chˆateauroux (60 tonnes de- mand´ees), Bourges (80 tonnes demand´ees), Clermont-Ferrand (50 tonnes demand´ees) et Lyon (70 tonnes demand´ees).

On suppose que les seuls coˆuts `a prendre en compte pour l’optimisation sont les coˆuts de transports : ceux-ci sont proportionnels `a la quantit´e transf´er´ee et `a la distance parcourue. Voici les distances entre les diff´erentes villes :

Stock Chˆateauroux Bourges Clermont Lyon

50 Dunkerque 567 502 696 736

70 Le Havre 406 448 594 682

40 Bordeaux 345 410 369 548

60 S`ete 568 574 380 325

80 Mulhouse 688 623 519 340

Demande (t) 60 80 50 70

D´eterminer l’approvisionnement optimal.

2 Travail demand´e

Le travail peut ˆetre organis´e selon le d´ecoupage suivant : – mod´elisation du probl`eme ;

– identification d’une m´ethode de r´esolution possible ; – r´esolution«manuelle»du probl`eme pos´e ;

– sp´ecification d’un format de fichier de donn´ees ; – impl´ementation informatique utilisant ce format ; – test (v´erification) sur l’exemple initial ;

– test (´evaluation de complexit´e) sur des exemples de plus grande taille ;

Le programme permettant de r´esoudre ce probl`eme doit v´erifier les caract´eristiques suivantes : – il est ´ecrit en langageCsous Linux ;

– il utilise une interface tr`es simple (fichiers, sortie standard) ;

– il doit pouvoir ˆetre compil´e sans erreur niwarninglorsqu’on le compile avec le compilateur tradi- tionnelgccet les options-Wall,-ansiet-pedantic;

– si n´ecessaire, il doit utiliser l’allocation dynamique de structures de donn´ees et/ou de tableaux ; – il doit fonctionner sans«planter»;

– il doit fournir le r´esultat demand´e ;

1

(2)

– il doit ˆetre bien ´ecrit (structures de donn´ees bien choisies, d´ecoupage opportun du code en proc´edures, lisibilit´e du code source).

2

Références

Documents relatifs

// renvoie un arbre de racine e ayant l et r pour fils gauche et droit Element root(BTree bt); // renvoie l’´ el´ ement ` a la racine de l’arbre BTree leftChild(BTree bt); // renvoie

Soyez toujours le plus pr´ ecis possible dans le choix de votre notation (Ω, O ou Θ) et justifiez votre r´ eponse...

(c) Soit un tableau d’entiers quelconques, on cherche ` a ´ ecrire un algorithme permettant d’afficher (dans un ordre quelconque) les doublons dans ce tableau...

Supposons que vous connaissiez les taux d’int´ erˆ et pour les 10 prochaines ann´ ees et que vous ne placiez votre argent que sur un seul fonds ` a la fois.. A la fin de chaque ann´

(c) Donnez la fonction d’insertion d’un nouveau nœud z dans l’arbre ( Tree-insert (T, z)), en la modifiant de mani` ere ` a ce qu’elle maintienne un attribut t.size ` a chaque

Cette structure de donn´ees sera accessible par une fonction Frequency(w) prenant en entr´ee un mot w (une chaˆıne de caract`ere) et renvoyant soit 0 si le mot w ne se trouve pas

D´ ecrivez dans le formalisme de votre choix l’algorithme le plus efficace possible pour trouver le plus court chemin entre deux nœuds de ce graphe, la longueur d’un

(2) D´ emontrer cette propri´ et´ e (on pourra raisonner par l’absurde et supposer que la pro- pri´ et´ e ` a prouver n’est pas vraie pour un graphe n