====== TowingOptimizer Algorithmus Dokumentation ====== ===== Überblick ===== Der TowingOptimizer verwendet einen ausgeklügelten **4-Phasen-Bewertungsalgorithmus**, um automatisch die optimalen Fahrer-Fahrzeug-Kombinationen für Abschleppaufträge zuzuweisen. Das System gewährleistet die strikte Einhaltung von Führerscheinanforderungen, Ausrüstungskompatibilität und betrieblichen Beschränkungen. ===== Algorithmus-Phasen ===== ==== Phase 1: Fahrer-Auftrag Kompatibilitätsbewertung ==== Diese Phase bewertet die Eignung jedes Fahrers für den Auftrag basierend auf: === Harte Constraints (Ausschlusskriterien) === * **Führerscheinanforderungen**: * **HV-Schein Check**: Elektrofahrzeug-Aufträge (''IstHvScheinNotwendig = true'') erfordern Fahrer mit Hochvolt-Zertifizierung (''HatHvSchein = true'') * **Kran-Schein Check**: Kran-erforderliche Aufträge (''IstKranNotwendig = true'') benötigen Fahrer mit Kranführerschein (''HatKranSchein = true'') * **Aktuelle Zuweisung**: Bereits anderen Aufträgen zugewiesene Fahrer werden ausgeschlossen * **Arbeitszeit**: Fahrer ohne ausreichende verbleibende Arbeitsstunden (''RestArbeitszeitMin'') werden ausgeschlossen === Bewertungsfaktoren === * **Arbeitslasten-Ausgleich**: Fahrer mit weniger täglichen Zuweisungen erhalten höhere Punkte * **Zeitstrafen**: Rufbereitschaftsfahrer erhalten Strafen für Nacht-/Tag-Zuweisungen basierend auf ''HatRufbereitschaft'' * **Standortkorrekturen**: Strafe wird angewandt, wenn Fahrzeugstandort zur Filiale korrigiert wurde ==== Phase 2: Fahrzeug-Auftrag Kompatibilitätsbewertung ==== Diese Phase bewertet die Fahrzeugeignung für den spezifischen Abschleppauftrag: === Harte Constraints === * **Gewichtskapazität**: Fahrzeug ''MaxZuladungKg'' muss das Auftrags-''GewichtKg'' überschreiten * **Ölspur-Spezialisierung**: Ölspur-Aufträge erfordern spezialisierte Fahrzeuge (''FahrzeugTyp.OelspurMaschine'') * **Fahrzeugtyp-Kompatibilität**: * LKW-Aufträge: Nur ''LkwBerger'' oder ''Lkw'' Fahrzeuge * PKW-Aufträge: ''Pkw'' oder ''Lkw'' Fahrzeuge * Motorrad-Aufträge: Benötigen ''HatBrille'' (Motorrad-Adapter) oder ''HatKran'' (Kran) * Fahrrad-Aufträge: Nur ''Pkw'' Fahrzeuge * **Nicht-rollfähige Fahrzeuge**: Müssen Plateau (''HatPlateau'') UND Seilwinde (''HatSeilwinde'') oder Kran (''HatKran'') haben * **Tiefgarage**: Muss geeignet sein (''IstFuerTiefgarageGeeignet'') mit angemessener Höhenfreiheit * **Kran-Anforderungen**: Kran-erfordernde Aufträge benötigen Fahrzeuge mit ''HatKran = true'' === Bewertungsfaktoren === * **Entfernungsbasierte Bewertung**: Nähere Fahrzeuge erhalten höhere Punkte (bis zu 50km Radius) * **Personentransport**: Strafe wenn Fahrzeug erforderliche Passagiere nicht aufnehmen kann (''MaxMitfahrer'') * **Standortkorrekturen**: Strafe wird angewandt, wenn Fahrerstandort zur Filiale korrigiert wurde ==== Phase 3: Bestehende Zuweisungsanalyse ==== Überprüft Zielorte aktuell zugewiesener Aufträge zur Optimierung der Routeneffizienz und Identifizierung potenzieller Konflikte. ==== Phase 4: Fahrer-Fahrzeug Führerschein-Matching ⭐ ==== Dies ist die **kritische Phase**, die die Führerschein-Kompatibilität zwischen Fahrer und Fahrzeug gewährleistet! === Obligatorisches Führerschein-Matching === WENN fahrzeug.Fuehrerscheine != null UND fahrer.Fuehrerscheine != null DANN fahrer.Fuehrerscheine MUSS mindestens EINEN Führerschein aus fahrzeug.Fuehrerscheine enthalten SONST → DISQUALIFIZIERT (Punkte = 0) === Beispiel Führerschein-Anforderungen === ^ Fahrzeug benötigt ^ Fahrer hat ^ Ergebnis ^ | ["C", "CE"] | ["B", "C"] | ✅ **ÜBEREINSTIMMUNG**: Fahrer hat "C" → Qualifiziert | | ["C", "CE"] | ["B"] | ❌ **KEINE ÜBEREINSTIMMUNG**: Nur "B" → Disqualifiziert | === Zusätzliche Kreuzvalidierung === * **Kran-Aufträge**: SOWOHL Fahrzeug muss Kran haben (''HatKran'') ALS AUCH Fahrer muss Kranführerschein haben (''HatKranSchein'') * **Elektrofahrzeug-Aufträge**: Fahrer muss HV-Schein (''HatHvSchein'') für entsprechende Aufträge haben ===== Führerschein-Klassifizierungen ===== ==== Fahrer-Führerscheintypen ==== ^ Führerschein ^ Beschreibung ^ | **B** | Normaler PKW-Führerschein | | **C** | LKW-Führerschein (bis bestimmtes Gewicht) | | **CE** | Schwer-LKW mit Anhänger-Führerschein | ==== Spezielle Zertifizierungen ==== ^ Zertifizierung ^ Beschreibung ^ | ''HatKranSchein'' | Kranführer-Lizenz | | ''HatHvSchein'' | Hochvolt-Elektroarbeits-Zertifizierung | ===== Bewertungssystem ===== Der Algorithmus verwendet ein **punktebasiertes System**, beginnend bei **100.000 Punkten** mit Strafen/Boni: ==== Hauptstrafen ==== **DISQUALIFIKATION (Punkte = 0)** * Führerschein-Nichtübereinstimmung * Fehlende erforderliche Ausrüstung * Unzureichende Kapazität ==== Optimierungs-Boni ==== * **Arbeitslasten-Ausgleichs-Boost**: Bis zu konfigurierbaren Bonuspunkten * **Entfernungsnähe**: Bis zu 50.000 Punkte für nahegelegene Fahrzeuge * **Prioritätsauftrags-Behandlung**: Garantierte Mindestpunkte für Notrufe ===== Finale Empfehlungsgenerierung ===== Der Algorithmus kombiniert alle Phasen-Punkte zur Erstellung bewerteter Empfehlungen: - Beste Fahrer-Fahrzeug-Kombinationen für jeden Auftrag - Detaillierte Begründung für jede Bewertungsentscheidung - Klare Angabe aller disqualifizierenden Faktoren - Geschätzte Fertigstellungszeiten und Routeneffizienz **Fazit**: Dieser mehrstufige Ansatz gewährleistet, dass jede Zuweisung alle Sicherheits- und Rechtsanforderungen erfüllt, während gleichzeitig für betriebliche Effizienz und Arbeitslasten-Verteilung optimiert wird.