from typing import Dict
from typing import Any


def mk_ehvi_default_optimizer_options() -> Dict[str, Any]:
    """Makes a copy of dictionary for generic default optimizer options
    for EHVI-based acquisition function, used when optimizer options
    for a given acquisition function are not registered.

    NOTE: Return of this function is safe to modify without affecting the
    default options returned subsequently.
    """
    return {
        "sequential": True,
        "num_restarts": 40,
        "raw_samples": 1024,
        "options": {
            "init_batch_limit": 128,  # Used in `gen_batch_initial_conditions`.
            "batch_limit": 5,  # Batch limit prevents memory issues in initialization.
        },
    }