<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Satisfaction of polynomial constraints over nite domains using function values</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Federico Bergenti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefania Monica</string-name>
          <email>stefania.monicag@unipr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Scienze Matematiche, Fisiche e Informatiche Universita degli Studi di Parma</institution>
          ,
          <addr-line>43124 Parma</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper shows how the solutions of constraint satisfaction problems that involve only polynomial constraints over nite domains can be enumerated by computing the values of related polynomial functions at appropriate points. The proposed algorithm rst transforms constraints, which are expressed as equalities, inequalities, and disequalities of polynomials with integer coe cients and integer variables, into a canonical form that uses only inequalities. Then, starting from a bounding box, which is supposed to be known, the algorithm recursively subdivides the box into disjoint boxes and it records boxes whose elements satisfy all constraints. The subdivision is driven by the study of the sign of polynomial functions over boxes, which is performed by means of a method that uses only the coe cients of polynomials and the values of functions at the corners of boxes.</p>
      </abstract>
      <kwd-group>
        <kwd>polynomial constraints over nite domains</kwd>
        <kwd>subdivision algorithms</kwd>
        <kwd>Taylor's theorem</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Polynomial constraints are ubiquitous, and they nd relevant applications in
virtually all elds of science and engineering (see, e.g., [
        <xref ref-type="bibr" rid="ref13 ref5">5, 13</xref>
        ] and related
literature). In this paper we study a speci c form of polynomial constraints, which
we call polynomial constraints over nite domains [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], in the scope of constraint
logic programming and constraint satisfaction problems. Polynomial constraints
over nite domains are constraints expressed as equalities, inequalities, and
disequalities of polynomials with integer coe cients whose variables take values from
nite subsets of the integers. Normally, reasoning on polynomial constraints over
nite domains assumes that an initial approximation of the domains of variables
is available in terms of a suitable bounding box.
      </p>
      <p>
        We have already presented results on the use of the properties of Bernstein
polynomials [
        <xref ref-type="bibr" rid="ref12 ref4">4, 12</xref>
        ] to reason on constraints satisfaction problems involving only
polynomial constraints over nite domains [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. We have also proposed an
algorithm to enforce hyper-arc consistency of this type of constraints using a
subdivision algorithm [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which also uses the properties of Bernstein polynomials.
In this paper, the subdivision framework that we adopted in previous studies
is used to enumerate the solutions of constraint satisfaction problems that
involve only polynomial constraints over nite domains by computing the values
of related polynomial functions at appropriate points, with no use of Bernstein
polynomials. In detail, the proposed algorithm rst rewrites constraints, which
are expressed as equalities, inequalities and disequalities of polynomials with
integer coe cients and integer variables, into a canonical form that uses only
inequalities. Then, starting from an initial approximation of the domains of
variables, which is supposed to be known in term of a bounding box, the algorithm
recursively subdivides the box and it records boxes whose elements satisfy all
constraints. Thanks to the adopted canonical form of constraints, the subdivision
is driven by the study of the sign of polynomial functions over boxes. Section 3
presents results that show how the computation of the values of a polynomial
function at the corners of a box provides relevant information on the sign of the
function over the box. In detail, Section 3 describes a su cient condition for a
polynomial function to be nonnegative over a box by using only the coe cients
of the polynomial and the values of the function at the corners of the box, which
is exactly what is needed to drive the subdivision. If the su cient condition is
met then the elements of the considered box satisfy all constraints, otherwise
the box should be split into disjoint boxes and processed recursively.
      </p>
      <p>This paper is organised as follows. Section 2 recalls adopted canonical form
of constraints and it outlines the subdivision algorithm, which is based on the
possibility of identifying boxes where polynomial functions are nonnegative.
Section 3 discusses how the computation of the value of a polynomial function at
the corners of a box provides a su cient condition for the function to be
nonnegative over the box. Section 4 presents illustrative examples meant to clarify
the proposed algorithm. Finally, Section 5 concludes the paper and it outlines
open questions and future research directions.
2</p>
      <p>
        Reasoning on polynomial constraints over boxes
Subdivision algorithms have been used extensively to reason on polynomial
constraints mostly because e ective bounds on the range of polynomial functions
can be computed using the properties of Bernstein polynomials (see, [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] for a
survey of major results and a historical perspective). Starting from a given box,
lower and upper bounds for a polynomial function over the box can be computed
by using the properties of Bernstein polynomials. Such bounds give relevant
information on the sign of the function over the box, and they can be used to decide
whether to recursively subdivide the box or not. This approach, which is
informally known as Bernstein algorithm [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], is very general, and it has been used,
for example, to solve systems of polynomial equations [
        <xref ref-type="bibr" rid="ref10 ref14">10, 14</xref>
        ] and to support
global optimisation [
        <xref ref-type="bibr" rid="ref11 ref15">11, 15</xref>
        ].
      </p>
      <p>
        Besides applications in mixed-integer nonlinear optimisation [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], the use of
the Bernstein algorithm has been mostly limited to reason on polynomials
constraints whose variables take values from the reals. Only recently, the properties
of Bernstein polynomials have been used to reason on constraints whose
variables take values from the integers, as follows. First, constraints are rewritten
into a canonical form, which turns a generic polynomial constraint with integer
coe cient whose variables take values from the integers into an inequality. Given
a polynomial constraint of the form
p(x)
q(x);
(1)
where p(x) and q(x) are polynomials with integer coe cients in n 2 N variables
x = (x1; x2; : : : ; xn), and 2 f=; 6=; &lt;; ; &gt;; g, a semantically equivalent
constraint of the form
r(x)
0;
(2)
where r(x) is a polynomial with integer coe cients, can be written by applying
simple rules detailed in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The possibility of transforming a generic polynomial
constraint (1) into a semantically equivalent constraint of the speci c form (2)
can be used to turn the problem of searching for the values of variables that
satisfy (1) into the problem of searching for the values of variables that make
the polynomial function r(x) nonnegative. This problem can be e ectively solved
using subdivision under the assumption that an initial approximation of the
domains of variables is available. Actually, under this assumption, in [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ] we
used subdivision to study the satis ability of polynomial constraints over nite
domains, while in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] we used subdivision to make polynomial constraints over
nite domains hyper-arc consistent. In both cases, we adopted the properties of
Bernstein polynomials to study the signs of polynomial functions over boxes. In
detail, the use of Bernstein polynomials to express a polynomial function over
a given box allows the immediate identi cation of lower and upper bounds for
the function over the box. Such bounds can be used to evaluate the sign of the
function over the box, which can be recursively subdivided into disjoint boxes
if the sign of the function changes over the box. This method is particularly
appealing when variables are restricted to take values from nite subsets of the
integers, because such a choice guarantees that the method always terminates,
and also that results can be computed over the integers with no approximations,
provided that arbitrary precision integer arithmetic is available.
      </p>
      <p>The subdivision algorithm that we have already adopted to reason on
polynomial constraints over nite domains does not mandate the use of a speci c
algorithm to study the sign of polynomial functions over boxes, and it can be
generalised to a framework to reason on polynomial constraints over nite domains.
In order to obtain working algorithms, the framework needs to be completed
with a means to decide if a polynomial function is nonnegative over a box. This
can be accomplished by means of any algorithm capable of computing suitable
lower and upper bounds for a given polynomial function over a given box. If the
lower bound is nonnegative, then the polynomial function is nonnegative over
the box. Conversely, if the upper bound is negative, then the polynomial
function is negative over the box. Note that the trivial approach of evaluating the
polynomial function at all points of the box, which is always nite, is surely
possible, but we expect that the use of lower and upper bounds would be bene cial
especially for large boxes.</p>
      <p>Algorithm 1 shows a pseudocode of the proposed framework to enumerate
the solutions of constraint satisfaction problems that involve only polynomial
constraints over nite domains. Function enumerate(.,.) takes a set of
constraints C in canonical form and a box B Zn, with B 6= ;, over which the
signs of polynomials in C are studied. First, enumerate(.,.) selects a constraint
and it uses the unspeci ed function bounds(.,.) to compute appropriate lower
and upper bounds of the related polynomial function over B. If computed upper
bound is negative, then the constraint is unsatis able in the box. Conversely, if
computed lower bound is nonnegative, then the selected constraint is satis able
for all elements of the box. If both conditions are not met, then a variable is
selected and the current approximation of its domain is properly split into two
disjoint intervals, which are processed recursively. The notation Bj![a::b] is used
to denote a box obtained from box B by replacing interval Ij , which corresponds
to the current approximation of the domain of the j th variable, with interval
[a::b]. Note that the pseudocode in Algorithm 1 considers also the special case of
variables whose domains are reduced to singleton sets. In this case, variables can
be substituted in polynomials with appropriate values, so that the number of
variables in polynomials is reduced. Finally, note that function enumerate(.,.)
is rst invoked with the initial set of constraints and the initial approximation
of the domains of variables, which is expressed as a nonempty bounding box.
3</p>
      <p>
        Study of the sign of polynomials using function values
In this section we present a method to study the sign of a polynomial function
over a given box that is based on a result originally proposed for univariate
polynomials in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], which was then extended to bivariate polynomials in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
The most general result, which holds for multivariate polynomials, is shown, but
not proved for the sake of brevity, in Proposition 2. First, the case of univariate
polynomials is discussed to explain the proposed method in a simple setting.
Then, the proposed extension to multivariate polynomials is shown using the
elegant notation of multi-indices. Such an extension can be used as a basis to
implement function bounds(.,.) of the pseudocode in Algorithm 1.
3.1
      </p>
      <p>Univariate polynomials
Let p : R 7! R be a polynomial function, and B R be a closed interval. We
are interested in computing a lower bound m 2 R and an upper bound m 2 R
of p over B such that
m
min p(x)
x2B
max p(x)
x2B
m:
In order to compute m and m, we recall the Taylor's theorem for functions in
one variable, which is rephrased here to x notation and because there is little
consensus on what should be called Taylor's theorem. The theorem is classic and
it is shown without proof.</p>
      <p>Theorem 1 (Taylor's theorem in one variable). Let f : R 7! R be of class
C(k+1), with k 2 N, on an open interval S R. If a 2 S, h 2 R and a + h 2 S,
then
i=0
k
f (a + h) = X D(i)f (a) hi + Ra;k(h);
i!
where D(i)f is the i th derivative of f (with D(0)f = f ), and the remainder
Ra;k(h) is given in Lagrange form by</p>
      <p>The application of the Taylor's theorem to a polynomial function on a closed
interval easily proves the following corollary.
(3)
(4)
(5)
Corollary 1. Let p : R 7! R be a polynomial function and B = [b; b]
closed interval. Then, for all x 2 B, and for all k 2 N
where the remainder Rb;k(h) is given in Lagrange form by
p(x) = Xk D(i)p(b)</p>
      <p>(x
i=0
i!
b)i + Rb;k(x</p>
      <p>b);</p>
      <p>Proof. Recalling that any polynomial function is of class C1 on any open
interval S R with B S, the proof of the corollary follows immediately from the
Taylor's theorem. tu
In particular, if we truncate to k = 2, we have that
p(x) = p(b) + D(1)p(b)(x
b) +</p>
      <p>
        D(2)p(b + c(x
2
b))
(x
b)2
for some c 2 (0; 1). The truncated expansion (8) helps to prove the following
proposition (see also [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]).
      </p>
      <p>Proposition 1. Let p : R 7! R be a polynomial function of degree l 2 N
with coe cients faigli=0</p>
      <p>R, and let U = [0; 1]</p>
      <p>R with
Then
where
Proof. Let 2 U be such that p( ) = m, then if
is immediately proved because 0 and therefore
= 0 or
= 1 the proposition
(6)
(7)
(8)
(9)
(10)
(11)
(12)
with i 2 N, and x 2 U , the expansion of the second derivative in (8) is su cient
to prove the proposition. In detail, if 12 , then
Conversely, if 6= 0 and 6= 1, then D(1)p( ) = 0. In this case, using the fact
that the choice of interval U ensures that
for some c 2 (0; 1). But,</p>
      <p>l
X i(i
i=2
D(2)p(x) =
1)aix(i 2)</p>
      <p>l
X i(i
i=2
1)jaij;
for all x 2 U , which proves the proposition for 12 . For the case &gt; 12 , the
proposition is proved by choosing the other endpoint of interval U to expand
the function, which leads to an equality similar to (15). The case of m is treated
with similar considerations.</p>
      <p>Proposition 1 ensures that, for the case of univariate polynomials, suitable
bounds to support the pseudocode in Algorithm 1 can be obtained by computing
the values of polynomial functions at the endpoints of considered intervals. Note
that the assumption x 2 U in Proposition 1 is not restrictive because, in order
to consider a polynomial function p : R 7! R in variable x which takes values
from interval B = [b; b] R, it is su cient to change the variable of p to t 2 U
such that
and to consider the coe cient of the new polynomial in variable t. In this case, we
prefer to use the notation B in (12), instead of simply , because the coe cients
of the new polynomial make B depend on B.
In order to elegantly generalise Proposition 1 to the case of polynomials with
n 2 N variables, we need to introduce the notation of multi-indices. A
multiindex I 2 Nn is an n-tuple of the form
and we adopt the common notation of using an uppercase letter to denote a
multi-index and the same letter, but lowercase and with an index, to denote its
components. Given a multi-index I 2 Nn, the following abbreviations</p>
      <p>I = (i1; i2; : : : ; in);
jIj =
n
X ij</p>
      <p>I! =
n
Y ij !
j=1
j1 j2
X ( ) = X X
I J i1=0 i2=0</p>
      <p>k k
X ( ) = X X
jIj k
jn
X ( )
in=0
k</p>
      <p>X ( ) :
i1=0 i2=0 in=0
|i1+i2+{z+in k }</p>
      <p>n
vI = Y vjij :</p>
      <p>j=0
Given a multi-index I 2 Nn and v 2 Rn, the following abbreviation is often used
are often used to denote the order of I, and the factorial of I, respectively. Given
two multi-indices I 2 Nn and J 2 Nn, they can be added</p>
      <p>I + J = (i1 + j1; i2 + j2; : : : ; in + jn);
and they can be compared</p>
      <p>I</p>
      <p>J () i1
which justify the following abbreviations, with k 2 N,
Finally, given a generic function f : Rn 7! R in variables x = (x1; x2; : : : ; xn),
the following notation based on multi-indices is used to denote elegantly the
partial derivatives of f</p>
      <p>The notation of multi-indices can be used to state the following theorem,
which is then used to study the sign of a polynomial function over a given box
by computing the value of the function at the corners of the box. The theorem
generalises the Taylor's theorem recalled above, and it is shown without proof.
Theorem 2 (Taylor's theorem in several variabRlne.s)I.f Lae2t fS,: hRn2 7 !RnRanbde
of class C(k+1), with k 2 N, on an open convex S
a + h 2 S, then
f (a + h) =
jIj k
X @I f (a) hI + Ra;k(h);</p>
      <p>I!
where the remainder Ra;k(h) is given in Lagrange form by
for some c 2 (0; 1).</p>
      <p>Let p : Rn 7! R be a multivariate polynomial function in n 2 N variables
x = (x1; x2; : : : ; xn), the adoption of multi-index notation allows expressing p as
where L 2 Nn is the multi-degree of the polynomial function, and faI gI L R
is the set of its coe cients.</p>
      <p>Given that we are interested in studying the sign of polynomial functions in
boxes, we introduce the following notation to denote boxes. The box B built
using v = (v1; v2; : : : ; vn) 2 Rn and v = (v1; v2; : : : ; vn) 2 Rn is denoted as
B = [v; v] = [v1; v1]</p>
      <p>Corollary 2. Let p : Rn 7! R be a polynomial function in n 2 N variables, and
B = [b; b] Rn be a box. Then, for all x 2 B, and for all k 2 N
jIj k
(x
b)I + Rb;k(x
b)
and the remainder Rb;k(h) is given in Lagrange form by</p>
      <p>Proof. Recalling that any polynomial function is of class C1 for any open convex
S Rn with B S, the proof of the corollary follows immediately from the
Taylor's theorem. tu</p>
      <p>Following the same path traced for the case of univariate polynomials, we
can prove the following proposition, which is su cient to compute appropriate
lower and upper bounds to support the proposed algorithm. The proposition is
shown without proof for the sake of brevity.</p>
      <p>Proposition 2. Let p : Rn 7! R be a polynomial function with multi-degree
L 2 N in n 2 N variables x = (x1; x2; : : : ; xn)
and U = [0; 1]n</p>
      <p>Rn, with
(28)
(29)
(30)
(31)
(32)
min p(x)
x2C
m
m
max p(x) + ;
x2C
where C = f0; 1gn is the set of the corners of U and
(37)
(39)</p>
      <p>Note that the assumption x 2 U in Proposition 2 is not restrictive. In order
to consider a polynomial function p : Rn 7! R in variable x which takes values
from box B = [b; b] Rn, it is su cient to change the variable of p to t 2 U
such that
and to consider the coe cient of the new polynomial in variable t. In this case, we
prefer to use the notation B in (35), instead of simply , because the coe cients
of the new polynomial make B depend on B.
4</p>
      <p>Illustrative examples
This section shows how the proposed algorithm can be applied to some
illustrative examples. Note that a systematic validation of the proposed algorithm
with speci c benchmarks is still in progress, and the following examples are only
intended to clarify the algorithm. The rst example is a quadratic constraint
with only one variable
p1(x) =
x2
50
0
x 2 [1::25]:
The constraint is unsatis able in the given interval, and the proposed algorithm
proves it by subdividing the initial interval into 4 intervals, the largest of which
contains 12 values. Figure 1 shows the subdivision produced by the algorithm.</p>
      <p>The second example is an unsatis able constraint with two variables
p2(x; y) =
x2
y2
100
0
x 2 [1::25]; y 2 [1::25]:
(38)
The proposed algorithm needs to subdivide the initial box into 12 boxes, the
largest of which contains 144 values, to prove that the constraint is unsatis able.
Figure 2 shows the subdivision of the box that the algorithm produces.</p>
      <p>The following examples are relative to larger domains and the detailed
subdivision of the initial approximations of domains are too complex to be shown.
The following example is a satis able constraint with one variable
p3(x) = x2
16
0
The proposed algorithm builds a search tree made of 65 nodes to compute the
following answer
x 2 [ 100::
7 8
13 14
25</p>
      <p>Given that each node requires the computation of the value of p3 at the two
endpoints of the related interval, 130 evaluations of p3 are needed. Note that a
brute force investigation requires 201 evaluations of the polynomial.</p>
      <p>The fourth example is still with only one variable
p4(x) = x2</p>
      <p>x 2 [ 100::0] [ [50::100]
is returned after computing a search tree made of 61 nodes, which requires 122
evaluations of p4, against the 201 evaluations needed by brute force investigation.</p>
      <p>The fth illustrative example involves two variables
p5(x; y) = xy
210
0</p>
      <p>x 2 [ 100::100]; y 2 [ 100::100]:
The proposed algorithm needs to traverse a search tree made of 1; 909 nodes to
compute the answer
Note that the computation of the answer required 7; 636 evaluations of p5, four
for each considered box, while the brute force scan of the domains of variables
requires 40; 401 evaluations of the polynomial.</p>
      <p>Finally, the last example involves two variables
(41)
(42)
(43)
(44)
(45)
(46)
p6(x; y) = x + xy
1000
0</p>
      <p>x 2 [ 100::100]; y 2 [ 100::100]:
In this case the answer
is computed after traversing a search tree made of 1; 347 nodes, which required
5; 388 evaluations of p6, against the 40; 401 evaluations of brute force search.</p>
      <p>Note that discussed examples are processed using the current implementation
of the algorithm, which intentionally does not use heuristics to select which
variable to split, and where to split the domain of the selected variable. It is
expected that the introduction of heuristics to drive the search would bring
notable performance improvements.
20
19
14
13
8
7
42
42
42
21
28
72
36
42
144
72
42
42
1
This paper presented an algorithm to enumerate the solutions of constraint
satisfaction problems that involve only polynomial constraints over nite domains.
Such constraints are expressed as equalities, inequalities, and disequalities of
polynomials with integer coe cients whose variables take values from nite
subsets of the integers. The proposed algorithm works under the assumption that
an initial approximation of the domains of variables is available in terms of a
bounding box. First, the algorithm rewrites all constraints into a canonical form
in which only inequalities are used. Then, it recursively subdivides the initial
bounding box into disjoint boxes, and it records boxes whose elements satisfy all
constraints. The canonical form of constraints ensures that a box contains only
elements that satisfy all constraints if and only if the polynomial functions
related to constraints in canonical form are all nonnegative over the box. In order
to verify if a polynomial function is nonnegative over a given box, the algorithm
uses lower and upper bounds described in Proposition 2. Such bounds are
computed by considering the coe cients of the polynomial function and its values
at the corners of the considered box.</p>
      <p>
        The algorithm was tested on illustrative examples and preliminary results
are encouraging, but a systematic validation with speci c benchmarks is still in
progress. We expect that the proposed algorithm would outperform our previous
proposals based on the properties of Bernstein polynomials because of the
inherent complexity of computing Bernstein coe cients, even using sophisticated
techniques (see, e.g., [
        <xref ref-type="bibr" rid="ref17 ref19 ref20 ref7">7, 17, 19, 20</xref>
        ]). Moreover, it is evident that the performance
of the algorithm on single problems severely depends on the details of the
subdivision, which are deliberately not considered in this paper. In particular, it is
expected that nontrivial heuristics to decide which domain to split and where to
split it would be largely bene cial in practice. Heuristics could use the speci c
form of treated constraints to reason on the next variable to select for
subdivision, and on where to subdivide its domain, because the gradient of polynomial
functions can be computed easily.
      </p>
      <p>
        The proposed algorithm is implemented as a reusable Java library that can be
accessed as a Prolog module from SWI-Prolog [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. The current implementation
of the Java library and of the interface to SWI-Prolog can be downloaded in a
single package (cmt.dmi.unipr.it/software/clppolyfd.zip). To ease
experimentation, the Prolog module is fully compatible with the CLP(FD) module [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
of SWI-Prolog, and it can be con gured to use the proposed algorithm or the
algorithm based on Bernstein polynomials discussed in [1{3].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bergenti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monica</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Hyper-arc consistency of polynomial constraints over nite domains using the modi ed Bernstein form</article-title>
          .
          <source>Annals of Mathematics and Arti cial Intelligence</source>
          <volume>80</volume>
          (
          <issue>2</issue>
          ),
          <volume>131</volume>
          {
          <fpage>151</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bergenti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monica</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossi</surname>
          </string-name>
          , G.:
          <article-title>Polynomial constraint solving over nite domains with the modi ed Bernstein form</article-title>
          . In: Fiorentini,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Momigliano</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>31st Italian Conference on Computational Logic. CEUR Workshop Proceedings</source>
          , vol.
          <volume>1645</volume>
          , pp.
          <volume>118</volume>
          {
          <fpage>131</fpage>
          .
          <string-name>
            <given-names>RWTH</given-names>
            <surname>Aachen</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bergenti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monica</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossi</surname>
          </string-name>
          , G.:
          <article-title>A subdivision approach to the solution of polynomial constraints over nite domains using the modi ed Bernstein form</article-title>
          . In: Adorni,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Cagnoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Gori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Maratea</surname>
          </string-name>
          , M. (eds.)
          <source>AI*IA 2016 Advances in Arti cial Intelligence. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10037</volume>
          , pp.
          <volume>179</volume>
          {
          <fpage>191</fpage>
          . Springer International Publishing (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bernstein</surname>
            ,
            <given-names>S.N.</given-names>
          </string-name>
          :
          <article-title>Demonstration du theoreme de Weierstrass fondee sur le calcul des probabilites</article-title>
          .
          <source>Communications de la Societe Mathematique de Kharkov 2:XIII(1)</source>
          , 1{
          <issue>2</issue>
          (
          <year>1912</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Borralleras</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lucas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliveras</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodr</surname>
          </string-name>
          guez-Carbonell, E.,
          <string-name>
            <surname>Rubio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>SAT modulo linear arithmetic for solving polynomial constraints</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>48</volume>
          (
          <issue>1</issue>
          ),
          <volume>107</volume>
          {
          <fpage>131</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Farouki</surname>
          </string-name>
          , R.T.:
          <article-title>The Bernstein polynomial basis: A centennial retrospective</article-title>
          .
          <source>Computer-Aided Geometric Design</source>
          <volume>29</volume>
          (
          <issue>6</issue>
          ),
          <volume>379</volume>
          {
          <fpage>419</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Farouki</surname>
          </string-name>
          , R.T.,
          <string-name>
            <surname>Rajan</surname>
          </string-name>
          , V.T.:
          <article-title>Algorithms for polynomials in Bernstein form</article-title>
          .
          <source>Computer-Aided Geometric Design</source>
          <volume>5</volume>
          (
          <issue>1</issue>
          ),
          <volume>1</volume>
          {
          <fpage>26</fpage>
          (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Garlo</surname>
          </string-name>
          , J.:
          <article-title>Convergent bounds for the range of multivariate polynomials</article-title>
          . In: Nickel,
          <string-name>
            <surname>K</surname>
          </string-name>
          . (ed.)
          <source>Interval Mathematics 1985. Lecture Notes in Computer Science</source>
          , vol.
          <volume>212</volume>
          , pp.
          <volume>37</volume>
          {
          <fpage>56</fpage>
          . Springer International Publishing (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Garlo</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The Bernstein algorithm</article-title>
          .
          <source>Interval Computations</source>
          <volume>2</volume>
          ,
          <issue>154</issue>
          {
          <fpage>168</fpage>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Garlo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Solution of systems of polynomial equations by using Bernstein expansion</article-title>
          . In: Alefeld,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Rohn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Rump</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Yamamoto</surname>
          </string-name>
          , T. (eds.)
          <source>Symbolic Algebraic Methods and Veri cation Methods</source>
          . pp.
          <volume>87</volume>
          {
          <fpage>97</fpage>
          . Springer International Publishing (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Grimstad</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sandnes</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Global optimization with spline constraints: A new branch-and-bound method based on B-splines</article-title>
          .
          <source>Journal of Global Optimization</source>
          <volume>65</volume>
          (
          <issue>3</issue>
          ),
          <volume>401</volume>
          {
          <fpage>439</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lorentz</surname>
            ,
            <given-names>G.G.</given-names>
          </string-name>
          :
          <article-title>Bernstein Polynomials</article-title>
          . University of Toronto Press, Toronto (
          <year>1953</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Lucas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Navarro-Marset</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Comparing CSP and SAT solvers for polynomial constraints in termination provers</article-title>
          .
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>206</volume>
          ,
          <issue>75</issue>
          {
          <fpage>90</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Mourrain</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pavone</surname>
          </string-name>
          , J.:
          <article-title>Subdivision methods for solving polynomial equations</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          <volume>44</volume>
          (
          <issue>3</issue>
          ),
          <volume>292</volume>
          {
          <fpage>306</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Nataraj</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arounassalame</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A new subdivision algorithm for the Bernstein polynomial approach to global optimization</article-title>
          .
          <source>International Journal of Automation and Computing</source>
          <volume>4</volume>
          (
          <issue>4</issue>
          ),
          <volume>342</volume>
          {
          <fpage>352</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Patil</surname>
            ,
            <given-names>B.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nataraj</surname>
            ,
            <given-names>P.S.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bhartiya</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Global optimization of mixed-integer nonlinear (polynomial) programming problems: The Bernstein polynomial approach</article-title>
          .
          <source>Computing</source>
          <volume>94</volume>
          (
          <issue>2</issue>
          ),
          <volume>325</volume>
          {
          <fpage>343</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Ray</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nataraj</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>An e cient algorithm for range computation of polynomials using the Bernstein form</article-title>
          .
          <source>Journal of Global Optimization</source>
          <volume>45</volume>
          ,
          <issue>403</issue>
          {
          <fpage>426</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Rivlin</surname>
            ,
            <given-names>T.J.:</given-names>
          </string-name>
          <article-title>Bounds on a polynomial</article-title>
          .
          <source>Journal of Research of the National Bureau of Standards 74B(1)</source>
          ,
          <volume>47</volume>
          {
          <fpage>54</fpage>
          (
          <year>1970</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Sanchez-Reyes</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Algebraic manipulation in the Bernstein form made simple via convolutions</article-title>
          .
          <source>Computer-Aided Design</source>
          <volume>35</volume>
          ,
          <issue>959</issue>
          {
          <fpage>967</fpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Fast construction of constant bound functions for sparse polynomials</article-title>
          .
          <source>Journal of Global Optimization</source>
          <volume>43</volume>
          (
          <issue>2</issue>
          ),
          <volume>445</volume>
          {
          <fpage>458</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Triska</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The nite domain constraint solver of SWI-Prolog</article-title>
          . In: Schrijvers,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Thiemann</surname>
          </string-name>
          , P. (eds.)
          <source>Functional and Logic Programming. Lecture Notes in Computer Science</source>
          , vol.
          <volume>7294</volume>
          , pp.
          <volume>307</volume>
          {
          <fpage>316</fpage>
          . Springer International Publishing (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Wielemaker</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schrijvers</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Triska</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lager</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>SWI-Prolog</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          <volume>12</volume>
          (
          <issue>1</issue>
          {2),
          <volume>67</volume>
          {
          <fpage>96</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>