Optimisation multivariée

Introduction à l'optimisation en Python

Jasmin Ludolf

Content Developer

L'usine de biscuits

 

Fonction objectif :

  • $F = K^{0.34} \times L^{0.66}$
    • $F$ : fonction de production
    • Travail ($L$) : heures fournies par les travailleuses et travailleurs
    • Capital ($K$) : heures de fonctionnement des machines
    • Problème multivarié

 

Biscuits sur une chaîne de production.

Introduction à l'optimisation en Python

Dérivées partielles

 

Univariée

 

Fonction objectif :

$p = 40q - 0.5q^2$

Dérivée : la pente de la fonction objectif varie avec le changement d'une seule variable

$\frac{dp}{dq} = 40 - q$

 

Multivariée

 

Fonction objectif :

$F = K^{0.34} \times L^{0.66}$

Dérivées partielles : variation de la pente par rapport à chaque variable

$\frac{\partial F}{\partial K}$ et $\frac{\partial F}{\partial L}$

Introduction à l'optimisation en Python

Résoudre des problèmes multivariés

 

Fonction objectif :

  • $F = K^{0.34} \times L^{0.66}$
    • $F$ : fonction de production
    • Travail ($L$) : heures fournies par les travailleuses et travailleurs
    • Capital ($K$) : heures de fonctionnement des machines
from sympy import symbols, diff, solve

K, L = symbols('K L') F = K**.34 * L**.66
dF_dK = diff(F, K) dF_dL = diff(F, L)
crit_points = solve([dF_dK, dF_dL], (K, L))
print(crit_points)
[]
Introduction à l'optimisation en Python

Notre fonction de production

 

Fonction objectif :

  • $F = K^{0.34} \times L^{0.66}$
  • Quand $K$ et $L$ augmentent, $F$ augmente
  • Aucun maximum ni minimum !

Un tracé 3D de la fonction de production de biscuits.

Introduction à l'optimisation en Python

Les limites de la différentiation

 

Attention à :

  • Aucune dérivée
  • Discontinuités
  • Fonctions croissantes ou décroissantes

 

  • Non différentiable : impossible d'optimiser par différentiation

Trois graphiques de fonctions où la différentiation ne permettrait pas de trouver les maxima ou minima.

Introduction à l'optimisation en Python

Passons à la pratique !

Introduction à l'optimisation en Python

Preparing Video For Download...