mlr-org / mlrMBO

Toolbox for Bayesian Optimization and Model-Based Optimization in R
https://mlrmbo.mlr-org.com
Other
187 stars 47 forks source link

MultiCrit should be MultiObjective #281

Closed jakob-r closed 7 years ago

jakob-r commented 7 years ago

For me there was always some confusion about the terms.

@ja-thomas already renamed multipoint.multicrit to moiboi in #279

I want to propose to go one step further and rename everything MultiCrit to MultiObjective because in literature it is called Multi Objective Optimization and in smoof we have makeMultiObjectiveFunction so it becomes easily confusing when we additionally use the term of criteria in MBO for the infill criteria.

Please give your okay and I will rename it and open a PR for review.

berndbischl commented 7 years ago

I want to propose to go one step further and rename everything MultiCrit to MultiObjectiv

thats not true and i dont see an advantage here, while the renaming will break lots of code. both names are possible and we dont have to align names across multiple packages of different "teams"

i would suggest to close

berndbischl commented 7 years ago

PS: I meant its not true that all guys call it multiobjective, and nobody uses multicrit. (sorry, quoted not enough)

jakob-r commented 7 years ago

Advantages to call it Multi Objective

Drawbacks

ja-thomas commented 7 years ago

+1 for having it consistent

I don't really care if we call it multi criteria or multi objective, but if we change it, we should do it now (e.g. before the package is on CRAN).

berndbischl commented 7 years ago

i have no problem, if it's about making it consistent and i really like effort to find good names also now is a better time to change names than later when we are on CRAN.

still, just saying in principle, this is a veeeeeeery well known book on the subject: http://www.math.hcmus.edu.vn/~nvthuy/om/Multicriteria%20Optimization.pdf

@jakobbossek @danielhorn please vote

danielhorn commented 7 years ago

I am on Bernds side. Both names are used. Here are some examples

And my perfect reason for using multi.crit as name in the code: It is shorter :) We could use multi.obj, but I think it is way easier to "say" crit than obj.

jakobbossek commented 7 years ago

+1 for consistency. In smoof I stick to multi-objective and this is also my preferred choice. Since we rely on smoof something like this is really inconsistent:

fn = makeMultiObjectiveFunction(...)
ctrl = makeMBOControl(...)
ctrl = someMBOControlSetter(multi.crit)

Thus +1 for multi.obj

berndbischl commented 7 years ago

argument for jakob: i just grepped the "R" folder for the term "objective" and use it a lot. ok, and if it "smoothes" naming with smoof, too, :) then maybe its good.

let @jakobbossek also vote

berndbischl commented 7 years ago

ok, seems like we want it. do it fast and consistent then close

berndbischl commented 7 years ago

democracy at work :)

ja-thomas commented 7 years ago

merged :)