~ruther/ctu-fee-eoa

ref: 458589fdc2ace8fd18ebc5f808ee3a697d4f24f8 ctu-fee-eoa/codes/README.md -rw-r--r-- 1.6 KiB
458589fd — Rutherther feat: implement constrained nsga 6 days ago

The report is located at bohacek_frantisek_report.pdf, it has been generated from report.md

Rust has been used to write the library and program for solving constrained problems. Cargo is used for managing the dependencies.

#How to run

To run the tsp, go into the constr_hw02 folder, ie. cd tsp_hw01, then use cargo run --release -- srank|moe problem, Supported problems are: g06, g08, g11, g24.

So for example: cargo run --release -- srank g06

#Solutions

The solution is then saved to constr_hw01/solutions/<instance>, csv file with best candidate fitness (only feasible candidates can be saved) and next to it is file with faction of feasible candidates in each iteration.

#Plotting

The solutions might be plotted by using tsp_plotter program. cd tsp_plotter and then cargo run --release -- <feature>, where feature is one of:

The features are hardcoded in the code and used in the report, they say what algorithms and instances should be used in a given plot. They are taken from the constr_hw02 folder.

The name of the plotter is same as used for hw01 as the plotting itself is the same.

#'Reproducing' the plots in the report

To obtain the graphs in the report, use the following sequence of commands:

  1. compute.sh to compute all the algorithms on all instances, 10 times for each instance.
  2. Generate the plots, go to tsp_plotter folder, and run
cargo build --release
# TODO

Now all the csv solutions are in constr_hw01/solutions and all the plots are in tsp_plotter/plots

The graphs won't be 1:1, because randomness is involved and the seeds haven't been captured and aren't configurable.