Mobility Optimizer

In Training

Mobility Management

Optimizes handover parameters and mobility management across heterogeneous network deployments. Uses real-time signal measurements and user trajectory prediction to minimize service interruptions during cell transitions. Currently in active training with focus on 5G NR conditional handover scenarios.

handover5G NRmobilityHetNet
Current Score72.4
Best Score78.1
Total Iterations847
Skill Version0.4.2-beta

Score Progression

Training score across 50 iterations

1027.54562.580#1#10#20#30#40#50

4-Layer Evaluation

Performance across correctness, simulation, performance, and robustness

Layer 1: Correctness

92

Parameter validation and constraint satisfaction

Layer 2: Simulation

68

Performance in simulated network environment

Layer 3: Performance

71

KPI achievement against targets

Layer 4: Robustness

58

Stability under varying load conditions

Agent Parameters

Current configuration values

lookahead_cells3
prediction_window_ms500
handover_margin_db3
time_to_trigger_ms160
measurement_bandwidthfull
enable_conditional_hotrue

Experiments

Latest 20 training runs

70% success
StatusIDScoreTime
#2072.0< 1h ago
#1979.64h ago
#1869.47h ago
#1763.711h ago
#1674.815h ago
#1576.915h ago
#1464.616h ago
#1365.01d ago
#1276.51d ago
#1172.51d ago
#1061.32d ago
#967.51d ago
#876.42d ago
#767.22d ago
#660.02d ago
#570.43d ago
#474.21d ago
#362.21d ago
#260.81d ago
#172.54d ago

DOIL Script

Declarative Operational Intent Language - defines what the agent should achieve

mobility.doil
36 lines
=="text-emerald-="text-amber-400">400">"text-accent">intent=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: optimize_mobility
=="text-emerald-="text-amber-400">400">"text-accent">domain=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ran.mobility_management
=="text-emerald-="text-amber-400">400">"text-accent">version=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-emerald-="text-amber-400">400">"="text-amber-400">0.4.="text-amber-400">2-beta"

=="text-emerald-="text-amber-400">400">"text-accent">objective=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">:
  =="text-emerald-="text-amber-400">400">"text-accent">primary=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: minimize_handover_failure_rate
  =="text-emerald-="text-amber-400">400">"text-accent">secondary=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: minimize_ping_pong_ratio
  =="text-emerald-="text-amber-400">400">"text-accent">constraint=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: maintain_service_continuity >= ="text-amber-400">99.5%

=="text-emerald-="text-amber-400">400">"text-accent">context=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">:
  =="text-emerald-="text-amber-400">400">"text-accent">network_type=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-gray-500">[4G_LTE, 5G_NR="text-gray-500">]
  =="text-emerald-="text-amber-400">400">"text-accent">deployment=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: heterogeneous
  =="text-emerald-="text-amber-400">400">"text-accent">scenario=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-gray-500">[urban_dense, high_speed_corridor="text-gray-500">]

=="text-emerald-="text-amber-400">400">"text-accent">parameters=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">:
  =="text-emerald-="text-amber-400">400">"text-accent">search_space=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">:
    =="text-emerald-="text-amber-400">400">"text-accent">hysteresis_db=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-gray-500">[="text-amber-400">0.5, ="text-amber-400">6.0, ="text-amber-400">0.5="text-gray-500">]
    =="text-emerald-="text-amber-400">400">"text-accent">time_to_trigger_ms=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-gray-500">[="text-amber-400">40, ="text-amber-400">640, ="text-amber-400">40="text-gray-500">]
    =="text-emerald-="text-amber-400">400">"text-accent">a3_offset_db=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-gray-500">[="text-amber-400">0.5, ="text-amber-400">6.0, ="text-amber-400">0.5="text-gray-500">]
    =="text-emerald-="text-amber-400">400">"text-accent">cell_individual_offset_db=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-gray-500">[-="text-amber-400">6, ="text-amber-400">6, ="text-amber-400">1="text-gray-500">]
  =="text-emerald-="text-amber-400">400">"text-accent">constraints=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">:
    =="text-emerald-="text-amber-400">400">"text-accent">max_handover_latency_ms=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-amber-400">50
    =="text-emerald-="text-amber-400">400">"text-accent">min_measurement_period_ms=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-amber-400">200

=="text-emerald-="text-amber-400">400">"text-accent">evaluation=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">:
  =="text-emerald-="text-amber-400">400">"text-accent">layers=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">:
    - =="text-emerald-="text-amber-400">400">"text-electric-="text-amber-400">400">correctness=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: validate_parameter_ranges
    - =="text-emerald-="text-amber-400">400">"text-electric-="text-amber-400">400">simulation=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: run_mobility_trace(users=="text-amber-400">500, duration=3600s)
    - =="text-emerald-="text-amber-400">400">"text-electric-="text-amber-400">400">performance=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: measure_kpis(="text-gray-500">[ho_success_rate, ping_pong, throughput="text-gray-500">])
    - =="text-emerald-="text-amber-400">400">"text-electric-="text-amber-400">400">robustness=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: stress_test(load_factor=="text-gray-500">[="text-amber-400">0.5, ="text-amber-400">0.8, ="text-amber-400">1.0, ="text-amber-400">1.2="text-gray-500">])

=="text-emerald-="text-amber-400">400">"text-accent">convergence=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">:
  =="text-emerald-="text-amber-400">400">"text-accent">metric=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: handover_success_rate
  =="text-emerald-="text-amber-400">400">"text-accent">target=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: >= ="text-amber-400">98.5%
  =="text-emerald-="text-amber-400">400">"text-accent">patience=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: ="text-amber-400">20
  =="text-emerald-="text-amber-400">400">"text-accent">strategy=="text-emerald-="text-amber-400">400">"text-gray-="text-amber-400">500">: bayesian_optimization