Skip to main content

Библиотека, содержащая пять методов глобальной оптимизации: метод ветвей и границ, сеточный поиск, метод Монте-Карло, имитация отжига, генетический алгоритм.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

milka_opt-0.1.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

milka_opt-0.1.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

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

Hashes for milka_opt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4763426c79ca87b182cc9331fe0391b8637fcb19af299d0057cda0126ef49ecb
MD5 dea02da76d9c8456aa824c365a63cc11
BLAKE2b-256 20bb5764f5d5efe073c67ae89024633a98530b0963c09219010de93f6d15bf66

See more details on using hashes here.

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

Hashes for milka_opt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fae079c153924d84535e85a10e455a1e992ade0bb66c29101eb8058f026689c6
MD5 ddd66293a9a2666142381d9572200584
BLAKE2b-256 84d7b60cc594be0aef40a8239e3234816816f28989ee3cfdaf7b65ec8a6ac9a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page