Le programme linéaire : forme standard et dualité
Le programme linéaire à plusieurs variables : mise sous forme standard avec des variables d'écart, programme dual et prix d'une ressource, variables entières et relaxation, et l'usage d'un solveur.
- 29 cartes
- 5 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les chiffres
- Mises en situation
Quelques cartes du deck
Forme standard d'un programme linéaire : de quoi s'agit-il ?
Voir la réponse
Écriture où toutes les contraintes sont des égalités, de second membre positif ou nul, et où toutes les variables sont positives ou nulles.
On y arrive en ajoutant une variable à chaque inégalité. Le simplexe part de cette écriture, car des égalités se traitent par des opérations sur les lignes d'un tableau.
Ce script cherche à maximiser le profit 30x + 20y sous 2x + y ≤ 100 et x + y ≤ 80. Il rend x = 0 et y = 0, soit un profit nul. Quelle est la cause ?
```python
from scipy.optimize import linprog
res = linprog(c=[30, 20], A_ub=[[2, 1], [1, 1]], b_ub=[100, 80])
print(res.x, res.fun)
# [0. 0.] 0.0`linprogminimise : il faut passerc=[-30, -20]et lire le profit dans-res.fun- Il manque
bounds=(0, None), sans quoi les variables sont forcées à 0 etlinprogrenvoie le point nul b_ubdoit contenir des valeurs négatives, carlinproglit les contraintes sous la forme ≥A_ubdoit être transposée avant l'appel :linprogattend une variable par ligne
Voir la réponse
linprogminimise : il faut passerc=[-30, -20]et lire le profit dans-res.funlinprogminimise toujoursc @ x. Avec c = [30, 20] et x, y ≥ 0, le minimum est en (0, 0). Les bornes par défaut sont déjà (0, None). Avec c = [-30, -20], on obtient x = 20, y = 60 et res.fun = -1800.0 : le profit est 1 800.Un programme linéaire optimise un objectif linéaire sous des contraintes … ; si la région admissible est bornée, l'optimum est atteint en un ….
Voir la réponse
Un programme linéaire optimise un objectif linéaire sous des contraintes linéaires ; si la région admissible est bornée, l'optimum est atteint en un sommet.
Objectif et contraintes sont des combinaisons linéaires des variables, d'où une région en polyèdre dont l'objectif atteint son extremum en un coin.
Variable d'écart : de quoi s'agit-il ?
Voir la réponse
Variable positive ou nulle ajoutée au premier membre d'une contrainte ≤ pour la changer en égalité ; elle mesure la quantité de ressource inutilisée.
2x + y ≤ 100 devient 2x + y + e1 = 100. Avec x = 10 et y = 20, e1 = 60 : il reste 60 unités. Avec x = 20 et y = 60, e1 = 0 : la ressource est saturée.