-
Notifications
You must be signed in to change notification settings - Fork 2
/
ReadMe.Rmd
131 lines (90 loc) · 4.58 KB
/
ReadMe.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
---
output:
github_document:
html_preview: true
editor_options:
chunk_output_type: console
---
```{r, include=FALSE}
library(MOrepoTools)
library(bibtex)
knitr::opts_chunk$set(opts=list(blank=FALSE, width.cutoff=120), cache = FALSE,
autodep = TRUE, collapse=TRUE, error = TRUE)
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-<name>` 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 <larsrn@econ.au.dk> and Sune Gadegaard <sgadegaard@econ.au.dk>.
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.
We recommend the last option and illustrate how it works. 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")
```
## How to contribute
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 documentation file [`contribute.md`](contribute.md) which describes different ways to do it.
```{r, include=FALSE}
dat <- getProblemClasses()
```
## Test instances @ MOrepo
Currently MOrepo contains instances for problem classes `r vec2String(dat)`. The contributions listed after class are:
```{r, results='asis', echo=FALSE, tidy=FALSE}
for (i in dat) {
cat("\n### Problem class -", i, "\n")
getInstanceInfo(class = i, withLinks = TRUE)
}
```
## Results @ MOrepo
```{r, include=FALSE}
dat <- getProblemClasses(results = TRUE)
```
Currently MOrepo contains results for instances in problem classes `r vec2String(dat)`. The contributions listed after class are:
```{r, results='asis', echo=FALSE, tidy=FALSE}
for (i in dat) {
cat("\n### Problem class -", i, "\n")
getResultInfo(class = i, withLinks = TRUE)
}
```
## How to cite
To cite use
```
@Electronic{MOrepo,
Title = {Multi-Objective Optimization Repository (MOrepo)},
Author = {L. R. Nielsen},
Url = {https://github.com/MCDMSociety/MOrepo},
Year = {2017}
}
```