Anteprima
Vedrai una selezione di 2 pagine su 87
Appunti del corso Ottimizzazione Combinatoria 2, prof. Antonio Sassano Pag. 1 Appunti del corso Ottimizzazione Combinatoria 2, prof. Antonio Sassano Pag. 2
1 su 87
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

SOLUZIONI OTTIME.

Differenza con l’enumerazione completa: è come se applicassi greedy ma con la possibilità di ripensarci, si può inserire

un elemento e toglierlo successivamente.

Branch&bound

Meccanismo che consente durante la costruzione dell’albero di enumerazione di escludere a priori delle combinazioni.

In pratica posso evitare di costruire tutto l’albero che ha come radice quella in cui sto perché il bound mi permette di

dire che in tutte quelle soluzioni sotto sicuramente non c’è quella ottima.

Il bound conferisce informazioni sulla migliore soluzione che si può costruire a partire dal nodo in cui sto (quindi se nel

sottoalbero potrebbe esserci una soluzione migliore di quella che ho continuo con l’enumerazione delle diverse

combinazioni, se non può esserci una soluzione migliore posso non enumerare tutto l’albero sotto).

Ripasso di OC1

Un PL01 è un problema nel quale ho una funzione obiettivo

lineare. La differenza rispetto a c(F) che abbiamo introdotto

nelle lezioni precedenti non è grandissima:

➖ cTx è un vettore {0,1}

➖ c(F) è un insieme

Se faccio la somma dei prodotti delle componenti con lo

stesso indice alla fine rimane solo la somma delle componenti

con coefficienti 1, quindi rimane esattamente F

PL01 è un problema di ottimizzazione combinatoria perché il numero delle soluzioni ammissibili è finito.

P è un poliedro in Rn, insieme delle soluzioni che soddisfano un insieme di disequazioni lineari

P è una formulazione di S se e solo se la sua intersezione con tutti i possibili vettori n-dimensionali di componenti

{0,1} (che sono al più 2^n) è esattamente uguale all’insieme delle soluzioni ammissibili S.

Nello spazio n-dimensionale se n è uguale a 3 le soluzioni ammissibili sono i vertici di un cubo.

[0,0] è il vettore di incidenza dell’insieme vuoto.

Questa è la rappresentazione con i diagrammi di Venn del grafico nella slide. Non

abbiamo rappresentato l’insieme A e B perché non è ammissibile in quanto fuori dal

poliedro ammissibile.

Un poliedro è sempre dato dall’intersezione di semispazi lineari, cioè equazioni del tipo

1

Il poliedro verde contiene tutte le soluzioni ammissibili del problema, separa quindi i vettori di incidenza indipendenti

da quelli dipendenti (ammissibili dai non ammissibili).

Anche il triangolo nero è un poliedro che contiene esattamente tutte e sole le soluzioni del problema.

Possiamo quindi avere infinite formulazioni dello stesso problema. La formulazione interna è migliore di quella esterna

Un PL01 è un problema con funzione obiettivo lineare e

soluzioni ammissibili {0,1}^n

Un problema di programmazione lineare è un PL01 se e solo

se le soluzioni ammissibili stanno in {0,1}^n

Otteniamo un rilassamento lineare del problema se eliminiamo

la condizione che il vettore debba avere componenti 0,1. Vale il

maggiore o uguale perché così facendo otteniamo il massimo

valore della funzione obiettivo nel poliedro (non per forza a

componenti 01).

Nel caso di funzione obiettivo lineare le curve di livello sono

rette. Geometricamente potrei risolvere il problema disegnando

il poliedro e le curve di livello (punti isovalore della funzione

obiettivo).

Così facendo il minimo sarebbe il punto che tocca l’ultima curva di livello che passa per il poliedro, questo sarebbe

però l’ottimo del problema rilassato. Se non è un punto a componenti 0,1 allora ho un lower bound.

Il punto che troviamo dipende ovviamente dalla formulazione scelta. Se scegliamo la formulazione verde otteniamo

un lower bound a componenti frazionarie, se scegliamo la formulazione nera (il triangolo) il lower bound è

esattamente l’ottimo intero. Per sapere quanto è buona una eventuale soluzione trovata

posso calcolare il gap, più questo è piccolo tanto migliore è la

soluzione trovata. L’obiettivo sarebbe quello di trovare una

soluzione con gap=0.

In genere Z* è ignota, il lower bound è il punto tra gli

ammissibili per cui ottengo il più piccolo valore della funzione

obiettivo. Z0 è la soluzione di cui sono in possesso.

Le formulazioni sono infinite, il problema vero è scegliere la

formulazione migliore.

La formulazione migliore è quella possibilmente più vicina

all’insieme dei punti 0,1.

2

Esiste una formulazione ottima, è un insieme convesso, un poliedro che ha la proprietà di essere contenuto in ogni

altra formulazione possibile del problema. In genere le formulazioni ottime si trovano solo per i problemi facili.

Formulazione rango

Cerco di caratterizzare gli indipendenti con una serie di disequazioni lineari.

Il rango caratterizza l’insieme di indipendenza, quindi se abbiamo la funzione rango possiamo dire chi è un

indipendente e chi no (basta calcolare la funzione rango per l’insieme da studiare: se rango uguale alla cardinalità

dell’insieme allora questo è un indipendente). Le basi rappresentano un sistema di indipendenza, se vogliamo

verificare che un insieme è un indipendente basta controllare che appartenga ad una base.

Un insieme F appartenente ad S è un indipendente se e solo se la

cardinalità di F intersezione X è minore o uguale del rango di X

per ogni X appartenente a Γ.

Dimostrazione:

Se F appartiene ad S allora F intersezione X appartiene ad S per

ogni X appartenente a Γ. Vale l’ereditarietà, l’insieme F è anche lui

un indipendente, X potrebbe esserlo oppure no (lo è in quanto

sottoinsieme di F). Siccome è un indipendente la cardinalità di F

intersezione X è uguale al rango di F intersezione X, ma questo è

minore o uguale del rango di X per ogni X appartenente a Γ.

Il viceversa si può dimostrare così: se F non appartiene ad S

esiste una X contenuta in Γ tale che rango di F intersezione X è

strettamente maggiore del rango di X. Siccome nego entrambe le

affermazioni cambio il verso della disuguaglianza.

Se F non appartiene ad S (cioè se non è un indipendente) la sua cardinalità è maggiore del suo rango. Per X che

coincide con F abbiamo che la cardinalità dell’intersezione tra F ed F è uguale alla cardinalità di F, quindi la che è

maggiore del rango di F che però dovrebbe essere uguale al rango di X, questo è impossibile pertanto è vero il

teorema scritto sopra. La S a sinistra è un insieme di vettori, la S a destra è una

famiglia di sottoinsiemi.

A è un insieme. A è la matrice del sistema di disequazioni

La cardinalità di F intersezione A è il prodotto interno dei vettori

di incidenza di F e di A. Nell’esempio abbiamo due vettori nello

spazio n=4.

L’intersezione tra F e A vuol dire tutte le volte che compare un

uno relativo allo stesso elemento in entrambi i vettori. Se faccio

il prodotto interno calcolo la cardinalità dell’intersezione.

In pratica sommo i prodotti delle componenti con lo stesso

indice. Possiamo prendere un qualunque vettore x, esso

appartiene ad S se e solo se la sommatoria è minore del rango.

3

Nel poliedro devono starci i vettori di incidenza degli indipendenti,

tutti gli altri devono stare fuori.

Abbiamo detto che un vettore x appartiene ad A se e solo se la

sommatoria delle sue componenti è minore o uguale del rango di

A.

Il vettore di incidenza di un insieme dipendente dovrà violare

almeno una delle disequazioni.

Questa formulazione si chiama FORMULAZIONE RANGO perché

Attraverso l’eliminazione di il termine a destra di tutte le disequazioni è il rango di A.

alcuni vincoli Sappiamo che F appartiene ad S (cioè è un indipendente) se e

solo se F non contiene un circuito.

Se C è un circuito di S allora il suo rango è pari alla cardinalità

meno 1.

Il poliedro Pc lo ottengo a partire dal poliedro rango dal quale

taglio via delle disequazioni, tengo soltanto quelle che sono un

circuito. Pc è un poliedro che rispetto al poliedro precedente è

più grande (ha meno disequazioni). La formulazione rango è

contenuta nella formulazione circuiti.

Poiché abbiamo costruito Pc togliendo dei vincoli dalla

formulazione rango dobbiamo dimostrare che Pc è ancora una

formulazione.

F è un indipendente se e solo se il suo vettore di incidenza

appartiene a Pc.

Dimostrazione:

F appartiene ad S implica che Xf (vettore di incidenza) appartiene a Pr, allora a maggior ragione apparterrà a Pc

(perché Pc contiene Pr).

In ogni insieme dipendente (insieme che non appartiene ad S) esiste sicuramente un circuito quindi se F non

appartiene ad S allora F contiene sicuramente un circuito. Se esiste un circuito C contenuto in F allora Xfe=1 per ogni

e appartenente a C. Questo vuol dire che la sommatoria per e appartenente a C di Xfe è esattamente uguale alla

cardinalità del circuito. Se questo è vero allora è violato un vincolo e Xf non appartiene a Pc.

Abbiamo dimostrato che se F è un dipendente allora il suo vettore di incidenza non appartiene al poliedro, se è un

indipendente allora appartiene al poliedro, quindi Pc è una formulazione.

Gli elementi nei quadratini costituiscono un insieme stabile.

Non abbiamo una matroide perché non tutte le basi hanno la

stessa cardinalità.

I circuiti sono insiemi di coppie {u,v} tali che u,v appartengono

ad E.

Il primo vincolo dice che non possiamo scegliere

contemporaneamente sia u che v, dobbiamo eliminarne almeno

uno. 1 viene dal fatto che la sommatoria degli elementi x deve

essere minore o uguale della cardinalità meno 1.

4

Simmetrico dello stabile, insiemi di archi a coppie non incidenti

nello stesso nodo.

Gli archi rossi e quelli neri sono due matching diversi.

Due archi sono dipendenti quando incidono nello stesso nodo.

I circuiti sono cicli, quindi se ho un circuito non posso scegliere tutti i suoi

elementi, devo mollarne almeno uno.

Esempio di capital

budgeting I coefficienti devono essere positivi. I circuiti (che si chiamano

anche cover) sono insiemi di progetti non compatibili ma tali che

ogni sottoinsieme è compatibile.

Il concetto di budget è contenuto nel concetto di cover. In pratica

trovo l’insieme minimo di progetti che non posso fare.

Voglio sapere quali sono gli archi che posso buttare via lasciando

il grafo connesso.

Un insieme la cui rimozione disconnette il grafo è formato dai 3

archi rossi, quindi quelli definiscono un insieme dipendente, gli

indipendenti sono quelli che posso togliere senza sconnettere il

g

Dettagli
Publisher
A.A. 2017-2018
87 pagine
3 download
SSD Scienze matematiche e informatiche MAT/09 Ricerca operativa

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher CSY di informazioni apprese con la frequenza delle lezioni di Ottimizzazione combinatoria II e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Sassano Antonio.