/******************************************************** Xpress-BCL C Example Problems ============================= file folioqc.c `````````````` Modeling a small QCQP problem to perform portfolio optimization. -- Maximize return with limit on variance --- (c) 2008-2023 Fair Isaac Corporation author: S.Heipcke, July 2008, rev. Mar. 2011 ********************************************************/ #include #include "xprb.h" #define DATAFILE XPRBDATAPATH "/GS/foliocppqp.dat" #define MAXVAR 0,55 /* Max. allowed variance */ #define NSHARES 10 /* Number of shares */ #define NNA 4 /* Number of North-American shares */ double RET[] = {5,17,26,12,8,9,7,6,31,21}; /* Estimated return in investment */ int NA[] = {0,1,2,3}; /* Shares issued in N.-America */ double VAR[NSHARES][NSHARES]; /* Variance/covariance matrix of estimated returns */ int main(int argc, char **argv) { int s,t; XPRBprob prob; XPRBctr Variance,Na,Return,Cap; XPRBvar frac[NSHARES]; /* Fraction of capital used per share */ FILE *datafile; prob = XPRBnewprob("FolioQP"); /* Initialize a new problem in BCL */ /* Read `VAR' data from file */ datafile=fopen(DATAFILE,"r"); for(s=0;s