This software is written in Rust language. 
The program should be able to compile with rustc 1.52.0 stable channel.
The program can be compiled and run with command `cargo run --release`.
All dependencies are specified in `Cargo.toml`.
All hyper-parameters and seed are included in the code for reproducing exactly same result as content in `out` folders or what we show in the paper.
If all parameters remains the same, this program should take less than 5GB of memory to run and only cpu will be used.
If the computer has multiple logical units, parallelism will be used automatically.
The expected time for running each single task on a i7-8700 cpu is shown in `main.rs`.
In the code we use `OM` which means "optimal method" as another name of `ALUM`.
We include the all program output in `out` folder for checking reproducibility.
