qp7.gms : 표준 QP 모델 - 원뿔 프로그래밍 공식

설명

2차 방정식에 대한 원뿔 공식의 사용을 설명합니다.
회전된 2차 원뿔을 구현하여 프로그램을 만듭니다.

2차 프로그래밍 형식의 원래 모델의 경우

   /modlib/adddocs/qp1doc.htm

2차 구성요소 x^T*CoVar(s,t)*x는 다음과 같이 모델링됩니다.

(|d|-1)*x^T*CoVar(s,t)*x = x^Tdev(s,d)^T*dev(t,d)*x = ||Dx||^2
                         = sum(d, w_i^2), w = Dx
                        := 2*p*q

이는 마지막 제약 조건이 다음과 같은 이 모델의 공식화로 이어집니다.
회전된 이차 원뿔.

선택적 입력:
  --numdays 투자 기간(일수)(기본값: 31)
               일수: 1~100
  --numstocks 투자된 주식 수 (기본값: 51)
               주식: 1-170

소형 모델 유형 :QCP


카테고리 : 슬롯 사이트 추천 모델 라이브러리


메인 파일 : qp7.gms   포함: qpdata.inc

$title 표준 QP 모형 - 원뿔 공식(QP7,SEQ=271)

$onText
이차 방정식에 원뿔 공식을 사용하는 방법을 보여줍니다.
회전된 2차 원뿔을 구현하여 프로그램을 만듭니다.

2차 프로그래밍 형식의 원래 모델의 경우

   /modlib/adddocs/qp1doc.htm

2차 구성요소 x^T*CoVar(s,t)*x는 다음과 같이 모델링됩니다.

(|d|-1)*x^T*CoVar(s,t)*x = x^Tdev(s,d)^T*dev(t,d)*x = ||Dx||^2
                         = sum(d, w_i^2), w = Dx
                        := 2*p*q

이는 마지막 제약 조건이 다음과 같은 이 모델의 공식화로 이어집니다.
회전된 이차 원뿔.

선택적 입력:
  --numdays 투자 기간(일수)(기본값: 31)
               일수: 1~100
  --numstocks 투자된 주식 수 (기본값: 51)
               주식: 1-170

Andersen, E, MOSEK 최적화 도구 매뉴얼

Kalvelagen, E, 슬롯 사이트 추천를 사용한 모델 구축. 곧

키워드: 2차 제약조건 프로그래밍, 원뿔 최적화, 금융
$offText

* 기본 일수 및 재고 수 설정
$설정되지 않은 경우 일수 $set 일수 31
$설정되지 않은 경우 numstocks $set numstocks 51

$include qpdata.inc

세트
   d(days) '선택한 날짜'
   s(stocks) '선택된 주식';

별칭(s,t);

* 주식 및 기간의 하위 집합을 선택하세요.
d(일) = ord(일) > 1 및 ord(일) < %numdays%;
s(주식) = ord(주식) < %주식수%;

매개변수
   평균(주식) '일일 수익률 평균'
   dev(주식,일) '편차'
   totmean '총 평균 수익률';

평균(들) = sum(d, return(s,d))/card(d);
dev(s,d) = return(s,d) - 평균(들);
totmean = 합계(들, 평균(들))/(카드(들));

변수
   z '객관 변수'
   x(주식) '투자'
   w(days) '회전된 원뿔에 대한 중간 변수'
   p '회전된 원뿔에 대한 중간 변수'
   q '회전된 원뿔에 대한 중간 변수';

양수 변수 x, p, q;

방정식
   obj '목표'
   예산
   retcon '반환 제약'
   wcone(일)
   qone '원추형 제약 조건'
   rcone '회전된 2차 원뿔 제약 조건';

obj.. z =e= 2/(카드(d) - 1)*p;

wcone(d).. w(d) =e= sum(s, x(s)*dev(s,d));

* 정말 끔찍해요.
qone.. q =e= 1;

* MOSEK에 대한 명시적 원뿔 구문
* rcone.. p + q =c= sum(d, w(d));

rcone.. 2*p*q =g= sum(d, sqr(w(d)));

예산.. 합계(s, x(s)) =e= 1.0;

retcon.. sum(s, 평균(들)*x(s)) =g= totmean*1.25;

모델 qp7 / 모두 /;

z를 최소화하는 qcp를 사용하여 qp7을 해결합니다.

디스플레이 xl;