Possibile applicazione

Documenti analoghi
Problemi di flusso a costo minimo

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Algoritmo basato su cancellazione di cicli

Rilassamento Lagrangiano

Esercizi svolti di Programmazione Lineare. a cura di Laura Scrimali Dipartimento di Matematica e Informatica Università di Catania

Rilassamento Lagrangiano

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Problemi, istanze, soluzioni

Anno 4 Matrice inversa

IL METODO DEL SIMPLESSO

I. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ.

Parte V: Rilassamento Lagrangiano

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

La domanda che ci si deve porre innanzitutto per iniziare a risolvere questa disequazione è la seguente:

Limiti e continuità. Teoremi sui limiti. Teorema di unicità del limite Teorema di permanenza del segno Teoremi del confronto Algebra dei limiti

Esercizi sui sistemi di equazioni lineari.

UNIVERSITÀ di ROMA TOR VERGATA

Problemi di Flusso: Il modello del Trasporto

LEZIONE 4. { x + y + z = 1 x y + 2z = 3

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

ESERCIZI SVOLTI SUL CALCOLO INTEGRALE

Il modello duale. Capitolo settimo. Introduzione

Per equazione lineare nelle incognite x, y intendo un equazione del tipo. ax = b,

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

ECONOMIA APPLICATA ALL INGEGNERIA (Docente: Prof. Ing. Donato Morea)

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011

11.4 Chiusura transitiva

2.6 Calcolo degli equilibri di Nash

Corso di Laurea in Matematica Geometria 2. Foglio di esercizi n. 2 a.a Soluzioni

Precorso di Matematica

Sistemi di 1 grado in due incognite

Problemi di massimo e minimo

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI

Il metodo del simplesso. Il metodo del simplesso p. 1/12

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Funzioni implicite - Esercizi svolti

Soluzioni degli esercizi di formulazione di PL{0, 1}

Metodo di Gauss-Jordan 1

Anno 2. Risoluzione di sistemi di primo grado in due incognite

TEOREMA DEL RESTO E REGOLA DI RUFFINI

Ricerca Operativa Note su Programmazione Lineare e Metodo del Simplesso (parte III)

Management Sanitario. Modulo di Ricerca Operativa

ax 1 + bx 2 + c = 0, r : 2x 1 3x = 0.

Il problema del commesso viaggiatore e problemi di vehicle routing

1 Definizione di sistema lineare omogeneo.

Corso di Calcolo Numerico

Sistemi di equazioni lineari

Metodi per la risoluzione di sistemi lineari

Limiti di successioni

Giovanna Carnovale. October 18, Divisibilità e massimo comun divisore

4 0 = 4 2 = 4 4 = 4 6 = 0.

SISTEMI LINEARI, METODO DI GAUSS

Moltiplicazione. Divisione. Multipli e divisori

Complementi di Analisi Matematica Ia. Carlo Bardaro

Segno di espressioni quoziente di due espressioni elementari Vediamo di ragionare su un esempio pratico. Consideriamo un'espressione del tipo

1 L estrazione di radice

STRUMENTI MATEMATICI

Elementi di Analisi Combinatoria

CONGRUENZE. proprietà delle congruenze: la congruenza è una relazione di equivalenza inoltre: Criteri di divisibilità

Algebra di Boole: minimizzazione di funzioni booleane

ESPONENZIALI E LOGARITMI. chiameremo logaritmica (e si legge il logaritmo in base a di c è uguale a b ).

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

Disequazioni - ulteriori esercizi proposti 1

a + 2b + c 3d = 0, a + c d = 0 c d

ESERCIZI PROPOSTI. Capitolo 5 MCD(15,5) = 15 5 =3. un unico sottogruppo di ordine d, cioè x 20/d = C d. , x 20/10 = x 2 = C 10. , x 20/4 = x 5 = C 4

LEZIONE Equazioni matriciali. Negli Esempi e si sono studiati più sistemi diversi AX 1 = B 1, AX 2 = R m,n, B = (b i,h ) 1 i m

a) Determinare il dominio, i limiti agli estremi del dominio e gli eventuali asintoti di f. Determinare inoltre gli zeri di f e studiarne il segno.

LEZIONE 23. ax 2 + bxy + cy 2 + dx + ey + f

Divisibilità per 4. Riprendiamo il nostro numero. se e solo se

Esercizi proposti 10

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Teorema di Thevenin generalizzato

Le disequazioni frazionarie (o fratte)

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

La codifica digitale

Disequazioni di secondo grado

Equazioni di 2 grado

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 28. Docente: Laura Palagi

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

Il codice di Sarngadeva

x 2 + (x+4) 2 = 20 Alle equazioni di secondo grado si possono applicare i PRINCIPI di EQUIVALENZA utilizzati per le EQUAZIONI di PRIMO GRADO.

1.1 Coordinate sulla retta e nel piano; rette nel piano

Massimi e minimi vincolati

Esame di Ricerca Operativa del 16/06/2015

1 IL LINGUAGGIO MATEMATICO

La fattorizzazione e la phi di Eulero

CONVERSIONE DA DECIMALE A BINARIO

Equazioni lineari con due o più incognite

Transcript:

p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile come costo di assegnare a i a b j. Il problema di assegnamento è il seguente: Individua n coppie di elementi appartenenti ad A B in modo tale che ogni elemento di A e di B deve appartenere ad una ed una sola coppia ed in modo tale da minimizzare la "incompatibilità" (o costo) totale, data dalla somma delle "incompatibilità" (o costi) di ogni singola coppia.

p. 2/4 Possibile applicazione Dati n lavoratori, n compiti ed un costo di assegnamento per ognuna delle n 2 coppie lavoratore-compito, individuare gli n assegnamenti di compiti ai lavoratori in modo da minimizzare i costi totali di assegnamento.

p. 3/4 Regione ammissibile La regione ammissibile è costituita da tutti i possibili accoppiamenti. Per l elemento a 1 ho n possibili scelte di accoppiamento con elementi dell insieme B; per a 2 le scelte si riducono a n 1 (devo escludere l elemento già accoppiato con a 1 ); per a 3 le scelte si riducono a n 2 (devo escludere gli elementi già accoppiati con a 1 e a 2 );... In totale avrò quindi n! diversi possibili accoppiamenti.

p. 4/4 Osservazione Si è supposto che A e B abbiano la stessa cardinalità n. Vi sono però casi in cui questo non è vero ( A > B oppure A < B ). Questi casi possono sempre essere ricondotti al caso A = B aggiungendo elementi fittizi nell insieme più piccolo con costo degli accoppiamenti con elementi fittizi pari a 0 (l accoppiamento con un elemento fittizio equivale a un non accoppiamento).

p. 5/4 Un esempio Tabella delle incompatibilità (n = 4): b 1 b 2 b 3 b 4 a 1 2 3 4 5 a 2 6 2 2 2 a 3 7 2 3 3 a 4 2 3 4 5

p. 6/4 Modello matematico - variabili Ad ogni coppia (a i,b j ) A B si associa una variabile x ij con i seguenti possibili valori: { 1 se a i è assegnato a b j x ij = 0 altrimenti

p. 7/4 Modello matematico-vincoli Ad ogni elemento a i è assegnato uno ed un solo b j e quindi avremo i seguenti n vincoli x ij = 1 i {1,...,n}. Ad ogni elemento b j è assegnato uno ed un solo a i e quindi avremo i seguenti n vincoli x ij = 1 j {1,...,n};

p. 8/4 Nell esempio Vincolo per a 1 : x 11 + x 12 + x 13 + x 14 = 1 Analogo per gli altri a i, i = 2, 3, 4. Vincolo per b 1 : x 11 + x 21 + x 31 + x 41 = 1 Analogo per gli altri b j, j = 2, 3, 4.

p. 9/4 Modello matematico - obiettivo Il contributo all incompatibilità totale di (a i,b j ) è d ij se a i viene assegnato a b j, cioè se x ij = 1, ed è 0 se a i non viene assegnato a b j, cioè se x ij = 0. In entrambi i casi il contributo all incompatibilità totale di (a i,b j ) è d ij x ij. Sommando su tutte le possibili coppie si ottiene l obiettivo del problema: d ij x ij.

p. 10/4 Nell esempio 2x 11 + 3x 12 + 4x 13 + 5x 14 + 6x 21 + 2x 22 + 2x 23 + 2x 24 + 7x 31 + 2x 32 + 3x 33 + 3x 34 + 2x 41 + 3x 42 + 4x 43 + 5x 44

p. 11/4 Modello matematico finale min n n d ijx ij n x ij = 1 n x ij = 1 x ij {0, 1} i {1,...,n} j {1,...,n} i,j

p. 12/4 Osservazione Il problema di assegnamento può essere visto come caso particolare del problema del trasporto in cui gli elementi dell insieme A sono i depositi, quelli dell insieme B i negozi e sia la disponibilità di prodotto dei depositi che la richiesta di prodotto dei negozi è pari a 1. Possiamo quindi concludere immediatamente che anche il problema di assegnamento è risolvibile in tempo polinomiale.

p. 13/4 Nota bene Possiamo anche vedere il problema di assegnamento come un particolare problema di matching su grafi bipartiti completi con la restrizione di considerare solo matching di cardinalità pari a n e con obiettivo da minimizzare anziché massimizzare.

p. 14/4 Risoluzione Potremmo risolvere il problema di assegnamento con l algoritmo del simplesso ma la difficoltà in questo caso è la forte degenerazione di tutti i vertici del problema. Infatti, una soluzione non degenere dovrebbe avere 2n 1 variabili (quelle in base) diverse da zero, ma le soluzioni di base ammissibili o vertici (che coincidono con le soluzioni ammissibili del problema di assegnamento) possono avere solo n variabili uguali a 1 (ci sono n coppie nell assegnamento) e quindi abbiamo una forte degenerazione. Conviene dunque utilizzare altri algoritmi per la risoluzione del problema di assegnamento. Qui si presenterà un algoritmo chiamato algoritmo ungherese.

p. 15/4 Algoritmo ungherese L algoritmo ungherese può essere visto come adattamento alla particolare struttura del problema di assegnamento di una variante del metodo del simplesso, il metodo del simplesso primale-duale, che non è stato visto a lezione.

p. 16/4 Matrice dei costi La matrice dei costi T 0 di ordine n n è semplicemente la matrice che ha come elemento nella posizione (i, j) il valore d ij.

p. 17/4 Riduzione della matrice - I Il primo passo consiste nel trasformare la matrice T 0 in una nuova matrice. Si comincia a calcolare per ogni colonna j il minimo su tale colonna d 0 j = min i d ij ; tale valore verrà sottratto ad ogni elemento della colonna j e questo viene fatto per tutte le colonne. Si ottiene quindi una nuova matrice T 1 che nella posizione (i,j) ha il valore d ij d 0 j.

p. 18/4 Nell esempio b 1 b 2 b 3 b 4 a 1 2 3 4 5 a 2 6 2 2 2 a 3 7 2 3 3 a 4 2 3 4 5 d 0 j 2 2 2 2 Da cui T 1 : b 1 b 2 b 3 b 4 a 1 0 1 2 3 a 2 4 0 0 0 a 3 5 0 1 1 a 4 0 1 2 3

p. 19/4 Riduzione della matrice - II La matrice T 1 viene ulteriormente trasformata andando a calcolare il minimo su ogni sua riga i d 1 i = min j [d ij d 0 j] e sottraendo questo ad ogni elemento della riga i. Il risultato è una matrice T 2 che nella posizione (i,j) ha il valore d 2 ij = d ij d 0 j d 1 i 0. È importante notare che, per come sono stati ottenuti, tutti gli elementi d 2 ij sono non negativi.

p. 20/4 Nell esempio b 1 b 2 b 3 b 4 d 1 i a 1 0 1 2 3 0 a 2 4 0 0 0 0 a 3 5 0 1 1 0 a 4 0 1 2 3 0 Da cui T 2 : b 1 b 2 b 3 b 4 a 1 0 1 2 3 a 2 4 0 0 0 a 3 5 0 1 1 a 4 0 1 2 3

p. 21/4 Un lower bound per il valore ottimo Osserviamo che d ij = d 2 ij + d 0 j + d 1 i. Andando a sostituire nell obiettivo al posto di d ij si ottiene d ij x ij = (d 2 ij + d 0 j + d 1 i)x ij = = = d 2 ij x ij + d 2 ijx ij + d 0 j x ij + d 0 j x ij + d 1 i x ij = d 1 i x ij.

Ogni soluzione ammissibile ha n x ij = 1 per ogni j e n x ij = 1 per ogni i, quindi l obiettivo è, per ogni soluzione ammissibile, uguale a d 2 ijx ij + d 0 j + d 1 i. Ponendo D 0 = d 0 j D 1 = d 1 i, si ha infine d ij x ij = d 2 ijx ij + D 0 + D 1. p. 22/4

p. 23/4 Continua Poiché, come già osservato, d 2 ij 0 per ogni i,j, e poiché si ha anche che x ij 0 per ogni i,j, si ha che d ij x ij D 0 + D 1, per ogni soluzione ammissibile del problema.

p. 24/4 Nell esempio...... abbiamo D 0 = 8 e D 1 = 0. Quindi, D 0 + D 1 = 8 fornisce un lower bound per il valore ottimo di questa istanza del problema di assegnamento.

p. 25/4 Ma allora...... se trovo una soluzione ammissibile del problema con valore dell obiettivo pari a D 0 + D 1, questa è certamente anche una soluzione ottima. Quindi la domanda che ci poniamo ora è la seguente: esiste o meno una soluzione ammissibile con valore D 0 + D 1? In caso di risposta positiva, abbiamo una soluzione ottima del problema, in caso di risposta negativa ci dovremo poi porre la questione di cosa fare se non esiste.

p. 26/4 Problema associato Determinare un sottinsieme di cardinalità massima degli 0 della matrice T 2 tale che presi due elementi qualsiasi di essi sono indipendenti, ovvero appartengono a righe e colonne diverse.

p. 27/4 Se...... questo problema ammette una soluzione con = n, consideriamo allora la seguente soluzione: { 1 se (i,j) x ij = 0 altrimenti Per prima cosa dimostriamo che tale soluzione è ammissibile. Supponiamo per assurdo che non lo sia. Per esempio supponiamo che per qualche j si abbia x ij 1.

p. 28/4 Casi possibili Caso I n x ij = 0: in tal caso non c è nessun elemento di nella colonna j. Quindi ve ne dovranno essere n nella restanti n 1 colonne. Ciò vuol dire che almeno una colonna contiene due elementi in, ma questo è assurdo in quanto gli elementi di devono essere tra loro indipendenti e quindi non possono appartenere ad una stessa colonna. Caso II n x ij 2: in tal caso ci sono due elementi di nella colonna j e si ha una contraddizione identica a quella vista per il Caso I.

p. 29/4 Continua In modo del tutto analogo si vede che i vincoli x ij = 1 i, non possono essere violati. Quindi la soluzione è ammissibile.

p. 30/4 Valore dell obiettivo nella soluzione Si nota che le x ij sono uguali a 1 solo in corrispondenza di coppie (i,j) per cui si ha d 2 ij = 0. Quindi d ij x ij = d 2 ijx ij + D 0 + D 1 = D 0 + D 1. ovvero il valore dell obiettivo in corrispondenza di tale soluzione ammissibile è D 0 + D 1 e per quanto già osservato la soluzione è ottima.

p. 31/4 Ma come si calcola? Si costruisca un grafo bipartito nel modo seguente: * i due insiemi di vertici sono rispettivamente rappresentati dall insieme A e dall insieme B; * tra il vertice a i ed il vertice b j si traccia un arco (non orientato) se e solo se d 2 ij = 0. Un insieme indipendente di 0 equivale a un matching su tale grafo bipartito. Infatti, cercare insiemi di 0 nella tabella che non siano mai sulla stessa riga e colonna equivale a cercare insiemi di archi nel grafo bipartito che non abbiano nodi in comune, ovvero equivale a cercare dei matching. Quindi, determinare il massimo insieme di 0 indipendenti equivale a risolvere un problema di matching di cardinalità massima sul grafo bipartito.

p. 32/4 Nell esempio Risolvendo con l algoritmo visto per i problemi di matching di cardinalità massima su grafi bipartiti, si ottiene la seguente soluzione: con < n = 4. = {(a 1,b 1 ); (a 2,b 3 ); (a 3,b 2 )}

p. 33/4 Che fare se < n? L obiettivo finale sarà quello di giungere ad un ulteriore trasformazione della matrice T 2. Per arrivare a questa è necessario un passaggio ulteriore in cui si sfrutta l insieme trovato. Si tratterà di risolvere il seguente problema: determinare un insieme minimo di righe e colonne tali che ricoprendole si ricoprono tutti gli 0 della matrice T 2 Nel seguito si parlerà genericamente di linee, dove una linea può essere indifferentemente una riga od una colonna.

p. 34/4 Continua Questo è strettamente legato a quello della determinazione dell insieme. Infatti, consideriamo le etichette ottenute all ultima iterazione dell algoritmo per il massimo matching sul grafo bipartito costruito per determinare. Si può dimostrare la seguente proprietà: Un ricoprimento ottimo per il problema dato è formato da esattamente linee ed è costituito da: (i) Le righe a i corrispondenti a nodi non etichettati. (ii) le colonne b i corrispondenti a nodi etichettati.

p. 35/4 Nell esempio Le righe corrispondenti a nodi non etichettati al termine della risoluzione del problema di matching sono a 2 e a 3, mentre la sola colonna corrispondente a un nodo etichettato è la b 1.

p. 36/4 Aggiornamento della matrice T 2 Il ricoprimento con un numero minimo di linee ottenuto con la procedura appena descritta ci serve per aggiornare la matrice T 2 e trasformarla in una nuova matrice T 3. La trasformazione avviene seguendo questi passi. a) Determinare il valore minimo λ tra tutti gli elementi di T 2 non ricoperti da alcuna linea. Si noti che essendo gli 0 di T 2 tutti ricoperti, gli elementi non ricoperti sono tutti positivi e quindi λ stesso è positivo.

p. 37/4 b) Gli elementi d 3 ij della nuova matrice T 3 sono definiti in questo modo: d 3 ij = d 2 ij + d 3 i + d 3 j, dove d 3 i = { 0 se la riga a i è nel ricoprimento λ altrimenti e d 3 j = { λ se la colonna b j è nel ricoprimento 0 altrimenti

p. 38/4 Più semplicemente...... quanto visto equivale alla seguente regola: gli elementi ricoperti da due linee in T 2 devono essere incrementati di λ; gli elementi non ricoperti da alcuna linea vengono decrementati di λ; tutti gli altri (gli elementi ricoperti da una sola linea) non cambiano

p. 39/4 Nell esempio Si ha λ = 1 e T 3 sarà la seguente tabella: b 1 b 2 b 3 b 4 a 1 0 0 1 2 a 2 5 0 0 0 a 3 6 0 1 1 a 4 0 0 1 2

p. 40/4 Osservazione Da questa regola si vede anche che i soli elementi a cui viene sottratto qualcosa sono quelli non ricoperti e ad essi viene sottratto il minimo di tutti gli elementi non ricoperti. Ciò significa che tutti gli elementi d 3 ij di T 3 saranno non negativi come lo erano quelli di T 2.

p. 41/4 Un nuovo lower bound Il nostro obiettivo era stato riscritto in questo modo: d ij x ij = d 2 ijx ij + D 0 + D 1. Osserviamo ora che d 2 ij = d3 ij d3 i d3 j sostituire otteniamo: ed andando a d 2 ij x ij + D 0 + D 1 = (d 3 ij d3 i d3 j )x ij + D 0 + D 1 = = = d 3 ij x ij d 3 j x ij d 3 i x ij + D 0 + D 1 = d 3 ij x ij d 3 j x ij d 3 i x ij + D 0 + D 1.

p. 42/4 Quindi...... per ogni soluzione ammissibile, si avrà d ij x ij = d 3 ijx ij d 3 j d 3 i + D 0 + D 1.

p. 43/4 Continua Vediamo ora di calcolare n d3 j e n d3 i. Indichiamo con h 1 il numero di righe nel ricoprimento e con h 2 il numero di colonne nel ricoprimento. Si noti che h 1 + h 2 =. Si ha: e d 3 i = λ (numero righe che non sono nel ricoprimento) = λ(n h 1), d 3 j = λ (numero colonne che sono nel ricoprimento) = λh 2.

p. 44/4 Quindi... d ij x ij = d 3 ijx ij + λ(n h 1 ) λh 2 + D 0 + D 1, da cui d ij x ij = d 3 ijx ij + λ(n ) + D 0 + D 1.

Continua dal momento che d 3 ij 0 e x ij 0 si ha che un limite inferiore per il problema di assegnamento è D 0 + D 1 + λ(n ); se riesco a trovare un assegnamento che ha come valore dell obiettivo proprio tale limite inferiore ho determinato una soluzione ottima; la verifica se un tale assegnamento esista può essere fatto cercando un sottinsieme indipendente di cardinalità massima in T 3, esattamente come si era fatto in T 2. Se esso ha cardinalità n si ha un assegnamento ottimo, altrimenti sfruttando tale sottinsieme e passando attraverso la determinazione di un insieme minimo delle linee di ricoprimento di T 3 si determina una nuova matrice T 4 e si itera in questo modo la procedura fino a che si è determinato un assegnamento ottimo. p. 45/4

p. 46/4 Una semplificazione Per l individuazione dell insieme su T 3 conviene sfruttare i calcoli già fatti su T 2. Più precisamente, come matching iniziale sul grafo bipartito associato agli 0 di T 3 posso prendere il matching ottimo individuato sul grafo bipartito associato agli 0 di T 2. Si può infatti dimostrare che anche dopo l aggiornamento di T 2 in T 3 l insieme di 0 indipendenti che era soluzione ottima del problema di matching per T 2, si ritrova ancora in T 3.

p. 47/4 Finitezza Ci si può chiedere se la procedura termina oppure no, cioè se si arriva infine ad una matrice T h che contiene un sottinsieme di 0 indipendenti a due a due di cardinalità n. Nel caso in cui tutti i d ij siano interi si ha certamente terminazione finita. Lo si può vedere da come aumentano le limitazioni inferiori ad ogni iterazione.

p. 48/4 Con T 2 avevamo una limitazione inferiore per la soluzione ottima pari a D 0 + D 1 ; con T 3 si è passati ad una limitazione inferiore pari a D 0 + D 1 + λ(n ). La limitazione inferiore cresce quindi almeno di una quantità pari a λ > 0. Nel caso in cui i d ij siano interi λ deve essere anch esso un intero e quindi è certamente maggiore o uguale a 1. Se per assurdo la procedura dovesse essere iterata infinite volte, la limitazione inferiore stessa crescerebbe all infinito ma questo è assurdo in quanto un qualsiasi assegnamento (ad esempio l assegnamento (a i,b i ) per ogni i {1,...,n}) ha un valore finito ed il minimo di tali assegnamenti non può quindi crescere all infinito.

p. 49/4 Complessità Qui ci siamo limitati a dimostare che la procedura termina in un numero finito di iterazioni. In realtà si può dimostrare che essa richiede un numero O(n 3 ) di operazioni ed è quindi una procedura di complessità polinomiale, a ulteriore conferma dell appartenenza alla classe P del problema di assegnamento.