Metadata-Version: 2.1
Name: krashemit
Version: 1.0.5
Summary: Library for solving optimization problems using the interacting countries algorithm
Home-page: https://github.com/Krash13/KrasheMit
Author: Krash13
Author-email: krasheninnikov.r.s@muctr.ru
Keywords: Optimization,evolutionary algorithms,nature-inspired algorithms
Classifier: Programming Language :: Python :: 3.9
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: numpy >=1.22.1
Requires-Dist: scipy <=1.13.0
Requires-Dist: graycode >=1.0.5
Requires-Dist: matplotlib >=3.10.7
Requires-Dist: pyTelegramBotAPI >=4.29.1

# 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)
```
