alns
Python의 ALNS(Adaptive Large Neighborhood Search) 메타휴리스틱에 대한 일반적이고 잘 문서화되어 있으며 테스트를 거친 구현입니다. ALNS는 어려운 조합 최적화 문제를 해결하는 데 사용할 수 있는 알고리즘입니다. 알고리즘은 초기 솔루션으로 시작됩니다. 그런 다음 알고리즘은 중지 기준이 충족될 때까지 반복됩니다. 각 반복에서 현재 솔루션을 후보 솔루션으로 변환하는 삭제 및 복구 연산자가 선택됩니다. 그런 다음 이 후보 솔루션은 수용 기준에 따라 평가되고 평가 결과에 따라 운영자 선택 방식이 업데이트됩니다.
alns
설치 alns
패키지는 numpy
및 matplotlib
에 따라 다릅니다. 다음과 같이 일반적인 방법으로 설치할 수 있습니다.
pip install alns
또한 다중 무장 산적 알고리즘을 사용하여 고급 운영자 선택 체계를 활성화하려면 선택적 MABWiser 종속성과 함께 alns
설치할 수 있습니다.
pip install alns[mabwiser]
문서는 여기에서 확인할 수 있습니다. 메타휴리스틱스 또는 ALNS를 처음 사용하는 경우 ALNS 페이지 소개를 읽으면 도움이 될 수 있습니다.
alns
라이브러리는 ALNS 알고리즘과 다양한 승인 기준, 연산자 선택 체계 및 중지 기준을 제공합니다. 자신의 문제를 해결하려면 다음을 제공해야 합니다.
objective()
함수를 구현하는 문제에 대한 솔루션 상태입니다.여기에서 "빠른 시작" 코드 템플릿을 사용할 수 있습니다.
우리는 ALNS 라이브러리 사용 방법을 보여주는 몇 가지 예제 노트북을 제공합니다. 여기에는 다음이 포함됩니다.
마지막으로 기능 노트북은 alns
패키지에서 사용할 수 있는 다양한 옵션에 대한 개요를 제공합니다. 노트북에서는 장난감 0/1 배낭 문제를 해결하기 위해 이러한 다양한 옵션을 사용합니다. 노트북은 다양한 구성표, 승인 또는 중지 기준을 직접 사용하려는 경우 좋은 시작점이 됩니다. 여기서 이용 가능합니다.
우리는 귀하가 기꺼이 기여해 주셔서 매우 감사드립니다. 시작하려면 여기를 살펴보시기 바랍니다. 대규모 변경을 목표로 한다면 새로운 GitHub 이슈에서 먼저 변경 사항을 논의하는 것이 도움이 됩니다. 마음껏 열어보세요!
여기 GitHub에서 문제나 새로운 토론 스레드를 자유롭게 열어보세요. 질문, 모델링 문제 또는 코드 예제가 있는 경우 이메일을 보내지 마십시오. 이메일보다 GitHub를 통해 논의하는 것이 훨씬 쉽습니다. 문제나 토론을 작성할 때 여기에 있는 지침을 따르십시오.
alns
인용하는 방법 연구에 alns
사용하는 경우 다음 논문을 인용하는 것을 고려해 보십시오.
Wouda, NA 및 L. Lan(2023). ALNS: 적응형 대규모 이웃 검색 메타휴리스틱의 Python 구현입니다. 오픈 소스 소프트웨어 저널 , 8(81): 5028. https://doi.org/10.21105/joss.05028
또는 다음 BibTeX 항목을 사용합니다.
@article { Wouda_Lan_ALNS_2023 ,
doi = { 10.21105/joss.05028 } ,
url = { https://doi.org/10.21105/joss.05028 } ,
year = { 2023 } ,
publisher = { The Open Journal } ,
volume = { 8 } ,
number = { 81 } ,
pages = { 5028 } ,
author = { Niels A. Wouda and Leon Lan } ,
title = { {ALNS}: a {P}ython implementation of the adaptive large neighbourhood search metaheuristic } ,
journal = { Journal of Open Source Software }
}