https://github.com/chrhansk/time-dependent-tsp

A MIP-based algorithm to solve the Time-Dependent TSP

https://github.com/chrhansk/time-dependent-tsp

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords

combinatorial-optimization optimization
Last synced: 5 months ago · JSON representation

Repository

A MIP-based algorithm to solve the Time-Dependent TSP

Basic Info
  • Host: GitHub
  • Owner: chrhansk
  • License: agpl-3.0
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 194 KB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Topics
combinatorial-optimization optimization
Created about 5 years ago · Last pushed 10 months ago

https://github.com/chrhansk/time-dependent-tsp/blob/main/

# A MIP-based algorithm to solve the Time-Dependent TSP

This implementation supplements the article

[Hansknecht, C.; Joormann, I.; Stiller, S. "Dynamic Shortest Paths Methods for the Time-Dependent TSP." Algorithms 2021, 14, 21.](https://dx.doi.org/10.3390/a14010021)

## Dependencies

This code depends on the following packages:

- A `C++` compiler supporting `C++ 17`, such as [gcc](https://gcc.gnu.org/) or [clang](https://clang.llvm.org/)
- [CMake](https://cmake.org/) `>= 3.10`
- [Boost](https://www.boost.org/) `>= 1.70`
- [GoogleTest](https://google.github.io/googletest/)
- [SCIP](https://scipopt.org/) `>= 7.0.0`

## Build

The following commands build and test the code when executed in the
root folder of the project:

- `mkdir build`
- `cd build`
- `cmake ..`
- `make`

## Tests

To build and run the unit tests following the build, execute the following
commands in the `build/` folder:

- `make build_tests`
- `make test`

## Benchmarks

This code includes several benchmarks used to obtain the results in
the article mentioned above. To build the benchmarks following the
build, execute the following commands in the `build/` folder:

- `make build_benchmarks`

The benchmarks are stored as executables in the `src/perf` subfolder
of the `build/` folder. Following the build of the benchmarks, you can
run all benchmarks and collect the results by executing

- `make collect`

The results will be stored as `.csv` files in the `src/perf` subfolder
of the `build` folder. Alternatively, you can collect the results from
individual benchmarks using

- `make collect__`

where size is either `medium` or `large` (again, see the article for
details). This will produce a file `_.csv` in the
same folder as mentioned above.

Alternatively, you can run the benchmarks on their own in order to
study the behavior of the solvers during the execution.

**Beware:** To obtain correct (i.e. comparable) timing results, ensure
the following:

- Instruct `cmake` to compile optimized code by setting an appropriate
  [build type](https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html).
- Use [Gurobi](https://gurobi.com/) as a back end for SCIP.
- Ensure that SCIP itself is compiled in release mode (this *should* be the case by default)

## Instances

The instances were generated as mentioned in the article, using a
deterministic random number generator. Thus far, they are not
persisted. If you need access to instance files, please contact us.

Owner

  • Name: Christoph Hansknecht
  • Login: chrhansk
  • Kind: user

GitHub Events

Total
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 4
  • Push event: 2
Last Year
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 4
  • Push event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 6
  • Total Committers: 2
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.167
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Christoph Hansknecht c****t@t****e 5
Christoph Hansknecht c****t@g****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 2
  • Total pull requests: 2
  • Average time to close issues: 7 days
  • Average time to close pull requests: 11 months
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 5.0
  • Average comments per pull request: 2.5
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • MINIMALaq (2)
  • boomboompsh (1)
Pull Request Authors
  • MINIMALaq (3)
Top Labels
Issue Labels
Pull Request Labels