A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 – Primo appello 30 gennaio 2004 Nome: Cognome: Barrare la casella corrispondente: laurea V.O. Laurea N.O. Esercizio 1 È dato il problema di PL in figura. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la regola di Bland. min − x1 − x 2 x1 + x 2 − x3 = −3 3 x + x ≥ 3 1 2 − + x x 2 ≤3 1 x1 ≥ 0, x 2 ≥ 0, x3 ≥ 0 Esercizio 2 In tabella sono riportati gli archi di un grafo con 4 nodi, e sono dati i costi di ogni arco. Risolvere il problema del cammino minimo per ogni coppia di nodi applicando l’algoritmo di Floyd e Warshall. In presenza di cicli negativi arrestate l’algoritmo e mostrate un ciclo negativo. Altrimenti mostrate il cammino dal nodo 3 al nodo 4. Archi (1,2) (1,3) (1,4) (2,1) (3,2) (4,2) Costi 5 3 1 -1 10 2 Esercizio 3 Nelle due tabelle sono riportati i 10 archi di una rete di flusso con 6 nodi 1…6 e la domanda ai 6 nodi, con la convenzione che una domanda negativa è una disponibilità di flusso. Utilizzando la fase 1 del simplesso su reti determinare se la rete ammette una flusso ammissibile oppure no. Si consiglia di includere nella base iniziale gli archi (1,3) e (2,6). Archi (1,2) (1,3) (2,4) (2,6) (3,4) (3,5) (5,1) (5,4) (5,6) (6,4) Nodi 1 Domanda −6 2 −5 3 0 4 +3 5 +8 6 0 Domanda 4 Illustrare il problema di determinare un albero ricoprente di costo minimo e descrivere gli algoritmi di Prim e Kruskal, dimostrando le proprietà su cui si basano. B Nome: Cognome: Barrare la casella corrispondente: UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 – Primo appello 30 gennaio 2004 laurea V.O. Laurea N.O. Esercizio 1 È dato il problema di PL in figura. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la regola di Bland. max x1 − x 2 − 9 x 4 3 x1 + 4 x 2 = 12 − x − x + x = 10 1 2 3 + − = x x x 4 2 4 1 x1 ≥ 0, x 2 ≥ 0, x3 ≥ 0, x 4 ≥ 0 Esercizio 2 In tabella è riportato il peso degli archi di un grafo non orientato con 8 nodi 1…8. Trovare l’albero ricoprente di peso minimo, a partire dal nodo 1, utilizzando l’algoritmo di Prim-Dijkstra. Indicare in quale ordine vengono aggiunti archi all’albero ricoprente (in quale ordine vengono fissati ad 1 i flag dei nodi del grafo). Archi (1,2) (1,3) (1,4) (1,5) (2,6) (2,8) (3,4) (3,5) (3,7) (4,5) (4,6) (4,7) (5,6) (6,7) (6,8) (7,8) Costi 1 2 4 10 6 9 12 1 7 5 5 11 2 2 2 3 Esercizio 3 L’azienda Programmatrix produce software, e deve scegliere come distribuire le ore lavorative della prossima settimana dei suoi dipendenti sui vari progetti in corso in modo che siano soddisfatte le domande dei clienti e massimizzato il profitto. Per ogni possibile alternativa viene in seguito indicata il minimo e massimo numero di ore che devono essere svolte e il profitto per ogni ora di lavoro svolto. Inoltre bisogna tener conto che la Programmatrix ha quattro dipendenti programmatori e ogni dipendente lavora 40 ore a settimana. Formulare il problema come problema di Programmazione Lineare, senza risolverlo. Sviluppo di portali web Applicativi per le banche Gestionali per i benzinai Minimo-Massimo numero di ore 50-80 ore 30-120 ore 5-80 ore Profitto per ogni ora di lavoro svolto 60 euro l’ora 80 euro l’ora 50 euro l’ora Domanda 4 . Illustrare il problema di flusso di costo minimo. Dimostrare che una base della matrice dei coefficienti coincide con un albero ricoprente della rete di flusso. C Nome: Cognome: Barrare la casella corrispondente: UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 – Primo appello 30 gennaio 2004 laurea V.O. Laurea N.O. Esercizio 1 È dato il problema di PL in figura. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la regola di Bland. min x 2 + 2 x3 x1 + 3 x 2 ≥ 3 x − x + x = 4 2 3 1 − − + x x x4 = 1 1 2 x ≥ 0, x ≥ 0, x ≥ 0 3 4 1 x 2 libera Esercizio 2 In tabella è riportato il peso degli archi di un grafo orientato con 8 nodi 1…8. Trovare l’albero dei cammini di peso minimo, a partire dal nodo 1, utilizzando l’algoritmo di Dijkstra. Indicare in quale ordine vengono fissati ad 1 i flag dei nodi del grafo. Evidenziare il cammino minimo dal nodo 1 al nodo 8. Archi (1,2) (1,3) (1,4) (1,5) (2,6) (2,8) (3,7) (4,5) (5,3) (5,6) (6,5) (6,7) (6,8) (7,2) (7,6) (7,8) Costi 1 2 4 10 6 9 7 5 1 2 1 1 2 10 2 3 Esercizio 3 Dovete pianificare un piccolo progetto software. Il progetto consiste in una serie di attività e per ogni attività è nota la sua durata. Le attività sono le seguenti (1) Pianificazione, questa è la prima attività che deve essere svolta e terminata prima di tutte le altre, richiede 4 giorni (2) Sviluppo algoritmo di ottimizzazione, richiede 16 giorni (3) Sviluppo Database, questa attività richiede 14 giorni (4) Sviluppo acquisizione dati, questa attività richiede 10 giorni (5) Test di funzionamento, questi test richiedono 10 giorni e collaudano il funzionamento dei moduli algoritmo, database e acquisizione dati e quindi possono iniziare solo dopo che quei moduli sono stati implementati (6) Sviluppo interfaccia grafica, questo modulo richiede 20 giorni e può essere iniziato solo dopo che il modulo di acquisizione dati viene terminato (7) Test finali, questa attività richiede 4 giorni e che tutte le attività di programmazione (le attività dalla 2 alla 6) siano terminate (8) Stesura dei manuali, questa attività richiede che le attività di programmazione siano terminate (attività 2, 3, 4 e 6) e richiede 14 giorni. Rappresentare graficamente il progetto, calcolare il minimo tempo di completamento dello stesso e le attività critiche. Infine, spiegare che cosa succede se l’attività di test finali richiede 16 giorni invece dei 4 preventivati? Motivare la risposta. Domanda 4 Illustrare la definizione di insieme convesso, funzione convessa, problema di programmazione convessa. Dimostrare che nei problemi di Programmazione Convessa un punto di minimo locale è anche punto di minimo globale. D UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 – Primo appello 30 gennaio 2004 Nome: Cognome: Barrare la casella corrispondente: laurea V.O. Laurea N.O. Esercizio 1 max È dato il problema di PL in figura. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la regola di Bland. x1 + 2 x 2 − x1 − 2 x 2 + x3 = 2 x + 2 x ≥ 4 1 2 x1 + x 2 ≤ 4 x1 ≥ 0, x 2 ≥ 0, x3 ≥ 0 Esercizio 2 In tabella sono riportati gli archi di un grafo con 7 nodi, e sono dati i valori di capacità degli archi ed un flusso ammissibile. A partire dal flusso dato trovare il massimo flusso inviabile dal nodo 1 al nodo 7 con l’algoritmo di Ford e Fulkerson. Archi (1,2) (1,3) (2,4) (2,5) (3,7) (4,7) (5,6) (5,7) (6,3) (6,4) (6,7) Capacità 10 18 3 10 15 6 18 4 12 1 20 Flussi 8 0 3 5 5 3 5 0 5 0 0 Esercizio 3 Dato il problema di PL in figura, 1. impostare il problema duale e risolverlo con il metodo grafico; 2. dalla soluzione ottima del duale ricavare la soluzione ottima del primale con le condizioni di ortogonalità. min 3x1 − x 2 4 x1 − 2 x 2 + x3 ≥ 6 x1 − x 2 + 3 x3 ≤ 7 x ≥ 0 Domanda 4 Illustrare il problema di Cammino minimo e dimostrare il teorema di Floyd-Warshall. E Nome: Cognome: Barrare la casella corrispondente: UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 – Primo appello 30 gennaio 2004 laurea V.O. Laurea N.O. Esercizio 1 È dato il problema di PL in figura. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la regola di Bland. max x1 − x 2 − 10 x 4 x1 + x 2 − x 4 = 5 3 x + 5 x = 15 1 2 − x1 − x 2 + x3 = 2 x1 ≥ 0, x 2 ≥ 0, x3 ≥ 0, x 4 ≥ 0 Esercizio 2 In tabella è riportato il peso degli archi di un grafo orientato con 8 nodi 1…8. Trovare l’albero dei cammini di peso minimo, a partire dal nodo 1, utilizzando l’algoritmo di Dijkstra. Indicare in quale ordine vengono fissati ad 1 i flag dei nodi del grafo. Evidenziare il cammino minimo dal nodo 1 al nodo 8. Archi (1,2) (1,3) (1,4) (1,6) (2,5) (2,8) (3,7) (4,6) (5,6) (5,7) (5,8) (6,3) (6,5) (7,2) (7,5) (7,8) Costi 2 4 8 20 12 18 14 10 2 2 4 2 4 20 4 6 Esercizio 3 Dovete pianificare un piccolo progetto software. Il progetto consiste in una serie di attività e per ogni attività è nota la sua durata. Le attività sono le seguenti (1) Sviluppo algoritmo di ottimizzazione, richiede 10 giorni (2) Sviluppo Database, questa attività richiede 17 giorni (3) Sviluppo acquisizione dati, questa attività richiede 5 giorni (4) Sviluppo interfaccia grafica, questo modulo richiede 20 giorni e può essere iniziato solo dopo che il modulo di acquisizione dati viene terminato (5) Test modulo algoritmo, questi test richiedono 8 giorni e collaudano il funzionamento del modulo algoritmo (6) Test modulo database, questi test richiedono 4 giorni e collaudano il funzionamento del modulo database (7) Test modulo acquisizione, questi test richiedono 6 giorni e collaudano il funzionamento del modulo acquisizione dati (8) Stesura dei manuali, questa attività richiede che le attività di programmazione siano terminate (attività 2, 3, 4) e richiede 14 giorni. Rappresentare graficamente il progetto, calcolare il minimo tempo di completamento dello stesso e le attività critiche. Infine, spiegare che cosa succede se l’attività di test modulo database richiede 16 giorni invece dei 4 preventivati? Motivare la risposta. Domanda 4 Illustrare il problema di Massimo Flusso e dimostrare il teorema di Ford-Fulkerson. F UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 – Primo appello 30 gennaio 2004 Nome: Cognome: Barrare la casella corrispondente: laurea V.O. Laurea N.O. Esercizio 1 È dato il problema di PL in figura. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la regola di Bland. min 2 x1 − 2 x 2 4 x1 + x 2 ≥ 4 x + x − x = −5 1 2 3 − + ≤ x x 4 2 1 x1 ≥ 0, x 2 ≥ 0, x3 ≥ 0 Esercizio 2 In tabella sono riportati gli archi di un grafo con 4 nodi, e sono dati i costi di ogni arco. Risolvere il problema del cammino minimo per ogni coppia di nodi applicando l’algoritmo di Floyd e Warshall. In presenza di cicli negativi arrestate l’algoritmo e mostrate un ciclo negativo. Altrimenti mostrate il cammino dal nodo 3 al nodo 4. Archi (1,4) (2,1) (3,1) (4,1) (4,2) (4,3) Costi -3 22 6 15 9 3 Esercizio 3 In tabella sono riportati i costi unitari degli archi di una rete di flusso con 6 nodi 1…6 ed un flusso ammissibile iniziale. A partire dal flusso iniziale, e utilizzando la fase 2 del simplesso su reti, determinare il flusso di costo minimo, o dimostrare che il problema è illimitato inferiormente. Archi (1,2) (1,3) (2,4) (2,6) (3,5) (4,3) (4,6) (5,1) (5,4) (6,5) Costi -1 2 5 6 1 15 3 3 13 1 0 10 0 0 4 6 4 0 0 Flusso 10 Domanda 4 Illustrare le definizioni di: combinazione convessa, insieme convesso, e problema di programmazione convessa. Dimostrare che un poliedro è un insieme convesso. G UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 – Primo appello 30 gennaio 2004 Nome: Cognome: Barrare la casella corrispondente: laurea V.O. Laurea N.O. Esercizio 1 È dato il problema di PL in figura. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la regola di Bland. max x1 + 2 x 2 x1 + 2 x 2 ≥ 6 x + x ≤ 6 1 2 − x1 − 2 x 2 + x3 = 4 x1 ≥ 0, x 2 ≥ 0, x3 ≥ 0 Esercizio 2 In tabella sono riportati gli archi di un grafo con 7 nodi, e sono dati i valori di capacità degli archi ed un flusso ammissibile. A partire dal flusso dato trovare il massimo flusso inviabile dal nodo 1 al nodo 7 con l’algoritmo di Ford e Fulkerson. Archi (1,2) (1,3) (1,5) (2,4) (3,6) (4,7) (5,3) (5,4) (5,6) (5,7) (6,7) Capacità 20 36 20 6 30 12 14 25 36 40 18 Flussi 6 0 10 6 10 6 10 0 0 0 10 Esercizio 3 La fabbrica di materassi Sweet Dreams produce 3 tipologie di materassi e deve scegliere la quantità dei vari materassi da produrre nel prossimo mese in modo che siano soddisfatte le domande dei clienti e massimizzato il profitto. Per il prossimo mese ha valutato la domanda dei clienti minima e massima per i tre tipi diversi di materassi. Inoltre bisogna tener conto che la Sweet Dreams ha cinquanta dipendenti e ogni dipendente può produrre 60 materassi al mese. Formulare il problema come problema di Programmazione Lineare, trascurando eventuali vincoli di interezza delle variabili, senza risolverlo. Dormibene bimbo Golden dream de luxe Er Materazzo Minimo-Massimo numero di materassi 30-90 materassi 50-120 materassi 70-230 materassi Profitto per ogni materasso 30 euro 100 euro 50 euro Domanda 4 Illustrare teoria della dualità. Dimostrare i teoremi di dualità debole e forte. H Nome: Cognome: Barrare la casella corrispondente: UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 – Primo appello 30 gennaio 2004 laurea V.O. Laurea N.O. Esercizio 1 È dato il problema di PL in figura. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la regola di Bland. min 2 x 2 + x3 − x1 − x3 + x 4 = 3 x + 3x ≥ 3 3 1 + x x 1 2 − x3 = 4 x ≥ 0, x ≥ 0, x ≥ 0 2 4 1 x3 libera Esercizio 2 In tabella è riportato il peso degli archi di un grafo non orientato con 8 nodi 1…8. Trovare l’albero ricoprente di peso minimo, a partire dal nodo 7, utilizzando l’algoritmo di Prim-Dijkstra. Indicare in quale ordine vengono aggiunti archi all’albero ricoprente (in quale ordine vengono fissati ad 1 i flag dei nodi del grafo). Archi (1,2) (1,3) (1,4) (1,6) (2,5) (2,8) (3,4) (3,6) (3,7) (4,5) (4,6) (4,7) (5,6) (5,7) (5,8) (7,8) Costi 1 2 4 10 6 9 12 1 7 5 5 11 2 2 2 3 Esercizio 3 Dato il problema di PL in figura, 3. impostare il problema duale e risolverlo con il metodo grafico; 4. dalla soluzione ottima del duale ricavare la soluzione ottima del primale con le condizioni di ortogonalità. min x1 + 5 x 2 − x3 2 x1 + x 2 + 2 x 3 ≥ 6 x1 − x 2 + 2 x3 ≤ 4 x ≥ 0 Domanda 4 Illustrare la definizione di vertice e soluzione base ammissibile. Dimostrare che una soluzione ammissibile di un problema di PL in forma standard è un vertice se e solo se è una soluzione base ammissibile.