Podstawy optymalizacji

Analityka łańcucha dostaw w Pythonie

Aaren Stubberfield

Supply Chain Analytics Mgr.

Czym jest łańcuch dostaw

  • Łańcuch dostaw obejmuje wszystkie strony zaangażowane, bezpośrednio lub pośrednio, w realizację zamówienia klienta.¹
  • Obejmuje:
    • Dostawców
    • Produkcję wewnętrzną
    • Zewnętrznych dostawców logistycznych (np. dostawców trzecich)
1 Chopra, Sunil, and Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Analityka łańcucha dostaw w Pythonie

Czym jest optymalizacja łańcucha dostaw

  • Polega na znalezieniu najlepszej ścieżki do osiągnięcia celu przy danych ograniczeniach

diagram przepływu materiałów od dostawców do klientów

Analityka łańcucha dostaw w Pythonie

Wprowadzenie do LP

  • Programowanie liniowe (LP) to potężne narzędzie do optymalizacji

  • Metoda optymalizacji oparta na modelu matematycznym z liniowymi zależnościami

  • LP składa się z 3 podstawowych elementów:

    • Zmienne decyzyjne – co możemy kontrolować
    • Funkcja celu – wyrażenie matematyczne opisujące cel
    • Ograniczenia – wyrażenia matematyczne opisujące granice rozwiązań
Analityka łańcucha dostaw w Pythonie

Przykład wprowadzający

Użyj LP, aby zaplanować trening spalający jak najwięcej kalorii.

Pompki Bieg
Minuty 0.2 na pompkę 10 na milę
Kalorie 3 na pompkę 130 na milę

Ograniczenie – tylko 10 minut na ćwiczenia

Analityka łańcucha dostaw w Pythonie

Podstawowe elementy LP

Zmienne decyzyjne – Co możemy kontrolować:

  • Liczba pompek i liczba przebiegniętych mil

Funkcja celu – Wyrażenie matematyczne opisujące cel:

  • Maks (3 * Liczba pompek + 130 * Liczba mil)

Ograniczenia – Wyrażenia matematyczne opisujące granice rozwiązań:

  • 0.2 * Liczba pompek + 10 * Liczba mil ≤ 10
  • Liczba pompek ≥ 0
  • Liczba mil ≥ 0
Analityka łańcucha dostaw w Pythonie

Przykładowe rozwiązanie

Rozwiązanie optymalne:

  • 50 pompek
  • 0 mil

Spalone kalorie: 150

wykres dopuszczalnych rozwiązań przykładu ćwiczeń z zaznaczonym punktem optymalnym

Analityka łańcucha dostaw w Pythonie

LP vs IP vs MIP

Typ Zmienne decyzyjne
Programowanie liniowe (LP) Tylko ciągłe
Programowanie całkowitoliczbowe (IP) Tylko dyskretne lub całkowite
Programowanie mieszane całkowitoliczbowe (MIP) Mix ciągłych i dyskretnych
Analityka łańcucha dostaw w Pythonie

Podsumowanie

  • Zdefiniowano optymalizację łańcucha dostaw
  • Zdefiniowano programowanie liniowe i jego elementy
    • Zmienne decyzyjne
    • Funkcja celu
    • Ograniczenia
  • Zdefiniowano LP vs IP vs MIP
Analityka łańcucha dostaw w Pythonie

Czas na ćwiczenia!

Analityka łańcucha dostaw w Pythonie

Preparing Video For Download...