Valdecy/pyMetaheuristic

pymetaheuristic: A Python Library for Metaheuristic Optimization and Collaborative Search

해결하는 문제

pymetaheuristic는 메타휴리스틱 알고리즘을 사용하여 복잡한 최적화 문제를 해결하기 위한 포괄적인 툴킷을 제공합니다. 비선형, 제약 조건이 있는, 또는 혼합형 변수 공간(연속형, 정수형, 이진형, 범주형, 순열형)에서 정의된 목적 함수에 대해 최적 또는 근사 최적 해를 쉽게 찾는 과정을 단순화합니다.

작동 방식

이 라이브러리는 다양한 최적화 전략과 지원 인프라를 구현하고 있습니다:

  • 알고리즘 라이브러리: 스웜 지능, 진화적, 궤적, 물리 기반 방법 등 다양한 패밀리에 걸쳐 400개 이상의 알고리즘을 포함합니다.
  • 실행 엔진: 단일 알고리즘용 고수준 optimize 엔트리 포인트를 제공하며, cooperative_optimizeorchestrated_optimize를 통해 여러 최적화기가 이주 및 적응형 오케스트레이션 정책을 통해 협력하는 다중 아일랜드 시스템을 지원합니다.
  • 제약 조건 처리: "deb"와 같은 특정 핸들러와 clip, reflect, wang 등의 복구 전략을 사용하여 부등식 및 등식 제약 조건을 지원하여 해가 타당하게 유지되도록 합니다.
  • 검색 공간 관리: 타입이 지정된 변수 공간(FloatVar, IntegerVar 등)과 전이 함수를 사용하여 연속 위치를 이산형 또는 이진 확률로 매핑합니다.
  • 진단 및 설명 가능성: 내부 프로브 레이블과 속성 행렬을 제공하는 EvoMapX 레이어와 함께 Plotly 기반의 시각화(수렴, 다양성, 아일랜드 역학)를 제공합니다.
  • 벤치마킹: 빠른 스윕을 위한 BenchmarkRunner와 통계적 검정 및 성능 프로파일을 사용한 과학적 분석을 위한 BenchmarkStudy를 제공합니다.

대상 사용자

  • 연구자 및 데이터 과학자 – 최적화 알고리즘의 과학적 벤치마킹을 수행하는 분들.
  • 엔지니어 – 제약 조건이 있는 실제 세계의 최적화 문제를 해결하기 위해 견고한 라이브러리를 찾는 분들.
  • 깊은 코딩 경험 없는 사용자pymetaheuristic Lab 웹 애플리케이션을 통해 그래픽 인터페이스를 활용할 수 있는 분들.

주요 특징

  • 거대한 알고리즘 컬렉션: 하나의 패키지에서 400개 이상의 최적화 알고리즘에 접근 가능.
  • 협동 탐색: 설정 가능한 토폴로지와 적응형 오케스트레이션을 지원하는 다중 아일랜드 시스템.
  • 심층적 관찰 가능성: 통합된 텔레메트리, 인구 스냅샷, EvoMapX 설명 가능성을 통해 알고리즘이 어떻게 수렴하는지 이해할 수 있습니다.
  • 유연한 종료 조건: 단계 수, 평가 횟수, 월클록 시간, 목표 피트니스, 조기 중단 기반의 조합 가능한 정지 기준.
  • 혼합형 변수 지원: 부동소수점, 정수, 이진, 범주형, 순열 변수를 네이티브로 처리합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트