5 Solving the error localisation problem with hard and soft edits
Sander Scholtus
Previous | Next
We shall now describe an adapted version of the
branch-and-bound algorithm of De Waal and Quere, which may be used to solve the
error localisation problem defined in Section 3. The basic setup of the
algorithm is the same as in Section 2.3. In particular, the procedures for
eliminating and fixing variables are carried out the same way as in the
original algorithm.
The main difference is that now in each node, the
current set of edits is partitioned into a current set of hard
edits and a current set of soft edits For the root node, the partition simply
follows that of the original set of edits, i.e.,
and For all other nodes, the partition can be
summarised as follows: if an edit is generated only from hard edits, then it is
a hard edit; if any soft edits are involved in its generation, then it is a
soft edit. Furthermore, for each soft edit we construct an index set analogous to in Section 4 which contains the indices of all the original
soft edits that were involved, directly or indirectly, in
its generation.
Having generated and for a particular node, we can fill in the
original values of the variables that have not been treated yet, to check which
of these edits are failed. In the old algorithm, this check could have two
possible outcomes: either more variables need to be eliminated (at least one of
the edits is failed), or a feasible solution has been found (none of the edits
are failed). In the new algorithm, three different situations may arise.
First of all, if at least one edit in is failed, then the variables that have been
eliminated so far cannot be imputed to satisfy the original hard edits. Hence,
more variables need to be eliminated. In this case, we continue the generation
of branches from the current node.
A second possibility is that none of the edits in or are failed. This means that the variables that
have been eliminated so far can be imputed to satisfy all the original edits,
both hard and soft. Thus a feasible solution has been found, for which the
value of target function (3.1) equals If this value is smaller than or equal to the
value of (3.1) for the best solution found so far, say then the new solution is stored. Otherwise, it
is discarded. Either way, it is not useful to continue the algorithm from the
current node, because if more variables are eliminated, the value of can only increase. Hence, we return to the
last previous branch that has not been completely searched yet and continue the
algorithm from there.
The last possibility is that the edits in are satisfied, but that at least one edit in is failed. In this case, the variables that
have been eliminated so far can be imputed to satisfy the original hard edits,
but not all the original soft edits. Hence, a feasible solution to the error
localisation problem has been found, but the contribution of to is non-zero. According to Theorem 1 or Theorem
2, it is possible to satisfy all original soft edits, except those in a
representing set of the index sets for all failed edits in Since this property is shared by all
representing sets, we are free to choose in such a way that is minimised, given the selection of variables
to impute. If expression (3.2) is used for then the optimal choice of can be found by solving the following
minimisation problem:
(5.1)
This is a standard binary linear optimisation
problem for which algorithms are available (see e.g., Nemhauser and Wolsey 1988). The solution consists of a vector
of zeros and ones. The associated optimal
representing set is and the associated contribution of to is precisely the minimal value of problem (5.1),
say
As in the previous case, the value is compared to If then the current solution is stored, otherwise
it is discarded. Either way, it is meaningful in this case to continue the
algorithm from the current node, because eliminating more variables may lead to
a lower value of the target function. This can happen because a solution that
imputes more variables typically fails fewer soft edits. Therefore, we continue
the generation of branches from the current node.
The correctness of this algorithm follows from the
correctness of the original algorithm of De Waal and Quere (2003) and the
theory presented in Section 4. The index sets only have to be computed for the soft edits,
because a subset of the variables is never considered a feasible solution to
the error localisation problem when at least one of the hard edits remains
failed. This means that, in every application of Theorem 1 or Theorem 2, all
implied edits in must be contained in Finally, we note that the new algorithm
reduces to the original algorithm of De Waal and Quere (2003) in the
special case that no soft edits have been specified.
Previous | Next