File Exchange

## INTSOLVER: An interval based solver for Global Optimization

version 1.0.0.0 (44.2 KB) by Tiago Montanher

### Tiago Montanher (view profile)

Interval based functions to solve small global optimization problems with guaranteed bounds.

Updated 03 Sep 2009

We present a set of functions based on interval arithmetic to solve small size global optimization problems with guaranteed bounds on solutions. Interval analysis can be used to bound ALL solutions of nonlinear optimization problem, equality constrained or not as well to bound ALL solutions of a nonlinear system of equation. Our functions can deal with these problems using an implementation of the interval Newton method with a bissection scheme. The capabilities of our functions can be showed through the analysis of some important global optimization examples that we provide with the main functions.

Sándor Kolumbán

### Sándor Kolumbán (view profile)

Dear Tiago,

I am trying to find global minima of a function which is a fraction. I know that the global optimum is in [0, pi].

The problem is that the denominator evaluated with interval operations contains zero. This results in a problem with the Hessian.

The value of the eH variable in the 187-th line of intminunc is as follows

intval Hessian value eH.x =
NaN
intval Hessian first derivative(s) eH.dx =
+/-Inf
intval Hessian second derivative(s) eH.hx =
NaN

After this, the svd decomposition fails and I could not get around this problem with trivial modifications.

If you intend to fix the issue and you need more details on reproducing it, let me know.

Chestnut

### Chestnut (view profile)

I'm trying to run the code
f = @(x) (x(1)^2+ x(2)^2 - 1)^2 + (x(1)^2 - x(2))^2
x0 = [infsup(-10,10), infsup(-10,10)];
x = intminunc(f, x0)
which was provided by the author. However, I got the error message as below
Cannot find an exact (case-sensitive) match for 'isNaN'.
Do you want: isnan......?
Error in nullgs (line 72)
if all(isNaN(y))

Error in intminunc (line 417)
[XNew, gap, info] = nullgs(XNew, mx, b, M);
Anyone can help?

Tiago Montanher

### Tiago Montanher (view profile)

Dear Dmitrey,

Thank you for use my intsolver and point some issues on it. I observed that you found some problems which make Intsolver works improperly. I will work on that and post a correction as soon as possible.

Sincerely
Tiago

Dmitrey Kroshko

### Dmitrey Kroshko (view profile)

free (even for commercial usage) solver interalg (http://openopt.org/interalg) seems to work tens-hundreds-thousands times faster and is more stable, the bench is provided there.

sebastian

### sebastian (view profile)

Excuse me,I've Intlab and insolver in my machine, I've a problems with Insolver, I want to solve a nolinear system of equations with intksolve.m, and intksolve.m, because the result isn't an interval, it's solution of real numers not intervals. see this:

>> x0 = [infsup(-10,10), infsup(-10,10), infsup(-10,10), infsup(-10,10)];
f = @(x) [-2*(x(1)+x(2)-x(3)-1)-2*(x(1)+x(2))-10*x(1)+2*x(4),-2*(x(1)+x(2)-x(3)-1)-2*(x(1)+x(2)),2*(x(1)+x(2)-x(3)-1)+x(4), 2*x(1)+x(3)]
x = intksolve(f, x0)
f =
@(x) [-2*(x(1)+x(2)-x(3)-1)-2*(x(1)+x(2))-10*x(1)+2*x(4),-2*(x(1)+x(2)-x(3)-1)-2*(x(1)+x(2)),2*(x(1)+x(2)-x(3)-1)+x(4), 2*x(1)+x(3)]
intval x =
0.1428 0.2142 -0.2857 0.7142

I need to obtain the interval solution of x(1),x(2)... x(4)
What I have to do?

##### MATLAB Release Compatibility
Created with R2008b
Compatible with any release
##### Platform Compatibility
Windows macOS Linux

### Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.