- Timestamp:
- 02/04/12 00:54:24 (13 years ago)
- Location:
- applications/doprava/texty/novotny_vyzk_LQ/Implementation
- Files:
-
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
applications/doprava/texty/novotny_vyzk_LQ/Implementation/ChangingFlow.tex
r1431 r1434 4 4 platí pouze když je příslušný pruh naplněn vozidly do té míry, že křižovatkou projede maximální 5 5 možný počet vozidel. To však neplatí, pokud není pruh dostatečně vytížen, například pokud se zmenší 6 délka fronty v nějaký časový okamžik na nulu. Pokud je vytížení menší je tok lineárně závislý na součtu 7 fronty $q(t)/T$ a počtu vstupujících vozidel $i(t)$. Pro teoretickou hodnotu toku $S$ tedy dostáváme vztah 8 \begin{equation}\label{eq:teor_tok} 9 S_{teor}(q(t) + i(t)) = \left\{ 10 \begin{array}{lr} 11 \frac{q(t)}{T} + i(t) & \frac{q(t)}{T} + i(t) <= S_{max} \\ 12 S_{max} & \frac{q(t)}{T} + i(t) > S_{max} 13 \end{array} 14 \right. 15 \end{equation} 16 . tento vztah vyjadřuje to, že pokud je fronta plus přírůstrek vozidel ve vzorkovací periodě 17 $(q(t), i(t)T)$ menší než maximální počet vozidel, který je křižovatka za periodu $T$ schopna 18 propustit $(T S_{max})$, projedou všechna vozidla. Abychom se vyhnuli podmínce podle $S_{max}$, 19 aproximuje se tento vztah funkcí 20 \begin{equation}\label{eq:exp_tok} 21 S_{exp}(q(t), i(t)) = S_{max} \left(1 - e^{- \frac{1}{S_{max}} \left( \frac{q(t)}{T} + i(t) \right) } \right) 22 \end{equation} 23 , která splňuje podmínku 24 \begin{equation} 25 \frac{ dS_{exp} }{d(q/T+i)}(0,0) = 1 26 \end{equation} 27 , tedy při malé frontě a hustotě provozu 28 je přírůstek toku roven $q/T+i$, a podmínku 29 \begin{equation} 30 \lim_{q/T+i\to\infty} S_{exp} = S_{max} 31 \end{equation} 32 , tedy při velké frontě a hustotě provozu 33 se tok blíží konstantě $S_{max}$. Pro malý časový interval můžeme tuto funkci dále zjednodušit na lineární vztah 34 \begin{equation}\label{eq:lin_tok} 35 S(q(t)) = \sigma(q(t)/T + i_0) 36 \end{equation} 37 , kde je $i_0 = i(0)$ a 38 \begin{equation} 39 \sigma = \frac{ dS_{exp} }{d(q/T+i)}(q(0),i(0)) 40 \end{equation} 6 délka fronty v nějaký časový okamžik na nulu. Pokud je vytížení menší je tok například podle 7 článku \cite{17_fronta} lineárně závislý na součtu 8 fronty $q(t)/T$ a počtu vstupujících vozidel $i(t)$. Zakomponováním těchto vztahů do současného systému 9 bychom mohli dosáhnout zpřesnění řízení. 10 11 % Pro teoretickou hodnotu toku $S$ tedy dostáváme vztah 12 % \begin{equation}\label{eq:teor_tok} 13 % S_{teor}(q(t) + i(t)) = \left\{ 14 % \begin{array}{lr} 15 % \frac{q(t)}{T} + i(t) & \frac{q(t)}{T} + i(t) <= S_{max} \\ 16 % S_{max} & \frac{q(t)}{T} + i(t) > S_{max} 17 % \end{array} 18 % \right. \;. 19 % \end{equation} 20 % Tento vztah vyjadřuje to, že pokud je fronta plus přírůstrek vozidel ve vzorkovací periodě 21 % $(q(t), i(t)T)$ menší než maximální počet vozidel, který je křižovatka za periodu $T$ schopna 22 % propustit $(T S_{max})$, projedou všechna vozidla. Abychom se vyhnuli podmínce podle $S_{max}$, 23 % aproximuje se tento vztah funkcí 24 % \begin{equation}\label{eq:exp_tok} 25 % S_{exp}(q(t), i(t)) = S_{max} \left(1 - e^{- \frac{1}{S_{max}} \left( \frac{q(t)}{T} + i(t) \right) } \right) \;, 26 % \end{equation} 27 % která splňuje podmínku 28 % \begin{equation} 29 % \frac{ dS_{exp} }{d(q/T+i)}(0,0) = 1 \;, 30 % \end{equation} 31 % tedy při malé frontě a hustotě provozu 32 % je přírůstek toku roven $q/T+i$, a podmínku 33 % \begin{equation} 34 % \lim_{q/T+i\to\infty} S_{exp} = S_{max} \;, 35 % \end{equation} 36 % tedy při velké frontě a hustotě provozu 37 % se tok blíží konstantě $S_{max}$. Pro malý časový interval můžeme tuto funkci dále zjednodušit na lineární vztah 38 % \begin{equation}\label{eq:lin_tok} 39 % S(q(t)) = \sigma(q(t)/T + i_0) \;, 40 % \end{equation} 41 % kde je $i_0 = i(0)$ a 42 % \begin{equation} 43 % \sigma = \frac{ dS_{exp} }{d(q/T+i)}(q(0),i(0)) \;. 44 % \end{equation} 41 45 42 46 \subsection{Odhdad odbočovacích poměrů} … … 44 48 které byly naměřeny v reálné siutaci a zadávají se pomocí 45 49 konfiguračního souboru. Pro standartní simulace je tento způsob dostačující, 46 do budoucna by však mohlo přinést zlepšení tyto koeficienty odhadovat v průběhu simulace. 47 \\ 48 \\ 50 do budoucna by však mohlo přinést zlepšení tyto koeficienty odhadovat v průběhu simulace.\\ 51 49 52 Vhodnou metodou k odhadu odbočovacích poměrů by mohl být například 50 53 Kalmanův filtr, nebo jiná metoda používající bayesovské učení 51 popsané v kapitole \ref{sec:bayes} 52 , kde by se 54 popsané v kapitole \ref{sec:bayes}, kde by se 53 55 nyní používaná konstantní hodnota zavedla jako apriorní pravděpodobnost. 54 56 -
applications/doprava/texty/novotny_vyzk_LQ/Implementation/Implementation.tex
r1433 r1434 24 24 \textbf{V textu} & \textbf{V programu} & \textbf{Název} & \textbf{Popis} \\ 25 25 $T \in \mathbb{N}$ & \texttt{T} & Vzorkovací perioda & Perioda sběru dat a řízení \\ 26 $C \in \mathbb{N}$ & \texttt{Tc} & Délka cyklu & Doba, za kterou se vystřídají fáze signální skupiny, řízená veli žina \\26 $C \in \mathbb{N}$ & \texttt{Tc} & Délka cyklu & Doba, za kterou se vystřídají fáze signální skupiny, řízená veličina \\ 27 27 $S$ & \texttt{ss} & Saturovaný tok & Maximální počet vozidel, která projedou křižovatkou za sekundu \\ 28 28 $L \in \mathbb{R}^+$ & \texttt{L} & Ztrátový čas & Čas potřebný k vyklizení křižovatky mezi dvěma fázemi\\ 29 $ J= \{j_1, ..., j_n\}$ & & Množina signálních skupin & \\30 $ J_A \subset J$ & \texttt{} & Množina signálních skupin agenta $A$ & Skupiny náležící jednomu agentovi \\31 $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$ \\29 $Y = \{j_1, ..., j_n\}$ & & Množina signálních skupin & \\ 30 $Y_A \subset Y$ & \texttt{} & Množina signálních skupin agenta $A$ & Skupiny náležící jednomu agentovi \\ 31 $I_j \subset Y$ & \texttt{} & Množina vstupů signální skupiny & Signální skupiny ostatních agentů ústících do příslušné skupiny $g$ \\ 32 32 $g_j^N \in <0,1>$ & & Nominální poměr zelené & Definovaný poměr fází \\ 33 33 $g_j(t) \in <0,1>$ & & Efektivní poměr zelené & Část z délky cyklu, kdy je signální skupina průjezdná \\ … … 45 45 méně než $3,6 km/h$. Pro danou frontu v čase $t+1$ platí zřejmě vztah 46 46 \begin{equation}\label{eq:my_trans_01} 47 q_j(t+1) = q_j(t) + T ( i_j(t) - o_j(t) ) ,47 q_j(t+1) = q_j(t) + T ( i_j(t) - o_j(t) ) \;, 48 48 \end{equation}kde hustota vstupu $i_j(t)$ je součtem výstupů sousedů pronásobený odbočovacími poměry, 49 49 případně vstupu do systému $i_{j,0}(t)$, pokud se jedná o koncové rameno řízené oblasti, tedy 50 50 \begin{equation} 51 i_j(t) = i_{j,0}(t) + \sum_{k \in I_j} \alpha_{k,j} o_k(t) .51 i_j(t) = i_{j,0}(t) + \sum_{k \in I_j} \alpha_{k,j} o_k(t) \;. 52 52 \end{equation} 53 53 Křižovtkou z daného jízdního pruhu v průjezdné fázi projede $S$ vozidel za sekundu, kde … … 77 77 b_{jj} = T \left( \sum_{k \in I_j} \alpha_{k,j} S_k g_k^N - S_j g_j^N \right) \;, 78 78 \end{equation} 79 a $I$ je vektor s prvky $I_{0_{j}} = T i_{j,0}(t)$. 79 a $I_0(t)$ je vektor s prvky $I_{0_{j}} = T i_{j,0}(t)$. 80 81 \subsection{Minimalizace kritéria} 82 Podobně jako v publikaci \cite{6_tuc_lq} budeme minimalizovat kvaratické kritérium $J$. 83 Matici $I_0(t)$, která vyjadřuje příjezd vozidel z okolí do sledované sítě, 84 budeme v rámci minimalizačního horizontu považovat za konstantu značenou $I_0$ a 85 vztah \ref{eq:my_trans_mat} se dá tedy přepsat do tvaru 86 \begin{equation}\label{eq:prechod_subs_01} 87 \left( \begin{array}{c} q(t+1) \\ 1 \end{array} \right) = 88 \left( \begin{array}{cc} A_0 & I_0 \\ 0 & 1 \end{array} \right) 89 \left( \begin{array}{c} q(t) \\ 1 \end{array} \right) 90 + 91 \left( \begin{array}{c} B_0 \\ 0 \end{array} \right) 92 u(t) 93 \;. 94 \end{equation} 95 Po provedení substituce 96 \begin{equation} 97 \begin{array}{cccc} 98 x(t) = \left( \begin{array}{c} q(t) \\ 1 \end{array} \right) \;, & 99 A = \left( \begin{array}{cc} A_0 & I_0 \\ 0 & 1 \end{array} \right) \;, & 100 B = \left( \begin{array}{c} B_0 \\ 0 \end{array} \right) \;, 101 \end{array} 102 \end{equation} 103 se rovnice \ref{eq:prechod_subs_01} zjednoduší na 104 \begin{equation}\label{eq:prechod_mat_po_subs} 105 x(t+1) = Ax(t) + Bu(t) \;, 106 \end{equation} 107 kde chybí konstantní člen. Poté již můžeme použít metodu popsanou v kapitole \ref{sec:minim}. 80 108 81 109 \section{Popis algoritmu} … … 91 119 92 120 Finální agent určený pro LQ řízení je odvozen od této ťrídy. V každém cyklu 93 posílá ůdaje o délce front, zatížení detektorů a odbočovacích poměrec .121 posílá ůdaje o délce front, zatížení detektorů a odbočovacích poměrech. 94 122 Z těchto dat si poté podle rovnic \ref{eq:my_trans_02} a \ref{eq:my_trans_mat} sestaví 95 123 matici $B$. Matice $A$ je jednotková a penalizační matice kvadratického kritéria $Q$ a $R$ jsou konstantně 96 124 nastaveny podle významnosti dopravních pruhů. Tím jsou sestaveny vstupní parametry pro minimalizátor, 97 125 který vypočte řídící matici $L$ potřebnou k získání optimální hodnoty délky cyklu. 126 Základní body algoritmu hlavní smyčky tedy jsou: 127 \begin{itemize} 128 \item Získání potřebných údajů 129 \item Výměna dat se sousedními agenty 130 \item Sestavení matic pro minimalizaci 131 \item Minimalizace kritéria a získání optimální délky cyklu 132 \item Vyjednávání o délce cyklu 133 \item Nastavení délky cyklu 134 \end{itemize} 135 98 136 99 137 … … 116 154 \\ 117 155 AIMSUN potřebuje pro svůj běh simulační scénář skládající se z popisu dopravní sítě, plánů řízení dopravy, 118 požadovaných dopravních dat a, a plánů hromadné dopravy119 a množinusimulačních parametrů definujících experiment.156 požadovaných dopravních dat a plánů hromadné dopravy. 157 Dále se AIMSUNU předává množina simulačních parametrů definujících experiment. 120 158 Popis dopravní sítě obsahuje geometrii sítě, popis křižovatek a rozmístění detektorů, 121 159 Dopravní data se dají zadat dvěma způsoby: Pomocí matice opbsahující informace kolik jízd se uskuteční 122 160 z uzlu $i$ do uzlu $j$. Každému vozidlu je tedy přiřazena trasa. 123 V fruhém případě se pro určitá místa zadají hustoty provozu a vozidla se rozmístí stochasticky podle požadovaných počtů a poměrů odbočení do dopravní sítě.161 V druhém případě se pro určitá místa zadají hustoty provozu a vozidla se rozmístí stochasticky podle požadovaných počtů a poměrů odbočení do dopravní sítě. 124 162 125 163 \subsubsection{VGS API}\label{ss:vgs_api} … … 131 169 \\ 132 170 Druhým důležitým úkolem VGS API je shromažďovat data potřebná pro 133 běh experimentu a jeho . AIMSUN sice disponuje jednoduchým rozhraním pro171 běh experimentu a jeho vyhodnocení. AIMSUN sice disponuje jednoduchým rozhraním pro 134 172 vizualizaci dat a jejich export do textových souborů, není ale možné 135 173 například porovnávat jednotlivé scénáře simulací. VGS API proto … … 141 179 \\ 142 180 \\ 143 Důležitý údaj, kter énám VGS API poskytuje, je délka fronty pro daný jízdní pruh.181 Důležitý údaj, který nám VGS API poskytuje, je délka fronty pro daný jízdní pruh. 144 182 Fronta se podle dat z detektorů odhaduje velice obtížně, neboť ty vykazují zančnou chybovost, 145 183 která u sledování průjezdů neni až tak zásadní, ale při použití na výpočet front by docházelo 146 184 ke kumulaci této chyby a výsledky by byly prakticky nepoužitelné. 147 Hlavní chyby detektorů spočívají v nerozpoznání mezery mezi vozidly a z počtení185 Hlavní chyby detektorů spočívají v nerozpoznání mezery mezi vozidly a započtení 148 186 dvou vozidel jako jedno, nebo zaznamenání jednoho vozidla dvěma detektory ve dvou 149 187 jízdních pruzích zároveň. … … 154 192 Ty to řadiče, strejně jako v reálné situaci kvůli bezpečnosti, mají 155 193 pevně dané fáze a v nich definované průjezdnosti daných pruhů. 156 Ovladatelné jsou pouze vněj í parametry, jako je délka cyklu, poměry časů fází157 a offset. V naše nm případně budeme nastavovat pouze délku cyklu, po jakou se vystřídají158 všechny fáze. Offset a ani poměr fází, tedy i poměr doby zelených, se nemění.194 Ovladatelné jsou pouze vnější parametry, jako je délka cyklu, poměry časů fází 195 a offset. V našem případě budeme nastavovat pouze délku cyklu, po jakou se vystřídají 196 všechny fáze. Offset ani poměr fází, tedy i poměr doby zelených, se nemění. 159 197 160 198 \subsection{Oblast simulace}\label{ss:oblast_simulace} … … 180 218 181 219 182 \section{Možné vylepšení do budoucna} 220 \section{Možné vylepšení do budoucna}\label{sec:vylepseni} 183 221 184 222 \input{Implementation/ChangingFlow.tex} -
applications/doprava/texty/novotny_vyzk_LQ/Implementation/Minimalization.tex
r1430 r1434 1 \subsection{Minimalizace kritéria} 2 Podobně jako v předchozí kapitole budeme minimalizovat kvaratické kritérium $J$. 3 Minimalizaci budeme provádět v proměnných $u(t)$ pro časový horizont $h$, 4 tedy pro vektory $\Delta C(t_0), \Delta C(t_0 + 1), ...,u(t_0 + h)$. Pro zpřehlednění 5 zápisu položíme bez újmy na obecnosti $t_0 = 0$. 6 Matici $I_0(t)$, která vyjadřuje příjezd vozidel z okolí do sledované sítě, 7 budeme v rámci minimalizačního horizontu považovat za konstantu značenou $I_0$ a 8 vztah \ref{eq:my_trans_mat} se dá tedy přepsat do tvaru 9 \begin{equation}\label{eq:prechod_subs_01} 10 \left( \begin{array}{c} q(t+1) \\ 1 \end{array} \right) = 11 \left( \begin{array}{cc} A_0 & I_0 \\ 0 & 1 \end{array} \right) 12 \left( \begin{array}{c} q(t) \\ 1 \end{array} \right) 13 + 14 \left( \begin{array}{c} B_0 \\ 0 \end{array} \right) 15 u(t) 16 \;. 17 \end{equation} 18 Po provedení substituce 19 \begin{equation} 20 \begin{array}{cccc} 21 x(t) = \left( \begin{array}{c} q(t) \\ 1 \end{array} \right) \;, & 22 A = \left( \begin{array}{cc} A_0 & I_0 \\ 0 & 1 \end{array} \right) \;, & 23 B = \left( \begin{array}{c} B_0 \\ 0 \end{array} \right) \;, 24 \end{array} 25 \end{equation} 26 se rovnice \ref{eq:prechod_subs_01} zjednoduší na 27 \begin{equation}\label{eq:prechod_mat_po_subs} 28 x(t+1) = Ax(t) + Bu(t) \;, 29 \end{equation} 30 kde chybí konstantní člen. Poté již můžeme použít metodu popsanou v kapitole \ref{sec:minim}. 1 31 2 32 3 % Kvadratické kritérium ve tvaru … … 168 139 % Tento postup se analogicky aplikuje na každé $u(t)$. Matice $M_0$ je stále stjná, $L_x$ použijeme z předchozího kroku minimalizace. 169 140 170 \subsubsection{Implementace minimalizace} sec:minim141 \subsubsection{Implementace minimalizace} 171 142 172 143 Minimaizace kvadratického kritéria je v simulaci prováděna metoduo \texttt{mat L( const int horizont )} ve třídě