Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Please enter the relevant information.
# Fields that are not relevant can be left empty.
Comment thread
kvdblom marked this conversation as resolved.
Outdated
- name:
short: BBOB
full: Real-Parameter Black-Box Optimization Benchmarking
suite/generator/single: suite
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still think it would be best to enter problems separately, but I understand the necessity of streamlining this process. So if we want to allow entering suites, maybe we have different templates? Because some values might only make sense for a suite? Otherwise, for a suite, a lot of the input would be "varies" for number of objectives, variables, constraints, dynamic, noise, etc?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it would be nice to have problems separately, I have also prototyped how it might work to have both the suite and component problems, see here:

OPL/problems.yaml

Line 1107 in 84b34b6

problems:

I am not sure about separate templates for suites or problems, but we can think about this and discuss what makes sense. I would imagine, e.g., the BBOB sphere still has a bunch of "varies", because it is scalable in the number of variables for example. For a suite, I would want an exhaustive list (e.g., noise: yes, no / optional, or something like that) of the options, rather than a vague "varies". I will describe this in a comment in the template.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: create a new issue for this.

objectives:
number: '1'
Comment thread
kvdblom marked this conversation as resolved.
Outdated
types: single
Comment thread
kvdblom marked this conversation as resolved.
Outdated
variables:
types: continuous
Comment thread
kvdblom marked this conversation as resolved.
Outdated
conditional: 'no'
dimensionality: scalable
Comment thread
kvdblom marked this conversation as resolved.
Outdated
constraints:
Copy link
Copy Markdown
Collaborator

@olafmersmann olafmersmann Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want an enumeration of constraints? Then we can have one or many soft constraints, one or many box/boundary constraints etc.

It would also allow us to add linear or quadratic constraints in a natural way.
F.E.:

constraints:
  - type: box 
    soft: yes # Defaults to no
    number: 2 # Number of variables that are box constraint
  - type: linear
    soft: no # Default but doesn't hurt
    number: 10
  - type: permutation
    number: 1

No entries in the constraints list means the problem is unconstrained.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds like a good idea

present: 'no'
Comment thread
CIGbalance marked this conversation as resolved.
Outdated
soft: '0'
hard: '0'
boundary/box: 'yes'
Comment thread
kvdblom marked this conversation as resolved.
Outdated
permutation: 'no'
Comment thread
kvdblom marked this conversation as resolved.
Outdated
dynamic:
present: 'no'
types: ''
noise: 'no'
Comment thread
kvdblom marked this conversation as resolved.
Outdated
modality:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's complex ...
What do we need this information for? Do we need it?

I agree that modality is important but there is way more to it than just "uni" or "multi" and just this doesn't really help IMO.

types: 'unimodal, multimodal'
evaluations:
multi-fidelity: 'no'
partial possible: 'no'
independent objectives: 'no'
reference:
links:
- https://doi.org/10.1080/10556788.2020.1808977
authors: ''
Comment thread
kvdblom marked this conversation as resolved.
Outdated
contact person: ''
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a possible value could be "any" in the sense of "any of the above" but leaving this field empty is confusing. (please don't contact us?)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Contact person does not need to be an author, could also be maintainer,... or noone if something is abandoned, but we still want to have it in the database. But it should not be under reference to avoid confusion, rather be its own top-level field

implementations:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plural? Can people leave multiple implementations? Do we want this?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it can be useful for example if suites are implemented in different software for different languages

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, there can be multiple independent implementations and I think that's fine.

- name: COCO
link: https://github.com/numbbo/coco
languges: 'C, Python'
Comment thread
CIGbalance marked this conversation as resolved.
Outdated
evaluation time: 'less than a second'
Comment thread
kvdblom marked this conversation as resolved.
Outdated
specific requirements: 'no'
Comment thread
kvdblom marked this conversation as resolved.
Outdated
source:
real-world:
Comment thread
kvdblom marked this conversation as resolved.
Outdated
degree: ''
open/closed: ''
artificial: 'yes'
other: 'no'
textual description:
general info: ''
motivation: 'evaluate algorithm performance for typical difficulties that occur in continuous problems'
challenage/key characteristics: ''
Comment thread
kvdblom marked this conversation as resolved.
Outdated
limitations: ''
other info: ''