root/applications/doprava/texty/novotny_vyzk_LQ/Implementation.tex @ 1434

Revision 1434, 12.4 kB (checked in by jabu, 12 years ago)

finalni verze

Line 
1\chapter{Implementace}
2
3\section{Seznam proměnných}
4% Všechny proměnné jsou zavedeny pro každého agenta reprezentujícího jednu křižovatku zvlášť
5% a jsou označeny indexem $i$ signální skupiny. Tavždy ovládá jeden jízdní pruh. Pokud jsou bez indexu,
6% jedná se o proměnnou agenta, případně oblasti simulace.
7
8\begin{tabular}{ccp{5cm}p{5cm}}
9  \textbf{V textu} & \textbf{V programu} & \textbf{Název} & \textbf{Popis} \\
10  $T \in \mathbb{N}$ & \texttt{T} & Vzorkovací perioda & ...\\
11  $C \in \mathbb{N}$ & \texttt{Tc} & Délka cyklu & ... \\
12  $S = 0,5$ & \texttt{Tc} & Saturovaný tok & Maximální počet vozidel, která projedou křižovatkou za sekundu \\
13  $L \in \mathbb{R}^+$ &  \texttt{L} & Ztrátový čas & Čas potřebný k vyklizení křižovatky mezi dvěma fázemi\\ 
14  $J = \{j_1, ..., j_n\}$ &  & Množina signálních skupin &  \\
15  $J_A \subset J$ & \texttt{} & Množina signálních skupin agenta $A$ & Skupiny náležící jednomu agentovi \\
16  $I_j \subset J$ & \texttt{} & Množina vstupů signální skupiny & Signální skupiny ostatních agentů ústících do příslušné skupiny $g$ \\
17  $g_j^N \in <0,1>$ & & Nominální poměr zelené & Defi novaný poměr fází \\
18  $g_j(t) \in <0,1>$ & & Efektivní poměr zelené & Část z délky cyklu, kdy je signální skupina  průjezdná \\
19  $i_j(t) \in \mathbb{R}^+$ & \texttt{i\_g} & Hustota vstupů & Počet přijíždějících vozidel do pruhu signální skupiny za jednotku času \\
20  $o_j(t) \in \mathbb{R}^+$ & \texttt{} & Hustota výstupů & Počet vyjíždějících vozidel z pruhu signální skupiny za jednotku času \\
21  $q_j(t) \in \mathbb{N}_0^+$ & \texttt{} & Fronta & Počet vozidel jedoucí menší rychlostí než $3,6 km/h$ \\
22  $\alpha_{j,k}  \in <0,1>$ & \texttt{} & Odbočovací poměr z $j$ do $k$ & 
23\end{tabular}
24
25\section{Použitá metoda}
26Účelem této práce je řídit provoz pomocí nastavení optimální délky cyklu za použití multiagentního systému, kde
27každý agent ovládá signální skupiny jedné křižovatky a jsou mu dostupné příslušné údaje.
28Jako vhodná metoda bylo zvoleno LQ řízení, které se snaží minimalizovat fronty a penalizovat délku cyklu.
29
30\subsection{Přechodové vztahy}
31Jako údaj popisující stav systému byla zvolena délka fronty $q_j(t)$, což je počet aut v jízdním pruhu jedoucích
32méně než 3,6 km/h. Pro danou frontu v čase $t+1$ platí zřejmě vztah
33\begin{equation}\label{eq:my_trans_01}
34 q_j(t+1) = q_j(t) + T ( i_j(t) - o_j(t) )
35\end{equation}, kde hustota vstupu $i_j(t)$ je součtem výstupů sousedů pronásobený odbočovacími poměry,
36případně vstupu do systému $i_{j,0}(t)$, pokud se jedná o koncové rameno řízené oblasti, tedy
37\begin{equation}
38  i_j(t) = i_{j,0}(t) + \sum_{k \in I_j} \alpha_{k,j} o_k(t)
39\end{equation}.
40Křižovtkou z daného jízdního pruhu v průjezdné fázi projede $S$ vozidel za sekundu, kde
41délka průjezdné fáze závisí na nastaveném poměru a délce cyklu. Před přechodem do nové
42fáze signálího plánu je potřeba vklidit křižovatku, což vede ke ztrátovému času $L$, který
43se projeví vždy jednou za cyklus. Efektivní délka zelené je tedy
44\begin{equation}
45 g_j(t) = (C(t) - L) g_j^N
46\end{equation}
47a pro hustotu výstupu platí
48\begin{equation}
49 o_j(t) = \frac{S_j g_j(t)}{C(t)} = S_j g_j^N \left( 1 - LC(t)^{-1} \right)
50\end{equation}. Rovnice \ref{eq:my_trans_01} tedy přechází do tvaru
51\begin{equation}\label{eq:my_trans_02}
52 q_j(t+1) = q_j(t) + T \left( i_{j,0}(t) + \sum_{k \in I_j} \alpha_{k,j} S_k g_k^N \left( 1 - LC(t)^{-1} \right)  - S_j g_j^N \left( 1 - LC(t)^{-1} \right) \right)
53\end{equation}.
54Pokud budeme podobně jako v \cite{6_tuc_lq} předpokládat existenci nominální délky cyklu $C^N$, při níž se
55nemění délka fronty, platíc(
56\begin{equation}\label{eq:my_trans_nom}
57 0 = T \left( i_{j,0}(t) + \sum_{k \in I_j} \alpha_{k,j} S_k g_k^N \left( 1 - LC^{N -1} \right)  - S_j g_j^N \left( 1 - LC^{N -1} \right) \right)
58\end{equation}. Odečtením rovnice \ref{eq:my_trans_nom} od \ref{eq:my_trans_02} dostaneme
59\begin{equation}\label{eq:my_trans_03}
60 q_j(t+1) = q_j(t) + T \left( - \sum_{k \in I_j} \alpha_{k,j} S_k g_k^N  + S_j g_j^\right) L \Delta C^{-1}(t)
61\end{equation}, kde $ \Delta C^{-1}(t) = C(t)^{-1} - C^{N -1}$. Pro ramena $j \in J_A$ náležící agentovi $A$ se
62tedy rovnice pro fronty dají zapsat maticově ve tvaru
63\begin{equation}\label{eq:my_trans_mat}
64 \vec{q}(t+1) = A \vec{q}(t) + B \Delta C^{-1}(t)
65\end{equation}
66
67Kostantni saturovany tok neni optimalni, pouzije aprox podle Pecherkove (viz bak.),
68prujezd odpovida bud sat. toku, pokud neodjede cela fronta, nebo je primo umerny
69fronte (+ prijezdum). prolozi se funkci a aprox se primkou podle hodnoty fronty v case t.
70Napocte se rizen pro horizont a podle vyvoje fronty se prepocte misto pro prolozeni pri
71
72
73\subsubsection{Model toku}
74V článku \cite{6_tuc_lq} se úbytek vozidel modeluje podle rovnice \ref{eq:tuc_u}, kde je uvažován
75tok vozidel křižovatkou za jednotku času jako konstanta $S$, což je saturovaný tok. Tento vztah
76platí pouze když je příslušný pruh naplněn vozidly do té míry, že křižovatkou projede maximální
77možný počet vozidel. To však neplatí, pokud není pruh dostatečně vytížen, například pokud se zmenší
78délka fronty v nějaký časový okamžik na nulu. Pokud je vytížení menší je tok lineárně závislý na součtu
79fronty $q(t)/T$ a počtu vstupujících vozidel $i(t)$. Pro teoretickou hodnotu toku $S$ tedy dostáváme vztah
80\begin{equation}\label{eq:teor_tok}
81 S_{teor}(q(t) + i(t)) = \left\{
82                        \begin{array}{lr}
83                          \frac{q(t)}{T} + i(t) & \frac{q(t)}{T} + i(t) <= S_{max} \\
84                          S_{max} &  \frac{q(t)}{T} + i(t) > S_{max}
85                        \end{array}
86                  \right.
87\end{equation}
88. tento vztah vyjadřuje to, že pokud je fronta plus přírůstrek vozidel ve vzorkovací periodě
89$(q(t), i(t)T)$ menší než maximální počet vozidel, který je křižovatka za periodu $T$ schopna
90propustit $(T S_{max})$, projedou všechna vozidla. Abychom se vyhnuli podmínce podle $S_{max}$,
91aproximuje se tento vztah funkcí
92\begin{equation}\label{eq:exp_tok}
93 S_{exp}(q(t), i(t)) = S_{max} \left(1 - e^{- \frac{1}{S_{max}} \left( \frac{q(t)}{T} + i(t) \right) } \right)
94\end{equation}
95, která splňuje podmínku
96\begin{equation} 
97\frac{ dS_{exp} }{d(q/T+i)}(0,0) = 1 
98\end{equation}
99, tedy při malé frontě a hustotě provozu
100je přírůstek toku roven $q/T+i$, a podmínku
101\begin{equation}
102\lim_{q/T+i\to\infty} S_{exp} = S_{max} 
103\end{equation}
104, tedy při velké frontě a hustotě provozu
105se tok blíží konstantě $S_{max}$. Pro malý časový interval můžeme tuto funkci dále zjednodušit na lineární vztah
106\begin{equation}\label{eq:lin_tok}
107 S(q(t)) = \sigma(q(t)/T + i_0)
108\end{equation}
109, kde je $i_0 = i(0)$ a
110\begin{equation}
111 \sigma = \frac{ dS_{exp} }{d(q/T+i)}(q(0),i(0))
112\end{equation}
113\\
114vlozit graf s ruznymi S
115\\
116
117\subsubsection{Přechodové vztahy s proměnným tokem}
118Pro vyjádření přechodových vzthů použijeme lineární odel toku a rovnice \ref{eq:my_trans_02}
119přejde na tvar
120\begin{equation}
121 q_j(t+1) = q_j(t) + T \left( i_{j,0}(t) + \sum_{k \in I_j} \alpha_{k,j} S_k(q_k(t)) g_k^N \left( 1 - LC(t)^{-1} \right)  - S_j(q_j(t)) g_j^N \left( 1 - LC(t)^{-1} \right) \right)
122\end{equation}
123, a po dosazení \ref{eq:lin_tok} dostaneme
124\begin{equation}
125 q_j(t+1) = q_j(t) + T \left( \begin{array}{c}
126                                i_{j,0}(t) + \\
127                                + \sum_{k \in I_j} \alpha_{k,j} \delta_k(q_k(t) T^{-1} + i_{0,k}) g_k^N \left( 1 - LC(t)^{-1} \right) - \\
128                                - \delta_j(q_j(t) T^{-1} + i_{0,j}) g_j^N \left( 1 - LC(t)^{-1} \right)
129                              \end{array}
130  \right)
131\end{equation}
132
133\begin{equation}\label{eq:my_trans_mod_tok_03}
134 q_j(t+1) = q_j(t) + T \left( \begin{array}{c}
135                                i_{j,0}(t) + \\
136                                + \sum_{k \in I_j} \alpha_{k,j} \delta_k g_k^N T^{-1} q_k(t)  - \delta_j g_j^N T^{-1} q_j(t) + \\
137                                + \sum_{k \in I_j} \alpha_{k,j} \delta_k i_{0,k} g_k^N - \delta_j i_{0,j} g_j^N - \\
138                                - \sum_{k \in I_j} \alpha_{k,j} \delta_k g_k^N L T^{-1} q_k(t) C(t)^{-1} + \delta_j  g_j^N L T^{-1} q_j(t) C(t)^{-1} - \\                               
139                                - \sum_{k \in I_j} \alpha_{k,j} \delta_k i_{0,k} g_k^N L C(t)^{-1} + \delta_j i_{0,j} g_j^N L C(t)^{-1}                                 
140                              \end{array}
141  \right)
142\end{equation}
143
144. Pokud budeme podobně jako v rovnici \ref{eq:my_trans_nom} uvažovat nominální $C^N$, pro které se $q(t+1)$ rovná $q(t)$,
145dostaneme dosazením $\Delta C^{-1}(t) = C(t)^{-1} - C^{N -1} $ do \ref{eq:my_trans_mod_tok_03} rovnici
146
147\begin{equation}\label{eq:my_trans_mod_tok_04}
148\begin{array}{ccc}
149 q_j(t+1) &= q_j(t) +& L \left( \delta_j  g_j^N q_j(t)   - \sum_{k \in I_j} \alpha_{k,j} \delta_k g_k^N q_k(t) \right) C(t)^{-1} +\\
150  & & + L T \left( \delta_j i_{0,j} g_j^N - \sum_{k \in I_j} \alpha_{k,j} \delta_k i_{0,k} g_k^\right) C(t)^{-1} 
151\end{array} 
152\end{equation}
153
154
155
156
157\subsection{Minimalizační kritérium}
158Podobně jako v předchozí kapitole, minimalizovat kvaratické kritérium $J$.
159Minimalizaci budeme provádět v proměnných $\Delta C(t)$ pro časový horizont $h$,
160tedy pro vektory $\Delta C(t_0), \Delta C(t_0 + 1), ..., \Delta C(t_0 + h)$. Pro zpřehlednění
161zápisu položíme bez újmy na obecnosti $t_0 = 0$.
162Kvadratické kritérium
163ve tvaru
164\begin{equation}\label{eq:J}
165 J = \sum_{t=0}^h q(t)^T Q q(t) + \Delta C(t)^T R \Delta C(t)
166\end{equation},
167kde $Q$ a $R$ jsou diagonální pozitivně definitní matice vah,
168rozepíšeme pomocí vztahu
169\begin{equation}\label{eq:prechod}
170 q(t+1) = Aq(t) + Bq(t)
171\end{equation} a budeme minimalizovat pro jednotlivá $t$ podle  $\Delta C(t)$.
172$\Delta C(h)$ se v kritériu vyskytuje pouze jako člen
173\begin{equation}
174\Delta C(h)^T R \Delta C(h)
175\end{equation}
176a tedy musí být $\Delta C(h) 0$. $\Delta C(h - 1)$ se vyskytuje ve členech
177\begin{equation}
178  \Delta C(h - 1)^T R \Delta C(h - 1) + (q(h - 1)^T A^T + \Delta C(h - 1)^T B^T ) Q ( A q(h - 1) + B \Delta C(h - 1))
179\end{equation}
180, což lze pomocí složených vektorů a matic přepsat do tvaru
181\begin{equation} \label{eq:J_sloz}
182 (\Delta C(h-1)^T, q(h - 1)^T )
183  \left( \begin{array}{cc}
184          B^T \sqrt{Q} & \sqrt{R} \\
185          A^T \sqrt{Q} & 0
186          \end{array}
187  \right
188  \left( \begin{array}{cc}
189           \sqrt{Q} B & \sqrt{Q} A \\
190          \sqrt{R} & 0
191          \end{array}
192  \right)
193  \left( \begin{array}{c}
194            \Delta C(h-1) \\
195            q(h - 1)
196          \end{array}
197  \right)
198\end{equation}, kde $\sqrt{Q}$ je matice, pro níž platí $\sqrt{Q} \sqrt{Q} = Q$.
199Složenou matici
200\begin{equation}
201  \left( \begin{array}{cc}
202          B^T \sqrt{Q} & \sqrt{R} \\
203          A^T \sqrt{Q} & 0
204          \end{array}
205  \right
206  \left( \begin{array}{cc}
207           \sqrt{Q} B & \sqrt{Q} A \\
208          \sqrt{R} & 0
209          \end{array}
210  \right) =
211  \left( \begin{array}{cc}
212          B^T Q B + R & B^T Q A \\
213          A^T Q B & A^T Q A
214          \end{array}
215  \right)
216\end{equation}
217můžeme pomocí Choleského dekompozici na součin dolní a horní trojúhelníkové matice.
218Člen \ref{eq:J_sloz} poté přejde na tvar
219\begin{equation}
220 (\Delta C(h-1)^T, q(h - 1)^T )
221  \left( \begin{array}{cc}
222          L_q^T & 0 \\
223          L^T & L_C^T
224          \end{array}
225  \right
226  \left( \begin{array}{cc}
227          L_C & L \\
228          0 & L_q
229          \end{array}
230  \right)
231  \left( \begin{array}{c}
232            \Delta C(h-1) \\
233            q(h - 1)
234          \end{array}
235  \right)
236\end{equation}, který můžeme dále upravit na
237\begin{equation}
238 ( L_C \Delta C(h-1) +  L_q q(h-1) )^T ( L_C \Delta C(h-1) +  L_q q(h-1) ) + q(h-1)^T L_q^T L_q q(h-1)
239\end{equation}. Pokud tento člen chceme minimalizovat v proměnné $q(h-1)$, musí nutně platit
240\begin{equation}
241 \Delta C(h-1) = - L_C^{-1} L q(h-1)
242\end{equation}. Zbývající nenulová část $q(h-1)^T L_q^T L_q q(h-1) $ lze přepsat pomocí rovnice \ref{eq:prechod} do tvaru
243\begin{equation}
244 q(h-1)^T L_q^T L_q q(h-1) = ( A q(h-2) + B \Delta C(h-2) )^T L_q^T L_q ( A q(h-2) + B \Delta C(h-2) )
245\end{equation}, kde se vyskytuje $\Delta C(t)$ pouze pro $t = h-2$. Minimalizace přes
246$\Delta C(h-2)$ bude probíhat analogicky, pouze se matice $Q$ nahradí maticí
247\begin{equation}
248\widetilde{Q} = Q + L_q^T L_q
249\end{equation}, která zahrnuje zbytek po členu s $\Delta C(h-1)$.
250Pro další $\Delta C(t)$ se pouze upraví matice $\widetilde{Q}$ výše popsaným způsoen a minimalizace již probíhá stejně.\\
251
252DOTAZY:\\
253QR - obecne nerozklada na trojuhelnikove matice $L L^{-1}$, ale na jednu troj a na druhou ortogonal.
254Cholesky rozklada pouze pozitivně definitní matice - je pozitivně definitní? dokazovat? pouzit QR?
255Matice L se v tomto pripade meni v kazdem kroku. V poradku?
256
257
258
259
260
261
262
263
264
265
266
267\section{Simulace}
268
269\subsection{Simulátor AIMSUN}
270
271\subsection{Oblast simulace}
Note: See TracBrowser for help on using the browser.