Catalog of contractors for static constraints

The domains previously presented will be reduced by means of contractors: operators designed to eliminate unfeasible solutions according to constraints. We distinct two categories of contractors: those that are time-related (and that involve tubes) and the static ones presented in this chapter.

Therefore, the following contractors apply on intervals and boxes:


How a contractor is implemented

Contractors are C++/Python objects. Some of them can be instantiated according to the problem to deal with. All of them will contract domains with the .contract() method.

Pre-defined contractors

For ease of use, some contractor objects that do not require parameters are predefined in the namespace ctc. They can be used directly without instantiation.

Contractor

Type

Code

Doc

\(\mathcal{C}_{\textrm{polar}}\)

Static

ctc::polar for C++
ctc.polar for Python

Link

\(\mathcal{C}_{\textrm{dist}}\)

Static

ctc::dist for C++
ctc.dist for Python

Link

\(\mathcal{C}_{\frac{d}{dt}}\)

Dynam.

ctc::deriv for C++
ctc.deriv for Python

Link

\(\mathcal{C}_{\textrm{eval}}\)

Dynam.

ctc::eval for C++
ctc.eval for Python

Link

\(\mathcal{C}_{\textrm{delay}}\)

Dynam.

ctc::delay for C++
ctc.delay for Python