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: "<=", "=", or ">=". See details for more information.

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 "info"-attribute of the resulting constraint-object.

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)
)


[Package eatATA version 1.1.2 Index]