Esercizio di programmazione lineare

Messaggioda the_webmaster » 28/09/2016, 18:46

Salve a tutti, dovrei cercare di risolvere un problema di PL abbastanza complesso. Il mio problema principale è come strutturare il problema, posto sperando che qualcuno possa in qualche modo aiutarmi! :D Ringrazio chiunque possa darmi una mano!

Il testo del problema è il seguente:

Un agente della Borsa di Milano ha incrementato un mese fa il suo investimento nella borsa di Tokio da 2,5 milioni di dollari a 15 milioni di dollari, con un cambio dollaro-yen pari 1 dollaro- 80 yen. Nell’ultimo mese lo yen si è svalutato ed ora il rapporto è 1 dollaro-125 yen.
L’agente ha appena letto le previsioni sull’economia giapponese, sicuramente negative, pertanto vuole recuperare immediatamente il capitale investito. L’investimento nella borsa giapponese non gli ha procurato alcun guadagno né perdite, ma ora per via della svalutazione dello yen può avere una grossa perdita nel convertire yen in dollari.
Inoltre anche gli investimenti che ha fatto in Indonesia, 10,5 miliardi di rupie e di 28 miliardi di ringgit non sembrano promettenti e quindi bisogna recuperare anche quei capitali. Fra l’altro in questi paesi ci sono alcune restrizioni sul trasferimento dei capitali.

La tabella dei cambi attuale è

Da / aYenRupieRinggitDollariDollari canadesiEuroSterlinePesos
Yen1500.040.0080.010.00640.00480.0768
Rupie10.00080.000160.00020.0001280.0000960.001536
Ringgit10.20.250.160.121.92
Dollari11.250.80.69.6
Dollari canadesi10.640.487.68
Euro10.7512
Sterline116
Pesos1


Le spese per il trasferimento dei capitali sono date dalla tabella seguente

Da / aYenRupieRinggitDollariDollari canadesiEuroSterlinePesos
Yen--0.50.50.40.40.40.250.5
Rupie--0.70.50.30.30.750.75
Ringgit--0.70.70.40.450.5
Dollari--0.050.10.10.1
Dollari canadesi--0.20.10.1
Euro--0.0050.5
Sterline--0.5
Pesos--


in cui è sottinteso che il costo di conversione dalla valuta A alla valuta B è lo stesso della conversione da B ad A e i valori sono percentuali dell’ammontare trasferito.
Infine vi sono dei limiti sui trasferimenti da certe valute ad altre. Questi sono dati dalla tabella seguente

Da / aYenRupieRinggitDollariDollari canadesiEuroSterlinePesos
Yen--5000500020002000200020004000
Rupie5000--20002002001000500200
Ringgit30004500--15001500250010001000


La tabella va interpretata nel senso che se si ha, per esempio, in yen l’ammontare A questo va prima trasformato in dollari e per ogni 1000 dollari si possono convertire per esempio, in rupie, 5000 yen
Quali sono i trasferimenti che l’agente deve fare per convertire gli investimenti fatti in yen, rupie e ringgit, in dollari in modo da avere il massimo ammontare di valuta in dollari?

the_webmaster
Starting Member
Starting Member
 
Messaggio: 1 di 2
Iscritto il: 28/09/2016, 17:38

Re: Esercizio di programmazione lineare

Messaggioda Intermat » 01/10/2016, 15:24

Provo a darti una risposta. L'ho fatto al volo quindi potrebbe esserci qualche errore sia di comprensione del testo del problema sia nella realizzazione quindi guardalo con occhio critico!

Allora cominciamo con qualche definizione:
$A$ è la matrice dei cambi dalla valuta $i$ alla valuta $j$. In pratica la tua prima tabella
$B$ è la matrice dei costi di transazione. In pratica la tua seconda tabella
$K$ è la matrice dei limiti di capitali trasferibili dalla valuta $i$ alla valuta $j$ (in dollari). In pratica la tua terza tabella (però considerata avente otto righe ed otto colonne, come le prime due, e con valore $+oo$ dove non ci sono limiti).
$c$ è il vettore dei cambi dalla valuta $i$ in dollari. In pratica è analogo alla riga num. 4 della prima matrice.
$bar X$ è il vettore avente come componenti le quantità di denaro (nelle singole divise) disponibili all'inizio.
$x$ è il vettore avente come componenti la quantità di denaro (nelle singole divise) dopo la conversione.
$y$ è un vettore che indica quanto denaro viene trasferito dalla divisa $i$ alla divisa $j$. Per semplicità viene indicato con due pedici nonostante sia un vettore e non una matrice. Ovvero $y_(i,j)$ sarà la quantità di denaro della divisa $i$ convertito nella divisa $j$.

In pratica si ha:
$c^T=[125; 6250; 5000; 1; 1,25; 0.8; 0.6; 9.6]$
$bar X= [1,2; 10,5; 28; 0; 0; 0; 0; 0]$

A questo punto la f.o. sarà:
$text(max ) c^T*x$
Questo in quanto suppongo che alla fine avrò nel portafoglio tante divise diverse e non tutti dollari. Ovviamente però le moltiplico per $c$ per avere il loro controvalore in dollari e poterlo massimizzare!
NB: Se alla fine volessi avere tutti dollari (non mi sembra richiesto) dovrei scontare un nuovo costo per il cambio (ovvero ci dovrebbe essere una seconda parte nella f.o.).

I vincoli (spero non me ne sia sfuggito nessuno) dovrebbero essere:

$text(1] ) sum_{j=1}^{8} (y_(i,j)+B_(i,j)*y_(i,j))<= bar X_i text( ) i=1,...,8$

$text(2] ) c_j * y_(i,j)<= K_(i,j) text( ) i=1,...,8 text( ) j=1,...,8$

$text(3] ) x_j <= sum_{i=1}^{8} A_(i,j) *y_(i,j) text( ) j=1,...,8$

$text(4] ) x_j in RR^+ text( ) j=1,...,8$

$text(5] ) y_(i,j) in RR^+ text( ) i=1,...,8 text( ) j=1,...,8$

Spiegazione dei vincoli:
$text (1]) $ Il vincolo 1 impone che il denaro trasferito dalla divisa $i$ alla divisa $j$ non sia superiore a quello disponibile inizialmente nella divisa $i$ considerando anche i costi per la conversione.In pratica, a meno che i costi di conversione non siano pari a zero, si avrà sempre che $sum_{j=1}^{8} y_(i,j)< bar X_i$ in quanto ci sono i costi di conversione da considerare.
$text (2]) $ Il vincolo 2 impone che, considerando il controvalore in dollari, nessuna divisa $i$ venga convertita nella divisa $j$ per una quantità superiore rispetto a quella ammessa.
$text (3]) $ Il vincolo 3 semplicemente riporta la quantità di denaro disponibile (dopo la conversione) nella divisa $j$.
$text (4], 5]) $ I vincoli 4 e 5 semplicemente impongono che la quantità finale e quella convertita siano valori positivi o nulli.
Nihil tam Ardvvm quod non Ingenio Vincas

"Considerate la vostra semenza:
fatti non foste a viver come bruti,
ma per seguir virtute e canoscenza"
Avatar utente
Intermat
Cannot live without
Cannot live without
 
Messaggio: 1177 di 3266
Iscritto il: 30/12/2012, 20:26
Località: Roma


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite