> ## Documentation Index
> Fetch the complete documentation index at: https://bagel.softnanolab.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MonteCarloMinimizer

> Base class for Monte Carlo based minimization methods.

## Parameters

<ResponseField name="mutator" type="MutationProtocol" required />

<ResponseField name="temperature" type="float | list[float] | np.ndarray[Any, np.dtype[np.number]]" required />

<ResponseField name="n_steps" type="int" required />

<ResponseField name="acceptance_criterion" type="str" default="'metropolis'" />

<ResponseField name="experiment_name" type="str | None" default="None" />

<ResponseField name="log_frequency" type="int" default="100" />

<ResponseField name="preserve_best_system_every_n_steps" type="int | None" default="None" />

<ResponseField name="log_path" type="pl.Path | str | None" default="None" />

<ResponseField name="callbacks" type="list['Callback'] | None" default="None" />

<ResponseField name="**kwargs" type="Any">
  Additional keyword arguments.
</ResponseField>

## Methods

### minimize\_one\_step

Perform one Monte Carlo step.

**Parameters**

<ResponseField name="step" type="int" required />

<ResponseField name="system" type="System" required />

### minimize\_system

Minimize system using Monte Carlo method.

**Parameters**

<ResponseField name="system" type="System" required />

## Example

```python theme={null}
import bagel as bg

minimizer = bg.minimizer.MonteCarloMinimizer(
    mutator=bg.mutation.Canonical(n_mutations=1),
    temperature=0.2,
    n_steps=100,
    callbacks=[bg.callbacks.DefaultLogger(log_interval=10)],
)
```
