Esercizi · Formulazioni dei problemi di clique¶
Esercizi · Capitolo 12 · ogni soluzione si apre con un clic · Capitolo 12: Problemi di clique · Eserciziario, volume 2 (PDF)
Formulazioni usate in questi esercizi. I modelli del capitolo Formulazioni dei problemi di clique, dove \(\overline{E}\) è l'insieme dei non-spigoli di \(G\) e \(\mathcal{Q}\) l'insieme degli insiemi stabili massimali di \(G\) (le clique massimali del grafo complementare). La formulazione sugli spigoli \(\mathrm{ILP}_{\mathrm{MCP}}\):
La formulazione a clique \(\mathrm{ILP}^{\mathrm{CL}}_{\mathrm{MCP}}\):
Il rilassamento \(\mathrm{LP}_{\mathrm{MCP}}\) rilassa (M2) in \(0\le x_v\le 1\); il rilassamento \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\) rilassa (M5) in \(x_v\ge 0\), perché (M4) dà \(x_v\le 1\). I modelli \(\mathrm{ILP}_{\mathrm{MSSP}}\) e \(\mathrm{ILP}^{\mathrm{CL}}_{\mathrm{MSSP}}\) del MSSP sono (M0)–(M2) con (M1) scritto sugli spigoli di \(G\), e (M3)–(M5) con (M4) scritto sulle clique massimali di \(G\). Il modello \(\mathrm{ILP}^{\mathrm{VW}}_{\mathrm{MCP}}\) del VWMCP è (M0)–(M2) con la funzione obiettivo \(\max \sum_{v\in V} w_v\,x_v\). Il modello \(\mathrm{ILP}^{\mathrm{EW}}_{\mathrm{MCP}}\) dell'EWMCP aggiunge una variabile binaria \(y_{uv}\) per ogni spigolo \(\{u,v\}\in E\):
Esercizio 12.1: Modello PLI del problema della clique massima (MCP)
Consideriamo il grafo \(G=(V,E)\) con \(V=\{1,\dots,6\}\) e i \(7\) spigoli
Domande
-
Scrivere i non-spigoli di \(G\). Quante variabili e quanti vincoli ha il modello \(\mathrm{ILP}_{\mathrm{MCP}}\)?
-
Scrivere il modello \(\mathrm{ILP}_{\mathrm{MCP}}\) di \(G\).
-
Risolvere il modello con Gurobi: dare \(z(\mathrm{ILP}_{\mathrm{MCP}})\) e la soluzione ottima. È unica?
-
Quale modello PLI del problema dell'insieme stabile massimo su \(\overline{G}\) si ottiene? Motivare la risposta.
Soluzione
-
\(G\) ha \(\binom{6}{2}-7=8\) non-spigoli:
\[ \overline{E}=\{\{1,4\},~\{1,5\},~\{1,6\},~\{2,5\},~\{2,6\},~\{3,4\},~\{3,6\},~\{4,6\}\}. \]Il modello ha \(n=6\) variabili binarie e un vincolo per ogni non-spigolo: \(8\) vincoli lineari.
-
Il modello \(\mathrm{ILP}_{\mathrm{MCP}}\) è:
\[ \begin{array}{rrrrrrrcl} {\max} & {x_1} & {+\,x_2} & {+\,x_3} & {+\,x_4} & {+\,x_5} & {+\,x_6} \\[1ex] \text{soggetto a} & {x_1} & & & {+\,x_4} & & & {\le} & {1} \\ & {x_1} & & & & {+\,x_5} & & {\le} & {1} \\ & {x_1} & & & & & {+\,x_6} & {\le} & {1} \\ & & {x_2} & & & {+\,x_5} & & {\le} & {1} \\ & & {x_2} & & & & {+\,x_6} & {\le} & {1} \\ & & & {x_3} & {+\,x_4} & & & {\le} & {1} \\ & & & {x_3} & & & {+\,x_6} & {\le} & {1} \\ & & & & {x_4} & & {+\,x_6} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6} & {\in} & {\{0,1\}} \end{array} \] -
Gurobi restituisce \(z(\mathrm{ILP}_{\mathrm{MCP}})=3\) con \(\tilde x_1=\tilde x_2=\tilde x_3=1\) e \(\tilde x_4=\tilde x_5=\tilde x_6=0\): la clique \(\{1,2,3\}\). L'enumerazione delle clique mostra che è l'unico triangolo, e nessuna clique ha \(4\) vertici (solo i vertici \(2\), \(3\) e \(5\) hanno grado \(3\)). La soluzione ottima è unica.
-
Lo stesso modello: i suoi vincoli sono scritti sugli spigoli di \(\overline{G}\), il cui insieme degli spigoli è \(\overline{E}\), e \(x_u+x_v\le 1\) dice che di ogni spigolo di \(\overline{G}\) si seleziona al più un estremo. È la formulazione sugli spigoli del MSSP su \(\overline{G}\), e \(\alpha(\overline{G})=\omega(G)=3\).
Esercizio 12.2: Il grafo complementare e la formulazione a clique (MCP)
Consideriamo il grafo \(G=(V,E)\) con \(V=\{1,\dots,6\}\) e i \(7\) spigoli
Domande
-
Scrivere gli spigoli del grafo complementare \(\overline{G}\) e disegnarlo accanto a \(G\).
-
Elencare le clique massimali di \(\overline{G}\).
-
Scrivere la formulazione a clique \(\mathrm{ILP}^{\mathrm{CL}}_{\mathrm{MCP}}\) e confrontare il suo numero di vincoli con quello del modello \(\mathrm{ILP}_{\mathrm{MCP}}\).
-
Mostrare che ogni vincolo di \(\mathrm{ILP}_{\mathrm{MCP}}\) è implicato da un vincolo di \(\mathrm{ILP}^{\mathrm{CL}}_{\mathrm{MCP}}\).
-
Risolvere entrambi i modelli con Gurobi e dare una clique massima di \(G\).
Soluzione
-
\(\overline{G}\) ha gli \(\binom{6}{2}-7=8\) non-spigoli di \(G\):
\[ \overline{E}=\{\{1,2\},~\{1,3\},~\{1,6\},~\{2,3\},~\{3,4\},~\{3,5\},~\{4,5\},~\{5,6\}\}. \] -
Le clique massimali di \(\overline{G}\) sono i due triangoli \(\{1,2,3\}\) e \(\{3,4,5\}\), che hanno in comune il vertice \(3\), e i due spigoli \(\{1,6\}\) e \(\{5,6\}\): il vertice \(6\) è adiacente in \(\overline{G}\) solo a \(1\) e \(5\), che lì non sono adiacenti.
-
La formulazione a clique ha un vincolo per ogni clique massimale di \(\overline{G}\):
\[ \begin{array}{rrrrrrrcl} {\max} & {x_1} & {+\,x_2} & {+\,x_3} & {+\,x_4} & {+\,x_5} & {+\,x_6} \\[1ex] \text{soggetto a} & {x_1} & {+\,x_2} & {+\,x_3} & & & & {\le} & {1} \\ & & & {x_3} & {+\,x_4} & {+\,x_5} & & {\le} & {1} \\ & {x_1} & & & & & {+\,x_6} & {\le} & {1} \\ & & & & & {x_5} & {+\,x_6} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6} & {\in} & {\{0,1\}} \end{array} \]Ha \(4\) vincoli, contro gli \(8\) vincoli di \(\mathrm{ILP}_{\mathrm{MCP}}\) (uno per ogni spigolo di \(\overline{G}\)).
-
Ogni spigolo di \(\overline{G}\) sta in una clique massimale, e le variabili sono non negative:
vincolo di \(\mathrm{ILP}_{\mathrm{MCP}}\) implicato da \(x_1+x_2\le 1\) \(x_1+x_2+x_3\le 1\) \(x_1+x_3\le 1\) \(x_1+x_2+x_3\le 1\) \(x_1+x_6\le 1\) \(x_1+x_6\le 1\) \(x_2+x_3\le 1\) \(x_1+x_2+x_3\le 1\) \(x_3+x_4\le 1\) \(x_3+x_4+x_5\le 1\) \(x_3+x_5\le 1\) \(x_3+x_4+x_5\le 1\) \(x_4+x_5\le 1\) \(x_3+x_4+x_5\le 1\) \(x_5+x_6\le 1\) \(x_5+x_6\le 1\) -
Entrambi i modelli danno il valore ottimo \(3\), con la clique \(\{2,4,6\}\) di \(G\): è un insieme stabile di \(\overline{G}\), ed è l'unica clique massima (enumerazione).
Esercizio 12.3: Bound LP: formulazione sugli spigoli e formulazione a clique (MCP)
Consideriamo il grafo \(G=(V,E)\) con \(V=\{1,\dots,7\}\) e i \(9\) spigoli
Domande
-
Scrivere il modello \(\mathrm{LP}_{\mathrm{MCP}}\) (formulazione sugli spigoli con \(0\le x_v\le 1\)). Mostrare che \(\bar x_v=\frac{1}{2}\) per ogni vertice è ammissibile, e calcolare \(z(\mathrm{LP}_{\mathrm{MCP}})\) con Gurobi.
-
Elencare le clique massimali di \(\overline{G}\) e scrivere il modello \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\).
-
Il punto \(\bar x_v=\frac{1}{2}\) è ammissibile per \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\)? Calcolare \(z(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}})\) con Gurobi, e dimostrare il valore sommando alcuni vincoli.
-
Trovare \(\omega(G)\) e confrontare i due bound LP.
Soluzione
-
I \(12\) non-spigoli danno il modello
\[ \begin{array}{rrrrrrrrcl} {\max} & {x_1} & {+\,x_2} & {+\,x_3} & {+\,x_4} & {+\,x_5} & {+\,x_6} & {+\,x_7} \\[1ex] \text{soggetto a} & {x_1} & & {+\,x_3} & & & & & {\le} & {1} \\ & {x_1} & & & & & & {+\,x_7} & {\le} & {1} \\ & & {x_2} & {+\,x_3} & & & & & {\le} & {1} \\ & & {x_2} & & {+\,x_4} & & & & {\le} & {1} \\ & & {x_2} & & & {+\,x_5} & & & {\le} & {1} \\ & & {x_2} & & & & {+\,x_6} & & {\le} & {1} \\ & & & {x_3} & & & {+\,x_6} & & {\le} & {1} \\ & & & {x_3} & & & & {+\,x_7} & {\le} & {1} \\ & & & & {x_4} & {+\,x_5} & & & {\le} & {1} \\ & & & & {x_4} & & {+\,x_6} & & {\le} & {1} \\ & & & & {x_4} & & & {+\,x_7} & {\le} & {1} \\ & & & & & & {x_6} & {+\,x_7} & {\le} & {1} \\ & {x_1} & & & & & & & {\le} & {1} \\ & & {x_2} & & & & & & {\le} & {1} \\ & & & {x_3} & & & & & {\le} & {1} \\ & & & & {x_4} & & & & {\le} & {1} \\ & & & & & {x_5} & & & {\le} & {1} \\ & & & & & & {x_6} & & {\le} & {1} \\ & & & & & & & {x_7} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6}, & {x_7} & {\ge} & {0} \end{array} \]Con \(\bar x_v=\frac{1}{2}\) ogni vincolo diventa \(\frac{1}{2}+\frac{1}{2}=1\le 1\), e il valore è \(\frac{7}{2}\). Gurobi restituisce \(z(\mathrm{LP}_{\mathrm{MCP}})=\frac{7}{2}\): il punto è ottimo.
-
Le \(6\) clique massimali di \(\overline{G}\) (insiemi stabili massimali di \(G\)) sono \(\{1,3,7\}\), \(\{2,3,6\}\), \(\{2,4,5\}\), \(\{2,4,6\}\), \(\{3,6,7\}\), \(\{4,6,7\}\), e il modello è
\[ \begin{array}{rrrrrrrrcl} {\max} & {x_1} & {+\,x_2} & {+\,x_3} & {+\,x_4} & {+\,x_5} & {+\,x_6} & {+\,x_7} \\[1ex] \text{soggetto a} & {x_1} & & {+\,x_3} & & & & {+\,x_7} & {\le} & {1} \\ & & {x_2} & {+\,x_3} & & & {+\,x_6} & & {\le} & {1} \\ & & {x_2} & & {+\,x_4} & {+\,x_5} & & & {\le} & {1} \\ & & {x_2} & & {+\,x_4} & & {+\,x_6} & & {\le} & {1} \\ & & & {x_3} & & & {+\,x_6} & {+\,x_7} & {\le} & {1} \\ & & & & {x_4} & & {+\,x_6} & {+\,x_7} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6}, & {x_7} & {\ge} & {0} \end{array} \] -
No: \(\bar x_1+\bar x_3+\bar x_7=\frac{3}{2}>1\). Gurobi restituisce \(z(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}})=3\). I tre vincoli di \(\{1,3,7\}\), \(\{2,3,6\}\), \(\{2,4,5\}\) coprono ogni vertice almeno una volta; sommandoli, ogni variabile compare con coefficiente almeno \(1\), quindi \(\sum_{v=1}^{7}x_v\le 3\) per ogni punto ammissibile.
-
Il triangolo \(\{1,5,6\}\) è l'unica clique massima (enumerazione), quindi \(\omega(G)=3\).
La formulazione sugli spigoli dà \(\frac{7}{2}\) (e \(\lfloor\frac{7}{2}\rfloor=3\) arrotondando per difetto, perché \(\omega(G)\) è intero); la formulazione a clique dà direttamente \(3\), senza gap.
Esercizio 12.4: Numero di clique, bound LP e numero cromatico (MCP)
La ruota \(W_5\) ha i vertici \(V=\{1,\dots,6\}\): i vertici \(1,\dots,5\) formano un ciclo, e il vertice \(6\) è adiacente a tutti loro.
Domande
-
Elencare gli insiemi stabili massimali di \(W_5\), cioè le clique massimali di \(\overline{W_5}\).
-
Scrivere il modello \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\) e il suo duale \(D(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}})\), e dire quale formulazione di colorazione rilassa il duale.
-
Trovare una soluzione primale e una soluzione duale di valore \(\frac{7}{2}\). Che cosa si può concludere?
-
Dedurre \(\omega(W_5)\) e \(\chi(W_5)\) dall'integralità dei due numeri, e scrivere la catena del capitolo.
Soluzione
-
Un insieme stabile contiene al più \(2\) vertici del ciclo, mai due consecutivi, e il vertice \(6\) è adiacente a tutti gli altri. Gli insiemi stabili massimali sono \(\{1,3\}\), \(\{1,4\}\), \(\{2,4\}\), \(\{2,5\}\), \(\{3,5\}\), \(\{6\}\).
-
Con un vincolo per ogni insieme stabile massimale:
\[ \begin{array}{rrrrrrrcl} {\max} & {x_1} & {+\,x_2} & {+\,x_3} & {+\,x_4} & {+\,x_5} & {+\,x_6} \\[1ex] \text{soggetto a} & {x_1} & & {+\,x_3} & & & & {\le} & {1} \\ & {x_1} & & & {+\,x_4} & & & {\le} & {1} \\ & & {x_2} & & {+\,x_4} & & & {\le} & {1} \\ & & {x_2} & & & {+\,x_5} & & {\le} & {1} \\ & & & {x_3} & & {+\,x_5} & & {\le} & {1} \\ & & & & & & {x_6} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6} & {\ge} & {0} \end{array} \]Con una variabile duale non negativa \(\pi_Q\) per vincolo (l'indice \(Q\) scritto con i suoi vertici), il duale \(D(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}})\) è
\[ \begin{array}{rrrrrrrcl} {\min} & {\pi_{13}} & {+\,\pi_{14}} & {+\,\pi_{24}} & {+\,\pi_{25}} & {+\,\pi_{35}} & {+\,\pi_{6}} \\[1ex] \text{soggetto a} & {\pi_{13}} & {+\,\pi_{14}} & & & & & {\ge} & {1} \\ & & & {\pi_{24}} & {+\,\pi_{25}} & & & {\ge} & {1} \\ & {\pi_{13}} & & & & {+\,\pi_{35}} & & {\ge} & {1} \\ & & {\pi_{14}} & {+\,\pi_{24}} & & & & {\ge} & {1} \\ & & & & {\pi_{25}} & {+\,\pi_{35}} & & {\ge} & {1} \\ & & & & & & {\pi_{6}} & {\ge} & {1} \\[1ex] & {\pi_{13}}, & {\pi_{14}}, & {\pi_{24}}, & {\pi_{25}}, & {\pi_{35}}, & {\pi_{6}} & {\ge} & {0} \end{array} \]È il rilassamento lineare della formulazione a insiemi stabili \(\mathrm{ILP}^{\mathrm{ST}}_{\mathrm{VCP}}\) del VCP, con gli insiemi stabili massimali: ogni vertice deve essere coperto da un insieme stabile scelto.
-
Il punto primale \(\bar x_1=\dots=\bar x_5=\frac{1}{2}\), \(\bar x_6=1\) soddisfa tutti i vincoli e ha valore \(\frac{5}{2}+1=\frac{7}{2}\). Il punto duale \(\bar\pi_Q=\frac{1}{2}\) per le cinque coppie e \(\bar\pi_{6}=1\) copre ogni vertice del ciclo con \(\frac{1}{2}+\frac{1}{2}=1\) e il vertice \(6\) con \(1\), e ha valore \(\frac{7}{2}\). Valori uguali: per la dualità debole entrambi sono ottimi, e \(z(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}})=\frac{7}{2}\) (Gurobi conferma).
-
\(\omega(W_5)\le\frac{7}{2}\) e \(\omega(W_5)\) è intero, quindi \(\omega(W_5)\le 3\); il triangolo \(\{1,2,6\}\) dà \(\omega(W_5)=3\). \(\chi(W_5)\ge\frac{7}{2}\), quindi \(\chi(W_5)\ge 4\); la colorazione \(\{1,3\},\{2,4\},\{5\},\{6\}\) dà \(\chi(W_5)=4\). La catena diventa
\[ \omega(W_5)=3\;<\;z(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}})=\frac{7}{2}\;<\;\chi(W_5)=4 . \]
Esercizio 12.5: Ammissibilità nelle due formulazioni (MCP)
Consideriamo il ciclo \(C_6\) con i vertici \(V=\{1,\dots,6\}\) e gli spigoli \(\{1,2\},\{2,3\},\{3,4\},\{4,5\},\{5,6\},\{1,6\}\),
e i cinque punti \(\vet{x}=(x_1,\dots,x_6)\):
Domande
-
Scrivere i vincoli di \(\mathrm{LP}_{\mathrm{MCP}}\) e di \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\) per \(C_6\).
-
Per ogni punto, stabilire se è ammissibile per \(\mathrm{LP}_{\mathrm{MCP}}\), per \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\) e per \(\mathrm{ILP}_{\mathrm{MCP}}\).
-
Che cosa dicono i valori dei punti ammissibili sui due bound LP?
-
Calcolare i due bound LP con Gurobi e confrontarli con \(\omega(C_6)\).
Soluzione
-
Con i \(9\) vincoli sui non-spigoli, il modello \(\mathrm{LP}_{\mathrm{MCP}}\) è
\[ \begin{array}{rrrrrrrcl} {\max} & {x_1} & {+\,x_2} & {+\,x_3} & {+\,x_4} & {+\,x_5} & {+\,x_6} \\[1ex] \text{soggetto a} & {x_1} & & {+\,x_3} & & & & {\le} & {1} \\ & {x_1} & & & {+\,x_4} & & & {\le} & {1} \\ & {x_1} & & & & {+\,x_5} & & {\le} & {1} \\ & & {x_2} & & {+\,x_4} & & & {\le} & {1} \\ & & {x_2} & & & {+\,x_5} & & {\le} & {1} \\ & & {x_2} & & & & {+\,x_6} & {\le} & {1} \\ & & & {x_3} & & {+\,x_5} & & {\le} & {1} \\ & & & {x_3} & & & {+\,x_6} & {\le} & {1} \\ & & & & {x_4} & & {+\,x_6} & {\le} & {1} \\ & {x_1} & & & & & & {\le} & {1} \\ & & {x_2} & & & & & {\le} & {1} \\ & & & {x_3} & & & & {\le} & {1} \\ & & & & {x_4} & & & {\le} & {1} \\ & & & & & {x_5} & & {\le} & {1} \\ & & & & & & {x_6} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6} & {\ge} & {0} \end{array} \]Con un vincolo per ogni insieme stabile massimale di \(C_6\), il modello \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\) è
\[ \begin{array}{rrrrrrrcl} {\max} & {x_1} & {+\,x_2} & {+\,x_3} & {+\,x_4} & {+\,x_5} & {+\,x_6} \\[1ex] \text{soggetto a} & {x_1} & & {+\,x_3} & & {+\,x_5} & & {\le} & {1} \\ & & {x_2} & & {+\,x_4} & & {+\,x_6} & {\le} & {1} \\ & {x_1} & & & {+\,x_4} & & & {\le} & {1} \\ & & {x_2} & & & {+\,x_5} & & {\le} & {1} \\ & & & {x_3} & & & {+\,x_6} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6} & {\ge} & {0} \end{array} \] -
-
\(\bar{\vet x}^{a}\): ammissibile per \(\mathrm{LP}_{\mathrm{MCP}}\); la disuguaglianza di clique di \(\{1,3,5\}\) dà \(\frac{3}{2}>1\), quindi inammissibile per \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\) e \(\mathrm{ILP}_{\mathrm{MCP}}\).
-
\(\bar{\vet x}^{b}\): ammissibile per tutti e tre i modelli: è la clique \(\{1,2\}\).
-
\(\bar{\vet x}^{c}\): \(x_1+x_3=2>1\) viola un vincolo su un non-spigolo: inammissibile per tutti e tre i modelli (ogni vincolo di \(\mathrm{LP}_{\mathrm{MCP}}\) è implicato da \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\)).
-
\(\bar{\vet x}^{d}\): ammissibile per \(\mathrm{LP}_{\mathrm{MCP}}\) e \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\), non per \(\mathrm{ILP}_{\mathrm{MCP}}\) (frazionario).
-
\(\bar{\vet x}^{e}\): ammissibile per \(\mathrm{LP}_{\mathrm{MCP}}\) e \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\), non per \(\mathrm{ILP}_{\mathrm{MCP}}\) (frazionario).
-
-
\(\bar{\vet x}^{a}\) ha valore \(3\), quindi \(z(\mathrm{LP}_{\mathrm{MCP}})\ge 3\). In \(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}}\) il miglior punto ammissibile fra i cinque è \(\bar{\vet x}^{e}\), di valore \(2\); \(\bar{\vet x}^{d}\) ha valore \(\frac{3}{2}\) e \(\bar{\vet x}^{b}\) ha valore \(2\).
-
Gurobi restituisce \(z(\mathrm{LP}_{\mathrm{MCP}})=3\) e \(z(\mathrm{LP}^{\mathrm{CL}}_{\mathrm{MCP}})=2\). Il secondo valore si dimostra sommando i vincoli di \(\{1,3,5\}\) e \(\{2,4,6\}\), che danno \(\sum_{v=1}^{6}x_v\le 2\). \(C_6\) non ha triangoli, quindi \(\omega(C_6)=2\): la formulazione a clique chiude il gap, la formulazione sugli spigoli lascia \(3\) contro \(2\).
Esercizio 12.6: Modelli PLI del problema dell'insieme stabile massimo (MSSP)
Consideriamo il grafo \(G=(V,E)\) con \(V=\{1,\dots,6\}\) e i \(7\) spigoli
Cerchiamo un insieme stabile massimo di \(G\).
Domande
-
Quante variabili e quanti vincoli ha la formulazione sugli spigoli \(\mathrm{ILP}_{\mathrm{MSSP}}\) di \(G\)? Scriverla.
-
Risolvere il modello con Gurobi: dare \(z(\mathrm{ILP}_{\mathrm{MSSP}})\) e una soluzione ottima. È unica?
-
Scrivere le clique massimali di \(G\) e la formulazione a clique \(\mathrm{ILP}^{\mathrm{CL}}_{\mathrm{MSSP}}\).
-
Confrontare i valori ottimi dei rilassamenti lineari delle due formulazioni (Gurobi).
Soluzione
-
Ci sono \(n=6\) variabili binarie e un vincolo \(x_u+x_v\le 1\) per ogni spigolo di \(G\): \(7\) vincoli lineari. Il modello \(\mathrm{ILP}_{\mathrm{MSSP}}\) è:
\[ \begin{array}{rrrrrrrcl} {\max} & {x_1} & {+\,x_2} & {+\,x_3} & {+\,x_4} & {+\,x_5} & {+\,x_6} \\[1ex] \text{soggetto a} & {x_1} & {+\,x_2} & & & & & {\le} & {1} \\ & {x_1} & & {+\,x_3} & & & & {\le} & {1} \\ & {x_1} & & & & & {+\,x_6} & {\le} & {1} \\ & & {x_2} & {+\,x_3} & & & & {\le} & {1} \\ & & & {x_3} & {+\,x_4} & & & {\le} & {1} \\ & & & & {x_4} & {+\,x_5} & & {\le} & {1} \\ & & & & & {x_5} & {+\,x_6} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6} & {\in} & {\{0,1\}} \end{array} \] -
Gurobi restituisce \(z(\mathrm{ILP}_{\mathrm{MSSP}})=3\) con l'insieme stabile \(\{2,4,6\}\). La soluzione ottima è unica.
-
Le clique massimali di \(G\) sono il triangolo \(\{1,2,3\}\) e gli spigoli \(\{1,6\}\), \(\{3,4\}\), \(\{4,5\}\), \(\{5,6\}\): \(5\) clique invece di \(7\) spigoli, perché i tre spigoli del triangolo sono sostituiti da \(x_1+x_2+x_3\le 1\). Il modello \(\mathrm{ILP}^{\mathrm{CL}}_{\mathrm{MSSP}}\) è:
\[ \begin{array}{rrrrrrrcl} {\max} & {x_1} & {+\,x_2} & {+\,x_3} & {+\,x_4} & {+\,x_5} & {+\,x_6} \\[1ex] \text{soggetto a} & {x_1} & {+\,x_2} & {+\,x_3} & & & & {\le} & {1} \\ & {x_1} & & & & & {+\,x_6} & {\le} & {1} \\ & & & {x_3} & {+\,x_4} & & & {\le} & {1} \\ & & & & {x_4} & {+\,x_5} & & {\le} & {1} \\ & & & & & {x_5} & {+\,x_6} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6} & {\in} & {\{0,1\}} \end{array} \]Il suo valore ottimo è ancora \(3\).
-
Il rilassamento lineare della formulazione sugli spigoli, con \(0\le x_v\le 1\), ha valore ottimo \(3\); il rilassamento lineare della formulazione a clique ha valore ottimo \(3\). Su questo grafo entrambi i bound sono pari ad \(\alpha(G)=3\): il punto \(x_v=\frac{1}{2}\), di valore \(3\), è ammissibile per la formulazione sugli spigoli ma viola \(x_1+x_2+x_3\le 1\), e il bound non cambia perché anche l'ottimo intero ha valore \(3\).
Esercizio 12.7: Modello PLI del problema della clique massima pesata sui vertici
Consideriamo il grafo \(G=(V,E)\) con \(V=\{1,\dots,6\}\) e i \(7\) spigoli
e i pesi dei vertici
Domande
-
Scrivere il modello \(\mathrm{ILP}^{\mathrm{VW}}_{\mathrm{MCP}}\) del problema della clique massima pesata sui vertici su questa istanza.
-
Risolvere il modello con Gurobi: dare il valore ottimo e la clique ottima. È unica?
-
Confrontare la clique ottima con la clique massima di \(G\), e spiegare la differenza.
Soluzione
-
\(G\) ha \(\binom{6}{2}-7=8\) non-spigoli, con un vincolo ciascuno:
\[ \begin{array}{rrrrrrrcl} {\max} & {2\,x_1} & {+\,3\,x_2} & {+\,4\,x_3} & {+\,6\,x_4} & {+\,5\,x_5} & {+\,7\,x_6} \\[1ex] \text{soggetto a} & {x_1} & & & {+\,x_4} & & & {\le} & {1} \\ & {x_1} & & & & {+\,x_5} & & {\le} & {1} \\ & {x_1} & & & & & {+\,x_6} & {\le} & {1} \\ & & {x_2} & & & {+\,x_5} & & {\le} & {1} \\ & & {x_2} & & & & {+\,x_6} & {\le} & {1} \\ & & & {x_3} & {+\,x_4} & & & {\le} & {1} \\ & & & {x_3} & & & {+\,x_6} & {\le} & {1} \\ & & & & {x_4} & & {+\,x_6} & {\le} & {1} \\[1ex] & {x_1}, & {x_2}, & {x_3}, & {x_4}, & {x_5}, & {x_6} & {\in} & {\{0,1\}} \end{array} \] -
Gurobi restituisce il valore ottimo \(12\) con \(\tilde x_5=\tilde x_6=1\): la clique \(\{5,6\}\), di peso \(5+7=12\). L'enumerazione delle clique dà come secondo miglior valore \(11\) (clique \(\{4,5\}\)): la soluzione ottima è unica.
-
La clique massima di \(G\) è il triangolo \(\{1,2,3\}\), con \(3\) vertici ma peso solo \(2+3+4=9\). I due modelli hanno gli stessi vincoli, quindi le stesse soluzioni ammissibili (le clique di \(G\)); cambia solo la funzione obiettivo, e i vertici leggeri del triangolo perdono contro lo spigolo pesante \(\{5,6\}\).
Esercizio 12.8: Modello PLI del problema della clique massima pesata sugli spigoli
Consideriamo il grafo \(G=(V,E)\) con \(V=\{1,\dots,5\}\) e i \(7\) spigoli
e i pesi degli spigoli
| spigolo | \(\{1,2\}\) | \(\{1,3\}\) | \(\{2,3\}\) | \(\{2,4\}\) | \(\{3,4\}\) | \(\{3,5\}\) | \(\{4,5\}\) |
|---|---|---|---|---|---|---|---|
| \(r_{uv}\) | \(2\) | \(3\) | \(1\) | \(4\) | \(2\) | \(5\) | \(6\) |
Domande
-
Contare le variabili e i vincoli del modello \(\mathrm{ILP}^{\mathrm{EW}}_{\mathrm{MCP}}\) del problema della clique massima pesata sugli spigoli su questa istanza, e scriverlo.
-
Risolvere il modello con Gurobi: dare il valore ottimo, la clique ottima e le variabili \(y_{uv}\) pari a \(1\).
-
Verificare il risultato elencando le clique massimali di \(G\) con il peso totale dei loro spigoli.
-
Spiegare perché i vincoli \(y_{uv}\ge x_u+x_v-1\) non servono nel modello.
Soluzione
-
Ci sono \(n=5\) variabili \(x_v\) e \(m=7\) variabili \(y_{uv}\), quindi \(12\) variabili binarie. Ci sono \(2m=14\) vincoli \(y_{uv}\le x_u\), \(y_{uv}\le x_v\) e un vincolo per ogni non-spigolo, \(3\) in tutto: \(17\) vincoli lineari. Il modello è:
\[ \begin{array}{rlcl} {\max} & {2\,y_{12}+3\,y_{13}+y_{23}+4\,y_{24}+2\,y_{34}+5\,y_{35}+6\,y_{45}} & & \\[1ex] \text{soggetto a} & {y_{12}-x_1} & {\le} & {0} \\ & {y_{12}-x_2} & {\le} & {0} \\ & {y_{13}-x_1} & {\le} & {0} \\ & {y_{13}-x_3} & {\le} & {0} \\ & {y_{23}-x_2} & {\le} & {0} \\ & {y_{23}-x_3} & {\le} & {0} \\ & {y_{24}-x_2} & {\le} & {0} \\ & {y_{24}-x_4} & {\le} & {0} \\ & {y_{34}-x_3} & {\le} & {0} \\ & {y_{34}-x_4} & {\le} & {0} \\ & {y_{35}-x_3} & {\le} & {0} \\ & {y_{35}-x_5} & {\le} & {0} \\ & {y_{45}-x_4} & {\le} & {0} \\ & {y_{45}-x_5} & {\le} & {0} \\ & {x_1+x_4} & {\le} & {1} \\ & {x_1+x_5} & {\le} & {1} \\ & {x_2+x_5} & {\le} & {1} \\[1ex] & {x_1,~x_2,~x_3,~x_4,~x_5} & {\in} & {\{0,1\}} \\ & {y_{12},~y_{13},~y_{23},~y_{24},~y_{34},~y_{35},~y_{45}} & {\in} & {\{0,1\}} \end{array} \] -
Gurobi restituisce il valore ottimo \(13\) con \(\tilde x_3=\tilde x_4=\tilde x_5=1\) e \(\tilde y_{34}=\tilde y_{35}=\tilde y_{45}=1\), con tutte le altre variabili pari a \(0\): la clique \(\{3,4,5\}\), di peso \(2+5+6=13\).
-
Le clique massimali di \(G\) e i loro pesi sono:
-
\(\{1,2,3\}\): \(2+3+1=6\);
-
\(\{2,3,4\}\): \(1+4+2=7\);
-
\(\{3,4,5\}\): \(2+5+6=13\);
Ogni clique è contenuta in una di esse e i pesi sono positivi, quindi il valore ottimo è \(13\), raggiunto solo da \(\{3,4,5\}\).
-
-
Se entrambi gli estremi di \(\{u,v\}\) sono selezionati, i vincoli permettono \(y_{uv}=1\), e poiché \(r_{uv}>0\) la funzione obiettivo preferisce \(y_{uv}=1\) a \(y_{uv}=0\): ogni soluzione ottima ha \(y_{uv}=\min\{x_u,x_v\}\). Il vincolo \(y_{uv}\ge x_u+x_v-1\) servirebbe solo con pesi negativi.