Verificarea soluției

Analitică în lanțul de aprovizionare cu Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

Diagramă flux strategie de verificare

Analitică în lanțul de aprovizionare cu Python

Verificați starea modelului

  • Infezabilă: Nu există soluții fezabile.
    • Revizuiți constrângerile
  • Nemărginită: Funcția obiectiv nu este mărginită; maximizarea sau minimizarea tinde spre infinit.
    • Revizuiți funcția obiectiv
  • Nedefinită: Soluția optimă poate exista, dar s-ar putea să nu fi fost găsită.
    • Poate fi cea mai bună soluție disponibilă
    • Revizuiți modul de modelare a problemei
Analitică în lanțul de aprovizionare cu Python

Verificați dacă rezultatele sunt în intervalul așteptat

Sunt variabilele de decizie și valoarea obiectivului în intervalul așteptat?

  • Bazat pe cunoașterea / înțelegerea problemei
  • Dacă „Da", aveți o soluție validă
  • Dacă „Nu", revizuiți:
    • Codul Python
    • Datele
    • Scrieți fișierul LP
Analitică în lanțul de aprovizionare cu Python

Scriere LP

writeLP(filename)
  • filename = Numele fișierului de creat

Afișează:

  • Numele problemei
  • Funcția obiectiv și sensul optimizării (minimizare/maximizare)
  • Constrângerile, inclusiv limitele pentru variabilele de decizie
  • Variabilele de decizie
Analitică în lanțul de aprovizionare cu Python

Exemplu de cod

\* 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)
Analitică în lanțul de aprovizionare cu Python

Rezumat

Strategie de verificare

  • Verificați starea modelului
  • Verificați dacă variabilele de decizie și obiectivul sunt în intervalul așteptat
  • Utilizați writeLP() dacă este necesar
Analitică în lanțul de aprovizionare cu Python

Să exersăm!

Analitică în lanțul de aprovizionare cu Python

Preparing Video For Download...