root/applications/doprava/texty/novotny_vyzk_LQ/Implementation.tex.backup @ 1419

Revision 1419, 10.8 kB (checked in by jabu, 12 years ago)

novotny: vyzkumny ukol

Line 
1\chapter{Implementace}
2
3\section{Seznam proměnných}
4Všechny proměnné jsou zavedeny pro každého agenta reprezentujícího jednu křižovatku zvlášť
5a jsou označeny indexem $i$ signální skupiny. Tavždy ovládá jeden jízdní pruh. Pokud jsou bez indexu,
6jedná 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^N  \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^N  \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}
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 tvaru
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 
202  \left( \begin{array}{cc}
203          B^T \sqrt{Q} & \sqrt{R} \\
204          A^T \sqrt{Q} & 0
205          \end{array}
206  \right) 
207  \left( \begin{array}{cc}
208           \sqrt{Q} B & \sqrt{Q} A \\
209          \sqrt{R} & 0
210          \end{array}
211  \right) =
212  \left( \begin{array}{cc}
213          B^T Q B + R & B^T Q A \\
214          A^T Q B & A^T Q A
215          \end{array}
216  \right)
217\end{equation}
218můžeme pomocí Choleského dekompozici na součin dolní a horní trojúhelníkové matice.
219Rovnice
220
221
222
223
224
225
226
227
228\section{Simulace}
229
230\subsection{Simulátor AIMSUN}
231
232\subsection{Oblast simulace}
Note: See TracBrowser for help on using the browser.