Vérifier rapidement la solution

Analyse de la chaîne d’approvisionnement en Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

organigramme de stratégie de solution

Analyse de la chaîne d’approvisionnement en Python

Vérifier l'état du modèle

  • Infaisable : aucune solution réalisable.
    • Revoir les contraintes
  • Non borné : la fonction objectif n'est pas bornée ; la maximisation/minimisation tend vers l'infini.
    • Revoir la fonction objectif
  • Indéfini : une solution optimale peut exister mais n'a pas été trouvée.
    • Peut-être la meilleure solution disponible
    • Revoir la modélisation du problème
Analyse de la chaîne d’approvisionnement en Python

Vérifier si les résultats sont conformes

Les variables de décision et la valeur de l'objectif sont-elles dans l'intervalle attendu ?

  • Selon votre compréhension du problème
  • Si « Oui », solution valide
  • Si « Non », revoir :
    • Code Python
    • Données
    • Écrire le fichier LP
Analyse de la chaîne d’approvisionnement en Python

Écrire le LP

writeLP(filename)
  • filename = nom du fichier à créer

Affiche :

  • Nom du problème
  • Fonction objectif et sens (minimiser/maximiser)
  • Contraintes, y compris les bornes sur les variables de décision
  • Variables de décision
Analyse de la chaîne d’approvisionnement en Python

Exemple de code

\* Aggregate Production Planning *\
Minimize
OBJ: 20 prod_('A',_0) + 17 prod_('A',_1) 
    + 18 prod_('A',_2) + 15 prod_('B',_0) 
    + 16 prod_('B',_1) + 15 prod_('B',_2)
Subject To
_C1: prod_('A',_0) >= 0
_C2: prod_('A',_1) >= 0
_C3: prod_('A',_2) >= 0
_C4: prod_('B',_0) >= 8
_C5: prod_('B',_1) >= 7
_C6: prod_('B',_2) >= 6
Bounds
0 <= prod_('A',_0)
0 <= prod_('A',_1)
0 <= prod_('A',_2)
0 <= prod_('B',_0)
0 <= prod_('B',_1)
0 <= prod_('B',_2)
Generals
prod_('A',_0)
prod_('A',_1)
prod_('A',_2)
prod_('B',_0)
prod_('B',_1)
prod_('B',_2)
Analyse de la chaîne d’approvisionnement en Python

Résumé

Stratégie de vérification rapide

  • Vérifier l'état du modèle
  • Vérifier les variables de décision et l'objectif dans l'intervalle attendu
  • Utiliser writeLP() si besoin
Analyse de la chaîne d’approvisionnement en Python

Passons à la pratique !

Analyse de la chaîne d’approvisionnement en Python

Preparing Video For Download...