Algorithms taught at my university in the course "Algorithms and Data Structures 2" implemented in Rust.
Supported problems and solving algorithms:
- Fractional Knapsack
- Solving via the Fractional Greedy Algorithm
- Maximum Knapsack
- Solving via Dynamic Programming
- Solving via Branch and Bound
- Approximate solving via GreedyK
- Heuristic solving via Greedy0/integer greedy
- Subset Sum
- Solving via Dynamic Programming
git clone https://github.com/linuskmr/aud2
cargo build --release
Run:
./target/release/aud2
$ cargo install --git https://github.com/linuskmr/aud2
Run from anywhere on your system:
$ aud2 --help
AuD2 is split into a library and a binary part. The library part can be used from your software. The binary part provides an executable command line program.
[dependencies]
aud2 = { git = "https://github.com/linuskmr/aud2" }
The examples/
directory provides examples for using the aud2 command line program.
examples/fractional_knapsack.rs
shows how to use aud2 for solving knapsack problems.
examples/subset_sum.rs
shows how to use aud2 for solving knapsack problems.
You can run the examples via cargo run --example subset_sum
or cargo run --example fractional_knapsack
respectively.
cargo doc --open
Set the environment variable RUST_LOG
to trace, debug, info, warn or error to examine the execution.
RUST_LOG=debug aud2 --help