2D Schaffer Function with Objective Weights

A simple example on how to use multi-objective optimization is shown. The 2D Schaffer function is used. In the plot you can see that all points are on the Pareto front. However, since we set the objective weights, you can notice that SMAC prioritizes the second objective over the first one.

Schaffer 2D
[INFO][abstract_initial_design.py:147] Using 10 initial design configurations and 0 additional configurations.
[INFO][abstract_intensifier.py:306] Using only one seed for deterministic scenario.
[INFO][abstract_intensifier.py:516] Added config 91bfd9 as new incumbent because there are no incumbents yet.
[INFO][abstract_intensifier.py:603] Config 9d232c is a new incumbent. Total number of incumbents: 2.
[INFO][abstract_intensifier.py:603] Config 427430 is a new incumbent. Total number of incumbents: 3.
[INFO][abstract_intensifier.py:603] Config 631e51 is a new incumbent. Total number of incumbents: 4.
[INFO][abstract_intensifier.py:603] Config c4bc7d is a new incumbent. Total number of incumbents: 5.
[INFO][abstract_intensifier.py:603] Config d25f7e is a new incumbent. Total number of incumbents: 6.
[INFO][abstract_intensifier.py:603] Config 874cd5 is a new incumbent. Total number of incumbents: 7.
[INFO][abstract_intensifier.py:603] Config 650be0 is a new incumbent. Total number of incumbents: 8.
[INFO][abstract_intensifier.py:603] Config 579f69 is a new incumbent. Total number of incumbents: 9.
[INFO][abstract_intensifier.py:603] Config b0e9f4 is a new incumbent. Total number of incumbents: 10.
[INFO][abstract_intensifier.py:603] Config 3e8daa is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5da97d is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config f736a7 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 9060d8 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config a96fed is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config c97d3e is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 8dd5c6 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config ec6251 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 796f43 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config e3679b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 431209 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 15dc54 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5118be is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 7aeae1 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 795280 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config cce27b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 68c6f8 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config d3c7ca is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 6fa7d1 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config e3202b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 3acf40 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5ceb0b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config c62fef is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config b12ff4 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config dfdb3a is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 9b22b4 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 93e388 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config eba89c is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5fd58a is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config de3fb8 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 7a5cb9 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config b187f7 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config d5fe29 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config bcca31 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 42822d is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5383da is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 0ae9a3 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 469eb8 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config c7a146 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 2bf853 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][smbo.py:320] Finished 50 trials.
[INFO][abstract_intensifier.py:603] Config ee2775 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config e054b7 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 9ed7c7 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 06af75 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 398c18 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 06fa54 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config d49fa2 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 7d2f6d is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5fa78c is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config a69386 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 51d4ca is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config ed0160 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 359a5c is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 7f6110 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 3012e2 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config bc5542 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 716c9a is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 885f30 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config ca9847 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 2578b4 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 262fe1 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 686bec is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 97cfa8 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 369c53 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5187cb is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 0055f2 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config da55a4 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 203b1c is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 3b93b8 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 1418d6 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config fe488e is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config a0e94b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config a42e09 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 45a4a2 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 075469 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config b84c24 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 84f042 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 3b9fdd is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 6abfc9 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config ff2ae5 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 891755 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 72fbe5 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5489d6 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 2f915d is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config e1f964 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 8bce19 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 647cff is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 52edcc is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config f290fc is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5e0108 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][smbo.py:320] Finished 100 trials.
[INFO][abstract_intensifier.py:603] Config d167f9 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config adf5ad is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 852bbb is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 9216ec is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config a131dc is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 9c71af is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 6ad7dd is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config e69374 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 557d2b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 3bbe6d is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 258df7 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 03021a is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 3f02d3 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 7a14f2 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config fa2c60 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 18212a is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 03299b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config d6f9da is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 121a8e is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 77a510 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 4f0456 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 19fe71 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 8b860c is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 12d0a6 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config f19846 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config cd805b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config ccf8ba is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 3871eb is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config b5aa8d is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 2c29f3 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 5846a5 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config f72f79 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config f5bd13 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config fb50df is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 3bd19a is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config b67c17 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config bf615b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 95094b is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 6b555a is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 48a254 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 030bf5 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 02a906 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 10af7a is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config a77ac0 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 96e59f is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 4ba042 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 87150e is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config b715c6 is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 03398e is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][abstract_intensifier.py:603] Config 92a71c is a new incumbent. Total number of incumbents: 11.
[INFO][abstract_intensifier.py:628] Removed one incumbent using crowding distance because more than 10 are available.
[INFO][smbo.py:320] Finished 150 trials.
[INFO][smbo.py:328] Configuration budget is exhausted:
[INFO][smbo.py:329] --- Remaining wallclock time: inf
[INFO][smbo.py:330] --- Remaining cpu time: inf
[INFO][smbo.py:331] --- Remaining trials: 0
[INFO][abstract_intensifier.py:306] Using only one seed for deterministic scenario.
Validated costs from default config:
--- [0. 4.]

Validated costs from the Pareto front (incumbents):
--- [2.16611704e-04 3.94134567e+00]
--- [3.70257961 0.0057443 ]
--- [0.71275121 1.33576744]
--- [1.08151039 0.92168272]
--- [0.06098443 3.07318339]
--- [2.48235858 0.18015759]
--- [0.32529922 2.04389887]
--- [3.01424821 0.06961205]
--- [0.21382349 2.36418141]
--- [1.7133447  0.47755296]

from __future__ import annotations

from typing import Dict, Tuple

import numpy as np
from ConfigSpace import Configuration, ConfigurationSpace
from matplotlib import pyplot as plt

from smac import HyperparameterOptimizationFacade as HPOFacade
from smac import Scenario
from smac.facade import AbstractFacade

__copyright__ = "Copyright 2021, AutoML.org Freiburg-Hannover"
__license__ = "3-clause BSD"


def schaffer(x: float) -> Tuple[float, float]:
    f1 = np.square(x)
    f2 = np.square(np.sqrt(f1) - 2)

    return f1, f2


def target_function(config: Configuration, seed: int = 0) -> Dict[str, float]:
    f1, f2 = schaffer(config["x"])
    return {"metric1": f1, "metric2": f2}


def plot_from_smac(smac: AbstractFacade) -> None:
    plt.figure()
    configs = smac.runhistory.get_configs()
    incumbents = smac.intensifier.get_incumbents()

    for i, config in enumerate(configs):
        if config in incumbents:
            continue

        label = None
        if i == 0:
            label = "Configuration"

        x = config["x"]
        f1, f2 = schaffer(x)
        plt.scatter(f1, f2, c="blue", alpha=0.1, marker="o", zorder=3000, label=label)

    for i, config in enumerate(incumbents):
        label = None
        if i == 0:
            label = "Incumbent"

        x = config["x"]
        f1, f2 = schaffer(x)
        plt.scatter(f1, f2, c="red", alpha=1, marker="x", zorder=3000, label=label)

    plt.xlabel("f1")
    plt.ylabel("f2")
    plt.title("Schaffer 2D")
    plt.legend()

    plt.show()


if __name__ == "__main__":
    # Simple configspace
    cs = ConfigurationSpace({"x": (-2.0, 2.0)})

    # Scenario object
    scenario = Scenario(
        configspace=cs,
        deterministic=True,  # Only one seed
        n_trials=150,
        objectives=["metric1", "metric2"],
    )

    smac = HPOFacade(
        scenario=scenario,
        target_function=target_function,
        multi_objective_algorithm=HPOFacade.get_multi_objective_algorithm(
            scenario,
            objective_weights=[1, 2],  # Weight metric2 twice as much as metric1
        ),
        overwrite=True,
    )
    incumbents = smac.optimize()

    # Get cost of default configuration
    default_cost = smac.validate(cs.get_default_configuration())
    print(f"Validated costs from default config: \n--- {default_cost}\n")

    print("Validated costs from the Pareto front (incumbents):")
    for incumbent in incumbents:
        cost = smac.validate(incumbent)
        print("---", cost)

    # Plot the evaluated points
    plot_from_smac(smac)

Total running time of the script: (0 minutes 8.558 seconds)