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 переменные
x, fx = monte_carlo(rastrigin, bounds)
print("Приближённый глобальный минимум найден в точке:", x)
print("Значение функции в этой точке:", fx)

Тестирование

Тесты написаны с использованием 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

global_meth_package-0.1.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

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

global_meth_package-0.1.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file global_meth_package-0.1.0.tar.gz.

File metadata

  • Download URL: global_meth_package-0.1.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for global_meth_package-0.1.0.tar.gz
Algorithm Hash digest
SHA256 79089a3602857055dcf6515a4c2fb5832c1424e14892e4aa75cc0c25f6c9c970
MD5 568202c4b89801c5dd05be91188e9c3e
BLAKE2b-256 2088ccbb2c6ba8bc4232538eea138ee547fbe06d1d1645eefb080bd6023f8c8a

See more details on using hashes here.

File details

Details for the file global_meth_package-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for global_meth_package-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aef2c53bb403482f1dca32a106f039b1d9c5365ced0affb7e870dac7353da451
MD5 47943961858ec302f84c313a54424f51
BLAKE2b-256 7f8ab99b3207a2ba1052d73c1c89c455c4e45930daa0a0a96c613fb243f9029e

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