Progetto e ottimizzazione di reti 2
|
|
- Dionisia Franco
- 8 anni fa
- Visualizzazioni
Transcript
1 Progetto e ottimizzazione di reti 2 Esercitazione AMPL A.A Esercitazione a cura di Silvia Canale contatto canale@dis.uniroma.it Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Corso di Laurea in Ingegneria Gestionale
2 AMPL in breve A Mathematical Programming Language AMPL è un linguaggio di modellazione algebrico per problemi di programmazione matematica: - problemi lineari e non lineari - problemi in variabili intere e continue AMPL impiega una notazione basata su concetti semplici e di uso comune per rendere più facile il processo di modellazione di un problema. Una volta formulato tramite il linguaggio AMPL, occorre un opportuno solutore di programmazione matematica per risolvere il problema. L interprete AMPL permette di risolvere un problema formulato tramite il linguaggio AMPL impiegando direttamente un solutore di programmazione matematica. 2
3 Solutori per AMPL Sono disponibili diversi solutori tramite l interfaccia grafica AMPL. La scelta del solutore dipende dal tipo di problema: -Problemi di programmazione lineare: con variabili continue: GUROBI, BPMPD, CPLEX, LAMPS, LOQO, lp_solve, MINOS, MOSEK, OSL, SOPT, XA, Xpress-MP con variabili intere: GUROBI, CPLEX, LAMPS, lp_solve, MINTO, MOSEK, OSL, SOPT, XA, Xpress-MP -Problemi di programmazione non lineare: quadratici: CPLEX, MOSEK, OSL convessi: MOSEK, SOPT generali continui: CONOPT, DONLP2, FILTER, FSQP, IPOPT, KNITRO, LANCELOT, LOQO, MINOS, NPSOL, PENNON, SNOPT generali interi: MINLP In questo corso utilizzeremo l interprete AMPL ed il solutore CPLEX, versione student. 3
4 Software AMPL Sito ufficiale: Tutte le informazioni relative ad AMPL si trovano sul sito ufficiale AMPL Pagina per il download dell interprete APML e dei solutori: La pagina contiene: - istruzione per il download (quick start per Windows e Unix); - software eseguibile dell interprete AMPL; - software eseguibile di diversi solutori. Ulteriori informazioni sul download sono reperibili alla pagina: AMPL Pagina per il download dell interfaccia grafica: Sono disponibili tre diverse interfacce grafiche in versione sperimentale. 4
5 Materiale Oltre alle slide di questa esercitazione, è possibile scaricare dalla pagina della prof.ssa Piccialli il seguente materiale: - Par. 4- di Appunti sulla Sintassi e sui Comandi di AMPL Plus v.6 Manuale in italiano a cura dei dott. R. Bruni, G. Fasano e G. Liuzzi - Esercitazioni a cura dalla prof.ssa Piccialli con appunti delle lezioni e diversi esempi di problemi di programmazione lineare e non lineare, realizzate per il corso di Ottimizzazione A.A. 24/25. Si ringraziano i dott. Piccialli, Bruni, Fasano e Liuzzi per aver reso disponibile il materiale 5
6 Il linguaggio AMPL AMPL contiene diverse primitive per esprimere la notazione matematica normalmente utilizzata nello scrivere problemi di ottimizzazione (=, <, >,,, sommatorie, funzioni elementari, etc.) Ciascuna istruzione di AMLP deve terminare con un punto e virgola (;). E quindi possibile l indentazione nel file dei comandi. E possibile scrivere in un unico file con estensione.mod tutte le istruzioni AMPL che definiscono il modello, ma è bene separare due elementi del problema da risolvere: - la struttura del modello nel file.mod in cui sono descritte le componenti del modello (variabili, funzione obiettivo, vincoli, etc.); - i dati del modello nel file.dat in cui sono scritti i dati del problema (che in AMPL vengono chiamati parametri). Le righe di commento, sia nel file.mod che nel file.dat, devono essere precedute dal simbolo #. 6
7 Il linguaggio AMPL Una volta scritti i file con estensione.mod e c.dat, è possibile farli interpretare all interprete AMPL attraverso le istruzioni - model file.mod; con questa istruzione vengono interpretate tutte le componenti del modello (variabili, funzione obiettivo, vincoli, etc.); - data file.dat; con questa istruzione vengono assegnati i valori a tutte le componenti del modello dichiarate nel file.mod Esempio: Se abbiamo dichiarato e definito il nostro modello nei file prova.mod e prova.dat, per interpretare i due file scriviamo: model prova.mod; data prova.dat; Da questo momento, tutte le dichiarazioni presenti in prova.mod e tutte le assegnazioni definite in prova.dat sono state interpretate. 7
8 Il linguaggio AMPL Per modellare un problema di programmazione matematica in AMPL creiamo due file: - file.mod contenente: - la dichiarazione dei parametri - la dichiarazione delle variabili - la struttura e la definizione della funzione obiettivo - la struttura e la descrizione dei vincoli - file.dat contenente i valori numerici dei parametri Il file.dat deve iniziare con il comando data. Questa istruzione dice all interprete che segue la definizione delle entità precedentemente dichiarate nel file.mod. I parametri possono essere rappresentati fondamentalmente tramite due tipi di strutture dati: - insieme -parametro(anche a più dimensioni) 8
9 Gli insiemi in AMPL AMPL consente di utilizzare la struttura dato insieme. Un insieme dev essere: - dichiarato (nel file.mod), dicendo all interprete AMPL che un nome identifica l insieme che vogliamo utilizzare attraverso la parola chave set; - definito (nel file.dat), assegnando gli elementi all insieme dichiarato; l operatore di assegnazione è :=. Esempio: Per definire l insieme S di elementi a, b, c e d, dichiariamo nel file prova.mod: set S; Successivamente definiamo nel file prova.dat l insieme assegnando gli elementi a, b, c e d: set S := a b c d ; Il linguaggio AMLP è case sensitive. 9
10 Gli insiemi in AMPL Per stampare gli elementi di un insieme possiamo utilizzare l istruzione display seguita dall identificativo dell insieme. Esempio: Per stampare gli elementi dell insieme S di elementi a, b, c e d, dichiarato nel file prova.mod e definitivo nel file prova.dat, scriviamo l istruzione da riga di comando dell interprete AMPL: display S; Una volta eseguita l istruzione, l interprete mostrerà il seguente output: ampl: display S; set S := a b c d; AMPL consente di utilizzare operazioni elementari tra insiemi, quali: -unione: istruzione union; -intersezione: istruzione inter; - differenza: istruzione diff; - differenza simmetrica: istruzione symdiff; - cardinalità: istruzione card;.
11 Gli insiemi in AMPL AMPL consente inoltre di dichiarare insiemi di tipo ordinato attraverso la parola chiave ordered posto dopo l identificativo dell insieme. L ordine in cui assegniamo gli elementi all insieme definisce l ordinamento dell insieme. Esempio: Per definire l insieme ordinato S di elementi a, b, c e d, dichiariamo nel file prova.mod: set S ordered; Successivamente definiamo nel file prova.dat l insieme assegnando gli elementi a, b, c e d: set S := a b c d ; Quindi a sarà il primo elemento dell insieme, b il secondo e così via.
12 Gli insiemi in AMPL AMPL consente di utilizzare alcune operazioni elementari per insiemi ordinati quali: -first(s)per restituire il primo elemento dell insieme S; -last(s)per restituire l ultimo elemento dell insieme S; - next(t,s,n) per restituire l ennesimo elemento che si trova dopo l elemento t nell insieme S; -prev(t,s,n)per restituire l ennesimo elemento che si trova prima dell elemento t nell insieme S; -ord(t,s)per restituire la posizione dell elemento t nell insieme S; -member(j,s)per restituire l elemento in posizione j nell insieme S. E inoltre possibile definire in AMPL insiemi ordinati molto semplici in base ad un ordinamento predefinito. Il più semplice insieme ordinato è quello dei numeri interi compresi tra due valori, che si indica con l operatore.. Se N è un numero intero, l insieme dei numeri interi compresi tra ed N si indica con..n 2
13 I parametri in AMPL I parametri sono i dati del problema, da non confondere con le variabili. Una volta invocato il solutore, il valore dei parametri resta costante. Un parametro dev essere: - dichiarato (nel file.mod), dicendo all interprete AMPL che un nome identifica il parametro che vogliamo utilizzare attraverso la parola chave param; - definito (nel file.dat), assegnando il valore al parametro dichiarato; l operatore di assegnazione è :=. Esempio: Per definire il parametro N dichiariamo nel file prova2.mod: param N; Successivamente definiamo nel file prova2.dat il valore del parametro N: param N := 3 ; Se il parametro assume un valore INTERO, possiamo dichiararlo di tipo integer: param N integer; Analoghe restrizioni sul valore assunto dal parametro possono essere indicate in fase di dichiarazione. 3
14 Parametri a più dimensioni in AMPL I vettori di parametri sono molto utili per definire vettori di coefficienti. Un vettore di parametri dev essere: - dichiarato (nel file.mod), dicendo all interprete AMPL il nome che identifica il vettore e l insieme entro cui varia l indice delle sue componenti attraverso la parola chiave param e le parentesi {}; - definito (nel file.dat), assegnando i valori al vettore di parametri dichiarato. Esempio: Per definire il vettore di parametri vett di componenti indicizzate su un insieme S dichiariamo nel file prova3.mod: set S; param vett{s}; Successivamente definiamo nel file prova3.dat i valori dei parametri: set S := a b c d; param vett := a b 2 c 3 d 4; 4
15 Parametri a più dimensioni in AMPL E possibile definire un vettore di parametri indicizzato su un insieme ordinato in base ad un ordinamento predefinito. Esempio: Per definire il vettore di parametri vett2 di componenti indicizzate su un insieme ordinato di N elementi dichiariamo nel file prova4.mod: param N; param vett2{..n}; Successivamente definiamo nel file prova4.dat i valori dei parametri: param N := 3; param vett2 := ; Ovunque si desideri specificare una precisa componente del vettore di parametri, occorre usare le parentesi [] dopo l identificativo del vettore. Esempio: Per stampare la seconda componente del vettore di parametri vett2 usiamo l istruzione display seguita dall espressione vett2[2] display vett2[2]; 5
16 Parametri a più dimensioni in AMPL E possibile definire un vettore di parametri a più di una dimensione. Le matrici di parametri sono vettori di parametri a due dimensioni e Sono molto utili per definire matrici di coefficienti. Esempio: Per definire la matrice di parametri Mat di componenti indicizzate su un insieme ordinato di M elementi per le righe e di N elementi per le colonne dichiariamo nel file prova5.mod: param M; param N; param Mat{..M,..N}; Successivamente definiamo nel file prova5.dat i valori dei parametri: param M := 3; param N := 2; param Mat := ; 6
17 Parametri a più dimensioni in AMPL Per stampare tutti gli elementi della matrice è possibile usare l istruzione display seguita dall identificativo. Se invece vogliamo stampare solo una componente della matrice allora dobbiamo usare l operatore []. Esempio: Per stampare l intera matrice di parametri Mat dichiarata nel file prova5.mod e definita nel file prova5.dat scriviamo: display Mat; Una volta eseguita l istruzione, l interprete mostrerà il seguente output: ampl: display Mat; Mat := ; 7
18 Espressioni di indicizzazione Le parentesi {} ci permettono di indicare un insieme, ordinato o meno. Esse servono a definire espressioni di indicizzazione che possono essere più o meno complesse. Se A e B sono insiemi e p è un vettore di parametri, allora - {A} o {i in A} indicano tutti gli elementi dell insieme A - {A,B} o {i in A, j in B} indica tutte le coppie tali che il primo elemento appartiene all insieme A ed il secondo all insieme B - {i in A, i in B} indica tutte le coppie tali che il primo elemento appartiene all insieme A ed il secondo all insieme B purché uguali - {i in A: p[i] > } indica tutti gli elementi dell insieme A tali che il corrispondente valore del vettore p sia positivo 8
19 Grafo Esercitazione AMPL A.A
20 2 Sia dato il grafo orientato G(N,A) in figura N = {A, B, C, D, E} A = {AB, AC, BC, BE, CD, DB, DE} Problema Problema Il grafo Il grafo A C B E D Matrice di incidenza M di G(N,A) matrice 5 x 7 a valori {,, -} M =
21 Flusso di costo minimo (MCF) Esercitazione AMPL A.A
22 Problema Flusso su grafo orientato Sia dato il vettore c di capacità definito sull insieme A degli archi del grafo G(N,A) c = { 6, 4, 2, 7, 8, 4, 5 } A = {AB, AC, BC, BE, CD, DB, DE} 6 B A 2 4 E 4 4 C -5 Sia dato il vettore d di domande definito sull insieme N dei nodi del grafo G(N,A) d = {-5, 6, -5,, 4} N = {A, B, C, D, E } 8 D 5 22
23 Problema Flusso su grafo orientato Sia w il vettore di costi definito sull insieme A degli archi del grafo G(N,A) w = { 2, 3,, 5,, 2, 4 } A = {AB, AC, BC, BE, CD, DB, DE} 6 B A 2 E C D -5 Vogliamo risolvere il problema di flusso a costo minimo (MCF) sul grafo orientato G(N,A) rispetto al vettore w di costi (MCF) min wt x M x = d A x c 23
24 Problema di Flusso di Costo Minimo Vogliamo determinare un flusso x di (G, c, d) di costo minimo (x AB, 6) B 6 (x BE, 7) -5 A (x BC, 2) (x DB, 4) E 4 (x AC, 4) (x CD, 8) C D -5 (x DE, 5) costo(x) = w T x = 2 x AB + 3 x AC + x BC + 5 x BE + x CD + 2 x DB + 4 x CD (MCF) min w T x M x = d A x c Modelliamo il problema tramite AMPL 24
25 Modellazione con AMPL (MCF) min wt x M x = d A x c Modelliamo il problema tramite AMPL creando due file: - file.mod contenente: - la dichiarazione dei parametri: insiemi N, A; vettori w, d, c e M; - la dichiarazione delle variabili: vettore x; - la struttura e la definizione della funzione obiettivo: w T x; - la struttura e la descrizione dei vincoli: M x = d, A x c. - file.dat contenente i valori numerici dei parametri - N = {A, B, C, D, E} - A = {AB, AC, BC, BE, CD, DB, DE} - w = { 2, 3,, 5,, 2, 4 } M = - d = {-5, 6, -5,, 4} - c = { 6, 4, 2, 7, 8, 4, 5 } 25
26 File modello File modello MCF.mod - dichiarazione dei parametri: dichiariamo gli insiemi dei nodi N e degli archi A che identifichiamo con insieme NODI e insieme ARCHI: set NODI; (N) set ARCHI; (A) dichiariamo i vettori a una (w, d, c) e a due dimensioni (M): param costo {ARCHI}; (w) param domanda {NODI}; (d) param capacita {ARCHI}; (c) param M {NODI, ARCHI}; (M) 26
27 File modello File modello MCF.mod - dichiarazione delle variabili x positive e soggette a vincoli di capacità: var x {j in ARCHI} >=, <= capacita[j]; (x) A x c - la struttura e la definizione della funzione obiettivo w T x minimize Costo_Totale: sum {j in ARCHI} costo[j] * x[j]; etichetta etichetta - la struttura e la descrizione dei vincoli M x = d parametrizzata subject to Incidenza {i in NODI}: sum {j in ARCHI} M[i,j] * x[j] = domanda[i]; 27
28 File dati File dati MFC.dat - definizione dei parametri: definiamo gli insiemi NODI e ARCHI: set NODI := A B C D E ; set ARCHI := AB AC BC BE CD DB DE ; definiamo i vettori a una dimensione (w, d, c): param domanda := A -5 B 6 C -5 D E 4 ; param: capacita costo := AB 6 2 AC 4 3 BC 2 il simbolo : BE 7 5 indica che stiamo CD 8 definendo più di un vettore DB 4 2 DE 5 4 ; 28
29 File dati File dati MFC.dat - definizione dei parametri: definiamo i vettori a due dimensioni (M): param M : AB AC BC BE CD DB DE := A - - B - - C - D - - E ; 29
30 Interprete AMPL ampl: reset; // cancelliamo i modelli e/o i dati precedentemente caricati // (obbligatorio se abbiamo già caricato un problema) ampl: model MCF.mod; // carichiamo prima il modello del problema ampl: data MCF.dat; // carichiamo successivamente i dati del problema 3
31 Soluzione del problema (MCF) ampl: option solver cplex; // scegliamo il solutore di Programmazione Matematica con cui // risolvere il problema: CPLEX (attualmente vers..2.) ampl: solve; // risolviamo il problema caricato // output ottenuto: CPLEX.2.: optimal solution; objective 33 dual simplex iterations ( in phase I) valore ottimo informazioni sul metodo di soluzione soluzione disponibile 3
32 Soluzione del problema (MCF) ampl: display x; // chiediamo i valori della soluzione ottenuta (componenti di x) // output ottenuto: x [*] := AB 5 AC BC BE CD 5 DB DE 4 ; soluzione a componenti intere M M I Totalmente unimodulare 32
33 Soluzione del problema (MCF) Abbiamo determinato il flusso x* ottimo di (G, c, d) 6 B (5, 6) (, 7) -5 A (, 2) (, 4) E 4 (, 4) (5, 8) C D -5 (4, 5) x* soddisfa sia i vincoli di capacità che i vincoli di domanda: M x* = d A x* c. costo(x*) = 2 x 5 + x x + 4 x 4 = 33 valore ottimo 33
Ottimizzazione Combinatoria
Ottimizzazione Combinatoria Esercitazione AMPL A.A. 2010-20112011 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma1.it Università i di Roma La Sapienza Dipartimento di Informatica
DettagliOttimizzazione Combinatoria
Ottimizzazione Combinatoria Esercitazione AMPL A.A. 29-2 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica
DettagliOttimizzazione Combinatoria
Ottimizzazione Combinatoria Esercitazione AMPL A.A. 2-22 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università i di Roma La Sapienza Dipartimento di Informatica e Sistemistica
DettagliOttimizzazione Combinatoria
Ottimizzazione Combinatoria Esercitazione AMPL A.A. 2009-2010 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma1.it Università di Roma La Sapienza Dipartimento di Informatica e
DettagliIntroduzione. AMPL Introduzione. F. Rinaldi. Dipartimento di Matematica Università di Padova. Corso di Laurea Matematica. F. Rinaldi AMPL Introduzione
Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Introduzione Utilizzo di un Solver Definizione Un solver (o risolutore) è un software che riceve in input una descrizione
DettagliProgetto e ottimizzazione di reti 2
Progetto e ottimizzazione di reti 2 Esercitazione AMPL A.A. 29-2 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università di Roma La Sapienza Dipartimento di Informatica
Dettagli1 Breve introduzione ad AMPL
1 Breve introduzione ad AMPL Il primo passo per risolvere un problema reale attraverso strumenti matematici consiste nel passare dalla descrizione a parole del problema al modello matematico dello stesso.
DettagliOttimizzazione Combinatoria
Ottimizzazione Combinatoria Esercitazione AMPL A.A. 2-22 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università i di Roma La Sapienza Dipartimento di Informatica e Sistemistica
DettagliProgetto e ottimizzazione di reti 2
Progetto e ottimizzazione di reti 2 Esercitazione AMPL A.A. 2009-2010 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma1.it Università di Roma La Sapienza Dipartimento di Informatica
DettagliLinguaggi di modellizzazione
p. 1/5 Linguaggi di modellizzazione Come visto, il primo passo per risolvere un problema di decisione consiste nel formularne il modello matematico. Una volta definito il modello matematico lo dobbiamo
DettagliTSP con eliminazione di sottocicli
TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79
DettagliGestione Impresa. Mese 1 2 3 4 5 6 Unità richieste 700 600 500 800 900 800
Gestione Impresa Un impresa di produzione produce un solo tipo di merce. Ci sono 40 operai, ciascuno dei quali produce 20 unità di merce al mese. La domanda fluttua nel corso di un semestre secondo la
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliAMPL Plus: Introduzione all uso
AMPL Plus: Introduzione all uso A cura di Renato Bruni, Giovanni Fasano, Giampaolo Liuzzi, Sara Mattia Preliminari In questa breve introduzione verranno chiariti alcuni aspetti di base relativi all uso
DettagliAnalisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda
Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato
DettagliProgetto e ottimizzazione di reti 2
Progetto e ottimizzazione di reti 2 Esercitazione AMPL A.A. 2009-20102010 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma1.it Università i di Roma La Sapienza Dipartimento di
DettagliMATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
DettagliTSP con eliminazione di sottocicli
TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57
DettagliPianificazione di Produzione in DEC
Pianificazione di Produzione in DEC L esempio considerato qui è un problema reale che la Digital Equipment Corporation (DEC) ha dovuto affrontare nell autunno del 1988 per preparare la pianificazione di
DettagliMacchine sequenziali
Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Automa a Stati Finiti (ASF) E una prima astrazione di
DettagliLAB LEZ. 1 STATISTICA DESCRITTIVA CON R
LAB LEZ. 1 STATISTICA DESCRITTIVA CON R 1 2 L AMBIENTE DI SVILUPPO DI RStudio 1 3 4 2 1 FINESTRA PER GLI SCRIPT E PER VISUALIZZARE I DATI 2 CONSOLE DEI COMANDI 3 VARIABILI PRESENTI NELLA MEMORIA DEL PROGRAMMA
DettagliMetodi Stocastici per la Finanza
Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione
DettagliProblema del Trasporto. Container vuoti Verona 10 Perugia 12 Roma 20 Pescara 24 Taranto 18 Lamezia 40
Problema del Trasporto Una ditta di trasporto deve trasferire container vuoti dai propri 6 Magazzini, situati a Verona, Perugia, Roma, Pescara, Taranto e Lamezia, ai principali Porti nazionali (Genova,
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliObject Oriented Software Design
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Object Oriented Software Design Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria
DettagliInsegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati
Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il
DettagliApplicazioni lineari
Applicazioni lineari Esempi di applicazioni lineari Definizione. Se V e W sono spazi vettoriali, una applicazione lineare è una funzione f: V W tale che, per ogni v, w V e per ogni a, b R si abbia f(av
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliMetodologie di programmazione in Fortran 90
Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di
Dettaglimin 4x 1 +x 2 +x 3 2x 1 +x 2 +2x 3 = 4 3x 1 +3x 2 +x 3 = 3 x 1 +x 2 3x 3 = 5 Innanzitutto scriviamo il problema in forma standard: x 1 x 2 +3x 3 = 5
IL METODO DEL SIMPLESSO 65 Esercizio 7.4.4 Risolvere utilizzando il metodo del simplesso il seguente problema di PL: min 4 + + + + = 4 + + = + = 5 Innanzitutto scriviamo il problema in forma standard:
DettagliLuigi Piroddi piroddi@elet.polimi.it
Automazione industriale dispense del corso 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul grafo di raggiungibilità,
DettagliAnalisi di una Rete Sociale
2012 Analisi di una Rete Sociale Alessandro Lovati Matricola 626053 Comunicazione Digitale ord. F47 26/01/2012 Indice : 1. Obiettivo del progetto 2. Realizzazione 3. Analisi dei risultati 3.1. Numero di
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliINTRODUZIONE A EXCEL ESERCITAZIONE I
1 INTRODUZIONE A EXCEL ESERCITAZIONE I Corso di Idrologia e Infrastrutture Idrauliche Prof. Roberto Guercio Cos è Excel 2 Foglio di calcolo o foglio elettronico è formato da: righe e colonne visualizzate
DettagliRISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
DettagliLezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Lezione n 4
Lezioni di Ricerca Operativa Lezione n 4 - Problemi di Programmazione Matematica - Problemi Lineari e Problemi Lineari Interi - Forma Canonica. Forma Standard Corso di Laurea in Informatica Università
DettagliBasi di matematica per il corso di micro
Basi di matematica per il corso di micro Microeconomia (anno accademico 2006-2007) Lezione del 21 Marzo 2007 Marianna Belloc 1 Le funzioni 1.1 Definizione Una funzione è una regola che descrive una relazione
DettagliALGEBRA DELLE PROPOSIZIONI
Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra
DettagliProgettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale
Progettazione del Software Laurea in Ing. Gestionale Prof. Toni Mancini & Prof. Monica Scannapieco Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Esercitazione E.A.1 Primi esercizi
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliGian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
DettagliCome gestire le directory con R
Come gestire le directory con R Stefano F. Tonellato Dipartimento di Statistica Indice 1 Perché è importante saper gestire le directory 1 2 Come scegliere la directory su cui R deve lavorare 1 2.1 Windows...............................
DettagliVC-dimension: Esempio
VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio
Dettagliuadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda
Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo
DettagliINTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
DettagliSoluzione di problemi di ottimizzazione
Soluzione di problemi di ottimizzazione Problema di programmazione lineare: Possibili ulteriori vincoli (Es.: x INTERO) Soluzione: Trovare x* tale che per ogni LE.1 Input: Solutori di problemi di PL/PLI
DettagliMatematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
DettagliDerive 5. di Stefania Mannara. Studio di funzione con Derive 5 di Stefania Mannara (SICSI VI CICLO) 1 28/05/2009
Derive 5 di Stefania Mannara di Stefania Mannara (SICSI VI CICLO) 1 Uso di Derive supporto didattico per una migliore comprensione dei concetti incontrati dagli alunni di quinta liceo scientifico nell
DettagliFogli Elettronici: MS Excel
Fogli Elettronici: MS Excel Informatica - A.A. 2010/2011 - Excel 7.0 Foglio Elettronico Un foglio elettronico (o spreadsheet) è un software applicativo nato dall esigenza di: organizzare insiemi di dati
DettagliProdotto elemento per elemento, NON righe per colonne Unione: M R S
Relazioni binarie Una relazione binaria può essere rappresentata con un grafo o con una matrice di incidenza. Date due relazioni R, S A 1 A 2, la matrice di incidenza a seguito di varie operazioni si può
DettagliSoftware di base. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliCorso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
DettagliStudente: SANTORO MC. Matricola : 528
CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice
DettagliRicerca Operativa e Logistica
Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 10: Variabili e vincoli logici Variabili logiche Spesso nei problemi reali che dobbiamo affrontare ci sono dei
DettagliCorso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
DettagliIl web server Apache Lezione n. 3. Introduzione
Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar
DettagliIntroduzione al Foglio Elettronico
Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono
DettagliExcel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci
Excel avanzato I nomi marco.falda@unipd.it Gli indirizzi e le formule possono essere sostituiti da nomi documentazione astrazione Si creano tramite Inserisci Nome Definisci Vengono raccolti nell area riferimento
DettagliRaggruppamenti Conti Movimenti
ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli
DettagliCOSTER. Import/Export su SWC701. SwcImportExport
SwcImportExport 1 Con SWC701 è possibile esportare ed importare degli impianti dal vostro database in modo da tenere aggiornati più Pc non in rete o non facente capo allo stesso DataBase. Il caso più comune
DettagliLezione 9: Cambio di base
Lezione 9: Cambio di base In questa lezione vogliamo affrontare uno degli argomenti piu ostici per lo studente e cioè il cambio di base all interno di uno spazio vettoriale, inoltre cercheremo di capire
Dettaglix 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.
Problema. Sia W il sottospazio dello spazio vettoriale R 4 dato da tutte le soluzioni dell equazione x + x 2 + x = 0. (a. Sia U R 4 il sottospazio dato da tutte le soluzioni dell equazione Si determini
DettagliRIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova
RIFERIMENTI ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 I riferimenti devono essere precisi
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliLaboratorio di Informatica
Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari
DettagliMETODI per effettuare previsioni con analisi di tipo WHAT-IF
METODI per effettuare previsioni con analisi di tipo WHAT-IF 1. TABELLA DATI Una tabella di dati è un intervallo che mostra come la modifica di alcuni valori nelle formule ne influenza i risultati. Le
DettagliOttimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
DettagliLE FUNZIONI A DUE VARIABILI
Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre
DettagliSIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno
SIMULAZIONE ESAME di OTTIMIZZAZIONE 28 novembre 2005 SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno Cognome : XXXXXXXXXXXXXXXXX Nome : XXXXXXXXXXXXXX VALUTAZIONE
DettagliUso di base delle funzioni in Microsoft Excel
Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce
DettagliCos è un Calcolatore?
Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per
DettagliUniversità degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica
Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua
DettagliMANUALE PARCELLA FACILE PLUS INDICE
MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella
DettagliDimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
DettagliCosa è un foglio elettronico
Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti
DettagliModelli di Programmazione Lineare. PRTLC - Modelli
Modelli di Programmazione Lineare PRTLC - Modelli Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo Rilassamento continuo - generazione
DettagliI PROBLEMI ALGEBRICI
I PROBLEMI ALGEBRICI La risoluzione di problemi è una delle attività fondamentali della matematica. Una grande quantità di problemi è risolubile mediante un modello algebrico costituito da equazioni e
DettagliNUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti
DettagliRichiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
DettagliCorso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati
Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente
DettagliJavascript: il browser
Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di
DettagliOSSIF WEB. Manuale query builder
OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI
DettagliA destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.
La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato
DettagliNOZIONI BASE PER ESERCITAZIONI
NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi
DettagliNell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo
Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo - la durata del mutuo in anni - l importo del mutuo
DettagliIl Software. Il software del PC. Il BIOS
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
DettagliSviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.
Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare
DettagliCorso di PHP. Prerequisiti. 1 - Introduzione
Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere
DettagliAlgoritmi e Strutture Dati
Elementi di Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Il problema La CMC produce automobili in uno stabilimento
DettagliMatematica 1 - Corso di Laurea in Ingegneria Meccanica
Matematica 1 - Corso di Laurea in Ingegneria Meccanica Esercitazione su massimi e minimi vincolati 9 dicembre 005 Esercizio 1. Considerare l insieme C = {(x,y) R : (x + y ) = x } e dire se è una curva
DettagliLezione V. Aula Multimediale - sabato 29/03/2008
Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)
DettagliE possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools
Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati
DettagliGestione ed analisi di base dati nell epidemiologia. delle malattie infettive
Università degli Studi di Torino - Facoltà di Medicina Veterinaria Laboratorio di epidemiologia delle malattie infettive Scuola Specializzazione in Sanità Animale, Allevamento e Produzioni Zootecniche
DettagliMetodi Computazionali
Metodi Computazionali Elisabetta Fersini fersini@disco.unimib.it A.A. 2009/2010 Catene di Markov Applicazioni: Fisica dinamica dei sistemi Web simulazione del comportamento utente Biologia evoluzione delle
DettagliInforma(ca Appun% dal laboratorio 2
Informa(ca Appun% dal laboratorio 2 Conce- fondamentali Esistono programmi, come Microso8 Word oppure Acrobat Reader, che vengono usa% dagli uten% per far eseguire al computer determinate operazioni (come
DettagliAutomatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione
Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento
DettagliScopo del laboratorio
p. 1/1 Scopo del laboratorio Imparare ad usare programmi che implementino metodi di ottimizzazione: simplesso, branch and bound ecc. utilizzarli per risolvere un problema proposto Modellatori Solver p.
DettagliPULSANTI E PAGINE Sommario PULSANTI E PAGINE...1
Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
Dettagli