FICO
FICO Xpress Optimization Examples Repository
FICO Optimization Community FICO Xpress Optimization Home
Back to examples browserPrevious exampleNext example

Folio - example from 'Getting started' executed in MATLAB

Description
MATLAB interfacing with a Mosel portfolio optimization problem:
  • foliomat.m: MATLAB script to execute the model
  • foliomat.mos: corresponding Mosel model
  • foliomat2.m: extended version with chart display
  • foliomat2.mos: corresponding Mosel model


Source Files
By clicking on a file name, a preview is opened at the bottom of this page.
foliomat.m[download]
foliomat.mos[download]
foliomat2.m[download]
foliomat2.mos[download]





foliomat.mos

(!******************************************************
   Mosel Matlab Example Problems
   =============================

   file foliomat.mos
   `````````````````````
   Modeling a small LP problem 
   to perform portfolio optimization.
   
  (c) 2014 Fair Isaac Corporation
      author: L.Bertacco, Apr. 2014
*******************************************************!)

model "Portfolio optimization with LP - MATLAB"
 uses "mmxprs"

 declarations
  SHARES: range
  RISK: set of integer             
  NA: set of integer               
  RET: array(SHARES) of real       
  frac: array(SHARES) of mpvar   
  simplexiter: integer
 end-declarations

 initializations from "matlab.mws:"
   RISK NA RET
 end-initializations 
 
 Return:= sum(s in SHARES) RET(s)*frac(s) 
 sum(s in RISK) frac(s) <= 1/3
 sum(s in NA) frac(s) >= 0.5
 sum(s in SHARES) frac(s) = 1
 forall(s in SHARES) frac(s) <= 0.3
 maximize(Return)
 simplexiter:=getparam("XPRS_simplexiter")

 initializations to "matlab.mws:"
  simplexiter
  evaluation of getobjval as "objval"
  evaluation of array(s in SHARES) frac(s).sol as "frac"
 end-initializations 
 exit(getprobstat)

end-model 

Back to examples browserPrevious exampleNext example