2017-02-08 12 views
0

x'S.x를 최소화하는 포트폴리오 최적화 문제를 해결하기 위해 MINLP 최적화 도구를 찾고 있는데, 여기서 x는 주어진 행렬입니다. x 요소가 ex에 의존하는 정수 제약이 있습니다. g [i]가 정수이고 K [i]가 주어진 벡터이므로, 목적을 최소화하면서 g [i]를 찾아야한다.ampl 대 gams MINLP 포트폴리오 최적화 구문

AMPL 또는 gams을 사용하고 있습니다. 주 프로그램은 파이썬이다. 이것들이 최고의 MINLP인지는 모르지만 어쨌든 두 웹 사이트에 몇 가지 예가있는 것 같습니다. 최소화 목적을위한 행렬 곱셈의 측면에서 AMPL에 이것을 쓰는 간단한 방법이 있는지 분명하지 않습니다. 대수적 확장으로 써야합니까? AMPL 언어로 x'.S.x 연산의 예제를 제공 할 수 있습니까?

gams의 관점에서 보았을 때,이 패키지는 많은 변수를 제한적으로 사용할 때만 무료라는 것을 알았습니다. 그러므로 나는 AMPL을 고려했지만, 나는 행렬 벡터 곱셈

답변

0

AMPL 구문은 매우 간단 위해 AMPL 표기법을 알아낼 수없는 경우, 아마 작은 문제 GAMS는 해결책이 될 수 있습니다 :

sum{i in I, j in I} x[i]*S[i,j]*x[j] 

참고 많은 포트폴리오 모델 완전한 MINLP 솔버가 필요하지는 않지만 Cplex 및 Gurobi와 같은 시스템에있는 2 차 (및 SOCP) 기능으로 해결할 수 있습니다. 귀하의 질문은 다소 (적어도 나를 위해) 구문 분석하기가 어렵지만 당신의 모델이이 범주에 해당한다고 생각합니다.