problem.addGenCons
Purpose
Adds one or more general constraints to the problem. Each general constraint y = f(x1, ..., xn, c1, ..., cn) consists of one or more (input) columns xi, zero or more constant values ci and a resultant (output column) y, different from all xi. General constraints include maximum and
minimum (arbitrary number of input columns of any type and arbitrary number of input values, at least one total),
and and
or (at least one binary input column, no constant values, binary resultant) and
absolute value (exactly one input column of arbitrary type, no constant values).
Topic areas
Problem Creation, Piecewise Linear and General Constraints, Optimizer
Synopsis
problem.addGenCons(contype, resultant, colstart, colind, valstart, val)
Arguments
|
contype
|
Integer array containing the types of the general constraints:
|
||||||||||
|
resultant
|
Integer array containing the indices of the output variables of the general constraints.
|
||||||||||
|
colstart
|
Integer array containing the start index of each general constraint in the
colind array.
|
||||||||||
|
colind
|
Integer array containing the input variables in all general constraints.
|
||||||||||
|
valstart
|
Integer array containing the start index of each general constraint in the
val array (may be
None).
|
||||||||||
|
val
|
Double array containing the constant values in all general constraints (may be
None).
|
Related controls
Integer
|
Controls whether dual reductions may be applied to reduce the number of added variables and constraints.
|
Further information
1. General constraints must be set up before solving the problem. They are converted to additional binary variables, indicator and linear constraints with the exact formulation and number of added entities depending on the performed presolving.
2. Note that using non-binary variables in
and/
or constraints or adding constant values to them or
absolute value constraints will give an error at solve time.
3. This function cannot be called while the current problem is being solved or when it is in an interrupted state. Use problem.postSolve to restore the problem to a non-solving state.
Related topics
© 2001-2026 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.
