Initializing help system before first use

getassignment

getassignment


Purpose
Gets the cpvar representing the assignment of a task for a particular resource. In the following example, either task A requires resource R1 with resource profile [1,2,1,1,2,1,1,2], or task A requires resource R2 with resource profile [2,2,1,1,1,1,1,2]. The choice depends on the value of the decision variables A.assignment(R1) and A.assignment(R2) that can both take a value of 0 (the task is not assigned to this resource) or a value of 1 (the task is assigned to this resource).
Scheduling/altresusage.png
Synopsis
function getassignment(task:cptask, resource:cpresource) : cpvar
Arguments
task 
the task
resource 
the resource
Return value
The cpvar representing the assignment of 'task' to 'resource'
Example
The following example illustrates this:
model "Alternative resources and non constant resource usage"
 uses "kalis"

 declarations
  res1,res2   : cpresource
  taska,taskb : cptask
  arr1,arr2   : list of integer
 end-declarations

! Fix start times and durations
 taska.start   = 3
 taska.duration = 4
 taskb.start   = 3
 taskb.duration = 4

! Define 2 cumulative resources
 set_resource_attributes(res1, KALIS_DISCRETE_RESOURCE, 4)
 set_resource_attributes(res2, KALIS_DISCRETE_RESOURCE, 4)

 setname(taska,"taska"); setname(taskb,"taskb")
 setname(res1,"R1"); setname(res2,"R2")

! Define alternative resources for both tasks
 arr1 := [1,3,2,3]
 arr2 := [2,4,1,3]
 requires(taska, {resusage(res1,arr1),resusage(res2,arr2)}, 1, 1)
 requires(taskb, {resusage(res1,1,1),resusage(res2,1,1)}, 1, 1)

! Find all solutions
 while (cp_find_next_sol) do
  cp_show_sol
 end-do

end-model

Related topics