> ## Documentation Index
> Fetch the complete documentation index at: https://resq-dependabot-github-actions-github-actions-478e18be3d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Service

<a id="resq_mcp.dtsop.service" />

# resq\_mcp.dtsop.service

DTSOP - Digital Twin Simulation & Optimization Platform.

This module provides simulation and optimization capabilities:

* High-fidelity physics simulation triggering (Unity/Unreal Engine integration)
* RL-optimized drone deployment strategies
* Evacuation route generation

The current implementation is stubbed for development and returns simulated data.

<a id="resq_mcp.dtsop.service.annotations" />

## annotations

<a id="resq_mcp.dtsop.service.random" />

## random

<a id="resq_mcp.dtsop.service.uuid" />

## uuid

<a id="resq_mcp.dtsop.service.Final" />

## Final

<a id="resq_mcp.dtsop.service.OptimizationStrategy" />

## OptimizationStrategy

<a id="resq_mcp.dtsop.service.SimulationRequest" />

## SimulationRequest

<a id="resq_mcp.dtsop.service.run_simulation" />

#### run\_simulation

```python theme={null}
def run_simulation(request: SimulationRequest) -> str
```

Trigger a high-fidelity physics simulation in the digital twin.

Part of DTSOP (Digital Twin Simulation & Optimization Platform) system.
Queues a physics simulation job for async processing by Unity/Unreal
Engine with PX4 SITL and Gazebo integration.

Simulation Capabilities:

* Disaster propagation physics (flood spread, fire dynamics)
* Drone swarm dynamics and collision avoidance
* Communication link degradation under disaster conditions
* Infrastructure failure cascades
* Population movement and evacuation modeling

**Arguments**:

* `request` - Simulation parameters including:
  * scenario\_id: Unique identifier for this simulation run
  * sector\_id: Geographic area to simulate
  * disaster\_type: Physics model to apply (flood/wildfire/earthquake)
  * parameters: Scenario-specific params (wind speed, water level, etc.)
  * priority: "standard" (queued) or "urgent" (fast-tracked)

**Returns**:

* `str` - Unique simulation job ID (format: "SIM-XXXXXXXX" where X is hex).
  Use this ID to monitor progress via resq://simulations/\{id} resource.

**Example**:

> > > from resq\_mcp.dtsop.models import SimulationRequest
> > > req = SimulationRequest(
> > > ...     scenario\_id="flood-scenario-001",
> > > ...     sector\_id="Sector-1",
> > > ...     disaster\_type="flood",
> > > ...     parameters=\{"water\_level": 2.5, "flow\_rate": 1.2},
> > > ...     priority="urgent"
> > > ... )
> > > sim\_id = run\_simulation(req)
> > > print(f"Simulation queued: \{sim\_id}")

Integration Note:
Production implementation would:

1. Validate request against available simulation templates
2. Queue job to Unity/Unreal Engine processing cluster
3. Store simulation state in Redis for progress tracking
4. Send SSE notifications on status changes
5. Store results (JSON + video) to NeoFS with CID

<a id="resq_mcp.dtsop.service.get_optimization_strategy" />

#### get\_optimization\_strategy

```python theme={null}
def get_optimization_strategy(
        incident_or_alert_id: str) -> OptimizationStrategy
```

Generate RL-optimized deployment and evacuation strategy.

Part of DTSOP system. Uses reinforcement learning agents trained on
thousands of simulated scenarios to recommend optimal resource allocation
and routing under constraints (battery, weather, infrastructure damage).

Strategy Components:

* Recommended drone deployment mix (surveillance, payload, relay types)
* Evacuation route prioritization based on congestion and safety
* Success probability from Monte Carlo simulation ensemble
* Blockchain-linked proof for audit trail

RL Agent Training:

* Reward function: Lives saved + Response time + Resource efficiency
* State space: Disaster extent, infrastructure status, drone positions
* Action space: Deployment counts, waypoint routing, risk thresholds
* Training: PPO algorithm on 100k+ simulated disaster scenarios

**Arguments**:

* `incident_or_alert_id` - The incident ID (INC-XXX) or pre-alert ID (PRE-XXX)
  to optimize strategy for.

**Returns**:

* `OptimizationStrategy` - Complete strategy including:
  * strategy\_id: Unique identifier for this strategy
  * recommended\_deployment: Drone type to count mapping
  * evacuation\_routes: Ordered list of recommended routes
  * estimated\_success\_rate: Predicted success (0.0-1.0)
  * simulation\_proof\_url: NeoFS link to simulation evidence

**Example**:

> > > strategy = get\_optimization\_strategy("PRE-ABC123")
> > > print(f"Strategy: \{strategy.strategy\_id}")
> > > print(f"Deployment: \{strategy.recommended\_deployment}")
> > > print(f"Success rate: \{strategy.estimated\_success\_rate:.0%}")
> > > for route in strategy.evacuation\_routes:
> > > ...     print(f"Route: \{route}")

**Notes**:

Current implementation randomly selects from predefined templates.
Production would invoke actual RL agent inference with real-time data.
