Lineær programmering

Lineær programmering
Noen ganger trenger vi optimalisering i det virkelige liv også for å få maksimal fortjeneste. Så optimaliseringsteknikker tilhører dyp læring, der vi prøver å oppnå minimumstap. Men noen ganger har vi begrensede ressurser og ønsker å få maksimal overskudd; Da kommer lineær programmering inn.

Lineær programmering er en matematisk modell som vanligvis brukes i datavitenskap for optimalisering. Optimaliseringen betyr at vi kan forstå betydningen som maksimal fortjeneste og mindre kostnader. Selskapet eller organisasjonen har hovedsakelig to hovedmål, minimering og maksimering. Minimering betyr å kutte ekstra kostnadene som kommer i produksjoner for å få maksimere fortjenesten. Lineær programmering er en enkel optimaliseringsteknikk som kan hjelpe på samme måte. Lineær programmering er overalt rundt oss; Når vi for eksempel jobber med et prosjekt, lager vi også strategier for å administrere teamarbeidet til å levere effektivt.

Terminologi for den lineære programmeringen:

  1. Objektiv funksjon: Objektfunksjonen vil være enten å maksimere eller minimere. Problemet vi skal løse er å maksimere selskapets fortjeneste.
  2. Beslutningsvariabel: Beslutningsvariabel: Disse beslutningsvariabelenes verdier er ukjente. Etter å ha beregnet disse verdiene, finner vi den objektive funksjonsutgangen under det lineære programmeringsprogrammet. Vi beregner X- og Y -beslutningsverdier og passer deretter til objektivfunksjonen som gir den endelige verdien.
  3. Ikke-negativt begrensning: Verdiene for beslutningsvariablene skal ikke være negative eller alltid være lik null eller større enn null.

Problemstilling: Tenk på et selskap som lager sjokolade av to typer - A og B. Begge sjokoladene trenger to nødvendige materialer - melk og choco. For å produsere hver sjokolade A og B, er følgende mengder påkrevd:

  • Hver enhet av A krever 3 enheter melk og 2 enheter Choco
  • Hver enhet med B krever 4 enhet av melk og 1 enhet av Choco

Selskapets nåværende aksje har 25 enheter melk og 10 enheter med choco. Selskapet får fortjeneste fra hver enhet av sjokoladesalg som nedenfor:

  • Rs. 25 per enhet salg av sjokolade a
  • Rs. 20 per enhet salg av sjokolade b

Nå ønsker selskapet å tjene maksimalt fra de tilgjengelige aksjene.

Melk Choco Overskudd per enhet
EN 3 2 Rs 25
B 4 1 Rs 10
Total balanse på lager 25 10

Løsning: Som fra ovennevnte diagram kan vi forstå at selskapet ønsker å øke fortjenesten. Så først kommer vi til å definere vår maksimere funksjon for dette problemet. Så ved å bruke den matematiske modellen, la oss si at vi lager X -enheter av A- og Y -enheter av B, så kan vi si at den maksimale funksjonsmodellen vil se ut nedenfor:

La det totale antall enheter produsert av A være = x

La det totale antall enheter produsert av B være = y

Nå er det totale overskuddet representert av Z

For å beregne maksimal fortjeneste, må vi multiplisere de totale enhetene med sjokolade produsert av A og B med enhetens fortjeneste på Rs. 25 og Rs. 20, henholdsvis.

Profitt: Maks z = 25 * x + 20 * y

Nå har vi vår maksimere funksjon z.

Selskapet ønsker alltid å produsere så mye som mulig for å få stort overskudd, men materialene er begrenset. I henhold til informasjonstabellen ovenfor, krever hver enhet av A og B henholdsvis 3 og 4 melk enheter. Så formelen vil være som 3 * x + 4 * y. Men det er en begrensning av melken, som bare er 25 enheter i aksjen. Så etter å ha lagt til denne begrensningen, vil formelen ovenfor være:

3 * x + 4 * y ≤ 25

Tilsvarende krever hver enhet av A og B henholdsvis 2 og 1 enheter av Choco. Så formelen vil være som 2 * x + y. Men det er også en begrensning av Choco, som bare er 20 enheter i aksjen. Så etter å ha lagt til denne begrensningen, vil formelen ovenfor være:

2 *x + y ≤ 20

Verdien gitt av A og B er alltid positiv, da dette er mengder. Så de bør være lik null eller større enn null.

x ≥ 0 & y ≥ 0

Så nå er vår matematiske modell av problemstatningen gjort. Nå kommer vi til å se i Python -koden ovennevnte problemuttalelse.

Python -programmering:

Så vi må installere Python -pakkemassen, som løser de lineære programmeringsproblemene.

Linje 52: Vi importerer Pupl -biblioteket.

Linje 53: Vi definerer problemserklæringen og gir passende navn på problemet vårt. Vi gir navnet på problemet vårt, AIS sjokoladeproduksjonsresultat, og beskriver funksjonens mål i neste variabel, som er maksimalisert.

Linje 54: Vi definerer variabelen for å holde beslutningsvariablene. Andre og tredje argumenter er nedre og øvre grenseverdier. Vi vet også at det ikke vil være noen negativ verdi, så vi definerer den nedre grensen (andre argument) til 0, og i øvre grense (tredje argument) nevner vi ingen. Den siste uttalelsen snakker om at verdier er et heltall (lpinteger).

Linje 57: Vi definerer vår objektive funksjon som gitt i problemstillingen.

Linje 58: Vi opprettet variablene våre med begrensningene som gitt i problemstillingen.

Linje 59: Vi skriver ut problemserklæringen vår.

Linje 60: Vi lagrer hele problemdataene i en fil.

Linje 61: Vi kalte en metodeløsning av massebiblioteket for å løse lineær programmering.

Linje 63 og 64: Vi skriver ut de beregnede verdiene, og den endelige overskuddet viser RS. 155.

Filen nedenfor, som vi sparer på linje nei. 60

Ovennevnte fil har utdataene fra målet og begrensningene som vi lagret i en fil. Så neste gang kan vi bare laste og kjøre koden.

Den komplette Python -koden i .PY -format er gitt nedenfor:

Konklusjon

Vi forstår grunnleggende lineære programmeringseksempler og hvordan du løser dem gjennom Python -programmering. Men i det virkelige liv kommer mer komplekse problemer alltid, så i stedet for å løse dem manuelt, trenger landet eller selskapet alltid automatisering for å være rask og maksimere fortjenesten.