Skip to content

kit-cel/handover-optim-milp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pylint

MILP-based Optimal Handover Decisions: A Benchmark for Mobility Management Algorithms [1]

Description

MILP benchmark for UE RRC handover optimization. Provides a fully linearized (pure MILP) formulation of handover state machines (N310/N311/T310/RLF), enabling reproducible optimization and benchmarking against simulation traces.


Installation

To install the handover-optim-milp package, follow these steps:

  1. Clone the repository:

    git clone https://github.com/kit-cel/handover-optim-milp
  2. Navigate to the project directory:

    cd handover-optim-milp
  3. Install the package:

    python -m pip install .

    i.e., to install it in editable mode/develop mode:

    python -m pip install -e .

You are now ready to use the handover-optim-milp framework for your projects.


Getting Started

Get the Dataset

Download the corresponding dataset at IEEE Dataport and place it in the handover-optim-milp directory.

Note regarding the availability of the dataset: Please note that due to the size of the dataset and the individual results, it is not possible to make the data available in this repository. Upon acceptance and/or publication of the associated paper, the relevant datasets and detailed optimization results (per-UE results) will be published on IEEE Dataport to provide access via a persistent link (DOI).

Run the MILP Optimization and the RRC Reference Simulation

  1. Run the optimization:
    python -m ho_optim_milp.run run_optimization --ep-idx=0 --ue-idx=0
    where --ep-idx specifies the episode (0-5) of the dataset and --ue-idx defines the UE trajectory that should be used (0-99).
  2. Run the RRC reference simulation:
    python -m ho_optim_milp.run run_reference --ep-idx=0
    where --ep-idx specifies the episode (0-5) of the dataset. The reference simulation is automatically performed for all UEs in the dataset.

Results

You can plot the results stored in the dataset and reproduce the figures in [1] using the included plotting functionality.

  1. Plot the rate-outage Pareto fronts of the optimization and the reference.:

    python -m ho_optim_milp.run plot_pareto_fronts
  2. Plot the trade-off between the mean achieved rate and the relative connected time versus the Lagrangian multiplier lambda.:

    python -m ho_optim_milp.run plot_tradeoff

Citation [1]

If you use the handover-optim-milp framework in your work, please cite our paper:

@article{VoigtRost_MILPbasedOpimalHandover_2026,
  title = {{MILP}-based {Optimal} {Handover} {Decisions}: A {Benchmark} for {Mobility} {Management} {Algorithms}},
  author = {Voigt, Johannes and Rost, Peter M.},
  year = {2026},
  journal = {IEEE Communications Letters},
  pages = {},
  volume = {},
  number = {},
  doi = {}
}

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

MILP benchmark for UE RRC handover optimization. Provides a fully linearized (pure MILP) formulation of handover state machines (N310/N311/T310/RLF), enabling reproducible optimization and benchmarking against simulation traces.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages