Programowanie liniowe

Programowanie liniowe
Czasami potrzebujemy również optymalizacji w prawdziwym życiu, aby uzyskać maksymalny zysk. Tak więc techniki optymalizacji należą do głębokiego uczenia się, gdzie staramy się osiągnąć minimalną stratę. Ale czasami mamy ograniczone zasoby i chcemy uzyskać maksymalny zysk; Następnie pojawia się programowanie liniowe.

Programowanie liniowe jest modelem matematycznym, który jest ogólnie używany w naukach danych do optymalizacji. Optymalizacja oznacza, że ​​możemy zrozumieć znaczenie, takie jak maksymalny zysk i mniejsze koszty. Firma lub organizacja ma głównie dwa główne cele, minimalizację i maksymalizację. Minimalizacja oznacza obniżenie dodatkowych kosztów, które pojawiają się w produkcji, aby uzyskać maksymalizowane zyski. Programowanie liniowe to prosta technika optymalizacji, która może pomóc w ten sam sposób. Programowanie liniowe jest wszędzie wokół nas; Na przykład, gdy pracujemy nad dowolnym projektem, dokonujemy również strategii zarządzania pracą zespołową w celu szybkiego dostarczania dostarczania.

Terminologia programowania liniowego:

  1. Funkcja celu: Funkcją celu będzie albo zmaksymalizować lub zminimalizować. Problemem, który zamierzamy rozwiązać, jest maksymalizacja zysków firmy.
  2. Zmienna decyzyjna: Zmienna decyzyjna: wartości zmiennych decyzyjnych są nieznane. Po obliczeniu tych wartości znajdujemy wyjście funkcji celu poniżej programu programowania liniowego. Obliczamy wartości decyzyjne x i y, a następnie dopasowujemy funkcję celu, która daje jej ostateczną wartość.
  3. Niebrzeżne ograniczenie: Wartości zmiennych decyzyjnych nie powinny być ujemne lub zawsze być równe zero lub większe niż zero.

Stwierdzenie problemu: Rozważ firmę, która tworzy czekoladki dwóch typów - A i B. Obie czekoladki potrzebują dwóch niezbędnych materiałów - mleka i czekolady. Aby wyprodukować każdą czekoladę A i B, wymagane są następujące ilości:

  • Każda jednostka A wymaga 3 jednostek mleka i 2 jednostek Choco
  • Każda jednostka B wymaga 4 jednostek mleka i 1 jednostki Choco

Obecne akcje spółki mają 25 jednostek mleka i 10 jednostek Choco. Firma otrzymuje zyski z każdej jednostki sprzedaży czekolady, jak poniżej:

  • Rs. 25 na jednostkę sprzedaży czekolady a
  • Rs. 20 na jednostkę sprzedaży czekolady b

Teraz firma chce osiągnąć maksymalny zysk z dostępnych akcji.

mleko Choco Zysk na jednostkę
A 3 2 Rs 25
B 4 1 Rs 10
Całkowite saldo w magazynie 25 10

Rozwiązanie: Jak z powyższego wykresu możemy zrozumieć, że firma chce zwiększyć swoją zysk. Najpierw zdefiniujemy naszą funkcję maksymalizowania tego problemu. Tak więc, używając modelu matematycznego, powiedzmy, że tworzymy x jednostki A i Y o wartości B, możemy powiedzieć, że model funkcji maksymalizacji będzie wyglądał poniżej:

Niech całkowita liczba jednostek wyprodukowanych przez A be = x

Niech całkowita liczba jednostek wyprodukowanych przez B be = y

Teraz całkowity zysk jest reprezentowany przez Z

Aby obliczyć maksymalny zysk, musimy pomnożyć całkowitą jednostki czekolady wyprodukowane przez A i B z ich zyskiem jednostkowym RS. 25 i Rs. 20 odpowiednio.

Zysk: Max z = 25 * x + 20 * y

Teraz mamy naszą funkcję maksymalizowaną z.

Firma zawsze chce produkować jak najwięcej, aby uzyskać duże zyski, ale materiały są ograniczone. Zgodnie z powyższą tabelą informacyjną każda jednostka A i B wymaga odpowiednio 3 i 4 jednostek mleka. Tak więc formuła będzie jak 3 * x + 4 * y. Ale istnieje ograniczenie mleka, które wynosi 25 jednostek tylko w magazynie. Tak więc po dodaniu tego ograniczenia powyższy formuła będzie:

3 * x + 4 * y ≤ 25

Podobnie każda jednostka A i B wymaga odpowiednio 2 i 1 jednostek Choco. Więc formuła będzie jak 2 * x + y. Ale istnieje również ograniczenie Choco, czyli 20 jednostek tylko w akcji. Tak więc po dodaniu tego ograniczenia powyższy formuła będzie:

2 *x + y ≤ 20

Wartość podana przez A i B jest zawsze pozytywna, ponieważ są to ilości. Tak więc powinny być równe zero lub większe niż zero.

x ≥ 0 i y ≥ 0

Tak więc, teraz nasz matematyczny model stwierdzenia problemu. Teraz zobaczymy w kodzie Python w powyższym stwierdzeniu problemu.

Programowanie Pythona:

Musimy więc zainstalować miazgę pakietu Python, która rozwiązuje problemy z programowaniem liniowym.

Linia 52: Importujemy bibliotekę PUPL.

Linia 53: Definiujemy stwierdzenie problemu i podajemy odpowiednią nazwę naszego problemu. Podajemy nazwę naszego problemu, zysk z produkcji czekolady AIS i opisujemy cel funkcji w następnej zmiennej, która jest zmaksymalizowana.

Linia 54: Definiujemy zmienną do przechowywania zmiennych decyzyjnych. Drugie i trzecie argumenty to niższe i górne wartości związane. Wiemy również, że nie będzie wartości ujemnej, więc definiujemy wartość dolną (drugą argument) do 0, a w górnej granicy (trzeci argument), nie wspominamy o żadnym żadnym. Ostatnie stwierdzenie mówi o wartościach będących liczbą całkowitą (LPINTEGER).

Linia 57: Definiujemy naszą funkcję celu podaną w instrukcji problemu.

Linia 58: Stworzyliśmy nasze zmienne z ograniczeniami podanymi w instrukcji problemu.

Linia 59: Drukujemy naszym problemem.

Linia 60: Zapisujemy całe dane problemowe na pliku.

Linia 61: Nazwaliśmy solver metody biblioteki Pulp w celu rozwiązania programowania liniowego.

Linia 63 i 64: Drukujemy obliczone wartości, a końcowy zysk pokazuje RS. 155.

Poniższy plik, który zapisujemy w linii nr. 60

Powyższy plik ma wyjście celu i ograniczeń, które zapisaliśmy w pliku. Więc następnym razem możemy po prostu załadować i uruchomić kod.

Kompletny kod Pythona w .Format PY podano poniżej:

Wniosek

Rozumiemy podstawowe przykłady programowania liniowego i sposób ich rozwiązania poprzez programowanie Python. Ale w prawdziwym życiu zawsze pojawiają się bardziej złożone problemy, więc zamiast ich rozwiązać ręcznie, kraj lub firma zawsze potrzebują automatyzacji, aby być szybkim i zmaksymalizowani zyski.