(!****************************************************** Mosel User Guide Example Problems ================================= file burglar8.mos ````````````````` Model as in burglar.mos, with data input/ouput from/to calling application. *** Not intended to be run standalone - run from ugiodense.java *** (c) 2008 Fair Isaac Corporation author: S. Heipcke, Mar. 2006 *******************************************************!) model Burglar8 uses "mmxprs" parameters VDATA = ''; WDATA = '' ! Location of input data SOL = '' ! Location for solution data output WTMAX = 102 ! Maximum weight allowed end-parameters declarations ITEMS = 1..8 ! Index range for items VALUE: array(ITEMS) of real ! Value of items WEIGHT: array(ITEMS) of real ! Weight of items take: array(ITEMS) of mpvar ! 1 if we take item i; 0 otherwise soltake: array(ITEMS) of real ! Solution values end-declarations initializations from 'jraw:' VALUE as VDATA WEIGHT as WDATA end-initializations ! Objective: maximize total value MaxVal:= sum(i in ITEMS) VALUE(i)*take(i) ! Weight restriction sum(i in ITEMS) WEIGHT(i)*take(i) <= WTMAX ! All variables are 0/1 forall(i in ITEMS) take(i) is_binary maximize(MaxVal) ! Solve the MIP-problem ! Output solution to calling application forall(i in ITEMS) soltake(i):= getsol(take(i)) initializations to 'jraw:' soltake as SOL end-initializations end-model