/******************************************************** Xpress-BCL Java Example Problems ================================ file foliomip1.java ``````````````````` Modeling a small LP problem to perform portfolio optimization. -- Limiting the total number of assets -- (c) 2008-2023 Fair Isaac Corporation author: S.Heipcke, 2003, rev. Dec. 2011 ********************************************************/ import com.dashoptimization.*; public class foliomip1 { static final int MAXNUM = 4; /* Max. number of different assets */ static final int NSHARES = 10; /* Number of shares */ static final int NRISK = 5; /* Number of high-risk shares */ static final int NNA = 4; /* Number of North-American shares */ static final double[] RET = {5,17,26,12,8,9,7,6,31,21}; /* Estimated return in investment */ static final int[] RISK = {1,2,3,8,9}; /* High-risk values among shares */ static final int[] NA = {0,1,2,3}; /* Shares issued in N.-America */ static final String[] MIPSTATUS = {"not loaded", "not optimized", "LP optimized", "unfinished (no solution)", "unfinished (solution found)", "infeasible", "optimal", "unbounded"}; public static void main(String[] args) { int s; XPRBexpr Risk,Na,Return,Cap,Num; XPRBvar[] frac; /* Fraction of capital used per share */ XPRBvar[] buy; /* 1 if asset is in portfolio, 0 otherwise */ try (XPRBprob p = new XPRBprob("FolioMIP1")) { /* Initialize BCL and create a new problem */ /* Create the decision variables */ frac = new XPRBvar[NSHARES]; buy = new XPRBvar[NSHARES]; for(s=0;s