Subroutines
Topics covered in this chapter:
Constraints
Absolute value constraint
|
|
All different constraint
|
|
Conjunction composite constraint
|
|
Linear constraints
|
|
Non-linear constraints
|
|
Cumulative constraint
|
|
Cycle constraint
|
|
Disjunctive constraint
|
|
Distance constraint
|
|
Distribute constraint with fixed bounds
|
|
Dot product
|
|
Element constraint
|
|
Equivalence composite constraint
|
|
Exponential of a non-linear expression
|
|
Generic Binary constraint
|
|
Generic nary constraint
|
|
Implication composite constraint
|
|
Natural logarithm of a non-linear expression
|
|
Maximum/minimum constraint
|
|
Occurrence constraint
|
|
Disjunction composite constraint
|
|
Producer Consumer constraint
|
|
Generic nary table constraint
|
Constraint parameters
Gets the active branch of a disjunction
|
|
Returns the number of variables in the constraint
|
|
Returns the priority of a constraint
|
|
Gets the tag of a constraint
|
|
Sets the first branch of a disjunction to be activated
|
|
Sets the priority of a constraint
|
|
Sets the tag of a constraint
|
Variables
Tests if a value is in the domain of a variable
|
|
Shows the current domain of the variable
|
|
Returns the degree of a variable
|
|
Returns the current lower bound of a variable
|
|
Returns the middle value of a variable
|
|
Gets the next value in the domain of a finite domain variable
|
|
Gets the previous value in the domain of a finite domain variable
|
|
Returns a random value belonging to the domain of a variable
|
|
Returns the cardinality of the variable domain
|
|
Returns the target value of a variable
|
|
Returns the current upper bound of a variable
|
|
Returns the instantiation value of a variable
|
|
Tests if two variable domains are equal
|
|
Tests if the variable passed in argument is instantiated
|
|
Tests if two decision variables represent the same variable
|
|
Sets the domain of a variable
|
|
Sets the lower bound of a variable
|
|
Sets the precision relativity and value of a continuous variable
|
|
Sets the target value of a variable
|
|
Sets the upper bound of a variable
|
|
Instantiate the value of a variable
|
Problem
Finds the next solution of the problem
|
|
Compute a minimal conflict set for an inconsistent problem
|
|
Optimize an integer objective variable with local optimization.
|
|
Alias for cp_maximize
|
|
Maximizes a variable
|
|
Alias for cp_minimize
|
|
Minimizes a variable
|
|
Posts a constraint to the problem
|
|
Propagates the constraints
|
|
Reset parameters to their default value.
|
|
Resets the search process
|
|
Restore a solver state from the stack
|
|
Save a marker in the stack
|
|
Shave the variables of the problem
|
|
Pretty printing of the best solution found.
|
|
Pretty printing of the problem
|
|
Pretty printing of the last solution.
|
|
Retrieve the value of a reversible array element.
|
|
Gets the index of a variable / task / resource
|
|
Gets the name of a variable / task / resource
|
|
Returns the size of a reversible array.
|
|
Returns the solution value of a variable
|
|
Retrieve the value of a reversible number.
|
|
Return a path-order branching scheme
|
|
Sets the attributes of a reversible number or array.
|
|
Set last solution found as target values.
|
|
Set the value of an element of an array of reversibles.
|
|
Sets the name of a variable / task / resource
|
|
Set the value of a reversible number.
|
Search
assign_and_forbid branching scheme
|
|
assign_var branching scheme
|
|
Create a group of branching schemes
|
|
Dumps in a CSV file some statistics about the search
|
|
Sets the strategy to use during the search for a solution
|
|
Shows some statistics about the search
|
|
Gets the tag associated with a branching scheme group
|
|
Creates a branching scheme Group Serializer
|
|
probe_assign_var branching scheme
|
|
probe_settle_disjunction branching scheme
|
|
settle_disjunction branching scheme
|
|
split_domain branching scheme
|
|
task_serialize branching scheme
|
Callbacks
Sets the branch callback procedure
|
|
Sets the node callback procedure
|
|
Sets the solution callback procedure
|
Scheduling
Adds a set of predecessors for a task
|
|
Adds a set of tasks as successors of a task
|
|
Sets the minimal and maximal amount of resource consumed by a task for a particular resource
|
|
Close the schedule.
|
|
Gets the default schedule search strategy of cp_schedule
|
|
Optimizes the schedule with respect to an objective variable.
|
|
Sets the schedule search strategy for cp_schedule
|
|
Shows a textual representation of the current schedule
|
|
Gets the cpvar representing the assignment of a task for a particular resource.
|
|
Get the maximal capacity of a resource for a specific time period.
|
|
Gets the cpvar representing the consumption of a task for a particular resource
|
|
Gets the cpvar representing a task duration
|
|
Gets the cpvar representing a task completion time
|
|
Gets the cpvar representing the makespan of the schedule.
|
|
Gets the cpvar representing the production of a task for a particular resource
|
|
Gets the cpvar representing the provision of a task for a particular resource
|
|
Gets the cpvar representing the requirement of a task for a particular resource
|
|
Gets the sequence dependent setup times between two tasks
|
|
Gets the cpvar representing a task start time
|
|
Tests whether an assignment decision variable for a task and a particular resource exists.
|
|
Tests whether a task consumes a specific resource
|
|
Tests if a task is fixed
|
|
Tests if a disjunction is fixed
|
|
Tests if a timestep is an idle timestep for a resource.
|
|
Tests whether a task produces a specific resource
|
|
Tests whether a task provides a specific resource
|
|
Tests whether a task requires a specific resource
|
|
Sets the minimal and maximal amount of resource produced by a task for a particular resource
|
|
Sets the minimal and maximal amount of resource provided by a task for a particular resource.
|
|
Sets the minimal and maximal amount of resource required by a task for a particular resource
|
|
Creates a resource usage
|
|
Sets some attributes for a resource
|
|
Sets some attributes for a task
|
|
Sets the maximal capacity of a resource between two time bounds.
|
|
Sets the duration of a task
|
|
Specifies the set of timesteps where a resource is idle.
|
|
Sets the maximal capacity of a resource between two time bounds.
|
|
Sets the minimum usage of a resource between two time bounds.
|
|
Sets the tasks that must precede a task
|
|
Sets sequence dependent setup times between two tasks
|
|
Sets the set of tasks that must succeed a task
|
Linear relaxations
Add a linear relaxation solver to the linear relaxation solver list
|
|
Clear the linear relaxation solver list
|
|
Returns an automatic relaxation of the cp problem
|
|
Remove a linear relaxation solver from the linear relaxation solver list
|
|
Pretty printing of a linear relaxation
|
|
Export the linear relaxation in LP format
|
|
Fix the continuous variables to their optimal value in the relaxation solver passed in argument
|
|
Generate and add cuts to the relaxation passed in parameters
|
|
Get an indicator variable for a given variable and a value.
|
|
Get the linear relaxation for a constraint
|
|
Returns a linear relaxation solver from a linear relaxation, an objective variables and some configuration parameters
|
|
Get a reduced cost value from a linear relaxation solver
|
|
Returns the optimal relaxed value for a variable in a relaxation
|
|
Get a largest reduced cost variable selector from a linear relaxation solver
|
|
Get a nearest relaxed value selector from a linear relaxation solver
|
|
Launch LP/MIP solver without CP branching.
|
|
Set integrality flag for a variable in a linear relaxation
|
|
Parameter setting for a linear relaxation solver.
|
|
Set the verbose level for a specific linear relaxation solver
|
© 2001-2022 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.