2017-12-14 14 views
0

scipy.optimize.minimize 해결사를 pyomo 안에 method=SLSQP과 통합 할 수 있습니까? pyomo의 모델링은 scipy보다 훨씬 빠르지 만 pyomo 문서는 이것이 가능한지 명시 적으로 말하지 않는 것처럼 보입니다.pyomo 내부에서 scipy.optimize를 호출하십시오.

+0

죄송합니다. 처음 몇 단어는 어쨌든 삭제되었습니다. 나는 scipy.optimize.minimize를 pyomo로 정수화 할 수 있는지 물어 보았다. 감사합니다 –

+0

왜 IPOPT를 사용할 수있을 때 SLSQP를 사용 하시겠습니까? – sascha

+0

IPOPT에서 사용되는 HSL 무한 선형 솔버를 다운로드하기위한 승인을 기다리고 있으므로 여가 시간에 무언가를 시도하고 싶었습니다 ... –

답변

0

현재 (2001 년 12 월) Pyomo 모델을 scipy.optimize에 전달하기위한 내장 지원이 없습니다. 즉, scipy.optimize.minimize()으로 전달할 필요가있는 (값, Jacobian, Hessian) 평가 함수를 생성 할 수있는 합리적으로 일반적인 목적 객체를 작성하는 것은 매우 어려운 작업이 아닙니다.

+0

알겠습니다. 자코비언 행렬을 얻기 위해 자동 차별화 패키지를 사용하도록 제안하고 있습니까? –

+0

예. Pyomo 표현식은 평가할 수 있습니다. Jacobian과 Hessian 정보는 상징적 인 차별화를 통해 얻을 수 있습니다. 'sympy'가 있다고 가정하면'pyomo.core.base.symbolic.differentiate'를 사용하여 Jacobian & Hessian 표현을 얻을 수 있습니다 (적당한 양의 코드 사용). Constraint가 어떻게 정보를 보유하고 있는지 이해하려면 pyomo.core를 탐구해야 할 것이며'sympy'나'scipy.optimize'를 사용하여 성능을 보장 할 수는 없습니다. (나는 ipopt를 통해 Pyomo 모델을 실행하는 것이 훨씬 빠를 것으로 기대합니다.) – jsiirola