Библиотека, содержащая пять методов глобальной оптимизации: метод ветвей и границ, сеточный поиск, метод Монте-Карло, имитация отжига, генетический алгоритм.
Project description
Global_Meth_Package
Global_meth_Package — это Python-библиотека, реализующая популярные методы глобальной оптимизации, такие как:
- Метод ветвей и границ
- Сеточный поиск
- Метод Монте-Карло
- Имитация отжига
- Генетический алгоритм
Библиотека создана в учебно-исследовательских целях, легко расширяема, адаптирована под общее API.
Установка
Установить из PyPI:
pip install milka-opt
Или локально из исходников:
git clone https://github.com/milka-bulka/global_meth_package.git
cd global_meth_package
pip install .
Структура проекта
global_meth_package/
│
├── branch_and_bound.py # Метод ветвей и границ
├── grid_search.py # Сеточный поиск
├── monte_carlo.py # Метод Монте-Карло
├── simulated_annealing.py # Имитация отжига
├── genetic_algorithm.py # Генетический алгоритм
├── utils.py # Тестовые функции
├── __init__.py # Объединение методов в единый API
│
tests/
├── test_branch_and_bound.py
├── test_grid_search.py
├── test_monte_carlo.py
├── test_simulated_annealing.py
├── test_genetic_algorithm.py
│
pyproject.toml # Настройки проекта
README.md # Документация
Использование
Пример использования метода Монте-Карло:
from global_meth_package.monte_carlo import monte_carlo
from global_meth_package.utils import rastrigin
bounds = [(-5.12, 5.12)] * 3 # 3 переменные
result = monte_carlo(rastrigin, bounds)
print("Minimum found at:", result[0])
print("Function value:", result[1])
Тестирование
Тесты написаны с использованием pytest.
Запуск всех тестов:
pytest tests/
Реализованные методы
| Метод | Модуль | Аргументы по умолчанию |
|---|---|---|
| Ветвей и границ | branch_and_bound() |
max_iter=500, eps=1e-5, L=10.0 |
| Сеточный поиск | grid_search() |
grid_size=30 |
| Монте-Карло | monte_carlo() |
max_iter=10000, seed=None |
| Имитация отжига | simulated_annealing() |
max_iter=10000, T_start=1000, alpha=0.995 |
| Генетический алгоритм | genetic_algorithm() |
population_size=30, generations=100 |
Поддерживаемые функции
from global_meth_package.utils import rastrigin, rosenbrock, booth
rastrigin(x)— функция Растригинаbooth(x)— функция Бутаrosenbrock(x)— функция Розенброка
Лицензия
MIT License
Автор
milka_bulka
GitHub: milka-bulka
Публикация на PyPI
Сборка и публикация:
python -m build
twine upload dist/*
(не забудьте настроить .pypirc для удобства)
Обратная связь
Если вы нашли ошибку или хотите предложить улучшение — создайте issue или pull request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file milka_opt-0.1.1.tar.gz.
File metadata
- Download URL: milka_opt-0.1.1.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4763426c79ca87b182cc9331fe0391b8637fcb19af299d0057cda0126ef49ecb
|
|
| MD5 |
dea02da76d9c8456aa824c365a63cc11
|
|
| BLAKE2b-256 |
20bb5764f5d5efe073c67ae89024633a98530b0963c09219010de93f6d15bf66
|
File details
Details for the file milka_opt-0.1.1-py3-none-any.whl.
File metadata
- Download URL: milka_opt-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fae079c153924d84535e85a10e455a1e992ade0bb66c29101eb8058f026689c6
|
|
| MD5 |
ddd66293a9a2666142381d9572200584
|
|
| BLAKE2b-256 |
84d7b60cc594be0aef40a8239e3234816816f28989ee3cfdaf7b65ec8a6ac9a3
|