Test Problems¶
In the future we are planning to provide a comprehensive overview of problems. So far we have managed to describe a view of them and plot the functions. Please note, that we have used for some problems the descriptions from here.
We would like to keep the function definitions as error free as possible and matching with the implementation. If you find any deviation please let us know.
Many-Objective¶
Problem |
Description |
---|---|
DTLZ1^-1 |
|
Scaled DTLZ |
|
Convex DTLZ |
Multi-Objective¶
Problem |
Variables |
Objectives |
Constraints |
Description |
---|---|---|---|---|
2 |
2 |
2 |
||
Carside |
7 |
3 |
10 |
|
Kursawe |
3 |
2 |
||
6 |
2 |
6 |
||
2 |
2 |
2 |
||
3 |
2 |
1 |
||
4 |
2 |
4 |
||
CTP1 |
2 |
2 |
||
CTP2 |
2 |
2 |
||
CTP3 |
2 |
2 |
||
CTP4 |
2 |
2 |
||
CTP5 |
2 |
2 |
||
CTP6 |
2 |
2 |
||
CTP7 |
2 |
2 |
||
CTP8 |
2 |
2 |
||
30 |
2 |
|||
30 |
2 |
|||
30 |
2 |
|||
10 |
2 |
|||
80 |
2 |
|||
10 |
2 |
Single-Objective¶
Problem |
Variables |
Constraints |
Type |
---|---|---|---|
s |
|||
Cantilevered Beams |
4 |
2 |
|
s |
|||
Himmelblau |
2 |
||
Knapsack |
s |
1 |
|
Pressure Vessel |
4 |
4 |
|
s |
|||
s |
|||
Schwefel |
s |
||
Sphere |
s |
||
s |
|||
G01 |
13 |
9 |
|
G02 |
20 |
2 |
|
G03 |
10 |
1 |
|
G04 |
5 |
6 |
|
G05 |
4 |
5 |
|
G06 |
2 |
2 |
|
G07 |
10 |
8 |
|
G08 |
2 |
2 |
|
G09 |
8 |
6 |
Global Optimization
Implementations are taken from (SciPy)[https://github.com/scipy/scipy/tree/master/benchmarks/benchmarks/go_benchmark_functions] where a variety of global optimization benchmark problems are provided. Pymoo uses a wrapper class to make all those functions available.
Problem |
Variables |
Constraints |
Name |
---|---|---|---|
AMGM |
2 |
“go-amgm” |
|
Ackley01 |
2 |
“go-ackley01” |
|
Ackley02 |
2 |
“go-ackley02” |
|
Ackley03 |
2 |
“go-ackley03” |
|
Adjiman |
2 |
“go-adjiman” |
|
Alpine01 |
2 |
“go-alpine01” |
|
Alpine02 |
2 |
“go-alpine02” |
|
BartelsConn |
2 |
“go-bartelsconn” |
|
Beale |
2 |
“go-beale” |
|
BiggsExp02 |
2 |
“go-biggsexp02” |
|
BiggsExp03 |
3 |
“go-biggsexp03” |
|
BiggsExp04 |
4 |
“go-biggsexp04” |
|
BiggsExp05 |
5 |
“go-biggsexp05” |
|
Bird |
2 |
“go-bird” |
|
Bohachevsky1 |
2 |
“go-bohachevsky1” |
|
Bohachevsky2 |
2 |
“go-bohachevsky2” |
|
Bohachevsky3 |
2 |
“go-bohachevsky3” |
|
BoxBetts |
3 |
“go-boxbetts” |
|
Branin01 |
2 |
“go-branin01” |
|
Branin02 |
2 |
“go-branin02” |
|
Brent |
2 |
“go-brent” |
|
Brown |
2 |
“go-brown” |
|
Bukin02 |
2 |
“go-bukin02” |
|
Bukin04 |
2 |
“go-bukin04” |
|
Bukin06 |
2 |
“go-bukin06” |
|
CarromTable |
2 |
“go-carromtable” |
|
Chichinadze |
2 |
“go-chichinadze” |
|
Cigar |
2 |
“go-cigar” |
|
Cola |
17 |
“go-cola” |
|
Colville |
4 |
“go-colville” |
|
Corana |
4 |
“go-corana” |
|
CosineMixture |
2 |
“go-cosinemixture” |
|
CrossInTray |
2 |
“go-crossintray” |
|
CrossLegTable |
2 |
“go-crosslegtable” |
|
CrownedCross |
2 |
“go-crownedcross” |
|
Csendes |
2 |
“go-csendes” |
|
Cube |
2 |
“go-cube” |
|
Damavandi |
2 |
“go-damavandi” |
|
DeVilliersGlasser01 |
4 |
“go-devilliersglasser01” |
|
DeVilliersGlasser02 |
5 |
“go-devilliersglasser02” |
|
Deb01 |
2 |
“go-deb01” |
|
Deb03 |
2 |
“go-deb03” |
|
Decanomial |
2 |
“go-decanomial” |
|
Deceptive |
2 |
“go-deceptive” |
|
DeckkersAarts |
2 |
“go-deckkersaarts” |
|
DeflectedCorrugatedSpring |
2 |
“go-deflectedcorrugatedspring” |
|
DixonPrice |
2 |
“go-dixonprice” |
|
Dolan |
5 |
“go-dolan” |
|
DropWave |
2 |
“go-dropwave” |
|
Easom |
2 |
“go-easom” |
|
Eckerle4 |
3 |
“go-eckerle4” |
|
EggCrate |
2 |
“go-eggcrate” |
|
EggHolder |
2 |
“go-eggholder” |
|
ElAttarVidyasagarDutta |
2 |
“go-elattarvidyasagardutta” |
|
Exp2 |
2 |
“go-exp2” |
|
Exponential |
2 |
“go-exponential” |
|
FreudensteinRoth |
2 |
“go-freudensteinroth” |
|
Gear |
4 |
“go-gear” |
|
Giunta |
2 |
“go-giunta” |
|
GoldsteinPrice |
2 |
“go-goldsteinprice” |
|
Griewank |
2 |
“go-griewank” |
|
Gulf |
3 |
“go-gulf” |
|
Hansen |
2 |
“go-hansen” |
|
Hartmann3 |
3 |
“go-hartmann3” |
|
Hartmann6 |
6 |
“go-hartmann6” |
|
HelicalValley |
3 |
“go-helicalvalley” |
|
HimmelBlau |
2 |
“go-himmelblau” |
|
HolderTable |
2 |
“go-holdertable” |
|
Hosaki |
2 |
“go-hosaki” |
|
Infinity |
2 |
“go-infinity” |
|
JennrichSampson |
2 |
“go-jennrichsampson” |
|
Judge |
2 |
“go-judge” |
|
Katsuura |
2 |
“go-katsuura” |
|
Keane |
2 |
“go-keane” |
|
Kowalik |
4 |
“go-kowalik” |
|
Langermann |
2 |
“go-langermann” |
|
LennardJones |
6 |
“go-lennardjones” |
|
Leon |
2 |
“go-leon” |
|
Levy03 |
2 |
“go-levy03” |
|
Levy05 |
2 |
“go-levy05” |
|
Levy13 |
2 |
“go-levy13” |
|
Matyas |
2 |
“go-matyas” |
|
McCormick |
2 |
“go-mccormick” |
|
Meyer |
3 |
“go-meyer” |
|
Michalewicz |
2 |
“go-michalewicz” |
|
MieleCantrell |
4 |
“go-mielecantrell” |
|
Mishra01 |
2 |
“go-mishra01” |
|
Mishra02 |
2 |
“go-mishra02” |
|
Mishra03 |
2 |
“go-mishra03” |
|
Mishra04 |
2 |
“go-mishra04” |
|
Mishra05 |
2 |
“go-mishra05” |
|
Mishra06 |
2 |
“go-mishra06” |
|
Mishra07 |
2 |
“go-mishra07” |
|
Mishra08 |
2 |
“go-mishra08” |
|
Mishra09 |
3 |
“go-mishra09” |
|
Mishra10 |
2 |
“go-mishra10” |
|
Mishra11 |
2 |
“go-mishra11” |
|
MultiModal |
2 |
“go-multimodal” |
|
NeedleEye |
2 |
“go-needleeye” |
|
NewFunction01 |
2 |
“go-newfunction01” |
|
NewFunction02 |
2 |
“go-newfunction02” |
|
OddSquare |
2 |
“go-oddsquare” |
|
Parsopoulos |
2 |
“go-parsopoulos” |
|
Pathological |
2 |
“go-pathological” |
|
Paviani |
10 |
“go-paviani” |
|
PenHolder |
2 |
“go-penholder” |
|
Penalty01 |
2 |
“go-penalty01” |
|
Penalty02 |
2 |
“go-penalty02” |
|
PermFunction01 |
2 |
“go-permfunction01” |
|
PermFunction02 |
2 |
“go-permfunction02” |
|
Pinter |
2 |
“go-pinter” |
|
Plateau |
2 |
“go-plateau” |
|
Powell |
4 |
“go-powell” |
|
PowerSum |
4 |
“go-powersum” |
|
Price01 |
2 |
“go-price01” |
|
Price02 |
2 |
“go-price02” |
|
Price03 |
2 |
“go-price03” |
|
Price04 |
2 |
“go-price04” |
|
Qing |
2 |
“go-qing” |
|
Quadratic |
2 |
“go-quadratic” |
|
Quintic |
2 |
“go-quintic” |
|
Rana |
2 |
“go-rana” |
|
Rastrigin |
2 |
“go-rastrigin” |
|
Ratkowsky01 |
4 |
“go-ratkowsky01” |
|
Ratkowsky02 |
3 |
“go-ratkowsky02” |
|
Ripple01 |
2 |
“go-ripple01” |
|
Ripple25 |
2 |
“go-ripple25” |
|
Rosenbrock |
2 |
“go-rosenbrock” |
|
RosenbrockModified |
2 |
“go-rosenbrockmodified” |
|
RotatedEllipse01 |
2 |
“go-rotatedellipse01” |
|
RotatedEllipse02 |
2 |
“go-rotatedellipse02” |
|
Salomon |
2 |
“go-salomon” |
|
Sargan |
2 |
“go-sargan” |
|
Schaffer01 |
2 |
“go-schaffer01” |
|
Schaffer02 |
2 |
“go-schaffer02” |
|
Schaffer03 |
2 |
“go-schaffer03” |
|
Schaffer04 |
2 |
“go-schaffer04” |
|
Schwefel01 |
2 |
“go-schwefel01” |
|
Schwefel02 |
2 |
“go-schwefel02” |
|
Schwefel04 |
2 |
“go-schwefel04” |
|
Schwefel06 |
2 |
“go-schwefel06” |
|
Schwefel20 |
2 |
“go-schwefel20” |
|
Schwefel21 |
2 |
“go-schwefel21” |
|
Schwefel22 |
2 |
“go-schwefel22” |
|
Schwefel26 |
2 |
“go-schwefel26” |
|
Schwefel36 |
2 |
“go-schwefel36” |
|
Shekel05 |
4 |
“go-shekel05” |
|
Shekel07 |
4 |
“go-shekel07” |
|
Shekel10 |
4 |
“go-shekel10” |
|
Shubert01 |
2 |
“go-shubert01” |
|
Shubert03 |
2 |
“go-shubert03” |
|
Shubert04 |
2 |
“go-shubert04” |
|
SineEnvelope |
2 |
“go-sineenvelope” |
|
SixHumpCamel |
2 |
“go-sixhumpcamel” |
|
Sodp |
2 |
“go-sodp” |
|
Sphere |
2 |
“go-sphere” |
|
Step |
2 |
“go-step” |
|
Step2 |
2 |
“go-step2” |
|
Stochastic |
2 |
“go-stochastic” |
|
StretchedV |
2 |
“go-stretchedv” |
|
StyblinskiTang |
2 |
“go-styblinskitang” |
|
TestTubeHolder |
2 |
“go-testtubeholder” |
|
ThreeHumpCamel |
2 |
“go-threehumpcamel” |
|
Thurber |
7 |
“go-thurber” |
|
Treccani |
2 |
“go-treccani” |
|
Trefethen |
2 |
“go-trefethen” |
|
Trid |
6 |
“go-trid” |
|
Trigonometric01 |
2 |
“go-trigonometric01” |
|
Trigonometric02 |
2 |
“go-trigonometric02” |
|
Tripod |
2 |
“go-tripod” |
|
Ursem01 |
2 |
“go-ursem01” |
|
Ursem03 |
2 |
“go-ursem03” |
|
Ursem04 |
2 |
“go-ursem04” |
|
UrsemWaves |
2 |
“go-ursemwaves” |
|
VenterSobiezcczanskiSobieski |
2 |
“go-ventersobiezcczanskisobieski” |
|
Vincent |
2 |
“go-vincent” |
|
Watson |
6 |
“go-watson” |
|
Wavy |
2 |
“go-wavy” |
|
WayburnSeader01 |
2 |
“go-wayburnseader01” |
|
WayburnSeader02 |
2 |
“go-wayburnseader02” |
|
Weierstrass |
2 |
“go-weierstrass” |
|
Whitley |
2 |
“go-whitley” |
|
Wolfe |
3 |
“go-wolfe” |
|
XinSheYang01 |
2 |
“go-xinsheyang01” |
|
XinSheYang02 |
2 |
“go-xinsheyang02” |
|
XinSheYang03 |
2 |
“go-xinsheyang03” |
|
XinSheYang04 |
2 |
“go-xinsheyang04” |
|
Xor |
9 |
“go-xor” |
|
YaoLiu04 |
2 |
“go-yaoliu04” |
|
YaoLiu09 |
2 |
“go-yaoliu09” |
|
Zacharov |
2 |
“go-zacharov” |
|
ZeroSum |
2 |
“go-zerosum” |
|
Zettl |
2 |
“go-zettl” |
|
Zimmerman |
2 |
“go-zimmerman” |
|
Zirilli |
2 |
“go-zirilli” |