Upload
simonetta-renzi
View
214
Download
0
Embed Size (px)
Citation preview
Modelli Matematici per i Mercati Finanziari I
Introduzione a GAMS(Vittorio Moriggia)
U N I V E R S I T A' D E G L I S T U D I D I B E R G A M O
DIPARTIMENTO DI MATEMATICA, STATISTICA, INFORMATICA E APPLICAZIONI“Lorenzo Mascheroni”
General Algebraic Modeling System (GAMS)
Software realizzato per problemi di ottimizzazione lineare (LP), non-lineare (NLP) e mista intera (MIP)Progettato per risolvere problemi grandi e complessiDisponibile per personal computers, workstations, mainframes e supercomputers
GAMS language
GAMS consente all’utente di concentrarsi sulla formulazione del problema attraverso un impiego semplice del risolutore richiestoIl linguaggio di GAMS è simile alle comuni formalizzazioni dei problemi di ottimizzazioneFamiliare a tutti coloro che hanno esperienze di programmazione
Tipi di modelli
GAMS è in grado di formulare modelli in diversi tipi di classi di problemiIl passaggio da una classe all’altra è relativamente semplice in quanto si possono impiegare gli stessi dati, le stesse variabili e le stesse equazioni in differenti tipi di modelli nello stesso istante
Tipi di modelliGAMS supporta i seguenti tipi di modelli di base:
LP Linear ProgrammingNLP Non-Linear ProgrammingDNLP Non-Linear Programming with
Discontinuous DerivativesMIP Mixed-Integer ProgrammingMINLP Mixed-Integer Non-Linear ProgrammingMCP Mixed Complementarity ProblemsCNS Constrained Nonlinear SystemsMPEC Mathematical Programs with Equilibrium
Constraints
Linear Programming (LP)
dove:x è un vettore di variabili nell’insieme dei
numeri realicx è la funzione obiettivo (lineare)Ax > b è l’insieme dei vincoli lineariL e U sono i vettori dei limiti inferiori e superiori
delle variabili (lower e upper bounds)
UxL
bAx
xc
min
UxL
bAx
xc
min
s.t. s.t.
UxL
bAx
xc
max
UxL
bAx
xc
max
Programmazione lineare in GAMS
GAMS accetta sia variabili libere (senza vincoli), sia variabili positive, sia variabili negative. L’utente può, inoltre, specificare degli specifici intervalli di esistenza (lower e upper bounds)In GAMS le equazioni sono specificate come equazioni vere e proprie o disequazioni “minore-uguale” o “maggiore-uguale”
Non-Linear Programming (NLP)
dove:x variabili realif(x) funzione obiettivog(x) insieme di vincoliL e Ubounds delle variabili
UxL
xg
xf
0)(
)(min
UxL
xg
xf
0)(
)(min
s.t.
Non-Linear Programming with Discontinuous Derivatives
dove:x variabili realif(x) funzione obiettivog(x) insieme di vincoliL e U bounds delle variabili
Come NLP, ma f(x) e g(x) possono avere derivate discontinue (contenenti ad es. abs, min, max)
UxL
xg
xf
0)(
)(min
UxL
xg
xf
0)(
)(min
s.t.
Mixed-Integer Programming (MIP)
dove:x variabili realiy variabili interecx+dy funzione obiettivoAx+By > b insieme di vincoliL e U bounds delle variabili reali{0, 1, 2, …} insieme dei numeri interi
...,2,1,0
min
y
UxL
bByAx
ydxc
...,2,1,0
min
y
UxL
bByAx
ydxc
s.t.
Mixed-Integer Non-Linear Programming (MINLP)
dove:x variabili realiy variabili interef(x)+Dy funzione obiettivog(x)+Hy insieme di vincoliL e U bounds delle variabili reali{0, 1, 2, …} insieme dei numeri interi
...,2,1,0
0)(
)(min
y
UxL
Hyxg
Dyxf
...,2,1,0
0)(
)(min
y
UxL
Hyxg
Dyxf
s.t.
Esempio di problema LP
Modello lineare per la soluzione del problema dei trasporti, storicamente utilizzato nell’evoluzione delle tecniche di ottimizzazione [cfr. Dantzig (1963)]
Problema del trasporto
Il classico problema dei trasporti prevede un certo numero di impianti e un certo numero di mercati di un certo bene di cui sono noti:
il costo unitario per il trasporto da uno specifico impianto a uno specifico mercatola capacità produttiva di ciascun impiantola domanda di quel bene in ciascun mercato
ci si chiede quanto bene deve essere fornito da ciascun impianto per ciascun mercato in modo da minimizzare il costo totale per la fornitura
Formalizzazione del problemaIndici:
i = impianti (unità produttive)j = mercati
Dati del problema:ai = capacità produttiva dell’impianto i (in scatole)
bj = domanda del bene nel mercato j (scatole)
cij = costo unitario per il trasporto del bene dall’impianto i al mercato j ($/scatola)
Variabili decisionali:xij = quantità di bene trasportata da i a j (scatole),
dove xij 0, per ogni i, j
Formalizzazione del problema
dove:1) vincolo del limite delle capacità
produttive2) vincolo di soddisfazione della domanda0) funzione obiettivo
i jijij
i jij
j iij
xc
jbx
iax
min)0
,)2
,)1
Struttura del linguaggio
SETSdati: PARAMETERS, TABLES, SCALARSVARIABLESEQUATIONS
dichiarazionedefinizione
MODELSOLVE[DISPLAY]
Riferimenti
http://www.gams.com