Uso di MPL e Solver per problemi LP ed ILP. Uso di Modelli Matematici (1)
|
|
- Bernadetta Fortunato
- 5 anni fa
- Visualizzazioni
Transcript
1 Uso di MPL e Solver per problemi LP ed ILP Michele Monaci e Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 3.0 ottobre 2002 Uso di Modelli Matematici (1) Problema della dieta: n possibili cibi m sostanze nutritive b i fabbisogno giornaliero sostanza i c j costo cibo j a ij quantità di sostanza i per unità di cibo j minimizzare il costo totale assicurando il fabbisogno giornaliero di ogni sostanza MPL.Intro.2 1
2 Uso di Modelli Matematici (2) Modello matematico: min n = 1 j n j = 1 c j x j = K a x b i 1,, m ij j i x j 0 j = 1, K, n MPL.Intro.3 n = 5 m = 8 c j = { 10, 8, 15, 6, 16 } Dieta - esempio b i = {40,20,30,10,42,41,65,17} a ij = {0, 14, 2, 36, 0, 55, 33, 44 36, 89, 1, 99, 30, 17, 7, 10 8, 42, 15, 9, 26, 3, 23, 11 20, 17, 0, 6, 55, 1, 0, 0 7, 44, 16, 19, 28, 0, 10, 4 } MPL.Intro.4 2
3 Soluzione 1: scrittura manuale /* file CPLEX */ MINIMIZE z: 10 x1 + 8 x x3 + 6 x x5 SUBJECT TO CONSTR1: 36 x2 + 8 x x4 + 7 x5 >= 40 CONSTR2: 14 x x x x x5 >= 20 CONSTR3: 2 x1 + x x x5 >= 30 CONSTR4: 36 x x2 + 9 x3 + 6 x x5 >= 10 CONSTR5: 30 x x x x5 >= 42 CONSTR6: 55 x x2 + 3 x3 + x4 >= 41 CONSTR7: 33 x1 + 7 x x x5 >= 65 CONSTR8: 44 x x x3 + 4 x5 >= 17 END MPL.Intro.5 Soluzione 2: scrittura su File Void scrivi( n, m, a, b, c) { int i, j; FILE *fout; fout = fopen( input.lp,w); fprintf(fout, MINIMIZE\n Z: ); for ( j = 1; j <= n; j++ ) if (c[j] > 0) fprintf(fout, +%d x%d,c[j], j ); fprintf(fout, \n SUBJECT TO \n ); for ( i = 1; i <= m; i++ ) { fprintf(fout, CONSTR%d :,i ); for ( j = 1; j <= n; j++ ) if (a[i][j]>0) fprintf(fout, +%d x%d,a[i][j],j); fprintf(fout, >= %d \n,b[i] ); } fprintf(fout, END\n ); fclose(fout); } MPL.Intro.6 3
4 Soluzione 3: MPL { Diet.mpl } TITLE Example INDEX nutrients = 1..8 foods := ( pasta, ham, cheese, egg, bread ) DATA Required[nutrients] = ( 40! Calories [thousands] 20! Protein [grams] 30! Calcium [grams] 10! Iron [milligrams] 42! Avitamin [thousand ius] 41! Thiamine (B1) [milligrams] 65! Riboflavin (B2) [milligrams] 17 );! Niacin [milligrams] Cost[foods] = ( 10, 8, 15, 6, 16 ); A[foods,nutrients] = DATAFILE(input.dat)! Nuritive values of foods. DECISION x[foods]! dollars of food to be purchased daily MODEL MIN z = SUM(foods: Cost*x) ; SUBJECT TO CONSTR[nutrients] : SUM(foods: A*x) > Required[nutrients] END MPL.Intro.7 Soluzione 4: Solver di Excel Problema della Dieta B C D E F G H I J K (1000) (g) (g) (mg) (1000 ius) (B1) (mg) (B2) (mg) (mg) Costo Calorie Proteine Calcio Ferro Vit. A Tiamina Riboflavina Niacina /Kg Fabbisogno giornaliero qta (Kg) Cibo Cibo Cibo Cibo Cibo Contenuto dieta costo complessivo ( ) =MATR.SOMMA.PRODOTTO(B7:B11;$K$7:$K$11) =MATR.SOMMA.PRODOTTO(J7:J11;K7:K11) MPL.Intro.8 4
5 MPL: Introduzione MPL è un pacchetto software che permette di implementare problemi di programmazione lineare (LP) e programmazione lineare intera (ILP) in modo chiaro, efficiente e conciso. E un linguaggio ad alto livello che permette di descrivere sistemi anche molto complessi. E possibile introdurre commenti e definizioni linguistiche che facilitano la comprensione anche ai non programmatori. MPL.Intro.9 MPL: Introduzione (2) I programmi vengono scritti con un semplice editor di testo e sono indipendenti dalla piattaforma sulla quale sono eseguiti (Windows, Unix, Macintosh, OSF Motif). Nell output sono indicate, in modo comprensibile, tutte le operazioni svolte dal risolutore. Si può interfacciare con strumenti di grafica. MPL.Intro.10 5
6 MPL Modeling System (1) MODELS DATA MPL SOLVERS MPL.Intro.11 MPL Modeling System (2) MPL si può utilizzare i seguenti Solvers: CPLEX OSL XA FrontLine Lindo FortMP C-Whiz XPress-MP MPL.Intro.12 6
7 MPL: Input data MPL consente di acquisire i dati di input: Direttamente nel file MPL Da file di testo (ASCII) Da database esterno (ACCESS, EXCEL, ODBC, ORACLE...) Da database interno a MPL MPL.Intro.13 MPL Modeling Language Alcune caratteristiche: Utilizzo di nomi lunghi e alias. Importazione dati da altri programmi. Inclusione di file e direttive condizionali. Utilizzo di sommatorie di vettori e matric Lunghezza righe: 255 caratteri (oltre ignorati) Separatori: i diversi statement all interno dello stesso blocco devono essere divisi dal punto e virgola ; Commenti: le parentesi graffe {} racchiudono un blocco di commenti anche su piu` righe. Il punto esclamativo! delimita l inizio di un commento che termina a fine riga. MPL.Intro.14 7
8 Struttura file MPL (1) Parte 1: Dichiarazioni TITLE: Nome del Modello (Opzionale) INDEX: Definizione indici per insiemi DATA: Vettori di input e costanti DECISION: Variabili decisionali MACRO: Definizione di macro MPL.Intro.15 Struttura file MPL (2) Parte 2: Il modello MODEL MAX/MIN: Funzione obiettivo SUBJECT TO: Vincoli del modello BOUNDS: Upper e Lower bounds sulle variabili INTEGER: Variabili intere BINARY: Variabili binarie FREE: Variabili libere END MPL.Intro.16 8
9 INDEX (1) Gli indici definiscono i domini del problema. Possono essere: Numerici: nutrients:= 1..8; Nominali: foods:=(pasta, ham, cheese, egg, bread); Associati ad Alias: foods:=(pasta, ham, cheese, egg, bread) -> (p, h, c, e, b); MPL.Intro.17 INDEX (2) E possibile definire indici circolari (modulo) day := (mo, tu, we, th, fr, sa, su) CIRCULAR; month := CIRCULAR; sottoinsiemi di indici. holiday[day] := (sa, su); summer[month] := (7..9); MPL.Intro.18 9
10 DATA (1) In questa sezione si specificano i coefficienti utilizzati dal modello (costanti o vettori) Costanti: MinP:= 1 Vettori: Required[nutrients] := (40, 20, 30, 10, 42, 41, 65, 17); Vengono generate le variabili Required1, Required2, Required3, Required4, Required5, Required6, Required7, Required8 MPL.Intro.19 DATA (2) Dati da una fonte esterna: File di testo: A[foods,nutrients]:=DATAFILE( input.dat"); { input.dat } Calories Protein Calcium Iron VitaminA Thiamine Riboflavin Niacin! (1000) (grams) (grams) (MG) (1000 IU) (MG) (MG) (MG) WheatFlour CornMeal EvapMilk Margarine Cheese Database Excel: A [foods,nutrients]= EXCELRANGE( input.xls", foods"); MPL.Intro.20 10
11 DECISION (1) DECISION In questa sezione sono definite le variabili decisionali del problema Per definire un insieme di variabili con lo stesso nome, si indica il nome del vettore e la dimensione del vettore stesso Es: X[foods]; Si possono definire variabili multidimensionali. Es: MultiVar[foods,nutrients] -> Y; MPL.Intro.21 DECISION (2) Se alcune delle variabili decisionali sono intere bisogna indicare ciò con la parola chiave INTEGER Nel caso in cui siano binarie si usa BINARY Es: INTEGER VARIABLES MultiVar[foods,nutrients]; MPL.Intro.22 11
12 FUNZIONE OBIETTIVO Esprime la funzione lineare da ottimizzare. Deve essere indicata all inizio del file MPL; preceduta dalla parola chiave MIN o MAX; ES: MAX 3x1 + 5x2 ; MIN Z = SUM(foods:cost*x); MINIMIZE Cost = SUM(foods,nutrients : Y) ; MPL.Intro.23 VINCOLI (1) I vincoli del modello vengono definiti immediatamente dopo la funzione obiettivo. Preceduti dalla parola chiave SUBJECT TO Ogni vincolo deve terminare con il carattere ; I plain constraints sono espressi direttamente Es: X1 + X2 + X3 >= 2; I vector constraints sono associati ad indici. Es: CONSTRAINT[nutrients]: SUM(foods:A*x)>required[nutrients]; MPL.Intro.24 12
13 VINCOLI (2) è possibile scrivere dei vector constraints solo su un sottoinsieme degli indici o in base a determinate condizioni. Es: CONSTR[nutrients=1..4] : CONSTR[foods,nutrients] WHERE (foods > bread) : MPL.Intro.25 VINCOLI (3) VINCOLO NON CIRCOLARE Xj + X(j+1) +.X(j+k) >= a INDEX j:= 1..10; SUM(h=j..j+k: x) >= a VINCOLO CIRCOLARE se j+k > 10 (es.: j=7, k=5) X7 + X8 + X9 + X10 + X1 + X2 >= a INDEX kk:= 1..5; SUM(kk: x[j+kk]) >= a MPL.Intro.26 13
14 BOUNDS è possibile indicare nel modello un lower bound e/o un upper bound per ogni variabile. Si utilizza la parola chiave BOUNDS Es: BOUNDS X1 >= MinP; y_bound: 2 < Y(1,1) < 8 ; Default: lower bound =0 per tutte le variabili. Il file MPL deve terminare con la parola END MPL.Intro.27 Modello completo { Diet.mpl } TITLE Example INDEX nutrients = 1..8 foods := ( pasta, ham, cheese, egg, bread ) DATA Required[nutrients] = ( 40! Calories [thousands] 20! Protein [grams] 30! Calcium [grams] 10! Iron [milligrams] 42! Avitamin [thousand ius] 41! Thiamine (B1) [milligrams] 65! Riboflavin (B2) [milligrams] 17 );! Niacin [milligrams] Cost[foods] = ( 10, 8, 15, 6, 16 ); A[foods,nutrients] = DATAFILE(input.dat)! Nuritive values of foods. DECISION x[foods]! dollars of food to be purchased daily MODEL MIN z = SUM(foods: Cost*x) ; SUBJECT TO CONSTR[nutrients] : SUM(foods: A*x) > Required[nutrients] END MPL.Intro.28 14
15 Ambiente MPL MPL.Intro.29 15
Soluzione di problemi di ottimizzazione
Soluzione di problemi di ottimizzazione Problema di ottimizzazione: min z = c x A x b x 0 Possibili ulteriori vincoli (Es.: x INTERO) Soluzione: Trovare x* tale che c x* =0 MPL-LE.1
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
DettagliModelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli
Ricerca Operativa 2. Modelli di Programmazione Lineare Modelli di programmazione lineare Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli Sotto queste ipotesi (come
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.
DettagliProgrammazione Matematica: III.1 - Programmazione Lineare
Programmazione Matematica: III.1 - Programmazione Lineare Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.0 ottobre 2003 Programmazione Lineare Def.: (F, ϕ ) è un problema di Programmazione
DettagliLINGO -
. p.1/13 LINGO - www.lindo.com Linear . p.1/13 LINGO - www.lindo.com Linear INteractive and . p.1/13 LINGO - www.lindo.com Linear INteractive and General . p.1/13 LINGO - www.lindo.com Linear INteractive
DettagliRicerca Operativa A.A. 2008/2009
Ricerca Operativa A.A. 08/09 Esercizi di modellazione Docente Luigi De Giovanni Dipartimento di Matematica Pura e Applicata (Torre Archimede) uff. 419 Tel. 049 827 1349 email: luigi@math.unipd.it www.math.unipd.it/~luigi
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
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
DettagliIntroduzione all uso di FICO Xpress. Metodi di Ottimizzazione per la Logistica e la Produzione
Introduzione all uso di FICO Xpress Metodi di Ottimizzazione per la Logistica e la Produzione 1 2 Alcuni risolutori per la Programmazione Matematica Indice Sono a disposizione numerosi risolutori di Programmazione
DettagliTeoria della Dualità: I Introduzione
Teoria della Dualità: I Introduzione Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.2 Maggio 2004 Dualità Per ogni problema PL, detto primale, ne esiste un altro, detto duale, costruito
DettagliProgrammazione Matematica: I - Introduzione
Programmazione Matematica: I - Introduzione Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 3.0 ottobre 2002 Problemi di Ottimizzazione x = (x,, x n ) R n : vettore di variabili decisionali
DettagliMetodi di Ottimizzazione per la Logistica e la Produzione
Metodi di Ottimizzazione per la Logistica e la Produzione Introduzione alle attività di Laboratorio Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria Università di Modena e Reggio Emilia MOLP
DettagliElementi di un modello di Programmazione Matematica
1 Ricerca Operativa Laboratorio: utilizzo di solver per programmazione matematica Elementi di un modello di Programmazione Matematica Insiemi: elementi del sistema; Parametri: dati del problema; Variabili
Dettaglip. 1/22 IBM ILOG CPLEX SIMPLEX implementato in C.
p. 1/22 IBM ILOG CPLEX SIMPLEX implementato in C. p. 1/22 IBM ILOG CPLEX SIMPLEX implementato in C. Sono implementati anche altri metodi per trattare diversi problemi di ottimizzazione. p. 1/22 IBM ILOG
DettagliModellazione GAMS. Sintassi di Base, Esempi. Domenico Salvagnin
Modellazione GAMS Sintassi di Base, Esempi Domenico Salvagnin GAMS General Algebraic Modeling System http://www.gams.com descrizione problema di ottimizzazione in notazione quasi algebrica possibilità
DettagliModelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli
Ricerca Operativa 2. Modelli di Programmazione Lineare Modelli di programmazione lineare Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli Sotto queste ipotesi (come
DettagliProblemi di Ottimizzazione
Problemi di Ottimizzazione Obiettivo: misura della qualità di una soluzione. Vincoli: condizioni che devono essere soddisfatte per ottenere una soluzione ammissibile. Problema di Ottimizzazione: determina
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
DettagliLingo caratteristiche generali
Introduzione a Lingo TM www.lindo.com Lingo caratteristiche generali E un software per la PL e PLI, ma anche per problemi non lineari Permette di scrivere il problemi direttamente in termini di funzione
DettagliINTRODUZIONE A LINGO. Dispense a cura di Antonio Tiano
INTRODUZIONE A LINGO Dispense a cura di Antonio Tiano 1 LINGO (LINear Generalized Optimization) E un software che consente di : Risolvere problemi di ottimizzazione di vario tipo (PL, PQ, PNL) in presenza
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
DettagliUso di Optimax MPL OptiMax
Uso di Optimax 2000 Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.0 - gennaio 2003 MPL OptiMax OptiMax 2000 è una libreria di oggetti che rende disponibile le funzionalità di
DettagliAMPL: Esempi. F. Rinaldi. Corso di Laurea Matematica. Dipartimento di Matematica Università di Padova. Esempi di Modellazione in AMPL
Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Esempi di Modellazione in AMPL Esempio 2 Problema della Dieta In questo problema é data una lista di cibi, a ciascuno
DettagliModelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli
Ricerca Operativa 2. Modelli di Programmazione Lineare - TESTI Modelli di programmazione lineare Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli Sotto queste ipotesi
DettagliProgrammazione Matematica: VII La scomposizione di Dantzig Wolfe
Programmazione Matematica: VII La scomposizione di Dantzig Wolfe Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev..0 Maggio 2004 Scomposizione di problemi Accade spesso che un problema
DettagliProgrammazione Matematica: Modelli di Programmazione Intera
Programmazione Matematica: Modelli di Programmazione Intera Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 2.0 Aprile 2004 Indagine di Mercato Mix di utenti da intervistare telefonicamente:
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
DettagliIntroduzione alla programmazione A. Ferrari
Introduzione alla programmazione A. Ferrari Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi ad
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
DettagliProgrammazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XII, parte I ) Gestione dell input Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliStrumenti software per la soluzione di problemi di PL e PLI
Strumenti software per la soluzione di problemi di PL e PLI Fabrizio Marinelli marinelli@di.univaq.it Università degli Studi dell Aquila Pescara, 2 dicembre 2004 www.oil.di.univaq.it Agenda L OTTIMIZZAZIONE
DettagliTeoria della Complessità Computazionale Parte I: Introduzione
Teoria della Complessità Computazionale Parte I: Introduzione Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 3.0 - ottobre 2003 Teoria della Complessità Studia la difficoltà dei
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
DettagliProgrammazione Matematica: VI Estensioni dell algoritmo del Simplesso
Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.0 Aprile 2004 Algoritmo del Simplesso L algoritmo del Simplesso
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
DettagliMetodi numerici con elementi di Programmazione A.A
Metodi numerici con elementi di Programmazione A.A. 2013-2014 Introduzione al MatLab VI parte 1 Docente: Vittoria Bruni Email: vittoria.bruni@sbai.uniroma1.it Ufficio: Via A. Scarpa, Pal. B, I piano, Stanza
DettagliMiscelazione di benzine
Miscelazione di benzine Una raffineria deve miscelare 4 tipi di petrolio grezzo per ottenere 3 tipi di benzina. La tabella seguente mostra la massima quantità disponibile per ogni tipo di petrolio grezzo
Dettagli1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata
Argomenti della Lezione 1) Matlab e simulazione 2) Esempi di utilizzo 1 Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata Matlab è un sistema di programmazione ad alto livello
DettagliIntroduzione al C. Fondamenti di Informatica. Daniele Loiacono
Introduzione al C Fondamenti di Informatica Il nostro primo programma in C /* Questo è il nostro primo programma in C */ #include int main( ) printf("hello world\n"); Il nostro primo programma
DettagliOctave. Luca Abeni. Informatica Luca Abeni 1 / 21
Luca Abeni Informatica Luca Abeni 1 / 21 Linguaggi di Programmazione di Alto Livello Parole chiave: possibilmente con significato in inglese Ma agli informatici piacciono molto contrazioni e acronimi...
DettagliFondamenti di Business Analytics classi M2/M3 Michele Impedovo anno accademico
Fondamenti di Business Analytics 20486 classi M2/M3 Michele Impedovo anno accademico 2016-2017 Lezione 10 Tre classici problemi Il problema della dieta l problema dei trasporti Il problema del cioccolato
DettagliIntroduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C
Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali
DettagliFondamenti di Informatica. Ingegneria elettronica
Fondamenti di Informatica Ingegneria elettronica Prima esercitazione Cecilia Catalano Sistema Operativo Il S.O. è costituito da un insieme di programmi che permettono di utilizzare e gestire tutte le risorse
DettagliRicerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015
1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)
DettagliIntroduzione a Lingo TM
Introduzione a Lingo TM www.lindo.com Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova 2001/2002 Lingo caratteristiche generali 2!E un software per la PL e IP, ma anche per problemi
DettagliFile binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
Dettagli1. Calcolo dell indice di condizionamento di una matrice
1 Esercizi sul condizionamento con matlab laboratorio di Calcolo Scientifico per Geofisici Prof. A. Murli a.a. 2006/07 1. Calcolo dell indice di condizionamento di una matrice Determinare una function
DettagliMetodi Matematici per l Ottimizzazione
Università di Catania L.M. in Informatica Metodi Matematici per l Ottimizzazione Modulo di Ottimizzazione Matematica Il linguaggio GAMS - Lezione I Laura Scrimali DMI - Studio 338, piano II blocco I Tel.
DettagliModelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli
Ricerca Operativa 2. Modelli di Programmazione Lineare Modelli di programmazione lineare Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli Sotto queste ipotesi (come
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
DettagliLezione 8: Stringhe ed array multidimensionali
Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si
DettagliTEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1.
Prof. R. adei EORIA della DUALIÀ Una piccola introduzione R. adei 1 R. adei 2 EORIA DELLA DUALIA' Il concetto di dualità fu introdotto nel 1947 da Von Neumann, anche se il teorema della dualità fu formulato
DettagliCognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :
PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:
DettagliProf. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi
Dettagli2 Operatori matematici e costrutto if
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni
DettagliEsercitazione 1: Introduzione a MATLAB
Laboratorio di Immagini Esercitazione 1: Introduzione a MATLAB Mauro Zucchelli 09/03/2016 MATLAB Cos è MATLAB? MATLAB Cos è MATLAB? MATLAB non è un linguaggio di programmazione MATLAB Cos è MATLAB? MATLAB
DettagliGestione dei files in linguaggio C. Fondamenti
Programmazione e Laboratorio di Programmazione Gestione dei files in linguaggio C Fondamenti 1 Che cosa è un file? Un file può essere visto come un contenitore di informazioni simile ad un vettore di bytes
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.
DettagliIndice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
DettagliIntroduzione al MATLAB c Parte 3 Script e function
Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione
DettagliExcel: una piattaforma facile per l ottimizzazione. Excel ha un toolbox di ottimizzazione: Risolutore
Excel: una piattaforma facile per l ottimizzazione Excel ha un toolbox di ottimizzazione: Risolutore Il problema di produzione con Excel Consideriamo il foglio Excel Variabili di decisione reali c8,d8
DettagliIntroduzione al MATLAB c Parte 3 Script e function
Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell
DettagliIntroduzione al MATLAB c Parte 3 Script e function
Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo
DettagliProgrammare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione
Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi
DettagliProgetto di rete con unica sorgente e costi fissi
Progetto di rete con unica sorgente e costi fissi Si consideri la topologia di rete data dal grafo G = (V,E) in figura. Ogni nodo i V = {1...n} rappresenta un router connesso ad una rete fissa ed ogni
DettagliLaboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Cicli Concetti di base (MATrix LABoratory) programma interattivo per calcolo
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliIntroduzione al C. InformaticaB. Daniele Loiacono
Introduzione al C InformaticaB Facciamo un passo indietro Compilare o Interpretare? q Come rendo comprensibili al calcolatore i programmi scritti in un linguaggio di programmazione (ad es. C, C++, Java)?
DettagliEsercitazioni di Progetto di Reti di Telecomunicazioni. Anno Accademico Semestre
Esercitazioni di Progetto di Reti di Telecomunicazioni Anno Accademico 2007-2008 2 Semestre Per contattarmi Massimo Tornatore Int. 3691, Ufficio 329 tornator@elet.polimi.it http://networks.cs.ucdavis.edu/~tornatore
DettagliIl C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:
Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliLaboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 3. Docente: Laura Palagi
Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 3 Docente: Laura Palagi 2 TESTO DEL PROBLEMA Si vuole programmare la dieta di un individuo su un
DettagliLaboratorio di Matematica e Informatica 1
Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi
DettagliIl linguaggio GNU MathProg con esempi commentati e risolti
Il linguaggio GNU MathProg con esempi commentati e risolti Roberto Cordone 6 agosto 2010 1 Linguaggi algebrici di modellizzazione Gli indubbi vantaggi del solver di Excel nell affrontare problemi decisionali
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
DettagliLezione 8. Sottoprogrammi
Lezione 8 Il linguaggio C: Sottoprogrammi e Funzioni I puntatori Input/Output su file Sottoprogrammi Per risolvere un problema si può scomporlo in problemi più semplici e comporre le loro soluzioni in
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliMATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)
MATLAB c M-file. Lucia Gastaldi Dipartimento di Matematica http://dm.ing.unibs.it/gastaldi/ Lezione 4 (15 ottobre 2003) Esercizio Problema 3: la successione di funzioni f n (x) = (x 2 x) n per 0 x 1 è
DettagliI Appello Ricerca Operativa 2 bis Compito A
I Appello Ricerca Operativa 2 bis Compito A Cognome e nome:. Esercizio 1. Si consideri il problema del matching di cardinalità massima in un grafo G ed il suo problema di decisione associato: esiste un
DettagliUniversità degli Studi di Ferrara
Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018-2019 Programmazione Lezione 10 Esercizi in C Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni precedenti Abbiamo
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
DettagliInput/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
Dettagliliceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA
INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE BIENNIO: SECONDA DISCIPLINA: INFORMATICA PIANO DI LAVORO DEL DOCENTE / RELAZIONE FINALE Anno scolastico 2014/2015 DOCENTE Prof. PAOLO ARMANI CLASSE:
DettagliProblemi iniziali di Programmazione Lineare (LP) I problemi di cui ci si occupa possono essere descritti matematicamente nel modo seguente:
1 Problemi iniziali di Programmazione Lineare (LP) I problemi di cui ci si occupa possono essere descritti matematicamente nel modo seguente: min/ max f ( x) st.. g ( x) 0 1 g ( x) = 0 2 g ( x) 0 3 qualche
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
DettagliIl modello duale. Capitolo settimo. Introduzione
Capitolo settimo Il modello duale Introduzione Il modello duale e la teoria della dualità assumono una grande importanza nella teoria della programmazione matematica. In questo testo i modelli primale
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliMetodi e modelli per il supporto alle decisioni
Metodi e modelli per il supporto alle decisioni 1. Introduzione Supporto alle decisioni Supporto ai processi decisionali in sistemi complessi Problema decisionale reale Passi, operazioni Soluzioni del
DettagliI tipi strutturati e i record in C++
I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi
DettagliUnità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
DettagliPrimo programma in C
Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file
DettagliProgrammazione Lineare Intera: Piani di Taglio
Programmazione Lineare Intera: Piani di Taglio Andrea Scozzari a.a. 2014-2015 April 22, 2015 Andrea Scozzari (a.a. 2014-2015) Programmazione Lineare Intera: Piani di Taglio April 22, 2015 1 / 23 Programmazione
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
Dettagli