\documentclass[a4paper]{article}

%
% Packages
%

%% styling for this document
\usepackage{tex/docstyle}

\usepackage{polyglossia}
\setdefaultlanguage[variant = swiss]{german}
\enablehyphenation

\usepackage{enumitem}

\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{array}

\usepackage{pdflscape}
\usepackage{float}

\usepackage{parnotes}

\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}
 
%
% Metadata
%

\title{
  \textcolor{teal!80!black}{CLYN} Mobility \\
  {\huge Haltestelle und Stundenplanoptimierung}
}
\author{
  Nagel Livio, Pross Naoki, Rickli Yves, Rohner C\'eline 
}
\date{\today}

%
% Document
%


\begin{document}
\maketitle

\begin{abstract}
  Die Fachhochschule OST hat zwei Campus, zwischen denen es derzeit ein
  Mobilitätsproblem gibt. Die derzeitige Lösung, ein Shuttlebus, war nur für
  eine Übergangszeit gedacht und ist ziemlich ineffizient. Dieses Dokument
  schlägt zwei Lösungen vor: Verbesserung des Busses mit einer besseren Route
  und Haltestelle und Optimierung des Stundenplans, um die Fahrten zu
  reduzieren. Beide L\"osungen werden untersucht und ihre Machbarkeit
  diskutiert.
\end{abstract}

\tableofcontents

\section{Einleitung}

Der Campus der Hochschule für Technik OST in Rapperswil verfügt über ein
Nebengebäude in Eichwies, in dem Maschinenbau- und Umwelttechniker Kurslabore
haben. Um den Eichweiser Campus zu erreichen, gibt es nur wenige Möglichkeiten,
nämlich: 15 - 20 Minuten zu Fuss zu gehen, sich auf die öffentlichen
Verkehrsmittel zu verlassen, deren Fahrpläne nicht auf die Vorlesungen
abgestimmt sind oder mit dem Fahrrad zu fahren, sofern man eines besitzt. Aus
diesem Grund wurde eine Übergangslösung mit einem Shuttlebus von Rapperswil
nach Eichwies eingerichtet. Dies ist jedoch mit hohen Kosten verbunden und der
abrupte Wechsel zur Online-Schule, verursacht durch die Corona-Pandemie, macht
die Buslösung sehr kostenineffizient. 

\section{Shuttle Bus Haltestelle}

\subsection{Ist-Zustand}

Die Standortleitung am Campus Rapperswil hat sich dazu entschlossen, als
schnelle Momentanlösung, einen Shuttlebus zwischen dem Campus Oberseestrasse
und dem Campus Eichwies (Techpark) einzurichten. So ist es zeitlich möglich den
Standort, während den grösseren Pausen, zu wechseln. 

Der Shuttlebus richtet sich nach dem Stundenplan, respektive der daraus
resultierenden Nutzungsbedürfnisse. Somit verkehrt er 1-2 Mal vor
Lektionenbeginn am Morgen, während der 10 Uhr Pause, am Mittag, während der 15
Uhr Pause und am Abend unter der Woche. 

Auf der einen Seite beim Campus Oberseestrasse befindet sich die Haltestelle
direkt auf dem Vorplatz zwischen Gebäude 1, Gebäude 5 und der Unterführung zum
Bahnhof Rapperswil. Der Shuttlebus folgt der Oberseestrasse, bis er zur
Haltestelle Weiden gelangt, wo er wendet und zurückfährt. Die Haltestelle
Weiden befindet sich nicht in direkter Umgebung des Campus Eichwies, weshalb
die Studierenden anschliessend an die Shuttlebusfahrt noch 300m zu Fuss
zurücklegen müssen. 

\subsection{Problematik des Ist-Zustand}
\subsection{Soll-Zustand}
\subsection{Umsetzung Routenf\"uhrung}

\section{Stundenplanoptimierung}
\subsection{Ist-Zustand}
Der aktuelle Stand des Stundenplans am Campus Eichweis ist in Tabelle
\ref{tab:timetable-current} und Abbildung \ref{fig:timetable-current}
zusammengefasst.
\begin{figure}[h]
  \centering
  \begin{tikzpicture}[
      txt/.style = {
        draw = none, fill = none, text = black,
        minimum width = 0mm,
      },
      weekly/.style = {
        thick, draw = gray,
        fill = gray!20!white,
        minimum width = 23mm,
        minimum height = 8mm,
      },
      bi/.style = {
        draw = blue,
        fill = blue!20!white,
      },
      empty/.style = {
        weekly, dashed, fill = none
      },
      half/.style = {
        minimum width = 15mm, outer sep = 1mm,
      },
      abrefc/.style = {
        draw = teal!80!black,
        fill = teal!20!white,
      },
    ]

    \matrix[
      nodes = {weekly},
      row sep = 2mm,
      column sep = 5mm,
    ]{
      \node[txt] {};   &
      \node[txt] {\bfseries Montag}; &
      \node[txt] {\bfseries Dienstag}; &
      \node[txt] {\bfseries Mittwoch}; &
      \node[txt] {\bfseries Donnerstag}; &
      \node[txt] {\bfseries Freitag}; \\
      %
      \node[txt] {8}; &
      \node[bi] {SFROBOTICS}; &
      \node[left, bi, half, abrefc] {AbfRec}; \node[right, bi, half] {FÜGUM}; &
      \node[bi] {AddFert}; &
      \node[bi] {Werks2}; &
      \node {EwickP2}; \\
      %
      \node[txt] {10}; &
      \node[bi] {SFROBOTICS};    &
      \node[left, bi, half, abrefc] {AbfRec}; \node[right, bi, half] {FÜGUM}; &
      \node[bi] {AddFert}; &
      \node[bi] {Werks2}; &
      \node {EwickP2}; \\
      %
      \node[txt] {12}; &
      \node[empty] {}; &
      \node[left, empty, half] {}; \node[right, empty, half] {}; &
      \node[empty] {}; &
      \node[empty] {}; &
      \node[draw = red, fill = red!20!white] {EwickP2}; \\
      %
      \node[txt] {13}; &
      \node[bi] {SFROBOTICS}; &
      \node[left, bi, half, abrefc] {AbfRec}; \node[right, half] {DigInd}; &
      \node[empty] {}; &
      \node[bi] {Werks2}; &
      \node {EwickP2}; \\
      %
      \node[txt] {15}; &
      \node[bi] {SFROBOTICS}; &
      \node[left, bi, half, abrefc] {AbfRec}; \node[right, half] {DigInd}; &
      \node[empty] {}; &
      \node[bi] {WK2EU}; &
      \node[empty] {}; \\
      %
      \node[txt] {17}; &
      \node[empty] {}; &
      \node[left, empty, half] {}; \node[right, half] {DigInd}; &
      \node[empty] {}; &
      \node[empty] {}; &
      \node[empty] {}; \\
    };
  \end{tikzpicture}
  \caption{
    Vereinfachte Ansicht des Stundenplans im Campus Eichweis.  Blaue Kurse
    haben ein zweiwöchentliches Praktikum, während die grauen Kurse jede Woche
    stattfinden. Weitere Details finden Sie in Tabelle \ref{tab:timetable-current}.
    \label{fig:timetable-current}
  }
\end{figure}

\subsection{Kriterien der Stundenplanerstellung}
In der Arbeit eines Stundenplaners gibt es viele Faktoren (mehr als mir klar
waren), die beim Erstellen berücksichtigt werden müssen. Durch diese ist es
sehr schwierig einen guten Stundenplan zu erstellen. Einer der Faktoren ist,
dass der Campus nur in den grossen Pausen (10, 12, 15 Uhr) gewechselt werden
muss. Ein anderer sind die verschiedenen möglichen Rhythmen (\(14\times 2\)
Lektionen, \(7\times 4\) Lektionen, \(5\times 4\) Lektionen, \(3\times 4\)
Lektionen, usw.) von Vorlesungen und Praktika, die das Erstellen des
Stundenplans erschweren. 

Aus dem was Herr Weibel uns erzählte, schliessen wir, dass die Dozenten mit
ihren Wünschen die Arbeit eines Stundenplaners am stärksten erschweren. Denn
ein Dozent kann den Rhythmus der Praktika und Vorlesungen bestimmen. Ausserdem
kann der Dozent auch wünschen, dass alle Praktika desselben Faches gleich
nacheinander stattfinden. So kann der Rhythmus z.B. 2 Lektionen Praktika alle 2
Wochen (\(7\times 2\)) oder auch 4 Lektionen Praktika alle 2 Wochen (\(7\times
4\)) usw.  sein. Wenn z.B. ein Modul, das auf dem Campus Eichwies stattfindet,
den Rhythmus \(7\times 2\) hat, so braucht es ein Partnerfach mit demselben
Rhythmus und Standort, damit der Campus nicht nach 2 Lektionen schon wieder
gewechselt werden muss. Wenn aber der Rhythmus \(7\times 4\) wäre, so wäre kein
Partnerfach am gleichen Standort von Nöten, wenn sich dann allerdings gar kein
Partnerfach finden lässt, so wird der Stundenplan alle 2 Wochen um 4 Lektionen
künstlich aufgeblasen. 

\subsection{Stundenplanvarianten}
\begin{figure}[h]
  \centering
  \begin{tikzpicture}[
      spacer/.style = {
        draw = none, fill = none,
        minimum width = 2mm, minimum height = 1cm,
      },
      block/.style = {
        thick, minimum width = 7mm, minimum height = 6mm,
      },
      week/.style = {
        block, draw = gray, fill = gray!20!white,
      },
      noweek/.style = {
        block, fill = white,
      },
      prak/.style = {
        block, draw = red, fill = red!20!white,
      },
    ]
    
    % jede 2te woche
    \begin{scope}[yshift = 6mm]
      \matrix[
        nodes = {
          block, draw = white, thick, fill = none, text = gray,
        },
        column sep = 1mm,
      ]{
        \node (nr) {1}; & \node {2};  & \node {3};  & \node {4};   & \node[spacer] {}; &
        \node {5};      & \node {6};  & \node {7};  & \node {8};   & \node[spacer] {}; &
        \node {9};      & \node {10}; & \node {11}; & \node {12};  & \node[spacer] {}; &
        \node {13};     & \node {14}; & \node {15}; & \node {16}; \\
      };
    \end{scope}

    % jede 2te woche
    \begin{scope}
      \matrix[
        nodes = {week},
        column sep = 1mm,
      ]{
        \node (a) {}; & \node[prak] {1}; & \node {}; & \node[prak] {1};   & \node[spacer] {}; &
        \node {};     & \node[prak] {1}; & \node {}; & \node[prak] {1};   & \node[spacer] {}; &
        \node {};     & \node[prak] {1}; & \node {}; & \node[prak] {1};   & \node[spacer] {}; &
        \node {};     & \node[prak] {1}; & \node {}; & \node[noweek] {}; \\
      };
    \end{scope}

    \begin{scope}[yshift = -1cm]
      \matrix[
        nodes = {week},
        column sep = 1mm,
      ]{
        \node (b) {}; & \node {}; & \node[prak] {2}; & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node[prak] {2}; & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node[prak] {2}; & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node[prak] {1}; & \node[noweek] {}; \\
      };
    \end{scope}

    \begin{scope}[yshift = -2cm]
      \matrix[
        nodes = {week},
        column sep = 1mm,
      ]{
        \node (c) {}; & \node {}; & \node {};         & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node[prak] {3};  & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node {};         & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node[prak] {4};  & \node[noweek] {}; \\
      };
    \end{scope}

    \begin{scope}[yshift = -3cm]
      \matrix[
        nodes = {week},
        column sep = 1mm,
      ]{
        \node (d) {}; & \node {}; & \node {}; & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node {}; & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node {}; & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node[prak] {7};      & \node[noweek] {}; \\
      };
    \end{scope}

    \begin{scope}[yshift = -4cm]
      \matrix[
        nodes = {week},
        column sep = 1mm,
      ]{
        \node {}; & \node {}; & \node {}; & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node {}; & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node {}; & \node {}; & \node[spacer] {}; &
        \node {}; & \node {}; & \node {}; & \node[prak] {7}; \\
      };
    \end{scope}
  \end{tikzpicture}
  \caption{
    Mögliche Varianten der vorgeschlagenen Änderung für ein zweiwöchentliches
    Praktikum.  Jeder Block stellt eine Woche dar. Bei einem 15-wöchigen
    Semester können Praktika (rote Bl\"ocke) während oder nach den Vorlesungen
    (W16) in Blöcke eingeteilt werden.
    \label{fig:semester-variants}
  }
\end{figure}

\subsubsection*{Während regulärem Semester}
Alle Lektionen, die in Eichwies veranstaltet werden, sollen während dem
regulären Semester stattfinden. 

\subsubsection*{Am Ende des regul\"aren Semesters}
Alle Lektionen, die in Eichwies veranstaltet werden, sollen in den letzten
Wochen des regulären Semesters (z.B. SW12-SW14) stattfinden. Diese Variante ist
laut Reto Weibel schwierig umzusetzen und müsste genauer betrachtet werden. 

Hier kam auch noch die Idee auf, dass alle Lektionen in Eichwies in der Mitte
des Semesters stattfinden. Dies ist aber noch schwieriger umzusetzen, da zu der
Zeit in den meisten Fächern noch nicht genügend Unterrichtsstoff behandelt
wurde, um alle Praktika / Übungen durchführen zu können. 

\subsubsection*{Nach dem regul\"aren Semesters}
Alle Lektionen, die in Eichwies veranstaltet werden, sollen erst nach den
regulären Semesterwochen stattfinden. Diese Variante ist zwar eine planbare
Option, sie sollte aber nur im Notfall umgesetzt werden. Denn nicht alle
Studierenden und Dozierenden können sich, nach Ende der regulären
Semesterwochen, die Zeit dafür nehmen. Hinzu kommt, dass viele Studierende zu
dieser Zeit einen Grossteil des Vorlesungsstoffes nicht mehr präsent haben und
somit die Praktika / Übungen nur mit erhöhtem Aufwand bewältigen können.

\subsection{Verbesserungsvorschl\"age} \label{sec:timetable-improvements}
Die folgenden Vorschläge beziehen sich auf die letzte Spalte der Tabelle
\ref{tab:timetable-current}.
\begin{enumerate}[label=\bfseries\arabic*.]
  \item
    \begin{enumerate}[label=\itshape\roman*)]
      \item Vorlesung zum Fach auf die 2 Lektionen direkt vor dem Praktikum
        verschieben und dafür einen Raum (z.B. T1-OG1-23/24/25) in Eichwies zur
        Verfügung stellen mit genügend Platz (16, 10) für die jeweilige
        Praktika-Gruppe.
      \item Praktika nur alle 4 Wochen abhalten, dafür 4 Lektionen am Stück,
        dann gibt es noch ein Praktikum mit 2 Lektionen.
    \end{enumerate}

  \item
    \begin{enumerate}[label=\itshape\roman*)]
      \item Praktika nur alle 4 Wochen abhalten, dafür 4 Lektionen am Stück,
        dann gibt es noch ein Praktikum mit 2 Lektionen,
      \item  Mit AddFert koppeln, da 34 von 37 Studenten auch AddFert besuchen
    \end{enumerate}

  \item
    \begin{enumerate}[label=\itshape\roman*)]
      \item Für die Zwischenlektionen zwischen Vorlesung und Praktikum einen Raum
         (z.B. T1-OG1-23/24) in Eichwies zur Verfügung stellen mit genügend Platz
         für p12 (6 Personen).
      \item Alle 2 Wochen 4x p11 / p12.
      \item Mehr Geräte, Platz, Material beschaffen, damit 14 Personen
        gleichzeitig am Praktikum teilnehmen können 
       \item Mit AddFert koppeln, da 7 von 14 Studenten auch AddFert besuchen.
    \end{enumerate}

  \item
    \begin{enumerate}[label=\itshape\roman*)]
      \item Praktika nur alle 4 Wochen abhalten, dafür 4 Lektionen am Stück,
        dann gibt es noch ein Praktikum mit 2 Lektionen,
      \item Mit FÜGUM koppeln, da 34 von 64 Studenten auch FÜGUM besuchen
    \end{enumerate}

  \item Praktika nur alle 4 Wochen abhalten, dafür 4 Lektionen am Stück,
    dann gibt es noch ein Praktikum mit 2 Lektionen 

  \item Alle 2 Wochen 4x \texttt{pj1} / \texttt{pj4}
  \item Alle 2 Wochen 4x \texttt{pj2} / \texttt{pj5}
  \item Hier nichts nötig, wenn die anderen Verbesserungsvorschläge von EwickP2
    umgesetzt werden.
  \item Alle 2 Wochen 4x \texttt{pj3}
\end{enumerate}

\appendix
\begin{landscape}
\section{Tabellen}
\begin{table}[H]
  \renewcommand{\arraystretch}{1.15}
  \rowcolors{2}{gray!15}{white}
  \begin{tabularx}{\linewidth}[t]{
      lc X c l
      >{\ttfamily}p{.1\linewidth} p{.1\linewidth} X
    }
    \toprule
    \rowcolor{white}
    \bfseries &&
    \bfseries Fach / Modul &
    \bfseries \# Studente &
    \bfseries Studiengang &
    \bfseries \textsf{\# Lektionen} &
    \bfseries Rhythmus &
    \bfseries Verbesserung (\S\ref{sec:timetable-improvements}) \\
    \midrule
    %
    Mo &
    08 -- 12 &
    SFROBOTICS &
    --\parnote{Unwichtig} &
    WING &
    4x u11 &
    Alle 2 Wochen &
    Nein \\
    %
    Mo &
    13 -- 17 &
    SFROBOTICS &
    -- &
    WING &
    4x u122 &
    Alle 2 Wochen &
    Nein \\
    %
    Di &
    08 -- 12 &
    AbfRec &
    -- &
    EEU &
    4x p11 &
    Alle 2 Wochen, nur 5-mal &
    Nein \\
    %
    Di &
    13 -- 17 &
    AbfRec &
    -- &
    EEU &
    4x p12 &
    Alle 2 Wochen, nur 5-mal &
    Nein \\
    %
    Do &
    15 -- 17 &
    WK2EU / Materialtechnologie 2 &
    -- &
    EEU &
    2x p11 / p12 &
    Alle 2 Wochen &
    Ja, siehe Punkt 1.\\
    %
    Di &
    08 -- 10 &
    FÜGUM / Kunststofftechnik 4 &
    37 &
    MI &
    2x p11 / p14 &
    Alle 2 Wochen &
    Ja, siehe Punkt 2.\\
    %
    Di &
    10 -- 12 &
    FÜGUM / Kunststofftechnik 4 &
    37 &
    MI &
    2x p12 / p13 &
    Alle 2 Wochen &
    Ja, siehe Punkt 2. \\
    %
    Di &
    13 -- 15 &
    DigInd &
    14 &
    MI &
    2x v1 &
    Jede Woche &
    Nein \\
    %
    Di &
    15 -- 17 &
    DigInd &
    14 &
    MI &
    2x p11 &
    Jede Woche &
    Nein \\
    %
    Di &
    17 -- 19 &
    DigInd &
    14 &
    MI &
    2x p12 &
    Jede Woche &
    Ja, siehe Punkt 3. \\
    %
    Mi &
    08 -- 10 &
    AddFert &
    64 &
    MI &
    2x u11 / u12 &
    Alle 2 Wochen &
    Ja, siehe Punkt 4. \\
    %
    Mi &
    10 -- 12 &
    AddFert &
    64 &
    MI &
    2x u13 / u14 &
    Alle 2 Wochen &
    Ja, siehe Punkt 4. \\
    %
    Do &
    08 -- 10 &
    Werks2 / Materialtechnologie 2 &
    71 &
    MI &
    2x p11 / p12 &
    Alle 2 Wochen &
    Ja, siehe Punkt 5. \\
    %
    Do &
    10 -- 12 &
    Werks2 / Materialtechnologie 2 &
    71 &
    MI &
    2x p13 / p14 &
    Alle 2 Wochen &
    Ja, siehe Punkt 5. \\
    %
    Do &
    13 -- 15 &
    Werks2 / Materialtechnologie 2 &
    71 &
    MI &
    2x p15 &
    Alle 2 Wochen &
    Ja, siehe Punkt 5. \\
    %
    Fr &
    08 -- 10 &
    EwickP2 / Innovation 4 &
    69 &
    MI &
    2x pj1 / pj4 &
    Jede Woche &
    Unklar\parnote{Drei Räume (1.201, 1.202, T1-E-10) sind angegeben aber
    nur der Letzte befindet sich in Eichwies.\label{footn:rooms}}, siehe Punk 6.
    \\
    %
    Fr &
    10 -- 12 &
    EwickP2 / Innovation 4 &
    69 &
    MI &
    2x pj2 / pj5 &
    Jede Woche &
    Unklar\footnotemark[2], siehe Punk 7. \\
    %
    Fr &
    12 -- 13 &
    EwickP2 / Innovation 4 &
    69 &
    MI &
    2x pj1 / pj2 / pj3 / pj4 / pj5 &
    Nach speziellem Plan &
    Unklar\footnotemark[2], siehe Punk 8. \\
    %
    Fr &
    13 -- 15 &
    EwickP2 / Innovation 4 &
    69 &
    MI &
    2x pj3 &
    Jede Woche &
    Unklar\footnotemark[2], siehe Punk 9. \\
    \bottomrule
  \end{tabularx}
  \parnotes
  \caption{
    Aktueller Zustand des Stundenplans im Campus Eichweis.
    \label{tab:timetable-current}
  }
\end{table}
\end{landscape}

\end{document}
