# Re: [eclipse-clp-users] Real approach

From: Joachim Schimpf <jschimpf_at_...311...>
Date: Mon, 29 Dec 2014 14:45:01 +0000
```On 26/12/14 02:25, Edgaonkar, Shrirang wrote:
> Dear Joachim,
>
> Changing the subject line to suit the thread.
>
> Here is the short explanation on the type of problem we are solving.
>
> 1. We have a solution to a real life business problem in form of a software program.
> 2. We could have several such problems which is not under our control
> 3. We try to map the constraints in the software program as a mathemathical problem in eclipse
> 4. If the problem is not solvable it means that the original software program is buggy.

So far, so good.

> 5. If the problem is solvable, then it will provides values for the domains
> which is passed to the software program to confirm the execution.
>
> So we are trying to solve the real variable problem using eclipse. So we
> needa general solution to all the problems.

This is where things break down (except in special cases).  The constraint
propagation techniques used in solvers like IC are not able to give you whole
regions of solutions.  They are not able to guarantee that *all* values in a
real interval are solutions (except for restricted problem classes, but we can't
analyse that automatically).

Constraint propagation only guarantees the following:

1. that there are no solutions *outside* the resulting ranges.

2. in the case of integer problems, and only if the computation *succeeds
without delayed goals*, that all integers in the resulting ranges are solutions.
This usually only happens when all variables have unique values, i.e. the width
of the ranges is zero.  [This is why we use search to locate individual solutions]

3. in problems involving reals, the guarantees are even weaker, but you can be
reasonable confident to have a solution when your computation succeeds with all
remaining intervals being very small and all remaining delayed goals explainable
by floating point imprecision.

A very short related discussion is at
http://eclipseclp.org/doc/tutorial/tutorial067.html

> 5. If the problem is solvable, then it will provides values for the domains
> which is passed to the software program to confirm the execution.

What would work, of course, is to pass the solutions from your software program
to the ECLiPSe constraint model to have them checked.  That avoids all the above
pitfalls.

Cheers,
Joachim
```
Received on Mon Dec 29 2014 - 14:45:31 CET

This archive was generated by hypermail 2.2.0 : Mon Jul 09 2018 - 02:05:30 CEST