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

'abs' and 'distance' constraints

Description
Defining absolute value and distance constraints.

Further explanation of this example: 'Xpress Kalis Mosel Reference Manual'


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





distance.mos

(!****************************************************************
   CP example problems
   ===================
   
   file distance.mos
   `````````````````
   Abs and distance constraints.

   (c) 2008 Artelys S.A. and Fair Isaac Corporation
       Creation: 2005, rev. Mar. 2013
*****************************************************************!)
model "Distance constraints"
 uses "kalis"
 
 setparam("KALIS_DEFAULT_LB", -50); setparam("KALIS_DEFAULT_UB", 50)

 declarations
  x, y, z: cpvar
  Dist: cpctr
 end-declarations  
  
 setname(x,"x")
 setname(y,"y")
 setname(z,"z")

 abs(x) = y
 writeln("Absolute value of x: ", x,y,z)

 y >= 20
 writeln("Bounding y by 20: ", x,y,z)
  
! abs(y-z) <= 3
! Equivalent version of this constraint:
 distance(y,z) <= 3

 writeln("Max distance betw. y and z: ", x,y,z)
 
 Dist:= distance(x,z) = 5
 
 if(cp_post(Dist)) then
  writeln("Distance between x and z: ", x,y,z) 
 else
  writeln("Problem is infeasible")
 end-if
 
 cp_show_prob

end-model

Back to examples browserPrevious exampleNext example