Qu'est-ce que la programmation linéaire en science des données : aperçu
Publié: 2022-09-21La science des données est devenue un domaine véritablement interdisciplinaire qui emprunte à l'informatique, aux mathématiques, à l'analyse de données, aux statistiques, etc. Ses progrès ont aidé les entreprises du monde entier à prendre des décisions beaucoup plus éclairées et fondées sur des données. Par conséquent, aujourd'hui, les entreprises réalisent l'importance des données qu'elles ont acquises au fil des ans.
Les scientifiques des données utilisent des outils avancés pour évaluer les scénarios commerciaux actuels à l'aide des données existantes, dériver des relations et trouver des modèles perspicaces. Cette méthode est connue sous le nom d'analyse descriptive. De plus, les scientifiques des données étudient également les effets et leurs causes, en gardant à l'esprit diverses variables dépendantes et indépendantes, connues sous le nom d'analyse prédictive.
Étant donné que l'analyse prédictive fonctionne en identifiant les relations de cause à effet, elle est bénéfique pour prendre des décisions éclairées pour l'avenir. Cependant, ce n'est pas aussi simple qu'il y paraît. Toute entreprise doit gérer de nombreuses variables, notamment les informations actuelles, les contraintes, etc.
Consultez nos certifications en science des données pour vous perfectionner.
Pour prédire avec précision, vous devez tenir compte de ces variables et arriver à la solution optimale. C'est là que la programmation linéaire entre en scène. La programmation linéaire est une technique importante qui fonctionne de manière algorithmique et aide les scientifiques des données à trouver la solution la plus optimale pour divers problèmes. La programmation linéaire considère toutes les variables, égalités et inégalités essentielles pour arriver à la solution finale, ce qui garantit que la prédiction est infaillible.
Dans cet article, regardons ce qu'est la programmation linéaire, les différentes méthodes de programmation linéaire et un exemple de problème de programmation linéaire !
Explorez nos diplômes populaires en science des données
Programme exécutif de troisième cycle en science des données de l'IIITB | Programme de certificat professionnel en science des données pour la prise de décision commerciale | Master of Science en science des données de l'Université de l'Arizona |
Programme de certificat avancé en science des données de l'IIITB | Programme de certificat professionnel en science des données et analyse commerciale de l'Université du Maryland | Diplômes en sciences des données |
Programmation linéaire dans l'analyse prédictive
Avant de commencer avec les détails techniques, il est crucial de noter que la programmation dans le contexte de la programmation linéaire ne fait pas référence à la programmation informatique ou logicielle. D'autre part, la programmation linéaire est essentiellement une technique d'optimisation (optimisation linéaire) utile pour trouver les meilleurs résultats à partir de modèles mathématiques. Pour formuler un programme linéaire, il est important de comprendre les éléments de base de la programmation linéaire, notamment :
- Variables de décision : il s'agit des variables que nous aimerions déterminer, les inconnues.
- Fonction objectif : Il s'agit de la fonction linéaire représentant les quantités qui doivent être minimisées ou maximisées.
- Contraintes : Il s'agit d'un ensemble d'inégalités ou d'égalités représentant toutes les restrictions sur notre variable de décision.
- Restrictions non négatives : Il s'agit d'un point de contrainte essentiel dans la mesure où les valeurs des variables de décision sont non négatives.
Une fois les termes de base établis, examinons maintenant les approches que l'on peut adopter pour résoudre un problème de programmation linéaire.
Principales compétences essentielles en science des données à acquérir en 2022
SL. Non | Les meilleures compétences en science des données à apprendre en 2022 | |
1 | Certifications d'analyse de données | Certifications statistiques inférentielles |
2 | Certifications de tests d'hypothèses | Certifications de régression logistique |
3 | Certifications de régression linéaire | Algèbre linéaire pour les certifications d'analyse |
Résolution de la programmation linéaire
Nous pouvons suivre ces quatre étapes pour résoudre avec succès un problème de programmation linéaire :
- Identification des variables de décision
- Développement de la fonction objectif
- Spécification des contraintes
- Énoncer les restrictions de non-négativité
Nous approfondirons ces étapes plus tard lorsque nous examinerons un exemple résolu de programmation linéaire. Mais avant cela, examinons les différentes façons d'aborder un problème de programmation linéaire. Vous avez le choix entre quatre approches :
- Méthode graphique : La méthode graphique est la méthode la plus basique utilisée pour résoudre un problème de programmation linéaire à deux variables. Il est principalement utilisé lorsqu'il n'y a que deux variables de décision à prendre en compte. La méthode graphique consiste à former un ensemble d'inégalités linéaires et à les soumettre aux conditions ou contraintes pertinentes. Ensuite, les équations sont tracées sur le plan XY et la zone d'intersection formée en traçant toutes les équations linéaires est la zone réalisable. Cette zone indique les valeurs d'un modèle et fournit la solution optimale.
- Méthode Simplex : Il s'agit d'une méthode puissante pour résoudre les problèmes de programmation linéaire, et elle suit une procédure itérative pour arriver à la solution optimale. Dans cette approche, les variables essentielles sont modifiées jusqu'à ce que la valeur max ou min (selon les besoins) soit atteinte pour la fonction objectif initiale.
- Méthode du coin nord-ouest et du moindre coût : il s'agit de types spécifiques de méthodes essentiellement utilisées pour les problèmes de transport afin de déterminer la meilleure façon de transporter des produits ou des marchandises. En conséquence, il s'agit d'une méthode d'optimisation pratique pour les problèmes d'offre et de demande. L'hypothèse de cette méthode est qu'il n'y a qu'un seul produit. Cependant, la demande pour ce produit provient de diverses sources, qui constituent toutes cumulativement l'offre totale. Par conséquent, cette méthode vise à minimiser le coût du transport.
- Résolution à l'aide de R : R est l'un des outils les plus largement utilisés pour la science des données et l'analyse des données. R permet d'effectuer très facilement une optimisation en quelques lignes de code à l'aide du package IpSolve.
- Résolution à l'aide d'outils open source : la dernière méthode utilise l'un des nombreux outils open source disponibles pour les problèmes d'optimisation. Un exemple d'outil open source est OpenSolve, un optimiseur linéaire pour Excel et fonctionne de manière transparente pour jusqu'à 100 variables. En dehors de cela, CPLEX, MATLAB, Gurobi, etc., sont d'autres outils open source utiles.
Lisez nos articles populaires sur la science des données
Cheminement de carrière en science des données : un guide de carrière complet | Croissance de carrière en science des données : l'avenir du travail est là | Pourquoi la science des données est-elle importante ? 8 façons dont la science des données apporte de la valeur à l'entreprise |
Pertinence de la science des données pour les managers | La feuille de triche ultime de la science des données que tous les scientifiques des données devraient avoir | Top 6 des raisons pour lesquelles vous devriez devenir Data Scientist |
Une journée dans la vie d'un data scientist : que font-ils ? | Mythe brisé : la science des données n'a pas besoin de codage | Business Intelligence vs Data Science : quelles sont les différences ? |
Exemple de résolution graphique de la programmation linéaire
Pendant les fêtes annuelles, une entreprise prend en compte deux facteurs - X et Y - pour créer un pack utilisateur. Le poids du paquet total doit être de 5 kg - et il ne doit pas y avoir plus de 4 kg de Y, et au moins 2 kg de X. X et Y contribuent à l'intégralité du bénéfice comme suit - Rs. 5/kg pour X et 6/kg pour Y.
Essayons de résoudre ce problème de programmation linéaire pour arriver à la meilleure combinaison qui se traduit par les bénéfices les plus élevés pour l'entreprise.
1. Travailler avec notre fonction première
L'objectif d'optimisation de notre problème est la maximisation du profit. La contribution aux bénéfices de X et Y nous est donnée dans l'énoncé du problème. À présent,
- Soit un kg de X
- Soit b kg de Y
- Notre fonction objectif devient alors -> c = 5*a + 6*b, et nous devons maximiser c.
Nous avons a, b comme variables de décision, alors que c est notre fonction requise.
2. Développer les contraintes du problème
On nous donne les contraintes suivantes dans le problème :
- Le poids du coffret cadeau doit être de 5kg => a + b = 5
- Moins de 4kg de Y et au moins 2kg de X => x>=2 ; y<=4
3. Contraintes non négatives
Les quantités pour X et Y doivent être positives => a, b>0
Maintenant, résumons rapidement l'ensemble du problème tel que nous l'avons exposé jusqu'à présent :
Nous devons optimiser c = 5a+6b sous les deux conditions suivantes :
- a+b=5
- un>=2
- b<=4
Nous utilisons la méthode graphique pour résoudre ce problème, alors considérons un graphique à 2 dimensions avec l'axe XY et essayons de tracer les équations et les inéquations. Nous aurons les choses suivantes avec nous :
- a + b = 5 est une droite qui coupe l'axe des x en (5,0) et l'axe des y au point (0,5). Puisque nous avons un signe d'égalité dans notre expression, nous sommes sûrs que notre région réalisable se situe dans la zone d'intersection de ces lignes.
- a >= 2 est une droite coupant l'axe des x par (2,0). Puisque notre expression a une contrainte supérieure à, notre région réalisable tombe dans la RHS de notre droite.
- b <= 4 est une droite coupant l'axe y en (0,4). Comme nous avons une contrainte moindre, notre région réalisable est la zone située sous la ligne.
- Enfin, étant donné que a et b sont tous deux des valeurs positives, notre domaine de préoccupation est le premier quadrant.
Si vous avez tracé ces lignes et contraintes sur une feuille graphique, vous aurez la région finale qui satisfait à toutes les conditions requises. Les deux points les plus extrêmes de cette ligne sont des considérations possibles pour la maximisation du profit. Ce sont les points (2,3) et (5,0). Pour trouver lequel de ces deux donne les meilleurs profits, nous pouvons simplement mettre les points dans notre fonction objectif et voir lequel donne le meilleur résultat :
- c = 5a + 6b ⬄ c = (5*2) +(6*3) = 28
- c = 5a + 6b ⬄ z = (5*5) +(6*0) = 25
Comme vous pouvez le voir, nous obtenons une valeur de profit plus élevée pour l'option A. Donc, notre solution qui donne les meilleurs profits est la suivante => 2kg de facteur X et 3kg de facteur Y !
En conclusion
Il n'y a pas de fin aux problèmes d'optimisation - en particulier lorsque nous parlons dans un contexte commercial. Les entreprises sont confrontées à des défis d'optimisation plus fréquemment qu'elles ne le souhaiteraient. De ce fait, la seule méthode graphique ne suffit pas pour résoudre des problèmes d'optimisation plus techniques.
Vous devez comprendre des outils ou des langages de programmation importants pour effectuer avec succès une optimisation linéaire sur des problèmes à plusieurs variables. Mais la bonne nouvelle est qu'il n'est pas si difficile de se familiariser avec les outils ou les langages de programmation pertinents. L'ensemble du domaine de la science des données est très accueillant, ce qui permet aux personnes de tous horizons de construire plus facilement une carrière en science des données, si elles ont un intérêt.
Chez upGrad, nous avons guidé des étudiants du monde entier issus de divers horizons et les avons aidés à développer les connaissances théoriques pertinentes et l'expertise pratique nécessaires pour réussir en science des données. Consultez notre programme d'études supérieures en science des données pour plus d'informations sur notre structure de cours, notre programme et l'avantage upGrad !
1. La programmation linéaire est-elle liée à la programmation informatique ?
Non, la programmation linéaire fait référence à la réalisation d'optimisations sous contraintes. Il n'est pas lié à la programmation informatique au sens traditionnel du terme.
2. Quand la programmation linéaire est-elle le plus nécessaire ?
Vous avez besoin d'une programmation linéaire pour optimiser certaines variables de décision sous diverses contraintes. Il est utile lors de l'analyse prédictive et aide les entreprises à faire de meilleures prévisions.
3. La programmation linéaire doit-elle être effectuée manuellement ?
Non, il existe divers outils - à la fois open source et autres - qui peuvent vous aider à effectuer une programmation linéaire.