![]() | |||||||||||
| |||||||||||
Mosel files for the Mosel-Python comparison blog Description Mosel files for the blog post comparing Mosel and Python. Instructions for running these files:
Source Files By clicking on a file name, a preview is opened at the bottom of this page. Data Files ComplexConstraints_adv.mos (!****************************************************** Mosel Example Problems ====================== file ComplexConstraints_adv.mos ``````````````````````````````` Improved version of model 'ComplexConstraints_std.mos'. -- Defining constraints with multiple conditions -- (c) 2019-2025 Fair Isaac Corporation author: S.Heipcke *******************************************************!) model "Complex Constraints" !S:IMPORT uses "mmetc","mmsystem","mmxprs" parameters DATA_FILE_PREFIX = "00" end-parameters writeln("#E:IMPORT") writeln("#S:READ") declarations RN: range D: array(RN, RN) of real Dmax: array(RN) of real F,G: real q: array(RN, RN) of mpvar end-declarations initializations from "mmetc.diskdata:" D as "sparse,skiph," + DATA_FILE_PREFIX + "_H_ComplexConstraints_D.csv" end-initializations writeln("#E:READ") writeln("#S:PROC") F:=0.8 G:= 0.7 forall(m in RN) Dmax(m):= max(p in RN) D(m,p) declarations B: array(RN, RN) of boolean end-declarations ! Precalculate a repeated test condition forall(i in RN, k in RN) B(i,k):= (2 * D(i,k)<=G and D(i,k) + F * Dmax(k) <=G) forall(i in RN, k in RN, j in RN, m in RN | B(i,k) and B(j,m) and (i<j and k<>j and i<>m and D(i,k) + F*D(k,m) + D(m,j) > G) ) q(i,k) + q(j,m) <= 1 loadprob(0) writeln("#E:PROC") writeln("#S:TEST") forall (i in RN, k in RN, j in RN, m in RN | B(i,k) and B(j,m) and (i<j and k<>j and i<>m and D(i,k) + F*D(k,m) + D(m,j) > G) ) writeln(i, " ", k, " ", j, " ", m) writeln("#E:TEST") end-model
| |||||||||||
© Copyright 2025 Fair Isaac Corporation. |