# KrasheMit

**KrasheMit** — это Python-библиотека для решения различных оптимизационных задач с использованием алгоритма взаимодействующих стран.

## Введение

KrasheMit реализует эволюционный алгоритм, в котором «страны» взаимодействуют между собой (обмен, война, эпидемии, эпидемия и т.д.), чтобы находить оптимальные решения сложных задач. Такой подход позволяет гибко управлять поиском экстремумов и использовать разнообразные стратегии обновления решений.

## Возможности

- Решение многомерных оптимизационных задач
- Имитация сотрудничества и конкуренции между странами (алгоритмические подходы: войны, обмены)
- Легкая настройка параметров алгоритма
- Встроенные классы для индивидуумов и стран, а также вспомогательные методы мутаций и скрещивания

## Установка

`pip install krashemit`


## Пример использования

```python
import numpy as np
from krashemit.algorithms.country_optimization import CountriesAlgorithm

def func(x):
    return sum(np.array(x)**2)

Xmin = [-10, -10]
Xmax = [10, 10]
algorithm = CountriesAlgorithm(
    f=func,
    Xmin=Xmin,
    Xmax=Xmax,
    M=3,
    N=10,
    n=5,
    p=[0.1, 0.5],
    m=3,
    k=2,
    l=3,
    ep=[0.2, 0.1],
    tmax=100,
    printing=True
)
result = algorithm.start()
print("Лучшее решение:", result)
```
