Ressource-Constraints
Brainstorming in Karlsruhe, 23.01.2020
- neues Modellelement: Resource, mit initial, min, max
- neues Modellelement: Resource-Constraint, verbindet einen Taskmode (keinen Task) mit einer Resource und wie viel davon gebraucht wird
- zwei Varianten: Batterie als Stromzwischenspeicher für Solar etc., gegen Spannungsspizen, oder Batterie als alleinige Stromquelle für FTF o.ä.
- Variante eins: ein Task für Batteriesteuerung (ggf. mehrere, einer pro Batterie), Taskmodes "nichts machen", "laden", "entladen"
- Variante zwei: ein Task mit Modi "laden"/"nicht laden" für Fahrzeugbatterie, und je ein Task für jedes Streckensegment, jeweils mit mehreren Modi (schnell, langsam, etc.); jeder Strecken-Task braucht auch Strom, ggf. noch Tasks dazwischen wie Fahrzeug beladen, jeweils mit Order-Constraints verbunden; zwei weitere Resourcen für "an der Ladestation" und "unterwegs"
- zeitlicher Verlauf der Batterie(ent)ladung nicht relevant, da keine Interaktion mit anderen Tasks (es kann jeweils nur ein Task auf jede Batterie zugreifen), man kann auch keine anderen Fahrzeug-Tasks dazwischen machen (wie bspw. beladen) weil man den ja nur an einer bestimmten Position einfügen könnte, daher besser in Segmente teilen und jedes dieser Segmente quasi als "atomar" ansehen
JSON-Erweiterungen (ganz grob)
tasks: {..., {name=laden, modes=nichts,entladen,aufladen}}
products: {..., {name=battery-management, tasks={laden: 10}}
taskmodes: {..., {nichts: 0}, {entladen: power: -1}, {laden: power: +1}}
constraints: {{res-const, mode: entladen, res: battery, val: -1},
{res-const, mode: aufladen, res: battery, val: +1},
{res-const, mode: nichts, res: battery, val: 0}
ressources: {battery: min: 0, max: 1000, initial: 345}