[Ottimizzazione] Invio di soldi da regioni a citta
Salve a tutti.
Sono di fronte ad un problema di ottimizzazione che mi sta tirando matto.
L'enunciato non è molto complesso.
Ho 4 citta "j" e 4 regioni "i", ogni giorno ogni regione i manda dei soldi per uma citta j. In base alla provenienza dei soldi ed alla loro destinazione questi ci mettono più o meno tempo ad arrivare. Questi soldi vengono poi reinvestiti quindi più tempo ci mettono ad arrivare a destinazione più soldi perdo di interessi non guadagnati dagli investimenti.
D'altro canto, il costo per mantenere una sede aperta alla ricezione del denaro è di 50000 euro all'anno.
Ragiono come segue:
Voglio minimizzare i soldi persi, cioè i costi. Quali sono?
1)Gli interessi persi: $ sum_isum_j0.05I_iy_(ij)d_(ij) $ dove $I_i$ è la quantita di soldi che la regione i manda quotidianamente, $y_(ij)$ è una variabile binaria che vale 1 se i soldi vanno dalla regione i alla citta j, altrimenti 0, $d_(ij)$ è un dato del problema e sono i giorni che ci impiegano i soldi ad arrivare dalla regione i alla citta j, $0.05$ è il tasso di interessi dell'investimento dei soldi.
2)Costo di mantenimento giornaliero delle sedi: $50000/365*sum_(k)kn_k$ dove $n_k$ è una variabile binaria per stabilire il numero delle sedi.
La funzione obiettivo da minimizzare sara quindi la somma di questi due contributi
Che vincoli ho?
1)$sum_(k)n_k=1$
2)Da una regione i i soldi devono per forza andare in una citta j quindi $sum_(j)y_(ij)=1$
3)Una citta j puo ricevere soldi senza limiti quindi, considerando 4 citta e 4 regioni, $sum_(i)y_(ij)<=4$
Qui iniziano i problemi perche non riesco a formulare una restizione logica per costringere le $y_(ij)$ in base al numero dele sedi presenti. Mi spiego meglio:
Se ho 1 sola sede aperta (supponiamo j=1) allora le uniche y che potranno essere 1 saranno le $y_(i1)$.
Se ho due sedi aperte (j=1 e j=2) allora solamente le $y_(i1)$ e $y_(i2)$ potranno essere 1.
Provando a formulare questa restrizione com gli operatori logici ottengo una roba mastodontica:
SE $n_1$ ALLORA [($y_(11)$ E $y_(21)$ E $y_(31)$ E $y_(41)$) O ESCLUSIVO ($y_(12)$ E $y_(22)$ E $y_(32)$ E $y_(42)$ ecc...ecc...]
Ho anche provato a sviluppare quest'espressione ma davvero, per 4 citta e 4 regione viene fuori un calcolo, almeno per me, impossibile.
Qualcuno di voi ragiona com una logica diversa dalla mia ed há suggerimenti in merito?
Grazie mille per l'aiuto!
Sono di fronte ad un problema di ottimizzazione che mi sta tirando matto.
L'enunciato non è molto complesso.
Ho 4 citta "j" e 4 regioni "i", ogni giorno ogni regione i manda dei soldi per uma citta j. In base alla provenienza dei soldi ed alla loro destinazione questi ci mettono più o meno tempo ad arrivare. Questi soldi vengono poi reinvestiti quindi più tempo ci mettono ad arrivare a destinazione più soldi perdo di interessi non guadagnati dagli investimenti.
D'altro canto, il costo per mantenere una sede aperta alla ricezione del denaro è di 50000 euro all'anno.
Ragiono come segue:
Voglio minimizzare i soldi persi, cioè i costi. Quali sono?
1)Gli interessi persi: $ sum_isum_j0.05I_iy_(ij)d_(ij) $ dove $I_i$ è la quantita di soldi che la regione i manda quotidianamente, $y_(ij)$ è una variabile binaria che vale 1 se i soldi vanno dalla regione i alla citta j, altrimenti 0, $d_(ij)$ è un dato del problema e sono i giorni che ci impiegano i soldi ad arrivare dalla regione i alla citta j, $0.05$ è il tasso di interessi dell'investimento dei soldi.
2)Costo di mantenimento giornaliero delle sedi: $50000/365*sum_(k)kn_k$ dove $n_k$ è una variabile binaria per stabilire il numero delle sedi.
La funzione obiettivo da minimizzare sara quindi la somma di questi due contributi
Che vincoli ho?
1)$sum_(k)n_k=1$
2)Da una regione i i soldi devono per forza andare in una citta j quindi $sum_(j)y_(ij)=1$
3)Una citta j puo ricevere soldi senza limiti quindi, considerando 4 citta e 4 regioni, $sum_(i)y_(ij)<=4$
Qui iniziano i problemi perche non riesco a formulare una restizione logica per costringere le $y_(ij)$ in base al numero dele sedi presenti. Mi spiego meglio:
Se ho 1 sola sede aperta (supponiamo j=1) allora le uniche y che potranno essere 1 saranno le $y_(i1)$.
Se ho due sedi aperte (j=1 e j=2) allora solamente le $y_(i1)$ e $y_(i2)$ potranno essere 1.
Provando a formulare questa restrizione com gli operatori logici ottengo una roba mastodontica:
SE $n_1$ ALLORA [($y_(11)$ E $y_(21)$ E $y_(31)$ E $y_(41)$) O ESCLUSIVO ($y_(12)$ E $y_(22)$ E $y_(32)$ E $y_(42)$ ecc...ecc...]
Ho anche provato a sviluppare quest'espressione ma davvero, per 4 citta e 4 regione viene fuori un calcolo, almeno per me, impossibile.
Qualcuno di voi ragiona com una logica diversa dalla mia ed há suggerimenti in merito?
Grazie mille per l'aiuto!
Risposte
Sinceramente non ho tanto capito il testo. Cosa devi minimizzare? Perchè sinceramente non capisco cosa c'entri il numero di sedi in ogni città. Perchè ne dovresti avere più di una se non ci sono vincoli alla quantità di denaro ricevuti da una sede?
Il testo che hai scritto è quello del professore o lo hai riportato a memoria? Se non fosse proprio il testo che ti hanno dato, potresti riportarlo esattamente come era originariamente scritto.
Il testo che hai scritto è quello del professore o lo hai riportato a memoria? Se non fosse proprio il testo che ti hanno dato, potresti riportarlo esattamente come era originariamente scritto.
"Intermat":
Sinceramente non ho tanto capito il testo. Cosa devi minimizzare? Perchè sinceramente non capisco cosa c'entri il numero di sedi in ogni città. Perchè ne dovresti avere più di una se non ci sono vincoli alla quantità di denaro ricevuti da una sede?
Il testo che hai scritto è quello del professore o lo hai riportato a memoria? Se non fosse proprio il testo che ti hanno dato, potresti riportarlo esattamente come era originariamente scritto.
Anzitutto grazie per la risposta.
La funzione che devo minimizzare è $ [sum_(i)sum_(j)0.05I_iy_(ij)d_(ij)]+[50000/365sum_(k)kn_k] $
Ho 4 regioni $i$ che devono mandare i soldi a 4 città $j$, in ogni città può esserci una sola sede ma avendo 4 città posso avere un totale di 4 sedi.
Avere un totale di 4 sedi implica che il primo termine della funzione da minimizzare sarà mínimo (perché ovviamente ogni regione manderà i soldi ala città a lei più vicina), d'altro canto però il secondo termine della funzione da minimizzare sarà massimo perché avrò i costi di manutenzione riferiti a ben 4 sedi.
È più chiaro ora?