Programmazione lineare

Programmazione lineare
A volte abbiamo bisogno di ottimizzazione anche nella vita reale per ottenere il massimo profitto. Quindi, le tecniche di ottimizzazione appartengono all'apprendimento profondo, dove cerchiamo di ottenere la perdita minima. Ma a volte abbiamo risorse limitate e vogliamo ottenere il massimo profitto; Quindi arriva la programmazione lineare.

La programmazione lineare è un modello matematico che viene generalmente utilizzato nella scienza dei dati per l'ottimizzazione. L'ottimizzazione significa che possiamo capire il significato come il massimo profitto e meno costo. La società o l'organizzazione ha principalmente due obiettivi principali, minimizzazione e massimizzazione. La minimizzazione significa ridurre i costi aggiuntivi nelle produzioni per ottenere i profitti massimizzati. La programmazione lineare è una semplice tecnica di ottimizzazione che può aiutare allo stesso modo. La programmazione lineare è ovunque intorno a noi; Ad esempio, quando lavoriamo su qualsiasi progetto, facciamo anche strategie per gestire il lavoro di squadra per consegnare rapidamente in modo efficiente.

Terminologia della programmazione lineare:

  1. Funzione obiettivo: La funzione obiettivo sarà o massimizzare o minimizzare. Il problema che risolveremo è di massimizzare i profitti dell'azienda.
  2. Variabile decisionale: Variabile decisionale: i valori di queste variabili di decisione sono sconosciuti. Dopo aver calcolato questi valori, troviamo l'output della funzione obiettivo sotto il programma di programmazione lineare. Calcoliamo i valori decisionali X e Y e quindi adattiamo la funzione obiettivo che fornisce il suo valore finale.
  3. Vincoli non negativamente: I valori delle variabili di decisione non dovrebbero essere negativi o sempre uguali a zero o maggiore di zero.

Dichiarazione problema: Considera un'azienda che produce cioccolatini di due tipi: A e B. Entrambi i cioccolatini hanno bisogno di due materiali necessari: latte e cioccolato. Per produrre ogni cioccolato A e B, sono necessarie le seguenti quantità:

  • Ogni unità di A richiede 3 unità di latte e 2 unità di cioccolato
  • Ogni unità di B richiede 4 unità di latte e 1 unità di cioccolato

Lo stock attuale dell'azienda ha 25 unità di latte e 10 unità di cioccolato. La società ottiene profitti da ogni unità di vendita al cioccolato come di seguito:

  • Rs. 25 per unità di vendita di cioccolato a
  • Rs. 20 per unità di vendita di cioccolato b

Ora, la società vuole ottenere il massimo profitto dalle azioni disponibili.

Latte Choco Profitto per unità
UN 3 2 Rs 25
B 4 1 Rs 10
Saldo totale in stock 25 10

Soluzione: Come dal grafico sopra, possiamo capire che l'azienda vuole aumentare il suo profitto. Quindi prima, definiremo la nostra funzione Maximize per questo problema. Quindi, usando il modello matematico, diciamo che creiamo unità X di unità A e Y di B, quindi possiamo dire che il modello di funzione Maximize sarà simile a:

Lascia che il numero totale di unità prodotte da A be = x

Lascia che il numero totale di unità prodotte da B be = y

Ora, il profitto totale è rappresentato da Z

Per calcolare il massimo profitto, dobbiamo moltiplicare le unità totali di cioccolato prodotte da A e B con il loro profitto unitario di Rs. 25 e Rs. 20, rispettivamente.

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

Ora abbiamo la nostra funzione Maximize Z.

La società vuole sempre produrre il più possibile per ottenere grandi profitti, ma i materiali sono limitati. Secondo la tabella delle informazioni di cui sopra, ogni unità di A e B richiede rispettivamente 3 e 4 unità di latte. Quindi, la formula sarà come 3 * x + 4 * y. Ma c'è una limitazione del latte, che è di 25 unità solo in serie. Quindi, dopo aver aggiunto questo vincolo, la formula sopra sarà:

3 * x + 4 * y ≤ 25

Allo stesso modo, ogni unità di A e B richiede rispettivamente 2 e 1 unità di cioccolato. Quindi la formula sarà come 2 * x + y. Ma c'è anche una limitazione del cioccolato, che è 20 unità solo in stock. Quindi, dopo aver aggiunto questo vincolo, la formula sopra sarà:

2 *x + y ≤ 20

Il valore dato da A e B è sempre positivo in quanto si tratta di quantità. Quindi, dovrebbero essere uguali a zero o superiori a zero.

x ≥ 0 & y ≥ 0

Quindi, ora il nostro modello matematico della dichiarazione del problema è fatto. Ora, vedremo nel codice Python la dichiarazione del problema sopra.

Programmazione di Python:

Quindi, dobbiamo installare la polpa del pacchetto Python, che risolve i problemi di programmazione lineare.

Riga 52: Importiamo la libreria PUPL.

Riga 53: Definiamo la dichiarazione del problema e diamo il nome adatto al nostro problema. Diamo il nome del nostro problema, AIS Chocolate Manufacturing Profit e descriviamo l'obiettivo della funzione nella prossima variabile, che è massimizzato.

Riga 54: Definiamo la variabile per detenere le variabili di decisione. Il secondo e il terzo argomenti sono valori di limite inferiore e superiore. Sappiamo anche che non ci sarà valore negativo, quindi definiamo il valore inferiore (secondo argomento) a 0 e nel limite superiore (terzo argomento), ne parliamo nessuno. L'ultima affermazione parla di valori come un numero intero (lpinteger).

Riga 57: Definiamo la nostra funzione obiettivo come indicato nell'istruzione problematica.

Riga 58: Abbiamo creato le nostre variabili con i vincoli come indicato nell'istruzione problematica.

Riga 59: Stamphiamo la nostra dichiarazione del problema.

Riga 60: Salviamo l'intero problema dei dati in un file.

Riga 61: Abbiamo chiamato un risolutore di metodi della libreria Pulp per risolvere la programmazione lineare.

Riga 63 e 64: Stampiamo i valori calcolati e il profitto finale mostra Rs. 155.

Il file seguente, che stiamo salvando alla riga no. 60

Il file sopra ha l'output dell'obiettivo e dei vincoli che abbiamo salvato in un file. Quindi la prossima volta, possiamo semplicemente caricare ed eseguire il codice.

Il codice Python completo in .Il formato PY è riportato di seguito:

Conclusione

Comprendiamo gli esempi di programmazione lineare di base e come risolverli attraverso la programmazione di Python. Ma nella vita reale, vengono sempre problemi più complessi, quindi invece di risolverli manualmente, il paese o l'azienda hanno sempre bisogno di automazione per essere veloce e massimizzare i profitti.