Purpose
Check if a given entry in a dynamic array has been created.
Synopsis
function exists(x):boolean
Argument
x
|
Array reference (e.g. t(1))
|
Return value
true if the entry exists, false otherwise.
Example
The following, a dynamic array of decision variables only has its even elements created, which is checked by displaying the
existing variables:
declarations
S=1..8
x: dynamic array(S) of mpvar
end-declarations
forall(i in S| not isodd(i)) create(x(i))
forall(i in S| exists(x(i)))
writeln("x(", i, ") exists")
Further information
1. If an array is declared dynamic (or indexed
by a dynamic set) its elements are not created at its declaration.
This function indicates if a given element has been created.
2.
Under certain conditions,
the exists function call is optimized by the compiler when
used for filtering an aggregate operator: the loop is
only performed for the existing entries instead of enumerating all
possible tuples of indices for finding the relevant ones.
Related topics
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.