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, JoachimReceived on Mon Dec 29 2014 - 14:45:31 CET
This archive was generated by hypermail 2.2.0 : Tue Dec 30 2014 - 21:13:22 CET