Lineares Programmieren

Lineares Programmieren
Manchmal brauchen wir auch eine Optimierung im wirklichen Leben, um den maximalen Gewinn zu erzielen. Optimierungstechniken gehören also zu Deep Learning, wo wir versuchen, den Mindestverlust zu erreichen. Aber manchmal haben wir nur begrenzte Ressourcen und möchten den maximalen Gewinn erzielen. Dann kommt die lineare Programmierung herein.

Die lineare Programmierung ist ein mathematisches Modell, das in der Data Science im Allgemeinen zur Optimierung verwendet wird. Die Optimierung bedeutet, dass wir die Bedeutung wie maximale Gewinn und weniger Kosten verstehen können. Das Unternehmen oder die Organisation haben hauptsächlich zwei Hauptziele, Minimierung und Maximierung. Die Minimierung bedeutet, die zusätzlichen Kosten zu senken, die in Produktionen eingehen, um den maximalen Gewinn zu erzielen. Die lineare Programmierung ist eine einfache Optimierungstechnik, die auf die gleiche Weise helfen kann. Die lineare Programmierung ist überall um uns herum; Wenn wir beispielsweise an einem Projekt arbeiten, machen wir auch Strategien, um die Teamarbeit effizient zu verwalten, um schnell zu liefern.

Terminologie der linearen Programmierung:

  1. Zielfunktion: Die objektive Funktion besteht darin, entweder zu maximieren oder zu minimieren. Das Problem, das wir lösen werden, ist die Maximierung des Unternehmensgewinns.
  2. Entscheidungsvariable: Entscheidungsvariable: Die Werte dieser Entscheidungsvariablen sind unbekannt. Nach der Berechnung dieser Werte finden wir die Ausgabe der Zielfunktion unter dem linearen Programmierungsprogramm. Wir berechnen X- und Y -Entscheidungswerte und passen dann die Zielfunktion an, die ihren endgültigen Wert ergibt.
  3. Nicht negativ Einschränkungen: Die Werte der Entscheidungsvariablen sollten nicht negativ sein oder immer gleich Null oder größer als Null sein.

Problemstellung: Betrachten Sie ein Unternehmen, das Pralinen aus zwei Arten herstellt - A und B. Beide Pralinen benötigen zwei notwendige Materialien - Milch und Choco. Um jede Schokolade A und B herzustellen, sind folgende Mengen erforderlich:

  • Jede Einheit von A benötigt 3 Einheiten Milch und 2 Einheiten Choco
  • Jede Einheit B benötigt 4 Einheit Milch und 1 Einheit Choco

Die derzeitige Aktie des Unternehmens hat 25 Einheiten Milch und 10 Einheiten Choco. Das Unternehmen erhält von jeder Einheit des Schokoladenverkaufs wie unten Gewinne:

  • Rs. 25 pro Einheit Verkauf von Schokolade a
  • Rs. 20 pro Einheit Verkauf von Schokolade B

Jetzt möchte das Unternehmen seinen maximalen Gewinn aus den verfügbaren Aktien erzielen.

Milch Choco Gewinn pro Einheit
A 3 2 Rs 25
B 4 1 Rs 10
Gesamtbilanz bei Aktien 25 10

Lösung: Wie aus der obigen Tabelle können wir verstehen, dass das Unternehmen seinen Gewinn steigern möchte. Also werden wir zuerst unsere Maximierungsfunktion für dieses Problem definieren. Wenn wir also das mathematische Modell verwenden, können wir X -Einheiten von A- und Y -Einheiten von B erstellen, dann können wir sagen, dass das Maximierungsfunktionsmodell nach unten aussieht:

Lassen Sie die Gesamtzahl der Einheiten von produziert von A BE = x

Lassen Sie die Gesamtzahl der Einheiten von produziert von B sein = y

Jetzt wird der Gesamtgewinn durch vertreten Z

Um den maximalen Gewinn zu berechnen, müssen wir die von A und B produzierten Gesamtschokoladeneinheiten mit ihrem Einheitsgewinn von Rs multiplizieren. 25 und Rs. 20, jeweils.

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

Jetzt haben wir unsere maximale Funktion z.

Das Unternehmen möchte immer so viel wie möglich produzieren, um große Gewinne zu erzielen, aber die Materialien sind begrenzt. Gemäß der obigen Informationstabelle benötigt jede Einheit von A und B 3 bzw. 4 Einheiten Milch. Die Formel ist also wie 3 * x + 4 * y. Aber es gibt eine Einschränkung der Milch, die 25 Einheiten nur im Bestand enthält. Nach dem Hinzufügen dieser Einschränkung wird die obige Formel also sein:

3 * x + 4 * y ≤ 25

In ähnlicher Weise benötigt jede Einheit von A und B 2 bzw. 1 Einheiten Choco. Die Formel ist also wie 2 * x + y. Es gibt aber auch eine Einschränkung der Choco, die 20 Einheiten nur im Bestand enthält. Nach dem Hinzufügen dieser Einschränkung wird die obige Formel also sein:

2 *x + y ≤ 20

Der von A und B angegebene Wert ist immer positiv, da es sich um Mengen handelt. Sie sollten also entweder gleich Null oder größer sein als Null.

x ≥ 0 & y ≥ 0

Jetzt ist unser mathematisches Modell der Problemaussage durchgeführt. Jetzt werden wir im Python -Code die obige Problemanweisung sehen.

Python -Programmierung:

Wir müssen also das Python -Paketpulp installieren, das die linearen Programmierprobleme löst.

Zeile 52: Wir importieren die PUPL -Bibliothek.

Zeile 53: Wir definieren die Problemaussage und geben den geeigneten Namen unseres Problems an. Wir geben den Namen unseres Problems, AIS Chocolate Manufacturing Profit und beschreiben das Ziel der Funktion in der nächsten Variablen, die maximiert wird.

Zeile 54: Wir definieren die Variable, um die Entscheidungsvariablen zu halten. Die zweite und dritte Argumente sind untere und obere und obere Werte. Wir wissen auch, dass es keinen negativen Wert geben wird. Daher definieren wir den Wert der unteren gebundenen (zweiten Argument) auf 0, und in der oberen Grenze (drittes Argument) erwähnen wir keine. In der letzten Aussage geht es darum, dass Werte eine Ganzzahl sind (Lpinteger).

Zeile 57: Wir definieren unsere Zielfunktion wie in der Problemanweisung angegeben.

Zeile 58: Wir haben unsere Variablen mit den Einschränkungen erstellt, die in der Problemerklärung angegeben sind.

Zeile 59: Wir drucken unsere Problemanweisung.

Zeile 60: Wir speichern die gesamten Problemdaten in einer Datei.

Zeile 61: Wir haben einen Methodenlöser der Zellstoffbibliothek bezeichnet, um die lineare Programmierung zu lösen.

Zeile 63 und 64: Wir drucken die berechneten Werte, und der endgültige Gewinn zeigt die Rs. 155.

Die folgende Datei, die wir in Zeile Nr. Sparen. 60

Die obige Datei hat die Ausgabe des Ziels und der Einschränkungen, die wir in einer Datei gespeichert haben. Das nächste Mal können wir den Code einfach laden und ausführen.

Der vollständige Python -Code in .PY -Format ist unten angegeben:

Abschluss

Wir verstehen grundlegende lineare Programmierbeispiele und wie man sie durch Python -Programmierung löst. Im wirklichen Leben kommen jedoch immer komplexere Probleme, sodass das Land oder das Unternehmen immer die Automatisierung benötigen, um schnell zu sein und die Gewinne zu maximieren.