Show
Ignore:
Timestamp:
02/04/12 00:54:24 (12 years ago)
Author:
jabu
Message:

finalni verze

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  
    44platí pouze když je příslušný pruh naplněn vozidly do té míry, že křižovatkou projede maximální 
    55mož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} 
     6dé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 
     8fronty $q(t)/T$ a počtu vstupujících vozidel $i(t)$. Zakomponováním těchto vztahů do současného systému 
     9bychom 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} 
    4145 
    4246\subsection{Odhdad odbočovacích poměrů} 
     
    4448které byly naměřeny v reálné siutaci a zadávají se pomocí 
    4549konfigurač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 \\ 
     50do budoucna by však mohlo přinést zlepšení tyto koeficienty odhadovat v průběhu simulace.\\ 
     51 
    4952Vhodnou metodou k odhadu odbočovacích poměrů by mohl být například 
    5053Kalmanův filtr, nebo jiná metoda používající bayesovské učení 
    51 popsané v kapitole \ref{sec:bayes} 
    52 , kde by se 
     54popsané v kapitole \ref{sec:bayes}, kde by se 
    5355nyní používaná konstantní hodnota zavedla jako apriorní pravděpodobnost. 
    5456 
  • applications/doprava/texty/novotny_vyzk_LQ/Implementation/Implementation.tex

    r1433 r1434  
    2424  \textbf{V textu} & \textbf{V programu} & \textbf{Název} & \textbf{Popis} \\ 
    2525  $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 \\ 
    2727  $S$ & \texttt{ss} & Saturovaný tok & Maximální počet vozidel, která projedou křižovatkou za sekundu \\ 
    2828  $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$ \\ 
    3232  $g_j^N \in <0,1>$ & & Nominální poměr zelené & Definovaný poměr fází \\ 
    3333  $g_j(t) \in <0,1>$ & & Efektivní poměr zelené & Část z délky cyklu, kdy je signální skupina  průjezdná \\ 
     
    4545méně než $3,6 km/h$. Pro danou frontu v čase $t+1$ platí zřejmě vztah 
    4646\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) ) \;,  
    4848\end{equation}kde hustota vstupu $i_j(t)$ je součtem výstupů sousedů pronásobený odbočovacími poměry, 
    4949případně vstupu do systému $i_{j,0}(t)$, pokud se jedná o koncové rameno řízené oblasti, tedy 
    5050\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) \;. 
    5252\end{equation} 
    5353Křižovtkou z daného jízdního pruhu v průjezdné fázi projede $S$ vozidel za sekundu, kde  
     
    7777 b_{jj} =  T \left( \sum_{k \in I_j} \alpha_{k,j} S_k g_k^N - S_j g_j^N \right) \;, 
    7878\end{equation} 
    79 a $I$ je vektor s prvky $I_{0_{j}} = T i_{j,0}(t)$. 
     79a $I_0(t)$ je vektor s prvky $I_{0_{j}} = T i_{j,0}(t)$. 
     80 
     81\subsection{Minimalizace kritéria} 
     82Podobně jako v publikaci \cite{6_tuc_lq} budeme minimalizovat kvaratické kritérium $J$. 
     83Matici $I_0(t)$, která vyjadřuje příjezd vozidel z okolí do sledované sítě, 
     84budeme v rámci minimalizačního horizontu považovat za konstantu značenou $I_0$ a 
     85vztah \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} 
     95Po 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} 
     103se 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} 
     107kde chybí konstantní člen. Poté již můžeme použít metodu popsanou v kapitole \ref{sec:minim}. 
    80108 
    81109\section{Popis algoritmu} 
     
    91119 
    92120Finá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. 
     121posílá ůdaje o délce front, zatížení detektorů a odbočovacích poměrech. 
    94122Z těchto dat si poté podle rovnic \ref{eq:my_trans_02} a \ref{eq:my_trans_mat} sestaví  
    95123matici $B$. Matice $A$ je jednotková a penalizační matice kvadratického kritéria $Q$ a $R$ jsou konstantně 
    96124nastaveny podle významnosti dopravních pruhů. Tím jsou sestaveny vstupní parametry pro minimalizátor,  
    97125který vypočte řídící matici $L$ potřebnou k získání optimální hodnoty délky cyklu. 
     126Zá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 
    98136 
    99137 
     
    116154\\ 
    117155AIMSUN 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 data, a plánů hromadné dopravy 
    119 a množinu simulačních parametrů definujících experiment. 
     156požadovaných dopravních dat a plánů hromadné dopravy. 
     157Dále se AIMSUNU předává množina simulačních parametrů definujících experiment. 
    120158Popis dopravní sítě obsahuje geometrii sítě, popis křižovatek a rozmístění detektorů, 
    121159Dopravní data se dají zadat dvěma způsoby: Pomocí matice opbsahující informace kolik jízd se uskuteční 
    122160z 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ě. 
     161V 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ě. 
    124162 
    125163\subsubsection{VGS API}\label{ss:vgs_api} 
     
    131169\\ 
    132170Druhý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 pro 
     171běh experimentu a jeho vyhodnocení. AIMSUN sice disponuje jednoduchým rozhraním pro 
    134172vizualizaci dat a jejich export do textových souborů, není ale možné 
    135173například porovnávat jednotlivé scénáře simulací. VGS API proto 
     
    141179\\ 
    142180\\ 
    143 Důležitý údaj, které nám VGS API poskytuje, je délka fronty pro daný jízdní pruh. 
     181Důležitý údaj, který nám VGS API poskytuje, je délka fronty pro daný jízdní pruh. 
    144182Fronta se podle dat z detektorů odhaduje velice obtížně, neboť ty vykazují zančnou chybovost, 
    145183která u sledování průjezdů neni až tak zásadní, ale při použití na výpočet front by docházelo 
    146184ke 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 zpočtení  
     185Hlavní chyby detektorů spočívají v nerozpoznání mezery mezi vozidly a započtení  
    148186dvou vozidel jako jedno, nebo zaznamenání jednoho vozidla dvěma detektory ve dvou 
    149187jízdních pruzích zároveň. 
     
    154192Ty to řadiče, strejně jako v reálné situaci kvůli bezpečnosti, mají 
    155193pevně 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šenm 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í. 
     194Ovladatelné jsou pouze vnější parametry, jako je délka cyklu, poměry časů fází 
     195a offset. V našem případě budeme nastavovat pouze délku cyklu, po jakou se vystřídají  
     196všechny fáze. Offset ani poměr fází, tedy i poměr doby zelených, se nemění. 
    159197 
    160198\subsection{Oblast simulace}\label{ss:oblast_simulace} 
     
    180218 
    181219 
    182 \section{Možné vylepšení do budoucna} 
     220\section{Možné vylepšení do budoucna}\label{sec:vylepseni} 
    183221 
    184222\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 
    312 
    323% Kvadratické kritérium ve tvaru 
     
    168139% 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. 
    169140 
    170 \subsubsection{Implementace minimalizace}sec:minim 
     141\subsubsection{Implementace minimalizace} 
    171142 
    172143Minimaizace kvadratického kritéria je v simulaci prováděna metoduo \texttt{mat L( const int horizont )} ve třídě