| itemValuesConstraint {eatATA} | R Documentation |
Constrain the sum of item values per form.
Description
Create constraints related to an item parameter/value. That is, the created
constraints assure that the sum of the item values (itemValues) per test form is either
(a) smaller than or equal to (operator = "<="), (b) equal to
(operator = "="), or (c) greater than or equal to (operator = ">=")
the chosen targetValue.
Usage
itemValuesConstraint(
nForms,
itemValues,
operator = c("<=", "=", ">="),
targetValue,
whichForms = seq_len(nForms),
info_text = NULL,
itemIDs = names(itemValues)
)
Arguments
nForms |
Number of forms to be created. |
itemValues |
Item parameter/values for which the sum per test form should be constrained. |
operator |
A character indicating which operator should be used in the
constraints, with three possible values: |
targetValue |
the target test form value. |
whichForms |
An integer vector indicating which test forms should be constrained. Defaults to all the test forms. |
info_text |
a character string of length 1, to be used in the |
itemIDs |
a character vector of item IDs in correct ordering, or NULL. |
Details
When operator is "<=", the constraint can be mathematically formulated as:
\[\sum_{i=1}^{I} v_i \times x_{if} \leq t , \; \; \; \code{for} \: f \in G,\]
where \(I\) refers to the number of items in the item pool, \(v_i\) is the
itemValue for item \(i\) and \(t\) is the targetValue. Further, \(G\)
corresponds to whichForms, so that the above inequality constraint
is repeated for every test form \(f\) in \(G\). In addition, let \(\boldsymbol{x}\)
be a vector of binary decision variables with length \(I \times F\), where \(F\)
is nForms. The binary decision variables \(x_{if}\) are defined as:
| \(\;\;\;\;\;\;\;\;\) | \(x_{if} = 1\),\(\;\;\;\;\) | if item \(i\) is assigned to form \(f\), and |
| \(\;\;\;\;\;\;\;\;\) | \(x_{if} = 0\),\(\;\;\;\;\) | otherwise. |
Value
An object of class "constraint".
Examples
## constraints to make sure that the sum of the item values (1:10) is between
## 4 and 6
combineConstraints(
itemValuesConstraint(2, 1:10, operator = ">=", targetValue = 4),
itemValuesConstraint(2, 1:10, operator = "<=", targetValue = 6)
)