run_simulation

readSeit v1.0

Führt die Simulation aus und liest die BERECHNETE Zeitreihe für ein Szenario zurück. Anders als get_time_series (das nur gespeicherte Eingabezellen zurückgibt — manuelle Eingaben oder Live-Daten) wertet dieser Aufruf die Rhai-Eigenschaftsformeln und Act-Skripte bei Bedarf aus und liefert die resultierenden Werte pro Agent, Eigenschaft und Zeitschritt, jeweils mit der simulierten Zeit, sowie Formel-Diagnosen. Dies ist der einzige Weg, formelgetriebene Ergebnisse über die API zu lesen: Sie werden zur Laufzeit berechnet und niemals persistiert. scenario_id ist erforderlich; parameter_set_id verwendet standardmäßig den Standard-Parametersatz des Twins des Szenarios. Verwenden Sie agent_instance_id, property_id, min_timestep und max_timestep, um große Zeitreihen einzugrenzen. Prüfen Sie das Feld diagnostics (Kompilier- und Laufzeitfehler in Formeln/Act-Skripten, Zyklen, ungelöste Abhängigkeiten), wenn Ergebnisse falsch oder leer erscheinen.

Was-wäre-wenn-Overrides (pro Lauf, niemals persistiert). Um eigene Eingabewerte auszuprobieren, ohne das gespeicherte Szenario zu ändern, übergeben Sie eines oder beide der folgenden Felder:

  • parameter_overrides — ein Array aus {agent_instance_id, property_id, value}, das einzelne Baseline-Werte von Agenten ersetzt (z. B. ein anderes Startkapital, einen anderen Preis oder Satz).
  • time_series_overrides — ein Array aus {agent_instance_id, property_id, values, start_timestep?}, das den gesamten Verlauf einer Eigenschaft über den Lauf ersetzt. values enthält einen Eintrag pro Zeitschritt, beginnend bei start_timestep (Standard 0); spätere Zeitschritte übernehmen den letzten Wert.

Beide werden auf den aufgelösten parameter_set_id aufgesetzt und gelten nur für diesen einen Lauf — sie werden gegen eine Wegwerf-Kopie des Modells berechnet, sodass nichts zurückgeschrieben wird. property_id akzeptiert einen Eigenschaftsnamen oder dessen ID. Dies ist der richtige Weg, um vom Benutzer eingegebene Werte auszuführen: Es ist nicht nötig, zuvor set_parameter_value oder update_agent aufzurufen, und das Basis-Szenario bleibt unverändert. Overrides, die auf einen unbekannten Agenten oder eine unbekannte Eigenschaft verweisen, werden übersprungen.

Beispielanfrage

{"scenario_id": "scenario-uuid", "agent_instance_id": "agent-uuid", "property_id": "inventory"}

Beispielantwort

{"scenario_id": "scenario-uuid", "parameter_set_id": "default", "total_count": 24, "returned_count": 24, "rows": [{"agent_instance_id": "agent-uuid", "property_id": "prop-uuid", "timestep_index": 0, "time": 1.0, "value": 600000.0}], "diagnostics": []}