Git Product home page Git Product logo

ringloading's Introduction

RingLoading

This repository is dedicated to the famous Ring Loading Problem.

Introduction

The Ring Loading Problem emerged in the 1990s to model an important special case of telecommunication networks (SONET rings) which gained attention from practitioners and theorists alike. Given an undirected cycle on n nodes together with non-negative demands between any pair of nodes, the Ring Loading Problem asks for an unsplittable routing of the demands such that the maximum cumulated demand on any edge is minimized. Let L be the value of such a solution. In the relaxed version of the problem, each demand can be split into two parts where the first part is routed clockwise while the second part is routed counter-clockwise. Denote with L* the maximum load of a minimum split routing solution.

In a landmark paper, Schrijver, Seymour and Winkler [SSW98] showed that L <= L* + 3/2 D, where D is the maximum demand value. They also found (implicitly) an instance of the Ring Loading Problem with L = L* + 101/100 D. Recently, Skutella [Sku16] improved these bounds by showing that L <= L* + 19/14 D, and there exists an instance with L = L* + 11/10 D. More recently, we showed that L <= L* + 13/10 D [Däu22].

In this repository you find mixed integer linear programs that potentially produce new and improved lower bound instances. All you need is a strong computer and a solver for mixed integer linear programs.

Instructions

If you are interested to find better lower bounds and contribute to research, use the given mixed integer programs provided in .lp format. The files rl*.lp model the base model as defined in [Däu22]. The files lp_reduced*.lp incorporate some reductions in order to improve the size of the mixed integer linear programs that should allow the instances to solve faster and require less momory.

If you want to solve or create your own mixed integer linear programs, you can use the source code provided in the generator folder. The code depends on gurobi and the boost program_options. It can be build with cmake.

Results

Every objective value

  • larger than 1 is concidered a non-trivial instance
  • larger than 1.1 is concidered an improved lower bound that is worth publishing
  • larger than 1.3 is concidered a problem ;D (either the model or some theoretical result for upper bounds are wrong)

Bibliography

[SSW98] A. Schrijver, P. Seymour, and P. Winkler. The ring loading problem. SIAM J. Discrete Math., 11(1):1–14, 1998.

[Sku16] M. Skutella. A note on the ring loading problem. SIAM J. Discrete Math., 30(1):327–342, 2016.

[Däu22] K. Däubel. An improved upper bound for the ring loading problem. SIAM J. Discrete Math., 36(2):867-887, 2022.

ringloading's People

Contributors

karldaeubel avatar

Stargazers

Denny Korsukéwitz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.