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 Reference Manual'


Source Files





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