| |||||||||||
| |||||||||||
|
Burglar - In-memory data exchange between Mosel models Description
Source Files By clicking on a file name, a preview is opened at the bottom of this page. burglar2m.mos
(!******************************************************
Mosel Example Problems
======================
file burglar2m.mos
``````````````````
Use of I/O drivers for data handling.
*** Not intended to be run standalone - run from burgbindata.* ***
(c) 2008 Fair Isaac Corporation
author: S. Heipcke, 2004,rev. Apr. 2013
*******************************************************!)
model Burglar2r
uses 'mmxprs'
parameters
DATA='bin:burgdatabin'
SOL='bin:resdatabin'
WTMAX = 102 ! Maximum weight allowed
end-parameters
declarations
ITEMS: set of string ! Index set for items
VALUE: array(ITEMS) of real ! Value of items
WEIGHT: array(ITEMS) of real ! Weight of items
SOLTAKE: array(ITEMS) of real ! Solution values
end-declarations
initialisations from DATA
[VALUE, WEIGHT] as "BurgData"
end-initialisations
declarations
take: array(ITEMS) of mpvar ! 1 if we take item i; 0 otherwise
end-declarations
! 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 problem
! Solution output
forall(i in ITEMS) SOLTAKE(i):= getsol(take(i))
writeln("Solution:\n Objective: ", getobjval)
writeln(SOLTAKE)
initialisations to SOL
SOLTAKE as "SolTake"
evaluation of getobjval as "Objective"
end-initialisations
end-model
| |||||||||||
| © Copyright 2025 Fair Isaac Corporation. |