.. _method-genie_opt_darts:

"""""""""""""""
genie_opt_darts
"""""""""""""""


Voronoi-based high-dimensional global Lipschitzian optimization


.. toctree::
   :hidden:
   :maxdepth: 1

   method-genie_opt_darts-seed
   method-genie_opt_darts-max_function_evaluations
   method-genie_opt_darts-scaling
   method-genie_opt_darts-model_pointer


**Specification**

- *Alias:* None

- *Arguments:* None


**Child Keywords:**

+-------------------------+--------------------+------------------------------+-----------------------------------------------+
| Required/Optional       | Description of     | Dakota Keyword               | Dakota Keyword Description                    |
|                         | Group              |                              |                                               |
+=========================+====================+==============================+===============================================+
| Optional                                     | `seed`__                     | Seed of the random number generator           |
+----------------------------------------------+------------------------------+-----------------------------------------------+
| Optional                                     | `max_function_evaluations`__ | Number of function evaluations allowed for    |
|                                              |                              | optimizers                                    |
+----------------------------------------------+------------------------------+-----------------------------------------------+
| Optional                                     | `scaling`__                  | Turn on scaling for variables, responses, and |
|                                              |                              | constraints                                   |
+----------------------------------------------+------------------------------+-----------------------------------------------+
| Optional                                     | `model_pointer`__            | Identifier for model block to be used by a    |
|                                              |                              | method                                        |
+----------------------------------------------+------------------------------+-----------------------------------------------+

.. __: method-genie_opt_darts-seed.html
__ method-genie_opt_darts-max_function_evaluations.html
__ method-genie_opt_darts-scaling.html
__ method-genie_opt_darts-model_pointer.html



**Description**


OPT-Darts method is a fast alternative to DIRECT for global Lipschitzian optimization purposes. Instead of hyperrectangular, OPT-Darts decomposes a high-dimensional domain into Voronoi cells, and places samples via stochastic blue noise instead of deterministic cell division.

To refine a cell, OPT-Darts first adds a new sample within it via spoke-dart sampling, then set the conflict radius to the cell’s inscribed hypersphere radius, to avoid adding a sample point that is too close to a prior sample, then divide that cell (and update its neighboring cells) via the approximate Delaunay graph, and use the computed witnesses to decide the next refinement candidate. These two steps replace the corresponding deterministic center-sample and rectangular cell division in DIRECT, respectively.

OPT-Darts is the first exact stochastic Lipschitzian optimization technique that combines the benefits of guaranteed convergence in [Jones et al. 1993] and high dimensional efficiency in [Spall 2005]. Computing blue noise and Voronoi regions has been intractable in high dimensions, and are being done within OPT-Darts using Spoke-Darts.

*Expected HDF5 Output*

If Dakota was built with HDF5 support and run with the
:dakkw:`environment-results_output-hdf5` keyword, this method
writes the following results to HDF5:


- :ref:`hdf5_results-best_params`
- :ref:`hdf5_results-best_obj_fncs` (when :dakkw:`responses-objective_functions`) are specified)
- :ref:`hdf5_results-calibration` (when :dakkw:`responses-calibration_terms` are specified)


