CMA-ES/pycma

Python implementation of CMA-ES

해결하는 문제

pycma는 복잡한 수치 최적화 문제를 해결하기 위해 설계된 공분산 행렬 적응 진화 전략(CMA-ES)의 파이썬 구현체입니다. 전통적인 기울기 기반 방법이 도함수가 필요하지 않기 때문에 실패할 수 있는 비볼록, 악조건, 다모달, 거친, 또는 노이즈가 있는 문제에 특화되어 있습니다.

작동 방식

이 라이브러리는 탐색 공간을 탐색하기 위해 공분산 행렬을 적응시키는 랜덤화된 탐색 전략인 CMA-ES 알고리즘을 구현합니다. 다음과 같은 복잡한 상황을 지원합니다:

  • 경계 제약: 특정 옵션 또는 전용 래퍼(BoundDomainTransform)를 통해 처리.
  • 혼합 정수 탐색: 연속 탐색 공간 내에서 정수 변수를 지원.
  • 제약 조건: 선형 및 비선형 제약 조건을 모두 처리할 수 있는 능력.
  • 노이즈 처리: 노이즈가 있는 목적 함수를 관리하기 위한 내장 메커니즘.

대상 사용자

도함수가 이용 불가하거나 탐색 공간이 매우 비정형인 '블랙박스' 함수를 다루는 연속 및 혼합 정수 수치 최적화 작업에 종사하는 연구자 및 엔지니어를 위한 것입니다.

주요 특징

  • 도함수 없음: 기울기를 필요로 하지 않아 거친 또는 노이즈 있는 환경에 적합합니다.
  • 유연한 제약 조건: 경계, 선형, 비선형 제약 조건을 모두 지원합니다.
  • 혼합 정수 지원: 연속 및 정수 변수 모두를 최적화할 수 있습니다.
  • CMA-ES 변형: purecmaCompactGA와 같은 관련 도구를 포함합니다.

관련

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