morepo

Multi-Objective Optimization Repository

https://github.com/mcdmsociety/morepo

Science Score: 31.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

mcdm mcdm-society mo-optimization multi-objective-optimization test-instances test-results
Last synced: 6 months ago · JSON representation ·

Repository

Multi-Objective Optimization Repository

Basic Info
  • Host: GitHub
  • Owner: MCDMSociety
  • Language: R
  • Default Branch: master
  • Size: 27.3 MB
Statistics
  • Stars: 7
  • Watchers: 4
  • Forks: 2
  • Open Issues: 6
  • Releases: 0
Topics
mcdm mcdm-society mo-optimization multi-objective-optimization test-instances test-results
Created almost 9 years ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

ReadMe.Rmd

---
output: 
   github_document:
      html_preview: true
editor_options: 
  chunk_output_type: console
---

```{r, include=FALSE}
library(MOrepoTools)
library(bibtex)
library(kableExtra)
knitr::opts_chunk$set(opts=list(blank=FALSE, width.cutoff=120), cache = FALSE, 
                      autodep = TRUE, collapse=TRUE, error = FALSE)
knitr::opts_knit$set(width = 90)
```

```{r How to update the repo (done using GitHub actions), eval=FALSE, echo=FALSE}
MOrepoTools:::setMetaContributions()
for(i in 1:10){
   try({
     r <- MOrepoTools:::setMetaInstances()
     break
   }, silent = FALSE)
}
for(i in 1:10){
   try({
     r <- MOrepoTools:::setMetaResults()
     break
   }, silent = FALSE)
}
```


# Multi-Objective Optimization Repository (MOrepo)

This repository is a response to the needs of researchers from the MCDM society to access multi-objective (MO) optimization instances. The repository contains instances, results, generators etc. for different MO problems and is continuously updated. The repository can be used as a test set for testing new algorithms, validating existing results and for reproducibility. All researchers within MO optimization are welcome to contribute. 

The repository consists of a main repository [`MOrepo`](https://github.com/MCDMSociety/MOrepo) at GitHub and a set of sub-repositories, one for each contribution. Sub-repositories are named `MOrepo-` where `name` normally is the surname of the first author and year of the study. All repositories are located within the [`MCDMSociety`](https://github.com/MCDMSociety/) organization at GitHub. 

The main repository contains documentation about how to use and contribute to `MOrepo`. Moreover, a set of tools are given in the R package `MOrepoTools` which can be used to retrieve info about test instance groups, results and problem classes. 

Maintainers of `MOrepo` are Lars Relund Nielsen  and Sune Gadegaard . 

Current maintainers of sub-repositories are `r vec2String(getMaintainers())`.

Current contributors to the repository are `r vec2String(getContributorNames())`. 

## Usage

Instances can be downloaded in different ways depending on usage:

   - If you want a whole sub-repository, download it as a zip file or clone it on GitHub.
   - Browse to a single instance and download it using the raw format at GitHub.
   - Use the R package `MOrepoTools` to download instances.

All researchers are welcome to contribute to `MOrepo`. The repository mainly contains MO test instances and results from various sources. However, also generators, format converters, algorithms etc. related to MO optimization are welcome. Have a look at the [contribute file](contribute.md) which describes different ways to do it. 

## Test instances @ MOrepo

```{r, include=FALSE}
dat <- getProblemClasses()
```

MOrepo contains instances for different problem classes. The contributions listed after class are:

```{r, results='asis', echo=FALSE, tidy=FALSE}
tab <- tibble::tibble("Problem class" = NA_character_, "Repository" = NA_character_, .rows = 0)
for (i in dat) {
   res <- getInstanceInfo(class = i, silent = TRUE)
   repo <- stringr::str_c("[", purrr::map_chr(res, function(x) x$contributionName), "]")
   url <- stringr::str_c("(", "https://github.com/MCDMSociety/MOrepo-", names(res), ")")
   str <- stringr::str_c(repo, url, collapse = ", ")
   tab <- dplyr::bind_rows(tab, c(`Problem class` = i, Repository = str))
}
kbl(tab, format = "pipe")
```

### Detailed information

MOrepo contains instances for problem classes `r vec2String(dat)`. A detailed description of the contributions are:

```{r, results='asis', echo=FALSE, tidy=FALSE}
getInstanceInfo(withLinks = TRUE)
```


## Results @ MOrepo

MOrepo contains results for some of the instances in problem classes:

```{r, include=FALSE}
dat <- getProblemClasses(results = TRUE)
```

```{r, results='asis', echo=FALSE, tidy=FALSE}
tab <- tibble::tibble("Problem class" = NA_character_, "Repository" = NA_character_, .rows = 0)
for (i in dat) {
   res <- getResultInfo(class = i, silent = TRUE)
   repo <- stringr::str_c("[", purrr::map_chr(res, function(x) x$contributionName), "]")
   url <- stringr::str_c("(", "https://github.com/MCDMSociety/MOrepo-", names(res), ")")
   str <- stringr::str_c(repo, url, collapse = ", ")
   tab <- dplyr::bind_rows(tab, c(`Problem class` = i, Repository = str))
}
kbl(tab, format = "pipe")
```

### Detailed information

MOrepo contains results for some of the instances in problem classes `r vec2String(dat)`. The contributions are:

```{r, results='asis', echo=FALSE, tidy=FALSE}
getResultInfo(withLinks = TRUE)
```


## How to cite

To cite use 

```{r, echo=FALSE}
bib<-RefManageR::ReadBib("citation.bib")
RefManageR::toBiblatex(bib)
```


## Use R to download instances
   
You may use the R package `MOrepoTools` to download instances. You don't need much knowledge about R to use the package. But of course it is preferable. You need [R](https://www.r-project.org/) and preferable [RStudio](https://www.rstudio.com/) installed on your computer. First you have to install the `MOrepoTools` package. From the R command line write:

```{r, eval=FALSE}
library(devtools)   # if the package is missing see ?install.package 
install_github("MCDMSociety/MOrepo/misc/R/MOrepoTools")
```

To get an overview over the current problem classes run:

```{r}
library(MOrepoTools)
getProblemClasses()  # current problem classes in MOrepo
getInstanceInfo(class = "Assignment")  # info about instances for the assignment problem
```

Now download the Tuyttens00 contribution as a zip file using 

```{r, cache=TRUE}
getContributionAsZip("Tuyttens00")
```





Owner

  • Name: MCDMSociety
  • Login: MCDMSociety
  • Kind: organization

Citation (citation.bib)

@Electronic{MOrepo,
  Title                    = {Multi-Objective Optimization Repository (MOrepo)},
  Author                   = {L. R. Nielsen},
  Url                      = {https://github.com/MCDMSociety/MOrepo},
  Year                     = {2017}
}

GitHub Events

Total
  • Watch event: 1
  • Push event: 2
Last Year
  • Watch event: 1
  • Push event: 2

Dependencies

.github/workflows/updateRepo.yaml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-r master composite
misc/R/MOrepoTools/DESCRIPTION cran
  • RCurl * imports
  • RefManageR * imports
  • bibtex * imports
  • ggplot2 * imports
  • httr * imports
  • jsonlite * imports
  • jsonvalidate * imports
  • plyr * imports
  • readr * imports
  • tidyverse * imports
  • utils * imports
  • knitr * suggests