2017-09-20 6 views
0

나는 ipopt coinor 웹 사이트 지침을 따라 ipopt optimizer를 설치했다. 빌드 디렉토리에 정적 객체 파일이 생성되었지만 빈 폴더가 생성되지 않았습니다. ipopt 사용 pyomo를 얻을 수하려고 할 때 리눅스에서 pyomo로 ipopt optimizer를 사용하는 방법

지금, 유일한 방법은 내가 너무 opt = SolverFactory('ipopt', executable='executable path here') 같은 실행 파일 위치를 지정하는 것입니다 사용 보았다하지만 난 그가 무엇인지 알아낼 수 없습니다 것과합니다.

나는 동전이나 웹 사이트에 미리 컴파일 된 바이너리가 있음을 발견했습니다. 그것들은 bin 폴더 안에 ipopt 실행 파일을 포함하고 있지만 연결하면 시스템은 libsvml.so이라는 누락 된 정적 객체에 대해 불평 할 것이다.

ipopt 설치 안내서에는 libsvm에 대한 언급이 없으므로 이것이 나를 혼란스럽게 만듭니다.

아마도 make/install 단계에서 뭔가를 놓쳤습니까? 도움을 주시면 감사하겠습니다.

답변

3

이 질문은 이전 질문과 매우 유사합니다. 대답 here을보십시오.

내 경험에 따르면, 소스 코드에서 ipopt를 설치하기위한 지침을 따르고 ipopt 실행 파일이있는 bin 디렉토리로 끝나지 않았다면 누락 된 종속성에서 설치 또는 설정/단계를 놓쳤습니다. 또는 타사 코드. 설치를 처음부터 다시해야합니다.

바이너리를 사용하려면 시스템 Linux-32bit 또는 Linux-64bit에 맞는 올바른 것을 다운로드하고 실행 파일이 들어있는 bin 폴더가 검색 경로에 있는지 확인하십시오. 바이너리로 확인하는 또 다른 방법은 실행 파일에 실행 권한이 있다는 것입니다. Linux 명령 chmod +x을 사용하여 권한을 수정할 수 있습니다. 명령 행에 ipopt을 입력하고 다른 대답에 표시된 출력을 가져올 수 있어야합니다.

+0

실행 파일을 지정하는 것 외에는이 솔버를 사용하는 다른 방법이 있습니까? –

+1

Ipopt가 아닙니다. 또한 Ipopt의 빌드 프로세스에서 놓치기 쉬운 한 단계는 "make"가 성공적으로 완료된 후 "make install"을 실행하는 것입니다. "make install"단계는 bin 디렉토리를 만드는 것입니다. –

관련 문제