ysfalh / 5G-user-scheduling-optimization

This project aims at designing optimal packet schedulers by providing an online solution to the NP-hard integer linear programming problem of network scheduling.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

5G-user-scheduling-optimization

This project aims at designing optimal packet schedulers by providing an online solution to the NP-hard integer linear programming problem of network scheduling.

Project description

To find out more about the problem we try to solve and how we address it, please open "problem_description.pdf" in the main directory.

How to test the code

We provide the command lines to execute the Java scripts in the code directory.

Preprocessing step

arguments: String [] path, boolean display (= false)

output: Returns the results of preprocessing the file with address path. The boolean display is used to request the display of Xnkm tables after preprocessing.

example: java Preprocessing ../testfiles/test1.txt true

Dynamic Programming solution

arguments: String [] path, boolean display (= false)

output: Returns the results after applying dynamic programming algorithms to the path file. The boolean display is used to request the display of Xnkm tables after processing.

example: java DynamicPrograming ../testfiles/test1.txt true

Greedy solution

input: String [] path, boolean display (= false)

output: Returns the results after applying the greedy algorithm on the path file. The boolean display is used to request the display of Xnkm tables after processing.

example: java Greedy ../testfiles/test1.txt true

First online solution

arguments: int iterations (= 10,000)

output: Returns the results obtained after applying the online algorithm on an 'iteration' number of operations. These results are obtained compared to the greedy algorithm applied to the same problem once all the users have been generated, after the fact.

example: java Online 1000000

Second online solution

arguments: int iterations (= 10,000)

output: Returns the results obtained after applying the online2 algorithm on a number of 'iteration' of operations. These results are obtained compared to the greedy algorithm applied to the same problem once all the users have been generated, after the fact.

example: java Online2 1000000

Third online solution

arguments: int iterations (= 10,000)

output: Returns the results obtained after applying the online3 algorithm on a number of 'iteration' operations. These results are obtained compared to the greedy algorithm applied to the same problem once all the users have been generated, after the fact.

example: java Online3 1000000

About

This project aims at designing optimal packet schedulers by providing an online solution to the NP-hard integer linear programming problem of network scheduling.


Languages

Language:Java 100.0%