29-09-2025 - Operations Research - The Standard Form of an LP Problem [EN]-[IT]
~~~ La versione in italiano inizia subito dopo la versione in inglese ~~~
ENGLISH
29-09-2025 - Operations Research - The Standard Form of an LP Problem [EN]-[IT]
With this post, I would like to provide a brief introduction to the topic mentioned above.
(lesson/article code: LE_C-89)
Image created with artificial intelligence, the software used is Microsoft Copilot
Introduction
Linear programming, also called LP, is a mathematical method that helps a group of people make optimal decisions on problems related to cost reduction or profit maximization.
Below is a linear programming problem in two variables.
The Standard Form
The first thing to do is transform the problem into standard form.
The standard form is a clean and uniform form, useful because it allows you to directly apply the various methods used to solve the problem.
The standard form is as follows:
with the following final conditions:
Transformation to standard form
Below is our problem transformed into standard form. standard
Determining A, b, and c
Now we can determine the constraint coefficient matrix.
Below I have highlighted the constraint coefficients, where each row corresponds to a constraint and each column to a variable.
Matrix A
So matrix A will be as follows:
Vector b
b is the vector of known terms, and these are found to the right of the constraints.
In the following image, they are highlighted.
It will be transcribed like this.
the vector c
The vector c is the vector of the objective function coefficients aligned with the variables x1, x2, x3, x4. Keeping in mind that x3 and x4 do not appear, their coefficients are 0 (these are also called slack variables).
Below is a screenshot to help you understand where we get them from.
Below is the vector c.
Continuation
From here on, the problem can be solved in various ways, the most popular being the simplex method. This is one of those mathematical cases where problem preparation is crucial to solving the problem and obtaining the optimal solution. I will soon publish an article demonstrating a useful algorithmic method for solving this problem in standard form.
Conclusions
When faced with a linear programming problem, the first thing to do is transform it into standard form so that the linear programming problem can be solved algorithmically.
Question
Did you know that it was George B. Dantzig, an American mathematician and statistician, who realized that to solve a linear programming problem algorithmically, it needed to be transformed into standard form? Did you know that being able to translate a problem into a linear programming problem in standard form can be useful for solving very complex industrial production and planning problems?
ITALIAN
29-09-2025 - Ricerca operativa - La forma standard di un problema di PL [EN]-[IT]
Con questo post vorrei dare una breve istruzione a riguardo dell’argomento citato in oggetto
(codice lezione/articolo: LE_C-89)
immagine creata con l’intelligenza artificiale, il software usato è Microsoft Copilot
Introduzione
La programmazione lineare, detta anche PL, è un metodo matematico che aiuta un gruppo di persone a prendere la decisione ottima su problematiche inerenti alla riduzione dei costi o alla massimizzazione del profitto.
Qui di seguito un problema di programmazione lineare in due variabili
La forma standard
La prima cosa da fare è trasformare il problema in forma standard.
La forma standard è una scrittura pulita e uniforme, utile perché permette di applicare in modo diretto i vari metodi che si usano per risolvere il problema.
L forma standard è la seguente:
con delle condizioni finali che sono le seguenti:
Trasformazione in forma standard
Qui di seguito il nostro problema trasformato in forma standard
Determinazione di A, b e c
Ora possiamo determinare la matrice dei coefficienti dei vincoli.
Qui di seguito ho evidenziato quelli che sono i coefficienti dei vincoli, dove ogni riga corrisponde ad un vincolo e ogni colonna a una variabile
Matrice A
quindi la matrice A sarà come segue:
Vettore b
b è il vettore dei termini noti e questi sono si trovano sulla destra dei vincoli
Nell'immagine seguente sono evidenziati
Esso sarà così trascritto
il vettore c
Il vettore c è il vettore dei coefficienti della funzione obiettivo allineato alle variabili x1,x2,x3,x4. Tenendo presente che x3 e x4 non compaiono, i loro coefficienti sono 0 (queste sono anche chiamate variabili di slack).
Qui di seguito allego uno screenshot per comprendere da dove le prendiamo
Qui di seguito il vettore c
Proseguimento
Da qui in poi il problema può essere risolto in vari modi, il più conosciuto è il metodo del simplesso. Questo è uno di quei casi matematici, in cui la preparazione del problema è fondamentale per risolvere il problema ed ottenere la soluzione ottima. A breve farò un articolo dove mostrerò un metodo algoritmico utile per risolvere questo problema in forma standard.
Conclusioni
Di fronte ad un problema di programmazione lineare la prima cosa da fare è trasformarlo nella forma standard per fare in modo che il problema di programmazione lineare possa essere risolto tramite un algoritmo.
Domanda
Sapevate che fu George B. Dantzig, un matematico e statistico statunitense, che capì che per risolvere un problema di programmazione lineare in maniera algoritmica, bisognava trasformarlo in una forma standard? Sapevate che riuscire a tradurre un problema in un problema di programmazione lineare in forma standard può essere utile a risolvere complicatissimi problemi di produzione e pianificazione industriale?
THE END
Congratulations @stefano.massari! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Check out our last posts:
Mi piace perché lo fai sembrare semplice, questo era un bel sistemone, i vettori sinceramente non li ricordo proprio, o ho cancellato il ricordo o non li ho proprio fatti
!PIZZA
Ciao Davide, il succo di questo post è che un problema di programmazione lineare, se non viene trasformato in una certa forma, chiamata forma standard, è di difficile risoluzione. Invece facendo una trasformazione, introducendo delle variabili, chiamate slack, il problema, in pratica, diventa meno complicato. Quindi un problema di questo tipo:
si risolve molto più facilmente pensandolo così come segue.
Grazie per essere sempre presente
!hiqvote
Questa cosa delle variabili slack è stato un bel trucchetto da inventare
$PIZZA slices delivered:
@davideownzall(1/15) tipped @stefano.massari
Come get MOONed!
All these research that might look so simple always takes so long actually to come up with
Hi Sammy, when we're faced with a linear programming problem, the key is understanding how to transform it into standard form. That is, to solve a linear programming problem, you need to write it in the form of inequalities and then convert it into standard form. Here's an example:
A linear programming problem translated into an objective function and its linear constraints.
but it is not easy to calculate, so it is then transformed into standard form
Comunque, l'importante è comprendere che senza un prima trasformazione, un problema di programmazione lineare è di difficile risoluzione
!HBIT
stefano.massari, you mined 0.9 🟧 HBIT and the user you replied to (sammywrite) received 0.1 HBIT on your behalf as a tip. You can receive 100% of the HBIT by replying to one of your own posts or comments. When you mine HBIT, you're also playing the Wusang: Isle of Blaq game. 🏴☠️ | tools | wallet | discord | community | daily <><
What's more, you found 1.0 ⚪ BLAQ pearl as a bonus treasure token!
Your random number was 0.12000093863725736, also viewable in the Discord server, #hbit-wusang-log channel. Check for bonus treasure tokens by entering your username at block explorer A, explorer B, or take a look at your wallet.
There is a treasure chest of bitcoin sats hidden in Wusang: Isle of Blaq. Happy treasure hunting! 😃 Read about Hivebits (HBIT) or read the story of Wusang: Isle of Blaq.
Ciao, spero che tu stia bene, ho capito la teoria, non le formule, spieghi molto bene, mi piace avere conoscenze di altre cose, le fai sembrare facili
Ciao Angeluxx, confermo che qui siamo davanti a qualcosa di complesso.
La prima interazione da eseguire con il metodo del simplesso non è facile da capire.
Il primo passo è guardare la funzione obiettivo nel tableau iniziale e poi, se è un massimizzazione, si sceglie la variabile con coefficiente più negativo, e da questo possiamo individuare la variabile entrante. Questa è proprio la prima cosa da fare. !DIY
great information
Thank you for this exceptionally clear and well-structured explanation. You have a real talent for breaking down a complex topic into digestible steps. The visual aids alongside the text were particularly helpful in following the transformation into standard form.
Excellent post! This is a fantastic primer on the standard form. The step-by-step process of identifying and building matrices A, b, and c makes it much less abstract
"A very insightful and well-explained read. You make a technically dense subject surprisingly accessible. The progression from the problem statement to the fully defined matrices A, b, and c was perfectly logical. Great work
Interessante quello che dici, mi fa pensare: uno scienziato fa tentativi ed errori, poi la sua scoperta viene alla luce e altri gli danno un tocco in più, in questo caso, quello che hai detto di George B. Dantzig
Ciao Lu, Dantzig con il suo metodo per risolvere problemi di programmazione lineare ha quasi fatto una magia. Un problema che si risolverebbe con un'ora di calcoli, lo ha ridotto a 2 minuti di calcoli. Il bello è che il suo metodo non sbaglia, mentre in quell'ora di calcoli, fatti senza usare il suo metodo, si potrebbe incorrere accidentalmente in errori vari di calcolo e buttare via un ora. !CTP
@stefano.massari, I failed to pay out 0.262 HIVE and 0.049 HBD to reward 7 comments in this discussion thread.
My wallet is running low on Hive or HBD. I will try again later.