The 3B method is an usually efficient method to reduce the width of the variable intervals. This method can be used for any algorithm of ALIAS and is embedded in the code of the solving procedures of the C++ library.
The principle of the method is quite simple. Let assume that we deal
with a problem with variables
and that the range
for the
variable
is [
] while
is a small number.
The procedure will examine if the problem may have a solution if the
range for
is reduced to [
]. If it is not the case
the range for
may be reduced to
[
]=[
]. The procedure will then be repeated
by using
as a new value for
until the algorithm
either determine that there is no solution to the problem or fails to
show that that is no solution for the range [
]. The
algorithm will then try to reduce the range for
on the "right"
side i.e. by examining if the problem has no solution for the range
[
]. This process is repeated in turn for each
variable.
Within Maple the value of is given by the variable
`ALIAS/Delta3B` which set an identical value of
for
all variables. Alternatively you may specify a specific value of
for each variable by assigning a list to the variable
`ALIAS/Delta3B_ARRAY` with as many elements as unknowns: each
element of this list is the value of
for each variable.
The 3B method will not be used for variables whose range have a width greater than a given threshold. This threshold is defined by the variable `ALIAS/Max3B` (default value: 5). You may assign a new value for this threshold by:
`ALIAS/Max3B`:=10:Alternatively you may specify a specific threshold for each variable by using the array `ALIAS/Max3B_ARRAY`. For example:
`ALIAS/Max3B_ARRAY:=array([0.1,0.1,0.05]):indicates that the 3B method will be used only if the width or the input intervals is lower than 0.1 for the 2 first unknowns and 0.005 for the third one.
As soon as the Max3B, Delta3B values have been set you activate
the 3B method by setting the
`ALIAS/3B` variable to 1 or 2.
At iteration of the 3B method the algorithm will try to
reduce the range for the variable by
. Assume that
is
larger than 1 and the algorithm fails: