2012-02-22 1 views
3

gfortran 컴파일러가있는 Windows 7 시스템에서 Fortran 90의 수치 최적화를 수행하고 있습니다. 함수의 loglikelihood를 반환하는 다른 사람에 의해 작성된 함수가 있습니다. 매개 변수 집합 (총 약 60 개 매개 변수)이 전달되었습니다. 누군가의 결과를 복제하려고하므로 최종 매개 변수를 알고 있습니다. 가치는 있지만, 나는 그것들을 재평가 해보고, 결국에는 그들의 모델을 확장하고 다른 데이터를 사용하려고했다. 나는 지금까지 성공하지 못했던 uobyqa.f90 루틴을 here에 시도했다.Fortran 90의 최적화 루틴

제 질문은 다음과 같습니다. 첫째, 많은 매개 변수 (60 세 이상) 최적화 문제에 대해 누구나 가장 자유롭게 사용할 수있는 루틴을 제안 할 수 있습니까? 파생 상품을 사용할 수 없으며 숫자로 추정하는 데 많은 비용이 소요되므로 먼저 uobyqa 루틴을 시도하십시오. 또한이 문제를 해결하는 데 병렬 처리 지원을 크게 구현할 것인가? 그렇다면 누구나 이미 openmp를 사용하여 병렬 처리를 구현 한 최적화 루틴을 제안 할 수 있습니까?

감사합니다.

답변

2

특정 최적화 전략에 대한 좋은 제안이 없지만 NLopt 패키지에는 많은 수의 변수를 처리 할 수있는 몇 가지 파생없는 최적화 프로그램이 있습니다. 체크 아웃 할만한 가치가있다. 포트란 인터페이스를 사용하기가 매우 쉽다는 것을 알았습니다.

+0

답장을 보내 주셔서 감사합니다. 제한된 성공을 거두었지만 NLopt 패키지를 사용해 보았습니다. 유전자 알고리즘과 포트란에 대한 경험이있는 사람이 있습니까? 나는 parallellized 버전이 있기 때문에 pikai, parly을 실험 해왔다. 이 알고리즘은 많은 수의 매개 변수로 어떻게 수행됩니까? – user1226271

0

이 질문에 대한 정기적 인 (출판 된 학술 문헌 검색을 먼저 수행하십시오. 다른 검색어 (예 : '최적화', 'uobyqa'등)와 함께 'LAPACK'을 포함하여 다른 당사자의 관련 작업을 볼 수도 있습니다.