Skip to content

Latest commit

 

History

History
50 lines (34 loc) · 1.61 KB

File metadata and controls

50 lines (34 loc) · 1.61 KB
.. aimms:function:: cp::EndAtEnd(firstActivity, secondActivity, delay)

cp::EndAtEnd

The function cp::EndAtEnd(a,b,d) returns 1 if one of the activities a and b is absent, or if the end of activity a plus a nonnegative time period d is equal to the end of activity b. The function cp::EndAtEnd(a,b,d) is equivalent to

\begin{array}{ll} a\texttt{.Present=0} & \vee \\ b\texttt{.Present=0} & \vee \\ a\texttt{.End} + d = b\texttt{.End} & \end{array}

This function is typically used in scheduling constraints to place a sequencing restriction on activities.

cp::EndAtEnd(
        firstActivity,   ! (input) an expression
        secondActivity,  ! (input) an expression
        delay            ! (optional) an expression
)

Arguments

firstActivity
An expression that results in an activity.
secondActivity
An expression that results in an activity.
delay
An optional expression that results in an integer number of time slots. This expression may involve variables. The default value of this expression is 0.

Return Value

This function returns 1 if the above condition is satisfied, and 0 if it is not.
.. seealso::

    -  The functions :aimms:func:`cp::BeginBeforeBegin` and :aimms:func:`cp::BeginBeforeEnd`, and

    -  :doc:`optimization-modeling-components/constraint-programming/index` on Constraint Programming in the `Language Reference <https://documentation.aimms.com/language-reference/index.html>`__.