Problema di programmazione lineare
Ciao a tutti,
ho tra le mani un semplice problema di programmazione lineare che, nel calcolatore mi da problemi;
il problema è il seguente:
data la tabella:

Devo semplicemente spendere il meno possibile per avere un piatto che contenga quelle 3 sostanze (carote, cavolo, cetriolo)
garantendo come minimo le sostanze: vitamina A, vitamina B e le fibre.
Detto come mangio:
non importa quanto di quei 3 ingredienti io metto nel piatto, l'importante che ci siano tutti e 3 e che il piatto abbia un minimo di 0.5 mg di vitamina A, 15 mg di vitamina B e 4g di fibre.
Chiaramente spendendo il meno possibile
quindo devo minimizzare:
$0.75x_1+0.5x_2+0.15x_3$
dove:
$x_1$ sono le carote
$x_2$ sono i cavoli
$x_3$ sono i cetrioli
passando ai vincoli si ottiene:
$x_1>0$
$x_2>0$
$x_3>0$
$35x_1+0.5x_2+0.5x_3>=0.5$
$60x_1+300x_2+10x_3>=15$
$30'000x_1+20'000x_2+10'000x_3>=4'000$
Adesso utilizzando la funzione NMinimize del software di calcolo Mathematica e dopo aver inserito tutti i vincoli, ottengo un risultato strano
${x_1->0; x_2->0; x_3->400}$
Non capisco perchè ... gli ho detto che $x_1>0$ $x_2>0$ $x_3>0$
eppure mi da comunque come soluzione $0$ per entrambe.
il che è sbagliato perchè cosi facendo nel piatto (pur risparmiando il piu possibile e garantendo le vitamine e le fibre) mancano i 2 ingreidenti ( carote e cavoli)
qualcuno puo illuminarmi?
Grazie
ho tra le mani un semplice problema di programmazione lineare che, nel calcolatore mi da problemi;
il problema è il seguente:
data la tabella:

Devo semplicemente spendere il meno possibile per avere un piatto che contenga quelle 3 sostanze (carote, cavolo, cetriolo)
garantendo come minimo le sostanze: vitamina A, vitamina B e le fibre.
Detto come mangio:
non importa quanto di quei 3 ingredienti io metto nel piatto, l'importante che ci siano tutti e 3 e che il piatto abbia un minimo di 0.5 mg di vitamina A, 15 mg di vitamina B e 4g di fibre.
Chiaramente spendendo il meno possibile
quindo devo minimizzare:
$0.75x_1+0.5x_2+0.15x_3$
dove:
$x_1$ sono le carote
$x_2$ sono i cavoli
$x_3$ sono i cetrioli
passando ai vincoli si ottiene:
$x_1>0$
$x_2>0$
$x_3>0$
$35x_1+0.5x_2+0.5x_3>=0.5$
$60x_1+300x_2+10x_3>=15$
$30'000x_1+20'000x_2+10'000x_3>=4'000$
Adesso utilizzando la funzione NMinimize del software di calcolo Mathematica e dopo aver inserito tutti i vincoli, ottengo un risultato strano
${x_1->0; x_2->0; x_3->400}$
Non capisco perchè ... gli ho detto che $x_1>0$ $x_2>0$ $x_3>0$
eppure mi da comunque come soluzione $0$ per entrambe.
il che è sbagliato perchè cosi facendo nel piatto (pur risparmiando il piu possibile e garantendo le vitamine e le fibre) mancano i 2 ingreidenti ( carote e cavoli)
qualcuno puo illuminarmi?
Grazie
Risposte
Non so cosa tu abbia dato "in pasto" a Mathematica (che non ho), ma dando: relazione base e vincoli ad un suo "parente" stretto, la risposta è la seguente

Minimize e equivalentemente NMinimize (che cerca una soluzione numerica), danno ovviamente lo stesso risultato: mangiare tanti cetrioli ... e te credo, con quel prezzo!
Il mio dubbio è soltanto quello di capire dove lo stesore di quel problema vada a fare la spesa.

Minimize e equivalentemente NMinimize (che cerca una soluzione numerica), danno ovviamente lo stesso risultato: mangiare tanti cetrioli ... e te credo, con quel prezzo!

Il mio dubbio è soltanto quello di capire dove lo stesore di quel problema vada a fare la spesa.
