TP-recherche-operationnelle/docs/rapport.md
Laurent Fainsin 5e2d153d9e ajout
2021-11-18 17:49:43 +01:00

5.4 KiB
Raw Blame History

Rapport de TP de Recherche Opérationnelles

Instructions:

  • Ce qui à motivé votre choix de format (lp ou mod/dat) de la modélisation
  • Quelques détails sur les points clés et non triviaux de votre modélisation (ce que représentent vos variables de décisions, une contrainte élaborée...)
  • Une courte argumentation de ladéquation du résultat avec linstance résolue (la solution obtenue fait-elle sens dans le contexte défini par lénoncé ?)
  • Quelques éléments danalyse, par exemple :
    • Pour PL : Les matrices de ces exemples sont-elles creuses ? (Dans la pratique, il est fréquent quune contrainte ne rassemble que de 5 à 10 variables.)

Exercice 1 : Des voitures

glpsol --lp exo1/voitures.lp -o exo1/voitures.sol
  • Nous avons choisi d'utiliser un .lp pour résoudre ce problème puisque celui-ci est simple et ses données ne changent pas.
  • Voici comment nous avons choisi de modéliser le problème:
    • nS \in \N modélise le nombre de voiture Standard produit par semaine.
    • nL \in \N modélise le nombre de voiture de Luxe produit par semaine.
    • On cherche à maximiser Benefice.
    • CapaciteParking modélise la surface maximale du parking.
    • TempsTravail modélise le temps de travail maximal de employés.
    • LimiteLuxe limite le nombre de voiture de Luxe produisable.
  • On obtient comme solution: nS = 645 et nL = 426. Ce resultat est cohérent.

Exercice 2 : Gestion de personnel

glpsol -m exo2/personnel.mod -d exo2/personnel.dat -o exo2/personnel.sol
  • Nous avons choisi de modéliser ce problème en utilisant un .mod et un .dat puisque l'input de matrices de se fait plus simplement dans un .dat. De plus, il est dépendant de N donc il est suceptible d'évoluer doncs seul le fichier .dat sera à modifier car le fichier .mod est plus général.
  • Voici comment nous avons choisi de modéliser le problème:
    • $(`perm`)_{i,j} \in M_2({0,1})$ modélise l'association d'un travail à une personne.
    • perm modélise les association qui doivent être uniques ; donc c'est une matrice de permutation. (ie. chaque ligne et chaque colonne ne doit contenir un seul 1)
  • Pour les données que l'on a fournis, on obtient la solution : $\left( \begin{array}{cccc} 1 & 0 & 0 & 0 \ 0 & 0 & 1 & 0 \ 0 & 1 & 0 & 0 \ 0 & 0 & 0 & 1 \end{array} \right)$

Cette solution est bien la meilleur solution car chaque personne est associé au travail ou il est le plus efficace en vu des paramètres que nous avions posés.

Exercice 3 : En bourse

glpsol --lp exo3/bourse.lp -o exo3/bourse.sol
  • Nous avons choisi d'utiliser un .lp pour résoudre ce problème puisque celui-ci est simple et ses données ne changent pas.
  • Voici comment nous avons choisi de modéliser le problème:
    • p1 modélise le produit financier n°1: Crédits commerciaux
    • p2 modélise le produit financier n°2: Obligations de sociétés
    • p3 modélise le produit financier n°3: Stocks d'Or
    • p4 modélise le produit financier n°4: Stocks de Platine
    • p5 modélise le produit financier n°5: Titres hypotécaires
    • p6 modélise le produit financier n°6: Prếts de construction
    • On cherche à maximiser Interets.
    • SommeP contraint d'investir l'ensemble du budget.
    • InvestissementProduit_i limite l'investissement dans un même produit à 25%.
    • Risque limite le risque global de l'investisement à 2,0.
    • MetauxPrecieuxMin contraint d'investir au moins 30% dans les métaux précieux.
    • CreditsMin contraint d'investir au moins 45% dans les crédits commerciaux et obligations.
  • On obtient comme solution:
    • p1 = 0.2
    • p2 = 0.25
    • p3 = 0.107692
    • p4 = 0.192308
    • p5 = 0.25
    • p6 = 0

Exercice 4 : En optimisation pour l'e-commerce

glpsol -m exo4/ecommerce.mod -d exo4/ecommerce.dat -o exo4/ecommerce.sol
  • Nous avons choisi de modéliser ce problème en utilisant un .mod et un .dat puisque l'input de matrices de se fait plus simplement dans un .dat. De plus, il est dépendant de N donc il est suceptible d'évoluer doncs seul le fichier .dat sera à modifier car le fichier .mod est plus général.
  • Voici comment nous avons choisi de modéliser le problème:
    • $(`coef`){i,j,k} \in M_3(\R+)$ modélise l'association d'un trvail à une personne.
    • Chaque coefficient de coef doit être compris entre 0 et 1 puisque ce sont des proportions.
    • La somme des coefficients de coef selon l'axe k doit faire 1.
    • La répartions des commandes ne doit pas dépasser la limite des stocks.
  • On obtient la solution : (C'est la répartition de chaque fluides de chaque commande sur chaque magasin) $ \left( \begin{array}{c} \left( \begin{array}{c} 3/4 \ 1/4 \ 0 \end{array} \right) & \left( \begin{array}{c} 1 \ 0 \ 0 \end{array} \right) \ \left( \begin{array}{c} 1 \ 0 \ 0 \end{array} \right) & \left( \begin{array}{c} 1/3 \ 1/3 \ 1/3 \end{array} \right) \end{array} \right) $

Cette solution est bien la meilleur solution car chaque personne est associé au travail ou il est le plus efficace en vu des paramètres que nous avions posés.

Exercice bonus : Des composants

glpsol -m exobonus/bonus.mod -d exobonus/bonus.dat -o exobonus/bonus.sol

marche pas mais on a cherché ;(