GALAHAD는 C, Python, Julia 및 MATLAB 인터페이스를 사용한 비선형 최적화를 위한 최신 Fortran 패키지 라이브러리입니다. 여기에는 일반 제약 및 비제약 최적화, 선형 및 2차 프로그래밍, 비선형 최소제곱 피팅 및 전역 최적화를 위한 패키지는 물론 다양한 기본 최적화 하위 문제를 해결하기 위한 패키지가 포함되어 있습니다.
GALAHAD 패키지에 대한 자세한 내용은 https://www.galahad.rl.ac.uk에서 확인할 수 있습니다.
모든 주요 GALAHAD 패키지는 Fortran, C, Python 및 Julia로 문서화되어 있습니다.
MATLAB 함수에 대한 도움말 파일이 제공됩니다.
Linux, macOS(Intel & Silicon) 및 Windows용 릴리스 탭에서 사전 컴파일된 GALAHAD 라이브러리를 제공합니다.
GALAHAD는 Meson 빌드 시스템을 사용하여 소스에서 설치할 수 있습니다(아래의 모든 명령은 소스 트리 상단에서 실행됩니다).
meson setup builddir -Dtests=true
meson compile -C builddir
meson install -C builddir
meson test -C builddir
다양한 라이브러리 및 패키지에 대한 경로를 지정하는 방법을 포함하여 보다 포괄적인 Meson 옵션( -Doption=value
)을 보려면 meson_options.txt 및 README.meson을 참조하세요. 가장 중요한 Meson 옵션에 대한 몇 가지 예를 아래에 제시합니다.
GALAHAD는 향상된 기능을 위해 다양한 옵션 소프트웨어 패키지를 지원하며, 그 중 가장 중요한 것은 다음과 같습니다.
기본적으로 GALAHAD는 OpenBLAS를 찾을 수 있는 경우 이를 사용하여 빌드합니다(그렇지 않으면 libblas_path
및 liblapack_path
옵션을 통해 OpenBLAS 경로를 meson setup
에 전달해야 할 수도 있음). 다음 중 하나와 같은 공급업체별 BLAS/LAPACK 구현을 사용할 수도 있습니다.
Meson에게 이러한 선택적 종속성을 찾을 수 있는 위치를 알려주는 방법에 대한 지침은 README.meson을 참조하세요.
기본적으로 GALAHAD는 SSIDS 선형 솔버를 구축하며 다른 대체 선형 솔버는 다음과 같습니다.
Meson에게 이러한 선택적 종속성을 찾을 수 있는 위치를 알려주는 방법에 대한 지침은 README.meson을 참조하세요.
GALAHAD는 CUTEst 테스트 컬렉션의 최적화 테스트 문제를 사용할 수 있습니다. 예를 들어 GALAHAD를 64비트 Linux 시스템에서 gfortran으로 컴파일된 배정밀도 CUTEst와 연결하려면 다음을 수행하세요.
meson setup builddir -Dlibcutest_double_path=/path/to/CUTEst/objects/pc64.lnx.gfo/double/ -Dlibcutest_double_modules=/path/to/CUTEst/modules/pc64.lnx.gfo/double/ -Dsingle=false
meson compile -C builddir
meson install -C builddir
유사하게 GALAHAD를 단정밀도 CUTEst와 연결할 수 있습니다. meson_options.txt를 참조하세요.
Meson 빌드 시스템을 사용하여 C 인터페이스를 설치하려면:
meson setup builddir -Dciface=true
meson compile -C builddir
meson install -C builddir
meson test -C builddir --suite=C
Meson 빌드 시스템을 사용하여 Python 인터페이스를 설치하려면:
meson setup builddir -Dpythoniface=true -Dpython.install_env=auto
meson compile -C builddir
meson install -C builddir
meson test -C builddir --suite=Python
GALAHAD.jl 및 관련 문서를 참조하세요.
README.matlab과 여기에 제공된 지침을 참조하세요.
GALAHAD는 CUTEst, SIFDecode 및 ARCHDefs도 포함하는 Optrove 최적화 에코시스템의 일부로 "make" 명령을 통해 설치할 수도 있습니다. 이는 GALAHAD에서 직접 CUTEst 예제를 실행하고 Matlab에서 호출을 허용하는 스크립트를 제공하는 이점이 있지만 빌드 시간이 상당히 길어집니다.
이 변형을 사용하려면 GALAHAD 위키의 지침을 따르세요.