top of page

Comment effectuer une résolution matricielle avec Numpy ?

  • May 11, 2023
  • 2 min read

Updated: Jun 24, 2025

Aujourd’hui nous allons au travers d’un exercice simple résoudre un problème à 3 inconnus. Pour cela nous allons nous aider des matrices et effectuer nos calculs à l’aide de la librairie Numpy de Python.


Posons le problème :

Une usine fabrique 3 produits 'P1', 'P2' et 'P3'.

Pour fabriquer 1 produit 'P1' il faut 8kg de matières premières, 4 heures de main-d’œuvre directe et 10€ de charges fixes.

Pour fabriquer 1 produit 'P2' il faut 5kg de matières premières, 2 heures de main-d’œuvre directe et 17€ de charges fixes.

Pour fabriquer 1 produit 'P3' il faut 3kg de matières premières, 7 heures de main-d’œuvre directe et 12€ de charges fixes.

On dispose de 650kg de matières premières, de 400 heures de main-d’œuvre directe et 1000€ de charges fixes.


Quelle quantité de produit 'P1', 'P2' et 'P3' il faut pour maximiser la production ?


Etape 1 : Récupérer les données dans un array.



Etape 2 : Conserver uniquement les données chiffrées.

Les titres des lignes et des colonnes ne sont pas utiles pour le calcul matriciel.



Etape 3 : Changer le type de la donnée en 'float64'.

Si on ne met pas le bon type de donnée il ne sera pas possible d’effectuer des calculs ultérieurement.



Etape 4 : Scinder la matrice en deux. L'une représente les 3 premières colonnes, l'autre la dernière colonne.

Les 3 premières colonnes sont des exemples de données que les variables peuvent prendre pour que les égalités correspondantes dans la dernière colonne soient vraies. Autrement dit, on sépare les valeurs des variables des égalités données.



Etape 5 : Calculer l'inverse de la matrice contenant les données de productions.

Multiplier l’inverse de la matrice par les ressources totales nous donnera par la suite la production maximale.



Etape 6 : Multiplier l'inverse par la matrice contenant les ressources totales.

Le résultat trouvé est égal à la quantité de produit 'P1', 'P2' et 'P3' à produire pour maximiser la production.



Etape 7 : Contrôler son travail.

Multiplier la matrice contenant les données de production par la matrice maximisée. Le résultat doit être égal à la matrice contenant les ressources totales.



Le calcul matriciel permet de résoudre des équations à plusieurs inconnues. La librairie Numpy de Python propose des fonctions très puissantes pour permettre de résoudre ce type d’équations.


N’hésitez pas à vous rapprocher de nos formations pour toutes questions.

 
 
 

1 Comment


Idols Of Ash
Idols Of Ash
Jun 01

Using np.linalg.inv() to solve a system of manufacturing equations is a classic operations research technique that demonstrates the sheer efficiency of vectorized matrix multiplication. When you are stuck troubleshooting complex matrix inversion errors in Python for hours, your brain can start to feel completely burnt out like crumbling Idols Of Ash, so breaking down the workflow into clean, isolated steps like this is incredibly helpful.

Edited
Like
bottom of page