Benchmarks

Here a collection of global optimization benchmark problems that can be solved with MIDACO is presented. For every benchmark, a reference link, the problem type, the number and kind of variables and constraints is stated. The benchmark source code vary in their programming language (see the extension). The output by MIDACO is given as plain text-file. Particular note the large scale capability of MIDACO demonstrated by benchmarks with hundreds and thousands of variables. In regard to reported CPU times, the majority of benchmarks were calculated on a Linux system (Ubuntu 16.04) with an Intel i5-7200U CPU @ 2.5GHz. For benchmark problems with N <= 4, the MIDACO results can be reproduced with the limited version available here.

 

Abbreviations for Benchmark Classification
 N  Number of Variables in Total
 NI  Number of Integer Variables  ( 0 <= NI <= N )
 M  Number of Constraints in Total
 ME   Number of Equality Constraints  ( 0 <= ME <= M )

 

Benchmark problems

Name Ref Type N NI M ME Source Code Output
Ackley Wiki NLP 2 0 0 0

ackley.m

ackley.cs

ackley.java

ackley.txt
Drop-Wave SFU NLP 2 0 0 0

dropwave.m

dropwave.cs

dropwave.py.txt

dropwave.txt
Eggholder SFU NLP 2 0 0 0

eggholder.r

eggholder.m

eggholder.py.txt

eggholder.txt
Holder Wiki NLP 2 0 0 0

holder.r

holder.m

holder.cpp

holder.txt
Schaffer2 Wiki NLP 2 0 0 0

schaffer2.cs

schaffer2.java

schaffer2.py.txt

schaffer2.txt
nvs01 GAMS MINLPc 3 2 3 1

nvs01.m

nvs01.cpp

nvs01.java

nvs01.txt
nvs12 GAMS IPc 4 4 4 0

nvs12.r

nvs12.m

nvs12.py.txt

nvs12.txt
G5 Hedar  NLPc 4 0 5 3

g5.m

g5.cs

g5.cpp

g5.py.txt

g5.txt
Rastringin Wiki NLP 4 0 0 0

rastrigin.m

rastrigin.c

rastrigin.java

rastrigin.py.txt

rastrigin.txt

Noisy Sphere GECCO NLP 4 0 0 noisy_sphere.m noisy_sphere.txt
Cassini1

ESA

NLPc

6 0 4 0

cassini1.cpp

cassini1.txt

GTOC1

ESA

 NLPc 8 0 6 0

gtoc1.cpp

gtoc1.txt

Oaer GAMS MINLPc 9 3 7 3

oaer.m

oaer.txt

nvs24 GAMS IPc 10 10 10 0

nvs24.m

nvs24.txt

Synthes2 GAMS MINLPc 11 5 14 1

synthes2.r

synthes2.txt

Floudas4 Schittk MINLPc 11 8 7 3

floudas4.py.txt

floudas4.txt

Sagas

ESA

NLPc

12 0 2 0

sagas.cpp

sagas.txt

Windfac GAMS MINLPc 14 3 13 13

windfac.f

windfac.txt

Fuel GAMS MINLPc 15 3 15 6

fuel.f

fuel.txt

Synthes3 GAMS MINLPc 17 8 23 2

synthes3.java

synthes3.txt

Spring GAMS MINLPc 17 12 8 5

spring.m

spring.txt

gr17 (TSP) TSPlib IP 17 17 0 0

gr17.f

gr17.txt

G2 Hedar NLPc 20 0 2 0

g2.py.txt

g2.txt

Rosetta ESA NLP 22 0 0 0

rosetta.cpp

rosetta.txt

Cassini2 ESA NLP 22 0 0 0

cassini2.cpp

cassini2.txt

st_test8 GAMS IPc 24 24 20 0

st_test8.m

st_test8.txt

M3 GAMS MINLPc 26 6 43 0

m3.m

m3.txt

fri26 (TSP) TSPlib IP 26 26 0 0

fri26.f

fri26.txt

Optprloc Schittk MINLPc 30 25 30 0

optprloc.f

optprloc.txt

Meanvarx GAMS MINLPc  35 14  44  meanvarx.m meanvarx.txt
Splitf9 Schittk MINLPc 36 27 21 9 splitf9.f splitf9.txt
tls2 GAMS MINLPc 37 33 24  6 tls2.f tls2.txt
Batch GAMS MINLPc 46 24 73 12 batch.m batch.txt
Tltr GAMS IPc 48 48 53 0 tltr.f tltr.txt
Nous1 GAMS MINLPc 50 2 43 41 nous1.f nous1.txt
Elf GAMS MINLPc 54 24 38 6 elf.f elf.txt
FAC2 GAMS MINLPc 66 12 33 21 FAC2.f FAC2.txt
Spectra2 GAMS MINLPc 69  30  72 9 spectra2.f spectra2.txt
Minlphix GAMS MINLPc 84 20 92 30 minlphix.f minlphix.txt
M6 GAMS MINLPc 96 30 157 0 M6.f M6.txt
Knapsack Wiki IPc 100 100 1 0 knapsack.m knapsack.txt
Schwefel Hedar NLP 100 0 0 0 schwefel.py.txt schwefel.txt
st_e31 GAMS MINLPc 112  24  135 81 st_e31.f st_e31.txt
Ravem GAMS MINLPc 112 54 186 25 ravem.f ravem.txt
Parallel GAMS MINLPc 205  25 112  81 parallel.f parallel.txt
Noisy GECCO NLP 250 0 0 0 noisy.py.txt noisy.txt
Rastringin Wiki  NLP 300  0 0 0 rastrigin.m rastrigin.txt
Ackley SFU NLP 400 0 0 0 ackley.py.txt ackley.txt
Griewank Wolfram NLP 500 0 0 0

griewank.r

griewank.txt

Knapsack Wiki IPc 600 600 1 0

knapsack.py.txt

knapsack_p.txt

Knapsack Wiki IPc 700 700 1 0

knapsack.c

knapsack_c.txt

Sphere SFU NLP 800 0 0 0

sphere800.cs

sphere800.txt

Sphere SFU MINLP 900 450 0 0

sphere_MI.java

sphere_MI_j.txt

Sphere SFU  IP 1000 1000 0 0

sphere_IP.py.txt

sphere_IP.txt

Graph-Color Wiki IPc 1260 1260 443 63 graph1260.py.txt graph1260.txt
Rastrigin Wiki NLP 2000 0 0 0 rastrigin.c rastrigin.txt
Rosenbrock Wiki NLP 3000 0 0 0

rosenbrock.c

rosenbrock.txt

Ackley  SFU NLP 4000 0 0 0 ackley.c ackley.txt
Graph-Color Wiki IPc 4600 4600 1790 230 graph4600.py.txt graph4600.txt
Rastringin Wiki  MINLP 5000 2500 0 0 rastrigin.c rastrigin.txt
Ackley SFU  MINLP 6000 5000 0 0 ackley.java ackley.txt
Rosenbrock Wiki MINLP 7000 6000 0 0 rosenbrock.c rosenbrock.txt
Griewank Wolfram NLP 8000 0 0 0 griewank.cs griewank_cs.txt
Sphere  SFU IP 9000 9000 0 0

sphere_IP.java

sphere_IP_j.txt

Sphere  SFU NLP 10000 0 0 0

sphere10k.cs

sphere10k.txt

 

Sphere

 

SFU MINLP 100000 50000 0 0

sphere100k.c

 

sphere100k.txt