Problem #3, MPL Code (Solved using CONOPT)
TITLE
ENCE723_PB3
!Problem #3
!Formulation using MPL
!Note: use student version of conopt as solver
OPTION
ModelType = Nonlinear;
INDEX
i:=1..3; !Stock index
j:=1..3;
DATA
Ret[i] := (10,20,30); !Return per stock
VCV[i,j] := (4.2, -1.9, 2,
-1.9, 6.7, -5,
2, -5, 7);
MinRet = 29.9;
VARIABLES
x[i]; !Percentage of budget assigned to stock i
VX[i]; !Intermediate variance calculation
MACROS
Investment := Sum(i: x);
Return := SUM(i: Ret*x);
Variance := SUM(i:VX*x);
MODEL
Min Variance;
SUBJECT TO
VX[1] = VCV[1,1]*x[1] + VCV[1,2]*x[2] + VCV[1,3]*x[3];
VX[2] = VCV[2,1]*x[1] + VCV[2,2]*x[2] + VCV[2,3]*x[3];
VX[3] = VCV[3,1]*x[1] + VCV[3,2]*x[2] + VCV[3,3]*x[3];
Investment = 1;
Return >= MinRet;
BOUNDS
NonNegativity[i]:
x[i]>=0;
BINARY
END