Programmation linéaire

Programmation linéaire
Parfois, nous avons également besoin d'optimisation dans la vraie vie pour obtenir le profit maximum. Ainsi, les techniques d'optimisation appartiennent à l'apprentissage en profondeur, où nous essayons d'atteindre la perte minimale. Mais parfois, nous avons des ressources limitées et nous voulons réaliser le profit maximum; Ensuite, la programmation linéaire entre en jeu.

La programmation linéaire est un modèle mathématique qui est généralement utilisé dans la science des données pour l'optimisation. L'optimisation signifie que nous pouvons comprendre le sens comme un profit maximum et moins de coûts. L'entreprise ou l'organisation a principalement deux objectifs principaux, la minimisation et la maximisation. La minimisation signifie réduire le coût supplémentaire qui vient en production pour obtenir les bénéfices maximiser. La programmation linéaire est une technique d'optimisation simple qui peut aider de la même manière. La programmation linéaire est partout autour de nous; Par exemple, lorsque nous travaillons sur n'importe quel projet, nous réalisons également des stratégies pour gérer le travail d'équipe à la livraison rapide efficacement.

Terminologie de la programmation linéaire:

  1. Fonction objective: La fonction objectif sera soit de maximiser ou de minimiser. Le problème que nous allons résoudre est de maximiser les bénéfices de l'entreprise.
  2. Variable de décision: Variable de décision: les valeurs de ces variables de décision sont inconnues. Après avoir calculé ces valeurs, nous trouvons la sortie de la fonction objectif sous le programme de programmation linéaire. Nous calculons les valeurs de décision x et y, puis ajustez la fonction objectif qui donne sa valeur finale.
  3. Contrainte non négative: Les valeurs des variables de décision ne doivent pas être négatives ou toujours égales à zéro ou supérieures à zéro.

Déclaration de problème: Considérons une entreprise qui fabrique des chocolats de deux types - A et B. Les deux chocolats ont besoin de deux matériaux nécessaires - le lait et le choco. Pour fabriquer chaque chocolat A et B, les quantités suivantes sont nécessaires:

  • Chaque unité de A nécessite 3 unités de lait et 2 unités de choco
  • Chaque unité de b nécessite 4 unité de lait et 1 unité de choco

Le stock actuel de la société dispose de 25 unités de lait et de 10 unités de choco. L'entreprise obtient des bénéfices de chaque unité de vente au chocolat comme ci-dessous:

  • Rs. 25 par unité de vente de chocolat A
  • Rs. 20 par unité de vente de chocolat B

Maintenant, la société veut réaliser son bénéfice maximum des actions disponibles.

Lait Choco Bénéfice par unité
UN 3 2 Rs 25
B 4 1 Rs 10
Solde total en stock 25 dix

Solution: Depuis le tableau ci-dessus, nous pouvons comprendre que l'entreprise veut augmenter son profit. Alors d'abord, nous allons définir notre fonction maximisée pour ce problème. Ainsi, en utilisant le modèle mathématique, disons que nous créons des unités x des unités A et Y de B, alors nous pouvons dire que le modèle de fonction maximisé ressemblera ci-dessous:

Laissez le nombre total d'unités produites par A be = x

Laissez le nombre total d'unités produites par B be = y

Maintenant, le bénéfice total est représenté par Z

Pour calculer le bénéfice maximum, nous devons multiplier les unités totales de chocolat produites par A et B avec leur bénéfice unitaire de Rs. 25 et Rs. 20, respectivement.

Profit: Max z = 25 * x + 20 * y

Maintenant, nous avons notre fonction maximisée z.

L'entreprise veut toujours produire autant que possible pour obtenir des bénéfices importants, mais les matériaux sont limités. Selon le tableau d'informations ci-dessus, chaque unité de A et B nécessite respectivement 3 et 4 unités de lait. Donc, la formule sera comme 3 * x + 4 * y. Mais il y a une limitation du lait, qui est de 25 unités uniquement dans le stock. Ainsi, après avoir ajouté cette contrainte, la formule ci-dessus sera:

3 * x + 4 * y ≤ 25

De même, chaque unité de A et B nécessite respectivement 2 et 1 unités de choco,. Donc la formule sera comme 2 * x + y. Mais il y a aussi une limitation du choco, qui est de 20 unités uniquement dans le stock. Ainsi, après avoir ajouté cette contrainte, la formule ci-dessus sera:

2 * x + y ≤ 20

La valeur donnée par les A et B est toujours positive car ce sont des quantités. Donc, ils doivent être égaux à zéro ou supérieurs à zéro.

x ≥ 0 & y ≥ 0

Donc, maintenant notre modèle mathématique de l'énoncé du problème est fait. Maintenant, nous allons voir dans le code Python l'instruction Problème ci-dessus.

Programmation Python:

Nous devons donc installer la pulpe de package Python, qui résout les problèmes de programmation linéaire.

Ligne 52: Nous importons la bibliothèque de pupl.

Ligne 53: Nous définissons l'énoncé du problème et donnons le nom approprié de notre problème. Nous donnons le nom de notre problème, le profit de la fabrication du chocolat AIS, et décrivons l'objectif de la fonction dans la variable suivante, qui est maximisée.

Ligne 54: Nous définissons la variable pour maintenir les variables de décision. Les deuxième et troisième arguments sont des valeurs de liaison inférieure et supérieure. Nous savons également qu'il n'y aura pas de valeur négative, nous définissons donc la valeur de borne inférieure (deuxième argument) à 0, et dans la borne supérieure (troisième argument), nous n'en mentionnons aucun. La dernière déclaration parle de valeurs étant un entier (lpinteger).

Ligne 57: Nous définissons notre fonction objective comme indiqué dans l'instruction Problème.

Ligne 58: Nous avons créé nos variables avec les contraintes données dans l'instruction Problème.

Ligne 59: Nous imprimons notre déclaration de problème.

Ligne 60: Nous enregistrons l'ensemble des données du problème dans un fichier.

Ligne 61: Nous avons appelé un solveur de méthode de la bibliothèque Pulp pour résoudre la programmation linéaire.

Ligne 63 et 64: Nous imprimons les valeurs calculées, et le bénéfice final montre le RS. 155.

Le fichier ci-dessous, que nous enregistrons à la ligne no. 60

Le fichier ci-dessus a la sortie de l'objectif et des contraintes que nous avons enregistrées dans un fichier. Alors la prochaine fois, nous pouvons simplement charger et exécuter le code.

Le code Python complet dans .Le format PY est donné ci-dessous:

Conclusion

Nous comprenons des exemples de programmation linéaire de base et comment les résoudre par la programmation Python. Mais dans la vraie vie, les problèmes plus complexes viennent toujours, donc au lieu de les résoudre manuellement, le pays ou l'entreprise a toujours besoin d'automatisation pour être rapide et maximiser les bénéfices.