CMA-ES/pycma
Python implementation of CMA-ES
해결하는 문제
pycma는 공분산 행렬 적응 진화 전략(CMA-ES)의 파이썬 구현체로, 무작위적이고 도함수를 필요로 하지 않는 수치 최적화 알고리즘입니다. 비볼록, 악조건, 다모달, 거친, 또는 노이즈가 있는 최적화 문제를 연속 및 혼합 정수 탐색 공간 모두에서 해결하도록 설계되었습니다.
작동 방식
이 라이브러리는 목적 함수의 최적 해를 도함수 정보 없이 찾을 수 있는 도구를 제공합니다. 여러 복잡한 현실 세계의 제약 조건을 처리할 수 있습니다:
- 경계 제약:
bounds옵션 또는 전용BoundDomainTransform래퍼를 통해 관리. - 선형 및 비선형 제약:
fmin2또는fmin_con2함수의 특정 인수를 통해 처리. - 노이즈:
noise_handler를 통해 노이즈 환경에서의 안정성을 유지. - 혼합 정수 문제:
integer_variables인덱스 리스트를 통해 정수 변수를 지원.
대상 사용자
전통적인 기울기 기반 방법이 실패하거나 목적 함수가 '블랙박스'인 복잡한 수학 함수의 최적화가 필요한 연구자 및 엔지니어를 위한 것입니다.
주요 특징
- 도함수 없음: 도함수를 필요로 하지 않아 거친 또는 노이즈 있는 환경에 적합합니다.
- 혼합 정수 지원: 연속 변수와 정수 변수를 동시에 최적화할 수 있습니다.
- 제약 조건 처리: 경계, 선형, 비선형 제약 조건에 내장된 지원 기능이 있습니다.
- 유연한 인터페이스: 고수준의
fmin인터페이스와 사용자 정의 제어에 적합한 저수준의ask-and-tell인터페이스를 모두 제공합니다. - 병렬 처리:
OOOptimizer의n_jobs매개변수를 통해 병렬 실행을 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트