# `ExVrp.IteratedLocalSearch.Result`
[🔗](https://github.com/sephianl/ex_vrp/blob/v0.4.2/lib/ex_vrp/iterated_local_search.ex#L70)

Result of running ILS.

This matches PyVRP's Result class interface:
- `cost/1` - Returns the cost of the best solution (infinity if infeasible)
- `feasible?/1` - Returns whether the best solution is feasible
- `best` - The best Solution found
- `stats` - Statistics from the search
- `num_iterations` - Total iterations performed
- `runtime` - Runtime in milliseconds

# `t`

```elixir
@type t() :: %ExVrp.IteratedLocalSearch.Result{
  best: ExVrp.Solution.t(),
  num_iterations: non_neg_integer(),
  runtime: non_neg_integer(),
  stats: map()
}
```

# `cost`

```elixir
@spec cost(t()) :: non_neg_integer() | :infinity
```

Returns the cost of the best solution.

Returns `:infinity` if the solution is infeasible, matching PyVRP's behavior.

# `feasible?`

```elixir
@spec feasible?(t()) :: boolean()
```

Returns whether the best solution is feasible.

# `summary`

```elixir
@spec summary(t()) :: String.t()
```

Returns a summary string of the result.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
