MultiDimensionalBudgetOptimizerWrapper.optimize_budget#
- MultiDimensionalBudgetOptimizerWrapper.optimize_budget(budget, budget_bounds=None, response_variable='total_media_contribution_original_scale', utility_function=<function average_response>, constraints=(), default_constraints=True, budgets_to_optimize=None, callback=False, **minimize_kwargs)[source]#
Optimize the budget allocation for the model.
- Parameters:
- budget
float
|int
Total budget to allocate.
- budget_bounds
xr.DataArray
|None
Budget bounds per channel.
- response_variable
str
Response variable to optimize.
- utility_function
UtilityFunctionType
Utility function to maximize.
- constraints
Sequence
[dict
[str
,Any
]] Custom constraints for the optimizer.
- default_constraintsbool
Whether to add default constraints.
- budgets_to_optimize
xr.DataArray
|None
Mask defining which budgets to optimize.
- callbackbool
Whether to return callback information tracking optimization progress.
- **minimize_kwargs
Additional arguments for the optimizer.
- budget
- Returns:
tuple
Optimal budgets and optimization result. If callback=True, also returns a list of dictionaries with optimization information at each iteration.