2016-08-02 25 views
0

안녕하세요. 나는 약간의 문제가있다 : openmdao와 pyOptSparseDriver와 함께 일하고있다. 일부 솔버 (예 : SLSQP, PSQP)에서 작동하므로 설치에 문제가 없습니다.Python에서 Openmdao (또는 pyoptsparse)와 함께 IPOPT 사용

이제 IPOPT를 사용해 보았지만 코드는 pyoptsparse와 함께 제공되지 않았습니다. IPOPT (http://www.coin-or.org/Ipopt/documentation/node10.html)를 설치하기 위해 COIN-OR 설명서를 따랐습니다. 모든 것이 확인되었습니다 (확인 방법을 모르겠습니다). 이제 내 책상에 COIN-OR 폴더가 있는데, pyoptsparse가 pyOPOPT/pyIPOPT.py에서 IPOPT를 가져 오는 방법을 모릅니다. (충돌하는 "import pyoptcore"줄입니다.) 아무도 도와 줄 수 있습니까? 미리 감사드립니다.

답변

1

우리는 pythonptsparse 패키지를 통해 OpenMDAO와 함께 IPOPT를 사용하고 있으며, 사용자가 해본 것처럼 독립형 라이브러리로 설치했습니다. 이를 작동 시키려면 pyoptsparse 설치를 실행하기 전에 IPOPT를 설치 한 위치를 가리키는 IPOPT_DIR 환경 변수를 설정해야합니다.

그래서 예를 들어 IPOPT를 설치했다고 가정합니다./usr/지방/IPOPT : IPOPT에 대한 파이썬 래퍼를 컴파일 pyoptsparse에

$ export IPOPT_DIR=/usr/local/IPOPT 
$ cd /path/to/pyoptsparse/ 
$ python setup.py install 

해야 결과와 파이썬의 site-packages/pyoptsparse/pyIPOPT에 배치됩니다 파일 pyoptcore.so을 생산하고 있습니다.

인텔에서 모든 것을 컴파일 했으므로 우리 클러스터에서 우리는 pyoptsparse/pyIPOPT/setup.py 파일을 약간 수정해야했지만, gfortran으로 컴파일하면 pyoptsparse의 공식 버전이 도움이 될 것입니다.

또는 Justin suggests와 같이 할 수 있습니다. 이것은 기본적으로 pyoptsparse 문서에서 찾는 지침입니다.

+0

python setup.py install 명령은 효과가없는 것 같다. 쉘에서 os.getenv ('IPOPT_DIR') 명령은 올바른 경로를 제공합니다 (내보내기 작업이 이루어짐). pyIPOPT/setup.py를 보면 (설정을 반환하는) 함수 설정이 ... – gael17

+0

이라면 나는 pyoptsparse를 새로 설치하기 위해 빌드 디렉토리를 제거해야 할 수도 있습니다. 디버깅을 위해 pyoptsparse/setup.py (https://bitbucket.org/mdolab/pyoptsparse/src/64bf91c487894c531941a99eb1aeb4880ae0e3a3/pyoptsparse/setup.py?at=default&fileviewer=file-view-default)에서 다른 모든 옵티 마이저를 주석 처리 할 수도 있습니다.). pyoptsparse/pyIPOPT/setup.py 파일에 print 문을 추가하여 IPOPT가 제대로 호출되는지 확인하십시오. – frza

+0

좋아, 그래서 내가 GCC 호출 후에이 오류를 갈 새로운 mdolab-pyoptsparse * .ZIP 을 다운로드하는 모든 것을 시작 : 는/usr/빈/LD가 : 찾을 수없는 -lcoinhsl 은 HSL은 선택 아닌가요? 내가 MUMPS를 dowloaded하고 의사가 선형 시스템을 해결하기에 충분하다고 설명하는 것 같습니다 ... – gael17

0

ipopt 소스 코드를 src folder of pyopt-sparse에 넣은 다음 패키지를 다시 컴파일해야합니다.

+0

소스 코드 란 무엇을 의미합니까? Ipopt/src에는 6 개의 다른 폴더가 있습니다. 그들을 pyIPOPT/src에 넣는 것은 작동하지 않았다. – gael17