170 likes | 303 Views
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”. Modelli Matematici per i Mercati Finanziari I. Introduzione a GAMS (Vittorio Moriggia). General Algebraic Modeling System (GAMS).
E N D
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” Modelli Matematici per i Mercati Finanziari I Introduzione a GAMS (Vittorio Moriggia)
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 complessi • Disponibile 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 richiesto • Il linguaggio di GAMS è simile alle comuni formalizzazioni dei problemi di ottimizzazione • Familiare a tutti coloro che hanno esperienze di programmazione
Tipi di modelli • GAMS è in grado di formulare modelli in diversi tipi di classi di problemi • Il 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 modelli • GAMS supporta i seguenti tipi di modelli di base: • LP Linear Programming • NLP Non-Linear Programming • DNLP Non-Linear Programming with Discontinuous Derivatives • MIP Mixed-Integer Programming • MINLP Mixed-Integer Non-Linear Programming • MCP Mixed Complementarity Problems • CNS Constrained Nonlinear Systems • MPEC Mathematical Programs with Equilibrium Constraints
Linear Programming (LP) • dove: • x è un vettore di variabili nell’insieme dei numeri reali • cx è la funzione obiettivo (lineare) • Ax >b è l’insieme dei vincoli lineari • L e U sono i vettori dei limiti inferiori e superiori delle variabili (lower e upper bounds) s.t. s.t.
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 reali • f(x) funzione obiettivo • g(x) insieme di vincoli • L e Ubounds delle variabili s.t.
Non-Linear Programming with Discontinuous Derivatives • dove: • x variabili reali • f(x) funzione obiettivo • g(x) insieme di vincoli • L e Ubounds delle variabili Come NLP, ma f(x) e g(x) possono avere derivate discontinue (contenenti ad es. abs, min, max) s.t.
Mixed-Integer Programming (MIP) • dove: • x variabili reali • y variabili intere • cx+dy funzione obiettivo • Ax+By > b insieme di vincoli • L e Ubounds delle variabili reali • {0, 1, 2, …} insieme dei numeri interi s.t.
Mixed-Integer Non-Linear Programming (MINLP) • dove: • x variabili reali • y variabili intere • f(x)+Dy funzione obiettivo • g(x)+Hy insieme di vincoli • L e Ubounds delle variabili reali • {0, 1, 2, …} insieme dei numeri interi 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 mercato • la capacità produttiva di ciascun impianto • la 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 problema • Indici: • 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: • vincolo del limite delle capacità produttive • vincolo di soddisfazione della domanda 0) funzione obiettivo
Struttura del linguaggio • SETS • dati: PARAMETERS, TABLES, SCALARS • VARIABLES • EQUATIONS • dichiarazione • definizione • MODEL • SOLVE • [DISPLAY]
Riferimenti http://www.gams.com