mcMST

mcMST: A Toolbox for the Multi-Criteria Minimum Spanning Tree Problem - Published in JOSS (2017)

https://github.com/jakobbossek/mcmst

Science Score: 93.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

cran evolutionary-algorithms mcmst minimum-spanning-trees multi-objective-optimization r spanningtrees

Scientific Fields

Sociology Social Sciences - 35% confidence
Last synced: 4 months ago · JSON representation

Repository

Algorithms to solve the multi-criteria minimum spanning tree problem (mcMST) in R

Basic Info
  • Host: GitHub
  • Owner: jakobbossek
  • License: other
  • Language: R
  • Default Branch: master
  • Homepage:
  • Size: 2.02 MB
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 3
  • Open Issues: 14
  • Releases: 2
Topics
cran evolutionary-algorithms mcmst minimum-spanning-trees multi-objective-optimization r spanningtrees
Created over 8 years ago · Last pushed almost 3 years ago
Metadata Files
Readme Changelog License

README.md

mcMST: A Toolbox for the Multi-Criteria Minimum Spanning Tree Problem

DOI CRAN Status Badge CRAN Downloads CRAN Downloads R-CMD-check Coverage Status

Introduction

It is well known, that the single-objective spanning tree problem (MST) is solvable in polynomial time, e.g., by the Prim's algorithm. However, in real-world applications, e.g., in network design, often multiple conflicting objectives have to be considered simultaneously. The multi-criteria version of the MST is NP-hard. The mcMST package for the R programming language contains several methods for solving the multi-criteria spanning tree problem (mcMST).

Key features of the mcMST package are:

  • A multi-objective version of Prim's algorithm.
  • Evolutionary multi-objective algorithms (based on the Prüfer-encoding or direct edge list representation) with several mutation operators.
  • A modular approach for benchmark problem generation (outsourced to R package grapherator.)

Example

Here we first generate a bi-criteria graph problem with n = 25 nodes with grapherator. The first objective is the Euclidean distance of node coordinates in the euclidean plane [0, 10] x [0, 10]. The second objective follows a normal distribution (N(5, 1.5)). r library(grapherator) set.seed(1) g = graph(lower = 0, upper = 100) g = addNodes(g, n = 25, generator = addNodesUniform) g = addEdges(g, generator = addEdgesDelauney) g = addWeights(g, generator = addWeightsDistance, method = "euclidean") g = addWeights(g, generator = addWeightsRandom, method = rnorm, mean = 5, sd = 1.5) print(g)

Next, we apply the multi-objective evolutionary algorithm proposed by Bossek & Grimme with population size mu = 10 and number of offspring lambda = 10 for max.iter = 100 generations. r library(ggplot2) res = mcMSTEmoaBG(g, mu = 30L, max.iter = 300L) ecr::plotFront(res$pareto.front) See the package vignettes for more details.

Installation Instructions

Install the CRAN release version via: r install.packages("mcMST") If you are interested in trying out and playing around with the current development version use the devtools package and install directly from GitHub:

r install.packages("devtools", dependencies = TRUE) devtools::install_github("jakobbossek/mcMST")

Contributing to mcMST

If you encounter problems using this software, e.g., bugs or insufficient/misleading documentation, or you simply have a question, feel free to open an issue in the issue tracker. In order to reproduce potential problems, please provide a minimal and reproducible code example.

Contributions to this software package are welcome via pull requests and will be merged at the sole discretion of the author.

Publications

The following publications are strongly related to the package.

Bossek, J., & Grimme, C. (2017). A Pareto-Beneficial Sub-Tree Mutation for the Multi-Criteria Minimum Spanning Tree Problem. In Proceedings of the IEEE Symposium Series on Computational Intelligence, Honolulu, Hawai.

Bossek, J. (2017). mcMST: A Toolbox for the Multi-Criteria Minimum Spanning Tree Problem. The Journal of Open Source Software, 2017.

Related work

The following packages provide methods to solve the single-objective MST problem:

Several packages implement methods to solve multi-criteria optimization problems in general:

Owner

  • Name: Jakob Bossek
  • Login: jakobbossek
  • Kind: user
  • Location: Germany
  • Company: RWTH Aachen University

JOSS Publication

mcMST: A Toolbox for the Multi-Criteria Minimum Spanning Tree Problem
Published
September 20, 2017
Volume 2, Issue 17, Page 374
Authors
Jakob Bossek ORCID
University of Münster
Editor
Kevin M. Moerman ORCID
Tags
combinatorial optimization evolutionary algorithms multi-objective optimization

GitHub Events

Total
Last Year

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 139
  • Total Committers: 2
  • Avg Commits per committer: 69.5
  • Development Distribution Score (DDS): 0.014
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jakob Bossek i****o@j****e 137
George G. Vega Yon g****n@g****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 33
  • Total pull requests: 2
  • Average time to close issues: 7 days
  • Average time to close pull requests: 1 day
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 0.73
  • Average comments per pull request: 1.5
  • Merged pull requests: 1
  • 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
  • jakobbossek (29)
  • gvegayon (4)
Pull Request Authors
  • gvegayon (1)
  • LuSchw (1)
Top Labels
Issue Labels
enhancement (6) later (2) important (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 244 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
cran.r-project.org: mcMST

A Toolbox for the Multi-Criteria Minimum Spanning Tree Problem

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 244 Last month
Rankings
Forks count: 17.8%
Stargazers count: 26.2%
Average: 28.6%
Dependent packages count: 29.8%
Downloads: 33.7%
Dependent repos count: 35.5%
Maintainers (1)
Last synced: 4 months ago

Dependencies

DESCRIPTION cran
  • BBmisc >= 1.6 depends
  • ecr >= 2.1.0 depends
  • grapherator * depends
  • checkmate >= 1.1 imports
  • ggplot2 >= 1.0.0 imports
  • gtools * imports
  • igraph * imports
  • parallelMap >= 1.3 imports
  • qgraph * imports
  • reshape2 >= 1.4.1 imports
  • vegan * imports
  • viridis * imports
  • gridExtra * suggests
  • knitr * suggests
  • rmarkdown * suggests
  • testthat >= 0.9.1 suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/pkgdown.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/test-coverage.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite