Source code for pytwinnet.simulation.what_if
from __future__ import annotations
from typing import Dict, Any
from .simulator import Simulator
from .scenario import Scenario
from ..core.digital_twin import DigitalTwin
from ..optimization.objective import Objective
[docs]
def what_if(twin: DigitalTwin, scenario: Scenario, objective: Objective | None = None) -> Dict[str, Any]:
sim = Simulator(twin)
out = sim.run(scenario, copy_twin=True)
score = objective.evaluate(out) if objective is not None else None
return {"twin": out, "score": score}