Prevoz po cesti ima določeno ceno na enoto:

</span>
Rešitev 1:

Cena: $4 \cdot 1 + 3 \cdot 3 = 13$
</span>
Rešitev 2:

Cena: $7 \cdot 1 + 3 \cdot 1 = 10$
</span>
</span>
Imamo usmerjen utežen graf $G = (V, E)$, kjer je $V$ množica vozlišč in $E$ množica usmerjenih povezav, ter uteži na vozliščih $b_v \in \mathbb{R}$ ($v \in V$) in uteži na povezavah $c_{uv} \in \mathbb{R}$ ($uv \in E$), kjer:
Predpostavimo $\sum_{v \in V} b_v = 0$.
Iščemo $x_{uv} \ge 0$ za vsako povezavo $uv \in E$, tako da velja Kirchhoffov zakon:
\[\forall v \in V: \sum_{uv \in E} x_{uv} - \sum_{vu \in E} x_{vu} = b_v.\]Radi bi minimizirali ceno $\sum_{uv \in E} c_{uv} x_{uv}$.
V našem primeru:
\[\begin{aligned} \min &\ & x_{ab} + 3 x_{ac} + x_{bc} + 6 x_{cb} \\[1ex] \text{p.p.} && -x_{ab} - x_{ac} &= -7 \\ && x_{ab} + x_{cb} - x_{bc} &= 4 \\ && x_{ac} + x_{bc} - x_{cb} &= 3 \\ && x_{ab}, x_{ac}, x_{bc}, x_{cb} &\ge 0 \end{aligned}\]Naj bo $A \in \mathbb{R}^{V \times E}$ incidenčna matrika usmerjenega grafa $G = (V, E)$, tj., $A = (a_{ve})_{v \in V, e \in E}$, kjer je
\[a_{ve} = \begin{cases} 1 & \operatorname{konec}(e) = v, \\ -1 & \operatorname{začetek}(e) = v, \text{in} \\ 0 & \text{sicer,} \end{cases}\]ter $b \in \mathbb{R}^V$ in $c \in \mathbb{R}^E$ vektorja uteži vozlišč in povezav.
Potem lahko problem razvoza $\Pi$ zapišemo kot
\[\begin{aligned} \min \ c^\top x \\[1ex] \text{p.p.} \quad A x &= b \\ x &\ge 0 \end{aligned}\]
Ekvivalenten zapis $\Pi$:
\[\begin{aligned} \max \ -c^\top x \\[1ex] \text{p.p.} \quad -A x &= -b \\ x &\ge 0 \end{aligned}\]Dual $\Pi’$ problema razvoza $\Pi$ je potem
\[\begin{aligned} \min \ -b^\top y \\[1ex] \text{p.p.} \quad -A^\top y &\ge -c \end{aligned}\]Ekvivalentno ga lahko zapišemo kot
\[\begin{aligned} \max \ b^\top y \\[1ex] \text{p.p.} \quad A^\top y &\le c \end{aligned}\]</span>
Ker ima matrika $A$ vrednosti v stolpcu, ki ustreza povezavi $uv$, vrednosti $-1$ in $1$ v vrsticah, ki ustrezata vozliščema $u$ oziroma $v$, in $0$ drugod, lahko dual problema razvoza zapišemo tudi kot
\[\begin{aligned} \max \ \sum_{v \in V} b_v y_v \\[1ex] \text{p.p.} \quad \forall uv \in E: \ y_u + c_{uv} &\ge y_v \end{aligned}\]Opazimo, da če je $y$ dopustna (optimalna) rešitev $\Pi’$, potem je tudi $y + \epsilon$ ($\epsilon \in \mathbb{R}$) dopustna (optimalna) rešitev $\Pi’$, saj velja
\[\sum_{v \in V} b_v (y_v + \epsilon) = \sum_{v \in V} b_v y_v + \epsilon \sum_{v \in V} b_v = \sum_{v \in V} b_v y_v.\]Vemo tudi (dualno dopolnjevanje): če sta $x$ in $y$ dopustni rešitvi za $\Pi$ oziroma $\Pi’$, potem sta $x, y$ tudi optimalni natanko tedaj, ko velja
\[\forall uv \in E: \ (x_{uv} = 0 \ \lor \ y_u + c_{uv} = y_v)\]</span>
Rešitev 1 je dopustna, ni pa optimalna:
\[\begin{aligned} y_a &= 0 \\ y_b = y_a + 1 &= 1 \\ y_c = y_a + 3 &= 3 \\ y_b + 1 &\not\ge y_c \\ y_c + 6 &\ge y_b \end{aligned}\]Rešitev 2 je dopustna in tudi optimalna:
\[\begin{aligned} y_a &= 0 \\ y_b = y_a + 1 &= 1 \\ y_c = y_b + 1 &= 2 \\ y_a + 3 &\ge y_c \\ y_c + 6 &\ge y_b \end{aligned}\]</span>
Kdaj je sistem $\forall uv \in E’: \ y_u + c_{uv} = y_v$ ($E’ \subseteq E$) rešljiv?

</span>
</span>
</span>

</span>
</span>
</span>
</span>
Definicija. Dopustna rešitev $x$ za problem razvoza $\Pi$ na grafu $G = (V, E)$ je drevesna dopustna rešitev, če v grafu $G$ obstaja vpeto drevo $T = (V, E’)$, da velja $x_e = 0$ za vsak $e \in E \setminus E’$.

</span>
Trditev. Če ima problem razvoza $\Pi$ dopustno rešitev, ima tudi drevesno dopustno rešitev.
Definicija. Naj bo $G$ usmerjen graf in $C$ cikel v $G$, ki vsebuje povezavo $f$. Potem je povezava $e$ v ciklu $C$ (glede na povezavo $f$) prema, če kaže v isto smer kot $f$, in obratna sicer.

</span>
Določimo novo dopustno rešitev
\[x_e^{(i)} = \begin{cases} x_e^{(i-1)} - x_f^{(i-1)} & \text{$e$ prema v $C$ glede na $f$,} \\ x_e^{(i-1)} + x_f^{(i-1)} & \text{$e$ obratna v $C$ glede na $f$,} \\ x_e^{(i-1)} & \text{sicer} \end{cases}\]in novo množico povezav $E^{(i)} = E^{(i-1)} \setminus \lbrace f \rbrace$.
Opazimo, da velja $x^{(i)} \ge 0$, $x_f^{(i)} = 0$ in $x_e^{(i)} = 0$ za vsako povezavo $e \in E \setminus E^{(i-1)}$.
Rešitev ustreza pogojem in je dopustna, saj še vedno velja Kirchhoffov zakon:

</span>

</span>

</span>
Postopek ponovimo za drevo $T - u$, dokler imamo še kakšno povezavo.

</span>
</span>

</span>
Določimo začetno drevesno dopustno rešitev, razvozne cene in kandidate za vstop ter izberemo vstopno in izstopno povezavo:

</span>
Povezavam na ciklu spremenimo razvoz za $3$:

</span>
Izstopna povezava je imela razvoz $0$ - razvozi se ne spremenijo, spremeni se le drevo in razvozne cene (izrojen korak):

</span>
Še en izrojen korak:

</span>
Povezavam na ciklu spremenimo razvoz za $2$:

</span>
Ni več kandidatov za vstop - dobili smo optimalno rešitev s ceno
\[\sum_{e \in E} c_e x_e = 5 \cdot 5 + 5 \cdot 0 + 11 \cdot 3 + 1 \cdot 2 + 1 \cdot 5 + 1 \cdot 2 = 67.\]Preverimo še optimalno vrednost dualnega problema: \(\sum_{v \in V} b_v y_v = 5 \cdot 26 + (-5) \cdot 21 + (-3) \cdot 16 + (-2) \cdot 26 + 0 \cdot 27 + 2 \cdot 29 + 3 \cdot 28 = 67\)
Opomba. Če je $y_u + c_{uv} < y_v$ in je $C$ cikel v $H$, ki vsebuje $uv$, to pomeni, da je
\[\sum_{e \in C \text{ prema}} c_e - \sum_{e \in C \text{ obratna}} c_e < 0.\]

</span>
</span>
</span>
Ko razvoz na premih povezavah povečamo za $p$ in ga na obratnih povezavah zmanjšamo za $p$, se cena poveča za
\[p (c_{ac} + c_{ce} - c_{de} + c_{db} - c_{ab})\]oziroma v splošnem za
\[p \left(\sum_{e \in C \text{ prema}} c_e - \sum_{e \in C \text{ obratna}} c_e\right).\]
Trditev. Če velja $\forall uv \in E: \ y_u + c_{uv} \ge y_v$ (z enakostjo pri vseh povezavah $uv \in E’$ vpetega drevesa $T = (V, E’)$), je rešitev optimalna.
Dokaz. Naj bo $x’$ še ena dopustna rešitev. Potem velja
\[\forall uv \in E: \ (y_u + c_{uv} - y_v) x_{uv}' \ge (y_u + c_{uv} - y_v) x_{uv} = 0,\]saj
Če seštejemo za vse povezave, dobimo \(\begin{aligned} 0 &\le \sum_{uv \in E} c_{uv} (x_{uv}' - x_{uv}) - \sum_{uv \in E} (y_v - y_u) (x_{uv}' - x_{uv}) = c^\top (x' - x) - (A^\top y)^\top (x' - x) = \\ &= c^\top x' - c^\top x - y^\top A x' + y^\top A x = c^\top x' - c^\top x - y^\top b + y^\top b . \end{aligned}\)
Velja torej $c^\top x’ \ge c^\top x$.
</span>
Temu se lahko izognemo z uporabo Cunninghamovega pravila:
ko izbiramo izstopno povezavo v ciklu $C$ z vstopno povezavo $e = uv$, določimo vozlišče $z$ na $C$, ki leži na poteh (v drevesu - brez $e$) od $r$ do $u$ oziroma $v$, in za izstopno povezavo izberemo prvega kandidata na $C$ od $z$ naprej v smeri $uv$.

</span>
</span>
</span>
Ta problem je vedno dopusten:
Kirchhofovi zakoni:
</span>
Dokažimo, da je problem nedopusten.

</span>
Narišimo graf za pomožni problem in določimo začetno drevesno rešitev.

</span>

</span>

</span>

</span>
</span>
Dan je problem razvoza s celoštevilskimi vrednostmi $b_v$ ($v \in V$).
</span>
Dokaz.
Definicija. Matrika $A = (a_{ij}){i,j=1}^n \in \mathbb{R}^{n \times n}$ je _dvojno stohastična, če velja $a_{ij} \ge 0$ ($1 \le i, j \le n$) ter $\sum_{j=1}^n a_{ij} = 1$ ($1 \le i \le n$) in $\sum_{i=1}^n a_{ij} = 1$ ($1 \le j \le n$).
Primer dvojno stohastične matrike:
\[\begin{bmatrix} 0 & 0.9 & 0.1 \\ 0.4 & 0.1 & 0.5 \\ 0.6 & 0 & 0.4 \end{bmatrix}\]Definicija. Matrika $P = (p_{ij}){i,j=1}^n \in {\lbrace 0, 1 \rbrace}^{n \times n}$ je _permutacijska matrika, če je v vsaki vrstici in v vsakem stolpcu natanko ena enica.
Primeri za $n = 3$:
\[\begin{array}{cccccc} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}, & \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{bmatrix}, & \begin{bmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}, & \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{bmatrix}, & \begin{bmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix}, & \begin{bmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{bmatrix} \\ 123 & 132 & 213 & 231 & 312 & 321 \end{array}\]
Trditev. Naj bo $A \in \mathbb{R}^{n \times n}$ dvojno stohastična matrika. Potem obstaja permutacijska matrika $P \in {\lbrace 0, 1 \rbrace}^{n \times n}$, tako da velja $p_{ij} = 1 \Rightarrow a_{ij} > 0$ ($1 \le i, j \le n$).
Dobljeni problem razvoza je dopusten, saj obstaja dopustna rešitev z $x_{v_i s_j} = a_{ij}$ ($v_i s_j \in E$):
\[\begin{alignedat}{4} v_i&:& -\sum_{v_i s_j \in E} x_{v_i s_j} &=& -\sum_{j=1}^n a_{ij} &=& -1 &= b_{v_i} \\ s_j&:& \sum_{v_i s_j \in E} x_{v_i s_j} &=& \sum_{i=1}^n a_{ij} &=& 1 &= b_{s_j} \end{alignedat}\]</span>
Ker obstaja dopustna rešitev $x$, obstaja tudi celoštevilska dopustna rešitev $x’$:
\[\begin{alignedat}{3} v_i&:& -\sum_{v_i s_j \in E} x_{v_i s_j}' &=& -1 &= b_{v_j}, \\ s_j&:& \sum_{v_i s_j \in E} x_{v_i s_j}' &=& 1 &= b_{s_j}, \end{alignedat}\]kjer je v zgornjih vsotah natanko eden od $x_{v_i s_j}’$ enak $1$, ostali pa so enaki $0$.
</span>

</span>
Opomba. Če imamo $n$ deklet in $n$ fantov ter vsako dekle pozna $r$ fantov in vsak fant pozna $r$ deklet, potem lahko vsako dekle pleše s fantom, ki ga pozna.

</span>
Definirajmo matriko $A = (a_{ij})_{i,j=1}^n$ z
\[a_{ij} = \begin{cases} {1 \over r} & x_i \sim y_j, \\ 0 & \text{sicer.} \end{cases}\]Matrika $A$ je dvojno stohastična, saj velja
\[\begin{aligned} \sum_{j=1}^n a_{ij} &= {1 \over r} \cdot r = 1 & (1 \le i \le n) \\ \sum_{i=1}^n a_{ij} &= {1 \over r} \cdot r = 1 & (1 \le j \le n) \end{aligned}\]Po prejšnji trditvi obstaja permutacijska matrika $P = (p_{ij})_{i,j=1}^n$, tako da
\[p_{ij} = 1 \ \Rightarrow\ a_{ij} > 0 \ \Rightarrow\ a_{ij} = {1 \over r} \ \Rightarrow\ x_i \sim y_j \quad (1 \le i, j \le n)\]Matrika $P$ določa popolno prirejanje $M$:
\[p_{ij} = 1 \ \Leftrightarrow\ x_i y_j \in M \quad (1 \le i, j \le n)\]Imamo usmerjen utežen graf $G = (V, E)$, kjer je $V$ množica vozlišč in $E$ množica usmerjenih povezav, ter uteži na vozliščih $b_v \in \mathbb{R}$ ($v \in V$), tako da velja $\sum_{v \in V} b_v = 0$, uteži na povezavah $c_{uv} \in \mathbb{R}$ ($uv \in E$), in omejitve na povezavah $d_{uv} \in [0, \infty]$ ($uv \in E$).
Problem lahko zapišemo kot linearni program
\[\begin{aligned} \min \ c^\top x \\[1ex] \text{p.p.} \quad A x &= b \\ 0 \le x &\le d, \end{aligned}\]kjer je $A \in \mathbb{R}^{V \times E}$ incidenčna matrika grafa $G$.
Uporabili bomo podoben algoritem kot pri problemu razvoza.
Definicija. Naj bo $x$ dopustna rešitev problema razvoza z omejitvami. Potem je (pri rešitvi $x$) povezava $e \in E$ prazna, če velja $x_e = 0$, in nasičena, če velja $x_e = d_e < \infty$.
Definicija. Naj bo $x$ dopustna rešitev problema razvoza z omejitvami. Rešitev $x$ je drevesna dopustna rešitev, če obstaja vpeto drevo $T = (V, E’)$ v grafu $G = (V, E)$, da velja $\forall e \in E \setminus E’: (x_e = 0 \lor x_e = d_e)$ (torej, povezave izven drevesa so prazne ali nasičene).
Trditev. Naj bo $x$ drevesna dopustna rešitev problema razvoza z omejitvami za vpeto drevo $T = (V, E’)$ v grafu $G = (V, E)$ ter $y$ razvozne cene (tj., $\forall uv \in E’: y_u + c_{uv} = y_v$). Če za vsako povezavo $uv \in E \setminus E’$ velja
\[(x_{uv} = 0 \land y_u + c_{uv} \ge y_v) \lor (x_{uv} = d_{uv} \land y_u + c_{uv} \le y_v),\]potem je $x$ optimalna rešitev.
</span>
Naj bo $x’$ dopustna rešitev problema razvoza z omejitvami. Potem velja
\[\forall uv \in E: \ (y_u + c_{uv} - y_v) x_{uv}' \ge (y_u + c_{uv} - y_v) x_{uv},\]saj
Če seštejemo za vse povezave, dobimo
\[\begin{alignedat}{3} \sum_{uv \in E} c_{uv} x_{uv}' - \sum_{uv \in E} (y_v - y_u) x_{uv}' &= c^\top x' - (A^\top y)^\top x' &&= c^\top x' - y^\top A x' &&= c^\top x' - y^\top b \\ \sum_{uv \in E} c_{uv} x_{uv} - \sum_{uv \in E} (y_v - y_u) x_{uv} &= c^\top x - (A^\top y)^\top x &&= c^\top x - y^\top A x &&= c^\top x - y^\top b \end{alignedat}\]Velja torej $c^\top x’ \ge c^\top x$.
</span>
</span>

</span>

</span>
</span>
Izstopna povezava je obratna, tako da bomo na njej povečali razvoz na $2$ in jo tako zasitili.

</span>
Izstopna povezava je prema, tako da bomo na njej povečali razvoz na $2$ in jo tako zasitili.

Ni več kandidatov za vstop - dobili smo optimalno rešitev s ceno
\[\sum_{e \in E} c_e x_e = 3 \cdot 6 + 1 \cdot 2 + 2 \cdot 3 + 4 \cdot 1 + 1 \cdot 2 = 32\]</span>
</span>
Tedaj preide iz prazne v nasičeno povezavo ali obratno.

</span>
Imamo $e = f$, izstopna povezava je prema in jo tako zasitimo.

</span>
</span>
Opomba. Cunninghamovo pravilo (preprečuje “ciklanje”):
Definiramo pomožni problem: