the black box optimization competition · is something new, and hopefully a lot of fun. tobias...

77
The True Black Box Optimization Competition NumBBO Workshop Monday November 24, 2014 Tobias Glasmachers Institut f¨ ur Neuroinformatik Ruhr-Universit¨ at Bochum, Germany Joint work with Ilya Loshchilov Tobias Glasmachers The Black Box Optimization Competition 1

Upload: others

Post on 02-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

The True Black Box

Optimization Competition

NumBBO WorkshopMonday November 24, 2014

Tobias GlasmachersInstitut fur NeuroinformatikRuhr-Universitat Bochum, Germany

Joint work with Ilya Loshchilov

Tobias Glasmachers The Black Box Optimization Competition 1

Page 2: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

What is this about?

The “Black Box Optimization Competition”(BBComp)

is the first platform for a testing blackbox optimizers under realistic conditions:

the objective function is truly a black-box.

What does that mean? How is it differ from existingbenchmark platforms?

Wow does it work?

(Why) do we need this?

Tobias Glasmachers The Black Box Optimization Competition 2

Page 3: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

What is this about?

The “Black Box Optimization Competition”(BBComp)

is the first platform for a testing blackbox optimizers under realistic conditions:

the objective function is truly a black-box.

What does that mean? How is it differ from existingbenchmark platforms?

Wow does it work?

(Why) do we need this?

Tobias Glasmachers The Black Box Optimization Competition 2

Page 4: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

What is this about?

The “Black Box Optimization Competition”(BBComp)

is the first platform for a testing blackbox optimizers under realistic conditions:

the objective function is truly a black-box.

What does that mean? How is it differ from existingbenchmark platforms?

Wow does it work?

(Why) do we need this?

Tobias Glasmachers The Black Box Optimization Competition 2

Page 5: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

What is this about?

The “Black Box Optimization Competition”(BBComp)

is the first platform for a testing blackbox optimizers under realistic conditions:

the objective function is truly a black-box.

What does that mean? How is it differ from existingbenchmark platforms?

Wow does it work?

(Why) do we need this?

Tobias Glasmachers The Black Box Optimization Competition 2

Page 6: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

What is this about?

The “Black Box Optimization Competition”(BBComp)

is the first platform for a testing blackbox optimizers under realistic conditions:

the objective function is truly a black-box.

What does that mean? How is it differ from existingbenchmark platforms?

Wow does it work?

(Why) do we need this?

Tobias Glasmachers The Black Box Optimization Competition 2

Page 7: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Platforms for benchmarking black box optimizers do exist:BBOB/COCO, CEC competition.

General proceeding: the problems to be optimized are public,you run the algorithm yourself and only submit a performancesummary.

You are expected to play fair. Of course, after all this isscience, not competition, right?

The hope is that the benchmark collection is sufficientlygeneral and diverse.

In particular, knowing the problems in advance should not bea (significant) advantage.

Tobias Glasmachers The Black Box Optimization Competition 3

Page 8: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Platforms for benchmarking black box optimizers do exist:BBOB/COCO, CEC competition.

General proceeding: the problems to be optimized are public,you run the algorithm yourself and only submit a performancesummary.

You are expected to play fair. Of course, after all this isscience, not competition, right?

The hope is that the benchmark collection is sufficientlygeneral and diverse.

In particular, knowing the problems in advance should not bea (significant) advantage.

Tobias Glasmachers The Black Box Optimization Competition 3

Page 9: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Platforms for benchmarking black box optimizers do exist:BBOB/COCO, CEC competition.

General proceeding: the problems to be optimized are public,you run the algorithm yourself and only submit a performancesummary.

You are expected to play fair. Of course, after all this isscience, not competition, right?

The hope is that the benchmark collection is sufficientlygeneral and diverse.

In particular, knowing the problems in advance should not bea (significant) advantage.

Tobias Glasmachers The Black Box Optimization Competition 3

Page 10: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Platforms for benchmarking black box optimizers do exist:BBOB/COCO, CEC competition.

General proceeding: the problems to be optimized are public,you run the algorithm yourself and only submit a performancesummary.

You are expected to play fair. Of course, after all this isscience, not competition, right?

The hope is that the benchmark collection is sufficientlygeneral and diverse.

In particular, knowing the problems in advance should not bea (significant) advantage.

Tobias Glasmachers The Black Box Optimization Competition 3

Page 11: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Platforms for benchmarking black box optimizers do exist:BBOB/COCO, CEC competition.

General proceeding: the problems to be optimized are public,you run the algorithm yourself and only submit a performancesummary.

You are expected to play fair. Of course, after all this isscience, not competition, right?

The hope is that the benchmark collection is sufficientlygeneral and diverse.

In particular, knowing the problems in advance should not bea (significant) advantage.

Tobias Glasmachers The Black Box Optimization Competition 3

Page 12: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Is this really true? Or do we already see over-fitting to BBOBfunctions? How can we know?

It is common practice to test algorithms on well-knownfunctions as if these problems were black boxes. However,they are not.

This is good for understanding algorithm behavior. Is it goodfor comparison?

As an extreme example, think of a model based optimizer thattries to fit the BBOB functions as meta models...

Tobias Glasmachers The Black Box Optimization Competition 4

Page 13: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Is this really true? Or do we already see over-fitting to BBOBfunctions? How can we know?

It is common practice to test algorithms on well-knownfunctions as if these problems were black boxes. However,they are not.

This is good for understanding algorithm behavior. Is it goodfor comparison?

As an extreme example, think of a model based optimizer thattries to fit the BBOB functions as meta models...

Tobias Glasmachers The Black Box Optimization Competition 4

Page 14: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Is this really true? Or do we already see over-fitting to BBOBfunctions? How can we know?

It is common practice to test algorithms on well-knownfunctions as if these problems were black boxes. However,they are not.

This is good for understanding algorithm behavior. Is it goodfor comparison?

As an extreme example, think of a model based optimizer thattries to fit the BBOB functions as meta models...

Tobias Glasmachers The Black Box Optimization Competition 4

Page 15: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Is this really true? Or do we already see over-fitting to BBOBfunctions? How can we know?

It is common practice to test algorithms on well-knownfunctions as if these problems were black boxes. However,they are not.

This is good for understanding algorithm behavior. Is it goodfor comparison?

As an extreme example, think of a model based optimizer thattries to fit the BBOB functions as meta models...

Tobias Glasmachers The Black Box Optimization Competition 4

Page 16: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

How does BBComp differ?

We do not publish our functions!(Please don’t ask me how they look like, it is complicated, and the

function generator is nearly a black box to me.)

We challenge you to actually deal with the black box!

We give you exactly one trial, or in other words, a fixedbudget of black box queries for each function.

Tobias Glasmachers The Black Box Optimization Competition 5

Page 17: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

How does BBComp differ?

We do not publish our functions!

(Please don’t ask me how they look like, it is complicated, and the

function generator is nearly a black box to me.)

We challenge you to actually deal with the black box!

We give you exactly one trial, or in other words, a fixedbudget of black box queries for each function.

Tobias Glasmachers The Black Box Optimization Competition 5

Page 18: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

How does BBComp differ?

We do not publish our functions!(Please don’t ask me how they look like, it is complicated, and the

function generator is nearly a black box to me.)

We challenge you to actually deal with the black box!

We give you exactly one trial, or in other words, a fixedbudget of black box queries for each function.

Tobias Glasmachers The Black Box Optimization Competition 5

Page 19: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

How does BBComp differ?

We do not publish our functions!(Please don’t ask me how they look like, it is complicated, and the

function generator is nearly a black box to me.)

We challenge you to actually deal with the black box!

We give you exactly one trial, or in other words, a fixedbudget of black box queries for each function.

Tobias Glasmachers The Black Box Optimization Competition 5

Page 20: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

How does BBComp differ?

We do not publish our functions!(Please don’t ask me how they look like, it is complicated, and the

function generator is nearly a black box to me.)

We challenge you to actually deal with the black box!

We give you exactly one trial, or in other words, a fixedbudget of black box queries for each function.

Tobias Glasmachers The Black Box Optimization Competition 5

Page 21: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Feel free to do whatever:

use a commercial solver (publishing your code is notmandatory),optimize interactively or even manually (if you truly believe inyourself),run your own algorithm,pick the best you can find in the literature,do online algorithm selection, ...

There are only two rules:1 Don’t try to open the black box, e.g., by reverse engineering

our software or decrypting its network traffic.2 Don’t share function evaluations with colleagues.

Tobias Glasmachers The Black Box Optimization Competition 6

Page 22: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Feel free to do whatever:

use a commercial solver (publishing your code is notmandatory),optimize interactively or even manually (if you truly believe inyourself),run your own algorithm,pick the best you can find in the literature,do online algorithm selection, ...

There are only two rules:1 Don’t try to open the black box, e.g., by reverse engineering

our software or decrypting its network traffic.2 Don’t share function evaluations with colleagues.

Tobias Glasmachers The Black Box Optimization Competition 6

Page 23: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Hence—just like in real life—you cannot submit 10 differentalgorithm variants and see which performs best (unless yousplit your budget).

This means that we compare participants. BBOB comparesalgorithms.

That’s why BBComp is a competition, not (primarily) abenchmark platform.

We do not aim to replace existing algorithm comparisonplatforms. We have a different setup and different aims. Thisis something new, and hopefully a lot of fun.

Tobias Glasmachers The Black Box Optimization Competition 7

Page 24: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Hence—just like in real life—you cannot submit 10 differentalgorithm variants and see which performs best (unless yousplit your budget).

This means that we compare participants. BBOB comparesalgorithms.

That’s why BBComp is a competition, not (primarily) abenchmark platform.

We do not aim to replace existing algorithm comparisonplatforms. We have a different setup and different aims. Thisis something new, and hopefully a lot of fun.

Tobias Glasmachers The Black Box Optimization Competition 7

Page 25: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Hence—just like in real life—you cannot submit 10 differentalgorithm variants and see which performs best (unless yousplit your budget).

This means that we compare participants. BBOB comparesalgorithms.

That’s why BBComp is a competition, not (primarily) abenchmark platform.

We do not aim to replace existing algorithm comparisonplatforms. We have a different setup and different aims. Thisis something new, and hopefully a lot of fun.

Tobias Glasmachers The Black Box Optimization Competition 7

Page 26: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Introduction

Hence—just like in real life—you cannot submit 10 differentalgorithm variants and see which performs best (unless yousplit your budget).

This means that we compare participants. BBOB comparesalgorithms.

That’s why BBComp is a competition, not (primarily) abenchmark platform.

We do not aim to replace existing algorithm comparisonplatforms. We have a different setup and different aims. Thisis something new, and hopefully a lot of fun.

Tobias Glasmachers The Black Box Optimization Competition 7

Page 27: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Where to find BBComp?

BBComp has an official website:http://bbcomp.ini.rub.de

It was accepted as a competition to CEC 2015.

It is submitted as a competition to GECCO 2015(expensive setting).

Tobias Glasmachers The Black Box Optimization Competition 8

Page 28: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Where to find BBComp?

BBComp has an official website:http://bbcomp.ini.rub.de

It was accepted as a competition to CEC 2015.

It is submitted as a competition to GECCO 2015(expensive setting).

Tobias Glasmachers The Black Box Optimization Competition 8

Page 29: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Where to find BBComp?

BBComp has an official website:http://bbcomp.ini.rub.de

It was accepted as a competition to CEC 2015.

It is submitted as a competition to GECCO 2015(expensive setting).

Tobias Glasmachers The Black Box Optimization Competition 8

Page 30: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Where to find BBComp?

BBComp has an official website:http://bbcomp.ini.rub.de

It was accepted as a competition to CEC 2015.

It is submitted as a competition to GECCO 2015(expensive setting).

Tobias Glasmachers The Black Box Optimization Competition 8

Page 31: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The competition is based on a client server architecture.

Optimization algorithms are clients, the machinebbcomp.ini.rub.de is the server.

Clients don’t ever deal directly with the competition server(they actually cannot since all traffic is encrypted).

Instead they deal with a dynamic link library—this is the blackbox. During optimization it requires an internet connection tocontact the server.

We provide binary versions of this library for Linux, MacOS,and Windows, as well as a plain C header file with theinterfaces.

Tobias Glasmachers The Black Box Optimization Competition 9

Page 32: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The competition is based on a client server architecture.

Optimization algorithms are clients, the machinebbcomp.ini.rub.de is the server.

Clients don’t ever deal directly with the competition server(they actually cannot since all traffic is encrypted).

Instead they deal with a dynamic link library—this is the blackbox. During optimization it requires an internet connection tocontact the server.

We provide binary versions of this library for Linux, MacOS,and Windows, as well as a plain C header file with theinterfaces.

Tobias Glasmachers The Black Box Optimization Competition 9

Page 33: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The competition is based on a client server architecture.

Optimization algorithms are clients, the machinebbcomp.ini.rub.de is the server.

Clients don’t ever deal directly with the competition server(they actually cannot since all traffic is encrypted).

Instead they deal with a dynamic link library—this is the blackbox. During optimization it requires an internet connection tocontact the server.

We provide binary versions of this library for Linux, MacOS,and Windows, as well as a plain C header file with theinterfaces.

Tobias Glasmachers The Black Box Optimization Competition 9

Page 34: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The competition is based on a client server architecture.

Optimization algorithms are clients, the machinebbcomp.ini.rub.de is the server.

Clients don’t ever deal directly with the competition server(they actually cannot since all traffic is encrypted).

Instead they deal with a dynamic link library—this is the blackbox. During optimization it requires an internet connection tocontact the server.

We provide binary versions of this library for Linux, MacOS,and Windows, as well as a plain C header file with theinterfaces.

Tobias Glasmachers The Black Box Optimization Competition 9

Page 35: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The competition is based on a client server architecture.

Optimization algorithms are clients, the machinebbcomp.ini.rub.de is the server.

Clients don’t ever deal directly with the competition server(they actually cannot since all traffic is encrypted).

Instead they deal with a dynamic link library—this is the blackbox. During optimization it requires an internet connection tocontact the server.

We provide binary versions of this library for Linux, MacOS,and Windows, as well as a plain C header file with theinterfaces.

Tobias Glasmachers The Black Box Optimization Competition 9

Page 36: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The competition is based on a client server architecture.

Optimization algorithms are clients, the machinebbcomp.ini.rub.de is the server.

Clients don’t ever deal directly with the competition server(they actually cannot since all traffic is encrypted).

Instead they deal with a dynamic link library—this is the blackbox. During optimization it requires an internet connection tocontact the server.

We provide binary versions of this library for Linux, MacOS,and Windows, as well as a plain C header file with theinterfaces.

Tobias Glasmachers The Black Box Optimization Competition 9

Page 37: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Each participant needs an account.

Drop me an email and I’ll create one, this takes only a minute.

Then you will be able to log into the system. You can

log into the website,call the login library function and query the black box.

There is a public account with limited credentials:username demoaccount, password demopassword

Feel free to use it for exploration and testing.

Tobias Glasmachers The Black Box Optimization Competition 10

Page 38: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Each participant needs an account.

Drop me an email and I’ll create one, this takes only a minute.

Then you will be able to log into the system. You can

log into the website,call the login library function and query the black box.

There is a public account with limited credentials:username demoaccount, password demopassword

Feel free to use it for exploration and testing.

Tobias Glasmachers The Black Box Optimization Competition 10

Page 39: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Each participant needs an account.

Drop me an email and I’ll create one, this takes only a minute.

Then you will be able to log into the system. You can

log into the website,call the login library function and query the black box.

There is a public account with limited credentials:username demoaccount, password demopassword

Feel free to use it for exploration and testing.

Tobias Glasmachers The Black Box Optimization Competition 10

Page 40: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Each participant needs an account.

Drop me an email and I’ll create one, this takes only a minute.

Then you will be able to log into the system. You can

log into the website,call the login library function and query the black box.

There is a public account with limited credentials:username demoaccount, password demopassword

Feel free to use it for exploration and testing.

Tobias Glasmachers The Black Box Optimization Competition 10

Page 41: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Once you have an account you will see multiple tracks.

Each track consists of a number of black box problems.

For each problem you get to know the problem dimension dand the budget B.

For CEC the budget will be high, e.g., 100d2 or 1000d (to bedecided soon).

The feasible region for each problem is [0, 1]d . Querying aninfeasible point will fail, it will not count as a black box query.

Tobias Glasmachers The Black Box Optimization Competition 11

Page 42: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Once you have an account you will see multiple tracks.

Each track consists of a number of black box problems.

For each problem you get to know the problem dimension dand the budget B.

For CEC the budget will be high, e.g., 100d2 or 1000d (to bedecided soon).

The feasible region for each problem is [0, 1]d . Querying aninfeasible point will fail, it will not count as a black box query.

Tobias Glasmachers The Black Box Optimization Competition 11

Page 43: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Once you have an account you will see multiple tracks.

Each track consists of a number of black box problems.

For each problem you get to know the problem dimension dand the budget B.

For CEC the budget will be high, e.g., 100d2 or 1000d (to bedecided soon).

The feasible region for each problem is [0, 1]d . Querying aninfeasible point will fail, it will not count as a black box query.

Tobias Glasmachers The Black Box Optimization Competition 11

Page 44: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Once you have an account you will see multiple tracks.

Each track consists of a number of black box problems.

For each problem you get to know the problem dimension dand the budget B.

For CEC the budget will be high, e.g., 100d2 or 1000d (to bedecided soon).

The feasible region for each problem is [0, 1]d . Querying aninfeasible point will fail, it will not count as a black box query.

Tobias Glasmachers The Black Box Optimization Competition 11

Page 45: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Once you have an account you will see multiple tracks.

Each track consists of a number of black box problems.

For each problem you get to know the problem dimension dand the budget B.

For CEC the budget will be high, e.g., 100d2 or 1000d (to bedecided soon).

The feasible region for each problem is [0, 1]d . Querying aninfeasible point will fail, it will not count as a black box query.

Tobias Glasmachers The Black Box Optimization Competition 11

Page 46: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Currently there are two tracks: trial and BBComp2015CEC.

The trial track is special. Its budget can be reset arbitrarilyoften. It is meant for debugging client software beforepressing the red button. This is extremely important since youget only one attempt on competition tracks.

The trial track consists of dummy problems. They are verydifferent from competition problems. Don’t even try to tuneyour algorithms to this track, it will be misleading.

The library and the server will make sure that once yourbudget is exceeded you cannot query the black box any more.

The architecture is reasonably fail safe. It will deal withnetwork problems, and even with a power outage (hopefullynot on the server side). You can continue an optimization runany time, and you can even recover all previous functionevaluations.

Tobias Glasmachers The Black Box Optimization Competition 12

Page 47: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Currently there are two tracks: trial and BBComp2015CEC.

The trial track is special. Its budget can be reset arbitrarilyoften. It is meant for debugging client software beforepressing the red button. This is extremely important since youget only one attempt on competition tracks.

The trial track consists of dummy problems. They are verydifferent from competition problems. Don’t even try to tuneyour algorithms to this track, it will be misleading.

The library and the server will make sure that once yourbudget is exceeded you cannot query the black box any more.

The architecture is reasonably fail safe. It will deal withnetwork problems, and even with a power outage (hopefullynot on the server side). You can continue an optimization runany time, and you can even recover all previous functionevaluations.

Tobias Glasmachers The Black Box Optimization Competition 12

Page 48: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Currently there are two tracks: trial and BBComp2015CEC.

The trial track is special. Its budget can be reset arbitrarilyoften. It is meant for debugging client software beforepressing the red button. This is extremely important since youget only one attempt on competition tracks.

The trial track consists of dummy problems. They are verydifferent from competition problems. Don’t even try to tuneyour algorithms to this track, it will be misleading.

The library and the server will make sure that once yourbudget is exceeded you cannot query the black box any more.

The architecture is reasonably fail safe. It will deal withnetwork problems, and even with a power outage (hopefullynot on the server side). You can continue an optimization runany time, and you can even recover all previous functionevaluations.

Tobias Glasmachers The Black Box Optimization Competition 12

Page 49: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Currently there are two tracks: trial and BBComp2015CEC.

The trial track is special. Its budget can be reset arbitrarilyoften. It is meant for debugging client software beforepressing the red button. This is extremely important since youget only one attempt on competition tracks.

The trial track consists of dummy problems. They are verydifferent from competition problems. Don’t even try to tuneyour algorithms to this track, it will be misleading.

The library and the server will make sure that once yourbudget is exceeded you cannot query the black box any more.

The architecture is reasonably fail safe. It will deal withnetwork problems, and even with a power outage (hopefullynot on the server side). You can continue an optimization runany time, and you can even recover all previous functionevaluations.

Tobias Glasmachers The Black Box Optimization Competition 12

Page 50: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

Currently there are two tracks: trial and BBComp2015CEC.

The trial track is special. Its budget can be reset arbitrarilyoften. It is meant for debugging client software beforepressing the red button. This is extremely important since youget only one attempt on competition tracks.

The trial track consists of dummy problems. They are verydifferent from competition problems. Don’t even try to tuneyour algorithms to this track, it will be misleading.

The library and the server will make sure that once yourbudget is exceeded you cannot query the black box any more.

The architecture is reasonably fail safe. It will deal withnetwork problems, and even with a power outage (hopefullynot on the server side). You can continue an optimization runany time, and you can even recover all previous functionevaluations.

Tobias Glasmachers The Black Box Optimization Competition 12

Page 51: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The website contains a lot of information on the competition.

On the top right it features a login area for participants.

The downloads section is still empty, coming soon.

[demo: website]

[demo: website login area]

Tobias Glasmachers The Black Box Optimization Competition 13

Page 52: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The website contains a lot of information on the competition.

On the top right it features a login area for participants.

The downloads section is still empty, coming soon.

[demo: website]

[demo: website login area]

Tobias Glasmachers The Black Box Optimization Competition 13

Page 53: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The website contains a lot of information on the competition.

On the top right it features a login area for participants.

The downloads section is still empty, coming soon.

[demo: website]

[demo: website login area]

Tobias Glasmachers The Black Box Optimization Competition 13

Page 54: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The website contains a lot of information on the competition.

On the top right it features a login area for participants.

The downloads section is still empty, coming soon.

[demo: website]

[demo: website login area]

Tobias Glasmachers The Black Box Optimization Competition 13

Page 55: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Competition Architecture

The website contains a lot of information on the competition.

On the top right it features a login area for participants.

The downloads section is still empty, coming soon.

[demo: website]

[demo: website login area]

Tobias Glasmachers The Black Box Optimization Competition 13

Page 56: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Software Interface

The competition interface is written in plain C.

This makes it easily accessible from most languages.

The central API function is evaluate. It evaluates the blackbox function in a given point and returns the function value.

signature:int evaluate(double* point, double* value);

The caller is responsible for providing a point of the correctdimension. Everything else results in undefined behavior.(give wrong results, crash your program, format your hard disk...)

Return: 0 on error, non-zero on success. In the latter case thefunction value is written into *value.

Tobias Glasmachers The Black Box Optimization Competition 14

Page 57: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Software Interface

The competition interface is written in plain C.

This makes it easily accessible from most languages.

The central API function is evaluate. It evaluates the blackbox function in a given point and returns the function value.

signature:int evaluate(double* point, double* value);

The caller is responsible for providing a point of the correctdimension. Everything else results in undefined behavior.(give wrong results, crash your program, format your hard disk...)

Return: 0 on error, non-zero on success. In the latter case thefunction value is written into *value.

Tobias Glasmachers The Black Box Optimization Competition 14

Page 58: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Software Interface

The competition interface is written in plain C.

This makes it easily accessible from most languages.

The central API function is evaluate. It evaluates the blackbox function in a given point and returns the function value.

signature:int evaluate(double* point, double* value);

The caller is responsible for providing a point of the correctdimension. Everything else results in undefined behavior.(give wrong results, crash your program, format your hard disk...)

Return: 0 on error, non-zero on success. In the latter case thefunction value is written into *value.

Tobias Glasmachers The Black Box Optimization Competition 14

Page 59: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Software Interface

The competition interface is written in plain C.

This makes it easily accessible from most languages.

The central API function is evaluate. It evaluates the blackbox function in a given point and returns the function value.

signature:int evaluate(double* point, double* value);

The caller is responsible for providing a point of the correctdimension. Everything else results in undefined behavior.(give wrong results, crash your program, format your hard disk...)

Return: 0 on error, non-zero on success. In the latter case thefunction value is written into *value.

Tobias Glasmachers The Black Box Optimization Competition 14

Page 60: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Software Interface

The competition interface is written in plain C.

This makes it easily accessible from most languages.

The central API function is evaluate. It evaluates the blackbox function in a given point and returns the function value.

signature:int evaluate(double* point, double* value);

The caller is responsible for providing a point of the correctdimension. Everything else results in undefined behavior.(give wrong results, crash your program, format your hard disk...)

Return: 0 on error, non-zero on success. In the latter case thefunction value is written into *value.

Tobias Glasmachers The Black Box Optimization Competition 14

Page 61: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Software Interface

The competition interface is written in plain C.

This makes it easily accessible from most languages.

The central API function is evaluate. It evaluates the blackbox function in a given point and returns the function value.

signature:int evaluate(double* point, double* value);

The caller is responsible for providing a point of the correctdimension. Everything else results in undefined behavior.

(give wrong results, crash your program, format your hard disk...)

Return: 0 on error, non-zero on success. In the latter case thefunction value is written into *value.

Tobias Glasmachers The Black Box Optimization Competition 14

Page 62: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Software Interface

The competition interface is written in plain C.

This makes it easily accessible from most languages.

The central API function is evaluate. It evaluates the blackbox function in a given point and returns the function value.

signature:int evaluate(double* point, double* value);

The caller is responsible for providing a point of the correctdimension. Everything else results in undefined behavior.(give wrong results, crash your program, format your hard disk...)

Return: 0 on error, non-zero on success. In the latter case thefunction value is written into *value.

Tobias Glasmachers The Black Box Optimization Competition 14

Page 63: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Software Interface

The competition interface is written in plain C.

This makes it easily accessible from most languages.

The central API function is evaluate. It evaluates the blackbox function in a given point and returns the function value.

signature:int evaluate(double* point, double* value);

The caller is responsible for providing a point of the correctdimension. Everything else results in undefined behavior.(give wrong results, crash your program, format your hard disk...)

Return: 0 on error, non-zero on success. In the latter case thefunction value is written into *value.

Tobias Glasmachers The Black Box Optimization Competition 14

Page 64: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Software Interface

Other API functions:

int configure(int history, const char* logfilepath);

int login(const char* username, const char* password);

int numberOfTracks();

const char* trackName(int trackindex);

int setTrack(const char* trackname);

int numberOfProblems();

int setProblem(int problemID);

int dimension();

int budget();

int evaluations();

int history(int index, double* point, double* value);

const char* errorMessage();

Tobias Glasmachers The Black Box Optimization Competition 15

Page 65: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Example Clients

We provide example clients in C, C++, Java, Python, andMatlab/Octave.

Bernd Bischl is about to contribute an R package.

If you prefer Lua, D, VB, C#, Fortran, Go, Scala or Javascriptwe are happy to receive further contributions.

We even have a TCP/IP proxy. This allows you to access theblack box through a plain text interface from any environmentthat can open a network connection.

[demo: client]

Tobias Glasmachers The Black Box Optimization Competition 16

Page 66: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Example Clients

We provide example clients in C, C++, Java, Python, andMatlab/Octave.

Bernd Bischl is about to contribute an R package.

If you prefer Lua, D, VB, C#, Fortran, Go, Scala or Javascriptwe are happy to receive further contributions.

We even have a TCP/IP proxy. This allows you to access theblack box through a plain text interface from any environmentthat can open a network connection.

[demo: client]

Tobias Glasmachers The Black Box Optimization Competition 16

Page 67: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Example Clients

We provide example clients in C, C++, Java, Python, andMatlab/Octave.

Bernd Bischl is about to contribute an R package.

If you prefer Lua, D, VB, C#, Fortran, Go, Scala or Javascriptwe are happy to receive further contributions.

We even have a TCP/IP proxy. This allows you to access theblack box through a plain text interface from any environmentthat can open a network connection.

[demo: client]

Tobias Glasmachers The Black Box Optimization Competition 16

Page 68: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Example Clients

We provide example clients in C, C++, Java, Python, andMatlab/Octave.

Bernd Bischl is about to contribute an R package.

If you prefer Lua, D, VB, C#, Fortran, Go, Scala or Javascriptwe are happy to receive further contributions.

We even have a TCP/IP proxy. This allows you to access theblack box through a plain text interface from any environmentthat can open a network connection.

[demo: client]

Tobias Glasmachers The Black Box Optimization Competition 16

Page 69: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Example Clients

We provide example clients in C, C++, Java, Python, andMatlab/Octave.

Bernd Bischl is about to contribute an R package.

If you prefer Lua, D, VB, C#, Fortran, Go, Scala or Javascriptwe are happy to receive further contributions.

We even have a TCP/IP proxy. This allows you to access theblack box through a plain text interface from any environmentthat can open a network connection.

[demo: client]

Tobias Glasmachers The Black Box Optimization Competition 16

Page 70: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Summary

We have presented theBlack Box Optimization Competition.

It is the first of its kind that challenges participants to dealwith a real black box.

It is based on a client server architecture with a “black box”dynamic library in the middle.

Everything is ready to go: the server is up and running,example clients exist in major programming languages, and awebsite with extensive documentation is available.

You are cordially invited to try your luck and prove your skill.

Fingers crossed!

Tobias Glasmachers The Black Box Optimization Competition 17

Page 71: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Summary

We have presented theBlack Box Optimization Competition.

It is the first of its kind that challenges participants to dealwith a real black box.

It is based on a client server architecture with a “black box”dynamic library in the middle.

Everything is ready to go: the server is up and running,example clients exist in major programming languages, and awebsite with extensive documentation is available.

You are cordially invited to try your luck and prove your skill.

Fingers crossed!

Tobias Glasmachers The Black Box Optimization Competition 17

Page 72: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Summary

We have presented theBlack Box Optimization Competition.

It is the first of its kind that challenges participants to dealwith a real black box.

It is based on a client server architecture with a “black box”dynamic library in the middle.

Everything is ready to go: the server is up and running,example clients exist in major programming languages, and awebsite with extensive documentation is available.

You are cordially invited to try your luck and prove your skill.

Fingers crossed!

Tobias Glasmachers The Black Box Optimization Competition 17

Page 73: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Summary

We have presented theBlack Box Optimization Competition.

It is the first of its kind that challenges participants to dealwith a real black box.

It is based on a client server architecture with a “black box”dynamic library in the middle.

Everything is ready to go: the server is up and running,example clients exist in major programming languages, and awebsite with extensive documentation is available.

You are cordially invited to try your luck and prove your skill.

Fingers crossed!

Tobias Glasmachers The Black Box Optimization Competition 17

Page 74: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Summary

We have presented theBlack Box Optimization Competition.

It is the first of its kind that challenges participants to dealwith a real black box.

It is based on a client server architecture with a “black box”dynamic library in the middle.

Everything is ready to go: the server is up and running,example clients exist in major programming languages, and awebsite with extensive documentation is available.

You are cordially invited to try your luck and prove your skill.

Fingers crossed!

Tobias Glasmachers The Black Box Optimization Competition 17

Page 75: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Summary

We have presented theBlack Box Optimization Competition.

It is the first of its kind that challenges participants to dealwith a real black box.

It is based on a client server architecture with a “black box”dynamic library in the middle.

Everything is ready to go: the server is up and running,example clients exist in major programming languages, and awebsite with extensive documentation is available.

You are cordially invited to try your luck and prove your skill.

Fingers crossed!

Tobias Glasmachers The Black Box Optimization Competition 17

Page 76: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Summary

We have presented theBlack Box Optimization Competition.

It is the first of its kind that challenges participants to dealwith a real black box.

It is based on a client server architecture with a “black box”dynamic library in the middle.

Everything is ready to go: the server is up and running,example clients exist in major programming languages, and awebsite with extensive documentation is available.

You are cordially invited to try your luck and prove your skill.

Fingers crossed!

Tobias Glasmachers The Black Box Optimization Competition 17

Page 77: The Black Box Optimization Competition · is something new, and hopefully a lot of fun. Tobias Glasmachers The Black Box Optimization Competition 7. Introduction Hence|just like in

Thank you!

Questions?

Tobias Glasmachers The Black Box Optimization Competition 18