Calcul matriciel au sens d`Excel et au sens mathématique
Transcription
Calcul matriciel au sens d`Excel et au sens mathématique
Informatique appliquée, L3, séance 10 Bernard Maurin [email protected] Coût total d'expédition par usine et par entrepôt entrepôts Calcul matriciel au sens d’Excel et au sens mathématique ; Solveur usines Orsay - € 400,00 € € Paris - € 200,00 € 420,00 € 240,00 € € 270,00 675,00 2 0 1,5 3 2 2 2 1 7 6 Résultats attendus Quantités à expédier de l'usine x à l'entrepôt y usines entrepôts Orsay Versailles Clamart Toulon Bastia Ajaccio 20 30 0 80 220 Paris Carqueiranne 0 110 40 80 105 0 80 0 45 75 Coûts unitaires d'expédition de l'usine x à l'entrepôt y usines entrepôts Clamart Toulon 4 175,00 € 4 175,00 € Coût total d'expédition par entrepôt (Total entrepôts) entrepôts usines Orsay Ajaccio Versailles Clamart Toulon Bastia 200,00 € 240,00 € - € 400,00 € 880,00 € Paris - € 200,00 € 420,00 € 240,00 € 270,00 € Carqueiranne 330,00 € 320,00 € - € - € 675,00 € Total entrepôts 530,00 € 760,00 € 420,00 € 640,00 € 1 825,00 € Ajaccio Paris Carqueiranne Total entrepôts Orsay 37,7% 0,0% 62,3% 100,0% entrepôts Versailles 31,6% 26,3% 42,1% 100,0% Clamart 0,0% 100,0% 0,0% 100,0% Toulon 62,5% 37,5% 0,0% 100,0% Bastia 48,2% 14,8% 37,0% 100,0% II – Solveur Problème : Des usines livres des marchandises à différents entrepôts (ou dépôts). Le coût unitaire de livraison dépend naturellement de la distance entre usines et entrepôts. Les entrepôts peuvent s’approvisionner indifféremment auprès de n’importe quelle usine. Exemple 1 Versailles 4 175,00 € Nous reprendrons les données du dernier exercice, en y rajoutant des « contraintes ». Sélectionner la feuille « solveur » I – 2 Faire ce qui est demandé dans la feuille « produit mat » Orsay 5,5 3 € Exemple 2 3 3 Du produit matriciel au sens mathématique (rappel : le produit matriciel au sens math n’est pas commutatif) - € Coût d'expédition total - fonction SOMMEPROD usines 4 0 - € Coût d'expédition total SOMME du "produit matriciel" Quantité par Coût_Unitaire Distinguer, le produit matriciel au sens d'Excel : produit des matrices termes à termes 2 1 320,00 € formules évitant d'avoir à déterminer la matrice Coût_total Résultats attendus pour les matrices 2x2 2 2 330,00 € formule utilisant la matrice Coût_total Cependant, il importe de noter que le « produit matriciel » au sens d’Excel n’est le produit matriciel au sens mathématique, pour lequel il existe une fonction spécifique : PRODUIMAT (référencée dans les fonctions « Math & Trigo ») 1,5 3 Bastia 880,00 240,00 € SOMME des termes de Coût_total Fichier de travail :CaculMatricielSolveur.xls, à copier depuis le site habituel. 2 0 Toulon 200,00 € Carqueiranne I – Calcul matriciel au sens d’Excel et au sens mathématique ; fonction SOMMEPROD I – 1 Faire ce qui est demandé dans la feuille « SOMMEPROD Produit Mat » Clamart Ajaccio NB : Le classeur de travail CaculMatricielSolveur.xls contient une feuille « révisions » sur l’utilisation des plages nommées. Les exercices y sont corrigés. Il est possible sous Excel de faire des additions, des soustractions, des produits, des divisions, termes à termes de « matrices ». Nous verrons ici essentiellement les produits (mais les opérations seraient de même type pour les divisions, les additions, etc.). Versailles Le problème est alors de minimiser le coût total d’expédition tel que calculé à la question précédente, sous différentes contraintes. ¾ Les quantités expédiées doivent être inférieures ou égales aux capacités des usines ¾ Les quantités livrées doivent être au moins égales aux quantités demandées ¾ Les quantités doivent être positives ou nulles, et doivent être entières Bastia Ajaccio 10,00 € 8,00 € 6,00 € 5,00 € 4,00 € Paris 6,00 € 5,00 € 4,00 € 3,00 € 6,00 € Carqueiranne 3,00 € 4,00 € 5,00 € 5,00 € 9,00 € Les contraintes sont des fonctions linéaires des quantités. La « fonction objectif » : le coût total d’expédition à minimiser dépend linéairement des quantités. Nous sommes face à un problème classique de programmation linéaire. On peut le résoudre à l’aide du solveur d’Excel. Bernard Maurin séance 10 2/4 Les contraintes peuvent être écrites matriciellement sous Excel.(on utilisera les noms des plages nommées) : Ex, matrice Quantités positive ou nulle, etc. ¾ ¾ ¾ ¾ quantités_expédiées <= capacités_usine quantités_livrées >= demande_dépôt quantités >= 0 quantités = Ent (nombres entiers) NB : La commande « Rétablir » réinitialise l’ensemble des paramètres du solveur Les paramètres du solveur sont sauvegardés avec le fichier .xls Commande « Résoudre » Résultat attendu : dépôts Utilisation du solveur d’Excel Orsay usines On part d’une solution de base arbitraire où toutes les quantités sont égales à 10, ce qui permet d’avoir une valeur initiale du coût total d’expédition. Pour ouvrir le Solveur : Outils/Solveur Renseigner « Cellule cible à définir » et « Cellules variables », cocher « Min » Clamart Toulon quantités Bastia expédiées capacités usine Ajaccio 0 0 0 80 220 300 300 Paris 0 0 180 80 0 260 260 Carqueiranne quantités livrées Demande dépôts 180 180 180 80 80 80 20 200 200 0 160 160 0 220 220 280 280 Orsay Ajouter les contraintes (sous forme matricielle) Versailles Coûts unitaires d'expédition Versailles Clamart Toulon Bastia Ajaccio 1,52 € 1,22 € 0,91 € 0,76 € 0,61 € Paris 0,91 € 0,76 € 0,61 € 0,46 € 0,91 € Carqueiranne 0,46 € 0,61 € 0,76 € 0,76 € 1,37 € coût total : formule matricielle: somme du produit des coûts unitaires par les quantités 488,40 € NB : Le coût minimum est 488,40 €, mais la matrice quantités permettant d’obtenir ce coût n’est pas nécessairement unique. Dans les options, cocher « Modèle supposé linéaire » Bernard Maurin séance 10 3/4 Bernard Maurin séance 10 4/4