{"id":18014341,"url":"https://github.com/mlr-org/bbotk","last_synced_at":"2026-02-28T08:54:36.342Z","repository":{"id":40004312,"uuid":"227872769","full_name":"mlr-org/bbotk","owner":"mlr-org","description":"Black-box optimization framework for R.","archived":false,"fork":false,"pushed_at":"2024-10-28T09:09:39.000Z","size":23389,"stargazers_count":20,"open_issues_count":5,"forks_count":9,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-10-30T06:00:01.783Z","etag":null,"topics":["bbotk","black-box-optimization","data-science","hyperparameter-optimization","hyperparameter-tuning","machine-learning","mlr3","optimization","r","r-package"],"latest_commit_sha":null,"homepage":"https://bbotk.mlr-org.com","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mlr-org.png","metadata":{"funding":{"github":"mlr-org"},"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-13T15:53:27.000Z","updated_at":"2024-10-28T09:06:36.000Z","dependencies_parsed_at":"2023-10-05T10:40:50.996Z","dependency_job_id":"e6f45793-9176-48d1-ba12-125cf0caa20c","html_url":"https://github.com/mlr-org/bbotk","commit_stats":{"total_commits":512,"total_committers":13,"mean_commits":39.38461538461539,"dds":0.55859375,"last_synced_commit":"916740cd40eb20eb0c58367cf285dfef70409425"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2Fbbotk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2Fbbotk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2Fbbotk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlr-org%2Fbbotk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlr-org","download_url":"https://codeload.github.com/mlr-org/bbotk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247563941,"owners_count":20958971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bbotk","black-box-optimization","data-science","hyperparameter-optimization","hyperparameter-tuning","machine-learning","mlr3","optimization","r","r-package"],"created_at":"2024-10-30T04:08:00.110Z","updated_at":"2026-02-28T08:54:36.335Z","avatar_url":"https://github.com/mlr-org.png","language":"R","funding_links":["https://github.com/sponsors/mlr-org"],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n```{r, include = FALSE}\nlibrary(bbotk)\nlgr::get_logger(\"bbotk\")$set_threshold(\"warn\")\nset.seed(1)\noptions(\n  datatable.print.nrows = 10,\n  datatable.print.class = FALSE,\n  datatable.print.keys = FALSE,\n  width = 100)\n```\n\n# bbotk - Black-Box Optimization Toolkit\n\nPackage website: [release](https://bbotk.mlr-org.com/) | [dev](https://bbotk.mlr-org.com/dev/)\n\n\u003c!-- badges: start --\u003e\n[![r-cmd-check](https://github.com/mlr-org/bbotk/actions/workflows/r-cmd-check.yml/badge.svg)](https://github.com/mlr-org/bbotk/actions/workflows/r-cmd-check.yml)\n[![CRAN Status Badge](https://www.r-pkg.org/badges/version-ago/bbotk)](https://cran.r-project.org/package=bbotk)\n[![Mattermost](https://img.shields.io/badge/chat-mattermost-orange.svg)](https://lmmisld-lmu-stats-slds.srv.mwn.de/mlr_invite/)\n\u003c!-- badges: end --\u003e\n\n*bbotk* is a black-box optimization framework for R.\nIt features highly configurable search spaces via the [paradox](https://github.com/mlr-org/paradox) package and optimizes every user-defined objective function.\nThe package includes several optimization algorithms e.g. Random Search, Grid Search, Iterated Racing, Bayesian Optimization (in [mlr3mbo](https://github.com/mlr-org/mlr3mbo)) and Hyperband (in [mlr3hyperband](https://github.com/mlr-org/mlr3hyperband)).\nbbotk is the base package of [mlr3tuning](https://github.com/mlr-org/mlr3tuning), [mlr3fselect](https://github.com/mlr-org/mlr3fselect) and [miesmuschel](https://github.com/mlr-org/miesmuschel).\n\n## Resources\n\nThere are several sections about black-box optimization in the [mlr3book](https://mlr3book.mlr-org.com).\nOften the sections about tuning are also relevant for general black-box optimization.\n\n* Getting started with [black-box optimization](https://mlr3book.mlr-org.com/chapters/chapter5/advanced_tuning_methods_and_black_box_optimization.html#sec-black-box-optimization).\n* An overview of all optimizers and tuners can be found on our [website](https://mlr-org.com/tuners.html).\n* Learn about log transformations in the [search space](https://mlr3book.mlr-org.com/chapters/chapter4/hyperparameter_optimization.html#sec-logarithmic-transformations).\n* Or more advanced [search space transformations](https://mlr3book.mlr-org.com/chapters/chapter4/hyperparameter_optimization.html#sec-tune-trafo).\n* Run [multi-objective optimization](https://mlr3book.mlr-org.com/chapters/chapter5/advanced_tuning_methods_and_black_box_optimization.html#sec-multi-metrics-tuning).\n* The [mlr3viz](https://github.com/mlr-org/mlr3viz) package can be used to [visualize](https://mlr-org.com/gallery/technical/2022-12-22-mlr3viz/#tuning-instance) the optimization process.\n* Quick optimization with the [`bb_optimize`](https://bbotk.mlr-org.com/reference/bb_optimize.html) function.\n\n## Installation\n\nInstall the latest release from CRAN.\n\n```{r eval = FALSE}\ninstall.packages(\"bbotk\")\n```\n\nInstall the development version from GitHub.\n\n```{r eval = FALSE}\npak::pkg_install(\"mlr-org/bbotk\")\n```\n\n## Example\n\n```{r}\n# define the objective function\nfun = function(xs) {\n  list(y = - (xs[[1]] - 2)^2 - (xs[[2]] + 3)^2 + 10)\n}\n\n# set domain\ndomain = ps(\n  x1 = p_dbl(-10, 10),\n  x2 = p_dbl(-5, 5)\n)\n\n# set codomain\ncodomain = ps(\n  y = p_dbl(tags = \"maximize\")\n)\n\n# create objective\nobjective = ObjectiveRFun$new(\n  fun = fun,\n  domain = domain,\n  codomain = codomain,\n  properties = \"deterministic\"\n)\n\n# initialize instance\ninstance = oi(\n  objective = objective,\n  terminator = trm(\"evals\", n_evals = 20)\n)\n\n# load optimizer\noptimizer = opt(\"gensa\")\n\n# trigger optimization\noptimizer$optimize(instance)\n\n# best performing configuration\ninstance$result\n\n# all evaluated configuration\nas.data.table(instance$archive)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlr-org%2Fbbotk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlr-org%2Fbbotk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlr-org%2Fbbotk/lists"}