<<

1

INTERVAL COMPUTATIONS

ON THE SPREADSHEET

Eero Hyvonen and Stefano De Pascale

VTT Information Technology

PO Box VTT

FINLAND

feerohyvonen stefanodepascalegvtt

ABSTRACT

This pap er reviews work on using arithmetic as the basis for next genera

tion spreadsheet programs capable of dealing with errors imprecise data

and numerical constraints A series of ever more versatile computational mo dels for

spreadsheets are presented b eginning from classical interval arithmetic and ending

up with interval constraint satisfaction In order to demonstrate the ideas an actual

implementation of each mo del as a class library is presented and its integration with

a commercial spreadsheet program is explained

LIMITATIONS OF SPREADSHEET

COMPUTING

Spreadsheet programs such as MS Excel Quattro Pro Lotus etc

are among the most widely used applications of computer science Since the

pioneering days of VisiCalc and others spreadsheet programs have b een en

hanced immensely with new features However the underlying computational

paradigm of evaluating arithmetical functions by using ordinary machine arith

metic has remained the same The work presented in this pap er shows that

interval techniques provide a new and more versatile basis for spreadsheet com

putations in many ways Since exact numb ers are intervals of zero width the

generalizations prop osed can b e made without lo osing the p ossibility of using

spreadsheets in the traditional way

2 Chapter

The fundamental computational task p erformed by spreadsheets is to evaluate

a of mutually dep endent functions ie a function system of the following

Denition Let S fY F g b e a set of arithmetical functions and

i i

V the set of variables used in it Variables Y representing function values are

i

called output variables OUT S is called function system FS if there is at

most one function for each Y OUT An output variable Y that is related to

i 1

itself via a circular chain of functions

Y F Y Y F Y Y F Y n

1 1 2 2 2 3 n n 1

is called recursion variable If R is the set of recursion variables in a FS then

variables in V OUT R are input variables IN If R fg then the FS is

nonrecursive otherwise recursive The task of cascaded function evaluation

in a FS is to evaluate the output variable values when the values of input vari

ables are given

For example in function system

2 3 z

FS fx y z w y z e w sinxw z g

the last function is recursive and it is also mutually recursive with the rst

function The task of cascaded function evaluation is to compute output vari

able values x y and w when input values z w and x are given Notice that

recursion variables x and w are used simultaneously as input and output

The current computational paradigm of spreadsheets is to evaluate nonrecursi

ve noncircular function systems by using ordinary machine arithmetic From

the users view p oint this simple scheme is insucient in various practical sit

uations This pap er fo cuses on three problem areas limitations of machine

arithmetic exploitation of inexact data and application to constraint solving

Limitations of machine arithmetic

Consider the following harmlesslo oking spreadsheet situation

A

B

C A B B

When the system is evaluated by using MS Excel spreadsheet program value

C is obtained although the correct value should b e C The

Interval Computations on the Spreadsheet 3

problem is due to the rounding errors generated by nite precision machine

arithmetic double precision used by the system This example demonstrates

that in the general case the spreadsheet user cannot b e sure that even the

rst digit in the results is correct

Another problem of machine arithmetic is how to deal with overowed val

ues For example the value of exp overows in ordinary double precision

and generates an error in a spreadsheet program However in a tolerant system

it should b e p ossible to make computations with such values when reasonable

to o For example consider the function system

A

A exp A

A exp

710

MS Excel returns error values for A and A b ecause the value of e over

ows However a more robust system could see that

A exp

A exp

where in the op en interval denotes the smallest p ositive machine

numb er available

Exploiting inexact data

In spreadsheet applications all data cannot always b e represented by exact

numb ers For example consider the electronic circuit of gure b elow The

task is to compute voltage U by function system

1

R R

2 3

R

1

R R

2 3

U R I

1 1 1

when resistances R and R are given and current I has b een measured In

2 3 1

real life resistances have manufacturing tolerances and I can b e measured

1

only down to the accuracy of the measuring equipment used A reliable value

for U cannot hence b e computed by using ordinary arithmetic However by

1

using interval analysis reliable b ounds for U can b e determined Classical in

1

terval arithmetic IA alone is not necessarily applicable to this kind of

problems b ecause it treats multiple variable instances in the functions inde

p endently from each other here variables R and R have two instances in

2 3

4 Chapter

I 1

RR

U1 2 3

Figure An electronic circuit

the rst function As a result there is usually to o much width in the results

In spite of this diculty classical IA can b e useful when intervals are narrow

estimates for rounding errors b ecause then the extra width accumulated

into the results often remains tolerable However in this pap er we see interval

arithmetic in the rst place as a general formalism for representing uncertain

imprecise or missing numerical data Intervals in such spreadsheet applications

are usually wide even innite and the problem of extra width is strongly em

phasized In order to evaluate the actual range of an interval function in the

general case global interval optimization techniques must b e employed

Another limitation of classical IA is its restricted notion of interval as a closed

nite continuum of values This may suce when dealing with rounding error

b ounds However in spreadsheet computing a notion of interval as general as

p ossible is preferable including op en ends innities and discontinuities

Constraint solving

Spreadsheet functions are evaluated in one direction from input argument

values to output function values However the functions could b e used for

more than that For example consider the temp erature conversion formula

from Celsius C to Fahrenheit degrees F

F C

The formula computes F in terms of C but it could also b e used for computing

C in terms of F with a little extra algebraic manipulation

In ordinary spreadsheets the distinction b etween input and output variables is

Interval Computations on the Spreadsheet 5

rigidly made although this is not necessary from the mathematical view p oint

It would often b e quite useful to the user if she could set the value of a

function and see what eect this constraint has on the arguments Actually in

planning and designing applications the nal goal of a computation output is

typically given eg the desired prot of a nancial transaction and the prob

lem is to nd input data by which the goal can b e achieved Using spreadsheets

in such applications typically results in tedious trialanderror sessions where

the user tries to nd a feasible solution output values by iteratively guessing

argument values input values

Problems such as can b e approached by using interval constraint sat

isfaction techniques in which function sets or more generally

equation sets are treated as symmetric relational constraints without commit

ting to any inputoutput distinction In to using the trialanderror

scheme interval constraint techniques can also supp ort topdown problem solv

ing in which a feasible solution is searched for by stepwise rening the variable

intervals of the problem until a solution emerges

Outline of research

In this pap er it is shown how interval techniques can b e used for extending

the usage of ordinary spreadsheets into the three directions discussed ab ove

As a demonstration of the ideas three extensions to a commercial spreadsheet

system have b een designed and implemented MS Excel is used as the pilot

environment but the ideas and techniques develop ed are general and can b e ap

plied to other similar systems as well For reasons of p ortability each interval

extension is based on a general purp ose interval arithmetic C class library

of the InC library family that has b een integrated with the spreadsheet

by an The functionalities of the libraries can b e incorp orated into

other spreadsheet systems by rewriting this interface only

Following chapters review the three extensions one after another In the rst

system the spreadsheet program is provided with various interval typ es and

op erators for them The main limitation of the system is that of the classical

IA the results of function evaluations may have extra width in certain situ

ations The second extension overcomes this problem by using algebraic and

numerical techniques for determining the actual b ounds of interval functions

In b oth systems functions are evaluated in one direction only This limitation

is removed in the third extension in which spreadsheet functions are computed

by solving the corresp onding interval constraint satisfaction problem

6 Chapter

EXTENDED IA ON A SPREADSHEET

Interval arithmetic has usually b een implemented by emb edding it into pro

gramming to ols that include

Programming languages Most interval arithmetic implementations such as

PascalSC SC PBasic VPI and BNRProlog

can b e seen as extensions or additional libraries for various programming

languages The implementations are intended for programmers

Computer algebra packages Recently interval extensions to various com

puter algebra packages such as and Mathematica have app eared

These implementations are intended also mainly for programmers but here

in a conceptually higher level mathematical language than in

We argue that spreadsheets provide one more natural platform for making inter

val arithmetic to ols available Here the intended users are not programmers but

rather various spreadsheet endusers a much larger audience Interval compu

tations can b e implemented on the spreadsheets by using the macro languages

and other programming devices provided by current spreadsheet pro ducts

In this chapter an interval extension called Extended Interval Arithmetic on

MS Excel EIA Excel is presented The primary goal of EIA Excel is to

provide the user with a notion of interval arithmetic in as versatile form as

p ossible For this reason we rst review prop erties of the extended IA used

in the system This arithmetic generalizes classical IA in many ways and is

employed also in the other interval spreadsheet systems of this pap er

Extended Interval Arithmetic

Openended intervals

In many elds of science and engineering op en and half op en intervals are

widely used in addition to the closed ones considered in classical IA Hence

the extended IA should supp ort all four interval typ es b elow

x y x y x y x y

There are at least two approaches for implementing op enness One p ossibility is

to approximate an op enended interval by a closed one by rounding op en ends

Interval Computations on the Spreadsheet 7

inwards to the next smaller machine arithmetic numb er After this classical

closed IA can b e applied For instance

In this approach op en ends are only syntactic sugar for representing inward

rounding The problems of this approach are

Inward rounding discards p ossible values at the b ounds For instance

in the ab ove example ranges and are lost

Discarded ranges never contain any machine numb ers but can still have

eect on computations

Information concerning op en b ounds is lost and results are always closed

A more prop er approach is to generalize IA function evaluation rules for deal

ing with interval op en ends and with innities by considering dierent

interval limit combinations separately for each arithmetic op eration see eg

For example two half op en intervals a b can b e added by rule

x y u v x u y v

However in this approach rounding errors may cause problems For example

when computing

the op en minimum denoted by cannot b e represented pre

cisely by a machine numb er equal to but must b e represented by the

next one smaller or larger When using normal programming

languages the rounding direction dep ends on the math library used If the

upward rounded value is selected then the result is incorrect

b ecause the correct minimum in range is excluded A b etter and

safe minimum b ound is but then the result will contain extra

values Although the distance b etween neighb ouring machine num

b ers is tiny with small numb ers like with and it can b e large in

absolute value with large numb ers As a result more or less excess width can

b e accumulated into the intervals during computations This extra width as

well as the extra width due to using classical IA that assumes indep endent

multiple variable instances is much larger than the innitesimal dierence b e

tween an op en and a closed interval b ound

There are still go o d reasons for intro ducing op en ends Firstly the eect of

8 Chapter

rounding errors can usually in practice b e ltered away by representing the in

terval b ounds with less digits than are used for computations Secondly it is not

p ossible to represent innitely large and small or innitely close b ounds with

out the notion of op en interval For example in extended interval arithmetic

1

to b e presented later interval can b e p erformed by considering

[22]

negative and p ositive values separately

If had to b e approximated by where is the largest negative

machine numb er then the nonrepresentable values would have no

eect on the value of division However in division the values of the divisor

near zero are quite imp ortant b ecause they generate the smallest and largest

values of the function interval limits Thirdly even in cases where a lot of

extra width is accumulated in the result op enness never makes harm other

than slightly complicates computations

Complement intervals

An interval intuitively states a range of p ossible values In some applications

it may also b e useful to state ranges of imp ossible values For this purp ose we

intro duce the notion of complement interval A closed complement is dened

by

x y fa j a x or a y g

and intuitively contains values not in interval a b Op en and half op en com

plements can b e accepted as well The denitions of these variants are analo

gous to the interval case

x y fa j a x or a y g

x y fa j a x or a y g

x y fa j a x or a y g

By using complements IA rules can b e extended for some discontinuous sit

uations not dened in classical IA such as division by an interval containing

zero For example

Interval Computations on the Spreadsheet 9

Discontinuous intervals

The complement is a simple case of the more general notion of discontinuous

or multiinterval A discontinuous interval X can b e dened as the union of a

set of intervals and complements X

i

X fX X X g

1 2 n

and it is represented in ordinary set notation X are called the constituents of

i

X For example

X f g

The order of constituents is free and the elements may overlap each other

Exact numb er is implicitly considered interval here The normalized

representation of a discontinuous interval is the one in which

constituents are represented as ordinary intervals

any two overlapping constituents X Y fg are merged into X Y and

the constituents are sorted in increasing order

It is easy to see that any discontinuous interval has a unique normalized rep

resentation For instance in normalized form is

X f g

Innite intervals

A problem in implementing interval arithmetic by using nite precision machine

arithmetic is how to deal with innitely large intervals and value overows A

solution approach to this problem is to use variable precision arithmetic

in which the user can select the numb er of to b e used for numb er represen

tation By using more bits less overows are likely to happ en but the problem

still remains The selection can also b e made dynamically like in CXSC

In many computer algebra systems arbitrarily large integers and precise

rational numb ers can b e used The price to b e paid for such precision is of

course increase in computational complexity

When using computationally more ecient nite precision arithmetic to o

large and to o small values can b e represented by sp ecial innity values

10 Chapter

TYPE COMMENT

Numb ers

x In outward rounding mo de numb ers are changed

automatically into intervals if needed

Innities

Intervals

x y Classical IA closed intervals

x y Op en intervals

x y Half op en intervals

x y

x Innite intervals

x

x

x

Complement intervals

x y fa j a x or a y g

x y fa j a x or a y g

x y fa j a x or a y g

x y fa j a x or a y g

Discontinuous intervals

fg Empty interval

fX X g Each X is a numb er an interval or a complement

1 n i

Table Summary of interval typ es in extended IA

and Interval functions can then b e mo died by generalizing arithmetical

op erators for For example interval addition

x y u v x u y v

can b e generalized by the following rules for adding

x x

x x

Interval Computations on the Spreadsheet 11

Cleary argues that in his arithmetic system cases and

and some other corresp onding illdened cases with other op erators

can never o ccur and need not b e sp ecied p However in practice

illdened situations may arise when sub expressions in combined expressions

evaluate overowed intervals or if the user is allowed to use as input

for op erators For example if ANSI C double precision is used then the

[710720]

minimum and maximum of e are larger than the largest representable

machine numb er Let us represent such an interval by This kind

of degenerated values can b e useful and cannot b e discarded For instance

if is multiplied by value then the result should b e On the other

hand if is divided by then one can at least say that the p ossible

values are p ositive

[ 710720 ]

e

y

When using large or innitely large intervals the results of arithmetic op era

tions often overow and cannot b e computed or represented precisely However

in interval arithmetic it is p ossible to return as the result the closest obtainable

outer approximation of the actual result eg in the ab ove example

This is often useful although one then typically loses information and gets

extra width in the result For example in evaluating the function

[ 690710 ]

y lne

it is not p ossible to get the precise result but only due to

the maximum overow in the inner exp onent function call

[ 690710 ] 299

y lne ln

Fortunately from the users view p oint the criterion for identifying an overow

is simple

If there is a limit in the result then and only then a degenerating

overow has o ccurred

Nondegenerating overows comp ensated by other op erations during the eval

uation such as of by make no harm as long as the

nal result is nite

A summary of the interval typ es discussed ab ove is presented in table

12 Chapter

Primitive functions

Let us denote the interval and discontinuous interval functions corresp onding

to an exact value function f by f and f resp ectively eg means inter

i d i

val addition The generalized discontinuous interval function f D D

d 1 n

corresp onding to an interval function f I I can b e dened as follows

i 1 n

f D D ff I I j I D I D g

d 1 n i 1 n 1 1 n n

The denition intuitively applies the interval function with resp ect to every

p ossible combination of the constituent intervals used in the arguments This

guarantees that the resulting discontinuous interval is the actual set of all the

p ossible values of the exact function For illustration a multiplication of two

discontinuous intervals is p erformed b elow

f g f g

d

i i i i

f g

The numb er of constituent intervals in the resultant discontinuous interval in

varies b etween and k k k where k is the numb er of intervals in

1 2 n i

discontinuous interval D i n In the example ab ove the maximum

i

numb er was reduced to b ecause two pairs of intervals were overlap

ping and could b e merged by the union op eration

A ma jor motivation for discontinuous interval arithmetic is the p ossibility of

representing precisely function values even when the function has discontinuity

p oints For example the denition of interval division with closed intervals can

b e generalized as follows

8

x y v u if u v

>

>

>

>

>

>

fg empty interval if u v

>

>

>

>

>

x y

>

>

if u

<

x y

v

>

u v

>

x y

>

>

if v

>

>

u >

>

>

>

>

>

x y x y

>

:

otherwise

u v

Interval Computations on the Spreadsheet 13

By dening mo died rules for op enended and innite intervals the general

interval and discontinuous interval division rule can b e compiled Examples

In addition to interval division there are also other imp ortant discontinuous

interval op erators such as tanx and cotx

Classical IA evaluations are computationally more demanding than exact value

computations b ecause of the need to deal with b oth lower and higher b ounds

The extensions to op en and innite intervals increase the complexity further

b ecause of the need to identify b ound typ es and overows Intro duction of dis

continuity increases the complexity further For example applying an mary

m

function with discontinuous intervals having n interval constituents needs n

ordinary interval evaluations In cascaded evaluation of discontinuous func

tions the numb er of constituents in the worst case grows exp onentially How

ever by normalizing intermediate results the growth of constituent numb er in

practise usually gets smaller

The idea of extending IA rules for the discontinuous case has b een suggested

probably rst by Hanson and Kahan Our extended IA is a full

scale development of the idea All interval typ es of table can b e used with

interval functions The scheme has b een implemented as C class library

LIA InC The library contains interval classes and overloads arithmetic

op erators and functions for them The library covers ordinary rational trigono

metric exp onential logarithmic and many other functions To our knowledge

it is the only extended IA package discussed in the literature and currently

available

Interfacing MS Excel with Extended IA

The extended IA describ ed ab ove has b een emb edded in MS Excel From the

users viewp oint the system is an AddIn library of new interval functions

such as TSUM TSIN T LO G etc corresp onding to the ordinary mathe

matical functions of MS Excel such as SUM SIN LO G resp ectively The

14 Chapter

functions can b e loaded into the system either automatically from the MS

Excel startup directory or by demand from the menu This idea of providing

the user with loadable additional functions is widely used in MS Excel eg

in its implementations of complex arithmetic statistical functions etc The

functions are used and evaluated like ordinary MS Excel functions by Excels

own control mechanism

MS Excel System C++ Dynamic Link Library (DLL)

Visual MS Strings C++ LIA InC++ USER Basic Excel Interface library Interface Intervals

Special

Online help manual functions

Figure EIA Excel Architecture

Figure depicts the general architecture of EIA Excel Arrows indicate data

ows and lines internal connections b etween the mo dules The user inputs

intervals and functions into the spreadsheet in the usual way Intervals are

written as strings b ecause MS Excel do es not supp ort interval data typ es

Interval functions are written as normal MS Excel functions They accept b oth

numb ers and interval strings as arguments the function value is also an interval

string or a numb er The functions are dened in Visual Basic the programming

language provided for the user in MS Excel When an interval function call

is evaluated the Visual Basic denition passes control to the underlying DLL

mo dule that actually p erforms the computation In the implementation the

Ob ject Linking and Emb edding OLE scheme of Microsoft is used

The Visual Basic interface denes new interval functions TSUM TSIN etc

in terms of intermediate C functions in the C interface mo dule Only

MS Excel sp ecic conventions for the interval functions are implemented in the

Visual Basic interface These include the following

The eect of errors encountered in earlier computations is propagated fur

ther For example if A in function TSUM AA B the

ordinary function of MS Excel returns a sp ecial error value D I V

that must b e returned also as the value of the call to TSUM

Interval Computations on the Spreadsheet 15

Missing or empty arguments are skipp ed according to MS Excel conven

tions For example the value of interval addition TSUM A is if A

is empty

Typ e checks and dynamic screening on arguments are p erformed For

example the interval sinus function TSIN do es not accept MS Excels

array arguments that represent actually argument sets eg array A B

refers to cells fA A B B g but TSUM do es in the same way as

SUM TSUM also automatically skips arguments of wrong data typ e

but not error values eg error value D I V ab ove

The interface is also used for implementing some miscellaneous extensions

to MS Excel functionality For example the hyp ertextbased online help

for EIA Excel see gure can b e activated from a new entry in MS

Excels help menu

The task of evaluating the interval function is passed to the C Interface

This layer is needed mainly b ecause MS Excel do es not supp ort interval data

typ es The C interface transforms the strings and numb ers of the MS Excel

cells into interval ob jects applies the actual interval op eration to them by the

functions of the interval library LIA InC and the Sp ecial Functions mo dule

and transforms the result back into a string or a numb er settable in a cell by the

Visual Basic Interface Outward rounding is p erformed for primitive function

arguments unless they are small integers that can b e represented precisely in

the machine arithmetic but the resultant is not rounded This is not necessary

b ecause the change is so small that it cannot b e visualized on the spreadsheet

and if the result is further used in another function as an argument then it will

any how b e rounded prop erly

The Sp ecial Functions mo dule contains denitions of some interval op erations

not dened in LIA InC For example the intelligent formatting function

supp orted by EIA Excel

TF inter v al n

prints an interval in a format in which numb ers and b ounds are represented

down to n digits Intervals and constituent intervals are merged automatically

into numb ers if the interval limits b ecome equal at the given precision level

For example

TF

TF

TF f g E

16 Chapter

The second example shows that the function is quite necessary in interval com

putations in order to get rid of the irrelevant digits generated by outward

rounding arithmetic

GLOBAL IA ON A SPREADSHEET

The main limitation of classical IA and the interval techniques discussed in the

previous section is that the function values evaluated often have more or less

extra width For example sheet

A C

B

B A B B C

evaluates B although the actual range of B is B B B

In the general case the actual value range of a function F can b e evaluated

only if F do es not have multiple variable instances or if such variables have

precise numeric values which actually makes them nonvariables The

excess width diminishes as the values of the multiple instance variables get

stricter and stricter

This dep endency problem has its incarnation also at the function set level

For example consider the following function set version of

A C

B

A A B

C B C

B A C

Here the actual value of each function can b e computed in separation there

are no multiple variable instances but we still get B as in

and not B B B

Obviously the dep endency problem must b e solved b oth at the function and at

the function sets levels in order to implement an interval spreadsheet program

capable of evaluating the actual cell values In the following it is rst shown

how these tasks can b e p erformed After this an implementation of global

interval arithmetic on top of MS Excel is presented

Interval Computations on the Spreadsheet 17

Global evaluation of an interval function

Various techniques have b een develop ed for evaluating the actual value range of

an interval function ie for its global evaluation Bestknown approaches are

the various numerical branchandb ound algorithms discussed in depth in

This pap er considers these techniques mainly from the practical users

view p oint We pro ceed by presenting a global function evaluator library GIA

InC in whose design practical issues encountered in spreadsheetlike

computations have b een the main concern

Figure Architecture of function ob jects IFunction in GIA InC library

GIA provides the user with a class IFunction for dening parametrizing

and evaluating an interval function Figure depicts the general architecture

of IFunctionob jects The parser transforms user given functions and inter

val expressions strings in ordinary mathematical notation into an internal

representation An algebraic extension optimizer then transforms the parsed

representation into a form optimal for global numerical interval arithmetic eval

uation Various computational parameters can b e used for controlling b oth

numerical evaluation and algebraic optimization The LIA InC library dis

cussed earlier is used as the underlying basis for evaluating interval function

primitives In the following numerical evaluation and algebraic optimization

in GIA InC are discussed in some more detail

Numerical evaluation

GIAs numerical evaluation is based on the numerical branchandb ound BB

search scheme intro duced by Skelb o e and develop ed further by others

Roughly sp eaking the idea is to consider argument intervals

in ever smaller and more precise parts Eciency is gained by identifying and

pruning irrelevant subintervals from consideration as early as p ossible

18 Chapter

The BB algorithms ab ove are intended for nding an arbitrarily close lower

b ound for the minimum of an interval function F In GIA the algorithm is

applied also to F for getting the upp er b ound for the maximum Hence outer

bounds min max of the actual function F values min max can b e

out out

computed In addition as a side eect of the computation it is p ossible to

obtain also inner bounds min max for the actual F values min max

in in

eg by using the socalled midp ointtest accelerator

min max min max min max

in in out out

Computation is terminated based on either absolute or relative precision levels

set by the user

min min absolute precision

in out

max max absolute precision

out in

min min

in out

relative precision min

in

min

in

max max

out in

relative precision max

in

max

in

Relative criteria are useful esp ecially when the absolute values of the interval

limits are large absolute criteria are useful when they are around zero

Recursive functions

In interval arithmetic spreadsheets it makes sense to accept recursive function

systems in addition to the traditional nonrecursive ones For this purp ose

GIA InC extends the BB scheme also to recursive functions of form

X F X X X

i 1 i n

Mathematically the actual range of feasible values of a recursive function is

the range of its exact value xed points

X fx j x f x x x x X j ng

i i i 1 i n j j

The goal of GIA InC is to compute safe outer b ounds min max for

out out

this set within user given precision levels

When evaluating a recursive function simple iteration by using the intersected

value F X X X X as the next value for X is not enough The

1 i n i i

problem is that computation easily gets stuck in xed p oint interval solutions

Interval Computations on the Spreadsheet 19

1

For example in evaluating X such an iterative computation could termi

X

nate at

X

and the actual range within is not found

Another problem in evaluating a recursive function is that it is usually dif

cult to nd by the midp oint test exact xed p oints ie feasible values of

the function b ecause f x x x seldom happ ens to evaluate x pre

1 i n i

cisely As a result inner b ounds of the function are dicult to determine

Without nding such p oints the BB algorithms cannot b e terminated easily

cf the termination conditions ab ove

In order to solve this diculty GIA InC slightly lo osens the notion of xed

p oint based on user given precision levels Instead of b ounding set GIA

determines b ounds for

X fx j x f x x x x X j ng

i i i 1 i n j j

Situation x f x x x is considered a precision xed point using

i 1 i n

the user given absolute or relative precision criteria GIA determines the range

of precision xed p oints as an interval instead of the range of ordinary pre

cise xed p oints Since every ordinary xed p oint is a precision xed p oint

the range outer b ound of values determined by GIA InC is a sup erset of

the actual xed p oint values The extra width in the obtained range

approaches to zero as desired absolute and relative precision approach to zero

With zero precision the sets of ordinary and precision xed p oints are identical

By using precision xed p oints it is easier to obtain also inner b ounds for

a recursive function However one should rememb er that the inner b ounds are

now determined for precision xed p oints and not for ordinary xed p oints

There are not necessarily any ordinary xed p oints b etween inner and outer

b ounds only precision xed p oints Although outer b ounds in the recursive

case safely b ound all p ossible actual xed p oints if any the inner b ounds do

not necessarily b ound actual feasible values from the inside in the same sense

as in the nonrecursive case For example consider recursive function



5 4 3 2

Y X X X X

Y X X

for b ounding the zeros of the p olynomial

5 4 3 2

Y X X X X X

20 Chapter

There are ve ordinary xed p oints zeros X f g and the

6

b ounds are hence X If absolute and relative precision is the

minimums of outer and inner b ounds are after some evaluation time

and with no ordinary xed p oints but only precision xed p oints

in b etween Unlike in the nonrecursive case existence of ordinary feasible

xed p oints of a recursive function cannot in the general case b e proved un

less zero precision is used Existence of ordinary xed p oints implies existence

of precision xed p oints but not vice versa

The task of evaluating a recursive function X F X X X is

i 1 i n

equivalent to the problem of nding the zeros of the function

F X X X X

1 i n i

An ecient technique for the latter problem is the interval Newton method

In GIA this technique can b e employed by a sp ecial macro newton that

automatically transforms a function into the corresp onding recursive interval

Newton operator For example the zeros of the ab ove p olynomial can b e found

by using macro

5 4 3 2

newtonX X X X X X

Algebraic optimization

Consider a real valued function y f x x and an interval valued func

1 n

tion Y F X X F is called an interval extension of f i

1 n

f x x F x x

1 n 1 n

The simplest extensional form is the natural extension that is obtained from

f x x by simply replacing function op erations by the corresp onding

1 n

interval op erations The problem with the natural extension is that the extra

width accumulated is usually large Various alternative ways for constructing

extensional forms have b een prop osed for evaluating stricter results GIA

uses several algebraic mo des settable by the programmer Some of them are

listed in table

There is no known general solution to the problem of nding the b est exten

sional form for a function only some heuristic guidelines The excess width

dep ends b oth on the prop erties of the function and on the argument interval

values Extension selection is however quite imp ortant from the practical

Interval Computations on the Spreadsheet 21

MODE MEANING

Natural Use natural extension no algebraic optimization

Taylor Use nth order multivariable Taylor form

Monotonicity Use monotonicity test form

Optimize Use monotonicity test form with derivatives optimized

by nth order Taylor expansions

Table Some algebraic mo des used in GIA InC

computational view p oint For example some test evaluations of the p olyno

mial

4 3 2

Y X X X X

with X are listed in table The last mo de involving most algebraic

prepro cessing is here clearly the b est choice

Mo de Algebraic Numerical Monotonicity Taylor

prepro c evaluation test used order

5

Natural no

Taylor no

Monotonicity yes

Optimize yes

Table Algebraic prepro cessing and numerical evaluation times msecs of

illustrating the need for algebraic optimization

Since the average spreadsheet user is hardly interested in the p eculiarities of

extensional forms GIA has also an automatic algebraic mo de used by default

In this mo de GIA heuristically determines for each given function an appro

priate extensional form As a general strategy used there multiple instances

of variables in the expression are tried to b e eliminated by using computer

algebraic techniques such as p olynomial canonization symb olic rational di

vision and a rule base for simplifying irrational expressions Taylor expansions

are also used when they do not generate more multiple instances of variables

22 Chapter

Computational parameters

A ma jor pragmatic dierence b etween a lo cal interval system such as EIA Excel

and a global one is computational complexity Global numerical evaluation of

an interval function can take an unpredictable long time and the spreadsheet

user must b e provided with a versatile set of computational parameters for

controlling the computations In GIA the following parameters can b e used

for controlling numerical evaluations

Global vs local evaluation The function ob jects can b e evaluated either

globally default mo de or lo cally ie in ordinary extended IA Lo cal

mo de is useful in situations where very fast resp onse time is needed even

at the price of extra excess width in the result

Absolute and relative precision levels Less demand on desired precision

levels often signicantly shortens evaluation time

Time limit In many applications resp onse times within predened limits

must b e guaranteed eg in real time systems GIA supp orts such appli

cations by providing a settable time limit If the resultant interval has not

b een obtained within the limit computation is forcibly terminated The

dierence b etween inner and outer b ounds tells how precise the result is

Reusing earlier computations

Computations in spreadsheets are often reactivated after a small change in only

one argument Given the complexity of global interval evaluations it b ecomes

necessary to maintain results of earlier computations and to try to reuse them

as much as p ossible It is not feasible to start each evaluation from the scratch

after any small mo dication in some argument value

In GIA the function ob jects constructed maintain computational partial re

sults obtained during the last evaluation When evaluated again the ob ject

dynamically checks changed input values with resp ect to the previous evalua

tion makes only needed up dates and changes in the previous computational

results and continues computation from this internal state on Such reuse of

earlier work often dramatically shortens needed computational time

Interval Computations on the Spreadsheet 23

Global evaluation of an interval function

system

In a technique is develop ed for evaluating a function system globally The

hearth of the technique is the simple algorithm Lo calFunctionEvaluation

b elow that implements cascaded function evaluation in traditional spreadsheet

computing Function argsY F denotes the set of arguments in func

tion Y F

Algorithm Lo calFunctionEvaluation

Initially given is a function system S fY F g and values for all

i i

input and recursion variables

Sort S by the following criterion if Y argsY F put

i i+1 i+1

Y F b efore Y F

i i i+1 i+1

If S is empty go to Otherwise select and remove next function Y

F from S

Evaluate Y F Go to

Terminate

However this algorithm alone do es not solve our problem in the interval case

The functions are evaluated indep endently from each other lo cally which

means that common argument variables used in dierent functions are treated

as if they were dierent variables having the same value Furthermore prob

lems of circular function chains are not considered Prop er function system

evaluation in interval arithmetic would require that the dep endencies b etween

dierent variable instances in dierent functions are resp ected globally This

dep endency problem can b e captured by the notions of lo cal and global cas

caded evaluation

Denition Consider a function system FS with input variables X X

1 n

and output variables Y F Y F Cascaded interval evalu

1 1 k k

ation is local i each output and recursion variable Y gets interval value

i

Y fy j x X x X y F x x g

i 1 1 n n i 1 n

Evaluation is global if the value of each output and recursion variable Y is

i

the actual range of the feasible values wrt all lo cal functions

Y fy j x X x X y F x x j k g

i i 1 1 n n j j 1 n

24 Chapter

The lo cal propagation algorithm Lo calFunctionEvaluation can b e ap

plied for global cascaded interval evaluation if the function system is rst alge

braically globalized and then evaluated by using a global interval function eval

uator This scheme is summarized by algorithm GlobalFunctionSystem

Evaluation The algorithm evaluates values for the output variables of the

function system FS

Algorithm GlobalFunctionSystemEvaluation

Globalize For each lo cal function f FS derive a global function g

by expanding f by recursively replacing function arguments by the corre

sp onding functions into a minimally large expression The stopping crite

rion for the minimal expansion is that no variable used in g should o ccur

as an argument in the remaining functions of FS not used for deriving g

Optimize algebraically For each global function derive algebraically an

ecient extensional form for numerical evaluation

Evaluate numerically Evaluate the global function system derived in steps

by the lo cal propagation algorithm Lo calFunctionEvaluation by

using global interval function evaluation techniques discussed in section

For example consider the function system

B A A

C B B

C B A

D C C

E D D

For simplicity the functions here are simple primitives but could in principle

b e functions of arbitrary complexity The globalization phase step gives the

following globalized functions for the output variables shown in table The

minimally expanded global functions for the output variables are given on table

The rightmost column gives the expansion in algebraically simplied form

Application of the minimality criterion is imp ortant b ecause it makes the global

functions smaller and easier to evaluate For example there is no need to ex

pand the function E D D further b ecause neither D nor D is used

as an argument in any other function Intuitively the global function for D

already takes care of the problem of the multiple variable instances of A and

Interval Computations on the Spreadsheet 25

Cell Minimal Expansion In Simplied Form

B A A A A

C B B B B

C A A A A A

D B A A A A A A A B A

E D D D D

Table Globalized functions for the output variables of

A and D can b e used as it is as the argument

In step further optimization is needed only for the function of D whose

simplied form contains multiple variable instances In step this function

must b e evaluated by a global evaluator like GIA For the other global functions

simple lo cal evaluation is sucient

Implementation on a spreadsheet

The global cascaded evaluation scheme has b een implemented as a C library

called CIF InC Cascaded Interval Functions In C The library pro

vides the user with a class Cif for dening maintaining parametrizing and

evaluating a function system The main input of Cifob jects is functions and

argument interval values in the form of strings and numb ers A separate parser

is used for extracting the algebraic form of the functions for globalization Af

ter inserting a function or removing one the global denitions are up dated

automatically by a denition maintenance unit Both algebraic globalization

and interval propagation can b e tuned by a set of optional computational

parameters that are similar to those in GIA discussed earlier

After its construction the function system can b e evaluated and changed vari

able values can b e read from the Cifob ject

Integrating an external global IA mo dule such as CIF with a spreadsheet pro

gram is more dicult than integrating LIA in EIA Excel The main problem is

that control of computations needed for propagating values globally is dierent

from the lo cal propagation scheme provided by spreadsheets As a result the

whole computation pro cedure must b e run in isolation from the host spread

26 Chapter

Figure The architecture of function system ob jects Cif in CIF InC

sheet system Furthermore all changes made by the user to the lo cal deni

tions should b e rep orted to the underlying computational mechanism in order

to make the corresp onding changes at the global level

In our implementation each MS Excel workb o ok sheet is asso ciated with a

Cifob ject that contains and maintains the denitions of the sheet consistent

and p erforms cascaded function evaluations The user inputs interval functions

for global evaluation by typing into a cell a call of a sp ecial AddIn function F

F f unction

implemented in the MS Excel macro language Visual Basic Function F im

plements the interface b etween MS Excel and the underlying computational

Cifob jects When MS Excel evaluates a call to F say

F A A C

in cell B then the following happ ens

The function B A A C is inserted into the corresp onding Cif

ob ject

The current function system Cifob ject is up dated and evaluated

Interval Computations on the Spreadsheet 27

Changed values are read from the Cifob ject and output on the sheet

In the same manner if the user inputs or mo dies an interval value in a cell

then the mo dication is made in the Cifob ject and after evaluation changed

values are up dated on the sheet

Computational parameters for global interval evaluation can b e set by a di

alog b ox activated from an additional MS Excel menu

INTERVAL CONSTRAINT

SPREADSHEETS

Reconsider the function system

R R

2 3

R

1

R R

2 3

U R I

1 1 1

If arguments R R and I are given the voltage U can b e computed How

2 3 1 1

ever from the mathematical view p oint any unknown variable in could b e

computed as a function of the others This kind of symmetric computations

where any variable can b e used as input or output can b e p erformed by using

constraint propagation techniques

The rst spreadsheet programs using constraint propagation were released al

ready in the early s TKSolver was a wellknown commercial imple

mentation In four ma jor problems of numerical constraint propagation

based on ordinary arithmetic were discussed

The systems cannot deal with imprecise data

The actual solutions cannot always b e found even if this were mathemati

cally p ossible This may happ en if the functions to b e evaluated are lo cally

but not globally underconstrained

Techniques for solving overconstrained problems were ad ho c

Although computations could b e p erformed in any direction input and

output variables had to b e selected by the user b efore propagation This

is often dicult

28 Chapter

As a solution approach interval constraint satisfaction techniques based

on interval arithmetic were prop osed and the approach was develop ed into a

new generalized computational paradigm for spreadsheet computing in

Other approaches to interval constraint satisfaction based on related techniques

are discussed in Application of interval constraints in evaluating ac

tual function value ranges is discussed in

Interval constraint spreadsheets have several attractions when compared with

ordinary spreadsheet

Interval arithmetic makes it p ossible to deal with inexact data and round

ing errors

Innite solution sets of underconstrained problems can b e abstracted as

interval solutions

Consistency techniques make it p ossible to compute or at least b ound

values for any variable in a set of related functions or more generally con

straint equations No distinction b etween input variables cells and output

variables is needed the typ e of variables is determined dynamically

Topdown renement can b e used as a new problem solving paradigm In

this scheme a solution is found by constraining cell intervals stepwise until

exact solutions emerge This is often more useful than the trialanderror

scheme used in ordinary spreadsheets

Interval computations are safe and sound p ossible solutions are never

lost

Ordinary numerical computation in spreadsheets is a sp ecial case of in

terval constraint satisfaction Interval techniques oer new p ossibilities

without giving up the p ossibility of using traditional exact spreadsheet

computing

In the following the notion of interval constraint satisfaction problem ICSP is

rst presented and techniques for solving it are discussed After this problems

of incorp orating interval constraint computations with a spreadsheet program

are discussed As a test and demonstration MS Excel has b een extended for

interval constraint satisfaction

Interval Computations on the Spreadsheet 29

Interval CSPs

The general interval constraint satisfaction problem ICSP can b e formu

lated as

E E

1 n

P X P X

1 1 m m

Here E are functions equations or inequalities that can b e transformed into

i

interval equations P are variables used in them and X are real intervals or

j j

discontinuous real intervals The equations constitute a constraint net that

consists of a set of variables and equational constraints connecting them For

example

X

sinZ X Y e Z X Y Z X

Y Z

The interval situation called also tolerance situation fP X P

1 1 m

X g in an ICSP refers to a set of exact value situations

m

fP x P x j x X i mg

1 1 m m i i

An ICSP is feasible i its interval situation has an exact subsituation satisfying

all constraints ie the equations have a solution within the intervals

fP x X P x X g E E satised

1 1 1 m m m 1 n

A variable P X is consistent i each interpretation P x x X can b e

i i i i

satised with resp ect to all constraints by some exact subsituation

x X fP x X P x P x X g

i 1 1 1 i m m m

E E satised

1 n

We say that an interval situation is global ly consistent ie it is a global

solution i its every variable is consistent Intuitively an interval in a solution

should not contain extra values that cannot b e satised within the given

intervals The global solution is the tightest interval set that b ounds the so

lutions for the ICSP For example it turns out that equations have a

single global solution

X Y Z

within the initial situation Hence is feasible

A weaker but computationally more easily obtainable and hence useful notion

30 Chapter

of consistency is local consistency A variable is local ly consistent i it is con

sistent with resp ect to all directly connected constraints in the constraint net

Lo cal consistency of an interval situation solution means that all variables

are lo cally consistent For example the lo cal solution of

X T Y Y T Z

X T Y Z

is T Y Only at the global level one can determine that

actually Y must b e the mean value of X and Z ie that the global solution is

Y T Intervals in the lo cal solution may have extra width but always

correctly b ound the global solutions

In the general case the solution of an ICSP may not b e represented by a single

interval solution but as a set S of them For reasons of convenience these

solutions can b e generalized by the situation G fP X P X g

1 1 n n

such that for i n min X is the minimum and maxX is the max

i i

imum of all values X of P in the solutions S Hence the solution G is the

i i

most constrained situation that can b e obtained by rening the tolerances from

b oth ends without losing exact value solutions If discontinuous intervals are

employed the generalized solution can b e represented more accurately by a

single discontinuous interval situation

Solving ICSPs

A solution technique for solving interval CSPs is to use Waltz ltering for re

moving certainly infeasible regions from the variable intervals By this

technique lo cal solutions can b e found This technique is also employed in

interval constraint implementations for logic programming such as

Another p ossibility is to generalize classical value propagation techniques

for interval arithmetic ie to use tolerance propagation In this tech

nique the structure of the constraint net underlying the constraint equations is

exploited A b enet of this approach is its extendibility from lo cal techniques

to global problem solving by algebraic techniques In global tolerance propa

gation b etter than lo cal solutions can b e obtained by propagating values over

several lo oping constraint equations at the same time

The techniques ab ove aim at b ounding the solution set of the equations within

an initial interval b ox If the actual solutions are to b e generated Interval

Newton metho d provides a promising technique Here the numb er of

solutions is assumed to b e nite ie the problem should not b e undercon

Interval Computations on the Spreadsheet 31

strained

In our work lo cal and some global tolerance propagation algorithms have b een

implemented as a C library ICE InC By default this system uses

lo cal propagation but individual constraints are solved globally If desired ad

ditional global solution functions can b e generated ICE is designed to b e used

as a general purp ose ICSP library in C programming From the pro

grammers view p oint it is implemented as a C class Ice Ob jects of this

class corresp ond to ICSPs Communication with Iceob jects is based on simple

memb er functions that dene ICSPs set computational parameters propagate

tolerances and read changed variable values Using Iceob ject is in principle

quite similar to using IFunctionob jects of GIA and Cifob jects of CIF

The main technical contribution of ICE is to apply a combination of inter

val analysis computer algebra and tolerance interval propagation techniques

for determining lo cal and esp ecially stricter than lo cal interval solutions in an

ecient way Other implementations for b ounding solutions such as

do not make use of algebraic or global interval techniques but rely

on lo cal numerical ones

Interval Constraint Excel

As a demonstration a version of ICE has b een integrated with MS Excel

This chapter discusses mo dications that need to b e made in a spreadsheet

program such as MS Excel when extending it with interval constraints Im

p ortant issues are reviewed mainly from the users p oint of view and solution

approaches taken in our demonstrational implementation IC Excel Interval

Constraint Excel are describ ed

Inserting equations

Each spreadsheet is asso ciated with an Iceob ject an instance of class Ice that

maintains internally the ICSP corresp onding to the spreadsheet denitions In

terval values and constraints are dened by an Excelfunction I eq uation that

sends string eq uation to the underlying ob ject up dating its internal state ac

cordingly For example when the user typ es I into cell A the value

of variable A is up dated in the Iceob ject and the status of related constraints

and solution functions is set undetermined These constraints will later b e pro

cessed during tolerance propagation In the same way I A SIN B

A C would insert the equation as a constraint and up date the internal

32 Chapter

constraint net After insertingmo difying constraints and values and setting

computational parameters like desired precision levels tolerance propagation

can b e executed and changed variable values are up dated to corresp onding

cells on the sheet

In ordinary MS Excel output cells have function denitions such as

A B and the function value is used and displayed as the value of

the cell A problem here is that when an interval constraint equation is in

serted such as A B C B there is no unique cell where to display

the value but all related variable cells must b e considered In contrast to the

function case the p osition of an equation in the sheet is immaterial but should

b e resp ected as a decision of the user IC Excel works exactly like MS Excel

when interval functions are inserted When a constraint equation is inserted

IC Excel shows the equation itself in the cell unless the cell has a value in

which case the value is shown

Setting output cel l value

In spreadsheet programs it is not p ossible for the user to set the value of an

output cell b ecause output cell values are dened by function expressions In

interval constraint satisfaction it must b e p ossible to set the value of any cell

IC Excel extends MS Excel in the following way when double clicking a cell a

sp ecial DLL function gets activated and shows the value of the cell in a dialogue

b ox for editing The p ossible formula attached to the cell remains as it was

Control of computation

Control of tolerance propagation is quite dierent from the evaluation mecha

nism used in MS Excel As a result all interval computations have to b e done

by shifting control to the underlying Iceob ject In IC Excel the sp ecial func

tion I describ ed ab ove makes this shift p ossible Function I do es not activate

MS Excels own value propagation algorithm but only communicates with the

underlying Iceob ject

Interrupts

Since interval computations can take an unpredictable time to b e completed

the user must b e supp orted with an interrupt facility In GIA InC library

computation can b e terminated interactively and the resulting semiglobal re

Interval Computations on the Spreadsheet 33

sult used as the solution IC Excel makes use of the facility a lengthy compu

tation can terminated by hitting a control key

Relaxation

Since all cell values are user settable the user can easily end up in an infeasible

situation In such situations it is not always easy to see what cells should b e

mo died in order to make the situation feasible again In IC Excel a lo cal

relaxation facility is available In infeasible situations computation is carried

on until all constraints have b een evaluated After this cell values can b e

enlarged lo cally in order to satisfy all related constraints if demanded by the

user Often but not always this suces to make an infeasible situation feasible

Special computational parameters

Interval computations can b e controlled by a set of parameters IC Excel makes

use of those available in GIA such as desired absoluterelative precision and

resp onse time limit

Compatibility

An imp ortant motivation b ehind the idea of interval constraint spreadsheets

is compatibility with traditional spreadsheet computing cascaded exact value

evaluation can b e seen as a sp ecial case of constraint satisfaction

In IC Excel the same spreadsheet can b e used simultaneously for b oth ordi

nary computations and interval constraint satisfaction When intervals change

into numb ers traditional MS Excel features like advanced graphics b ecome

automatically available

An example

Consider the resource allo cation problem where the task is to allo cate the work

ing time of n researchers in m pro jects during some time p erio d Let us assume

that three researchers X Y and Z are allo cated to three pro jects as shown

in gure By applying lo cal constraint propagation the system gives the

resp onse shown in gure The user has now the p ossibility to constrain the

intervals Assume that heshe demands that researcher X should not work on

34 Chapter

Figure The resource allo cation problem Initial values and formulas

Figure The systems resp onse to the initial state of gure Mo died

cells are in b old font

pro ject less than weeks ie C and that the total resources

of pro ject are exactly weeks ie D The situation is shown in

gure Notice that the formula D I D D D remains in force

The system then applies again lo cal constraint propagation to rene values

The resp onse is shown in gure where the mo died values are in b old font

Interval Computations on the Spreadsheet 35

Figure Changing the total time for the resources of Pro ject to weeks

Figure The user has made two changes italic font The systems mo di

cations in resp onse are shown in b old font

Based on the new situation the user can then further rene the tolerances the

system will infer necessary consequences and so on until some exact solution

36 Chapter

satisfying the users criteria for the solution is found

In gure the user simultaneously changed one input and one output variable

italic font Although only two cell values were altered in this arithmetically

quite simple system it was p ossible to infer eight value mo dications For the

user it is dicult to see every consequence of hisher changes immediately In

the general case it is p ossible to change any combination of cell values simul

taneously Furthermore more complicated nonlinear algebraic constraints are

often present in realworld problems of this typ e

DISCUSSION

This pap er reviewed work on applying interval techniques in spreadsheet com

putations The research and implementations discussed indicate that interval

arithmetic is a promising formalism by which the computational paradigm un

derlying current spreadsheet programs can b e extended for dealing with limita

tions of machine arithmetic and more imp ortantly for dealing with imprecise

real world data Three natural extensions lo cal extended interval arithmetic

global interval arithmetic and interval constraint arithmetic for spreadsheet

computing were prop osed and their exp erimental implementations emb edded

in MS Excel were presented EIA Excel IF Excel and IC Excel resp ectively

Each extension includes the traditional spreadsheet computation mo de as its

sp ecial case The extensions can b e implemented up to a reasonable level by

using the ordinary programming features provided by current spreadsheet pro

grams However a more seamless and ecient implementation would require

that interval data typ es and techniques were emb edded in the kernel of the

spreadsheet system

Lo cal interval arithmetic functions can b e emb edded fairly easily in a spread

sheet program EIA Excel However two dicult problems are encountered

when extending spreadsheets for global interval computations IF Excel or for

constraint solving IC Excel Firstly from the programmers view p oint con

trol of advanced interval computations cannot b e supp orted by ordinary spread

sheet control mechanisms The propagation engine must b e implemented as a

separate mo dule which brings in problems of maintaining the spreadsheet and

the underlying computational system mutually consistent Secondly from the

endusers viewp oint interval spreadsheet computations are time and mem

ory consuming The resp onse times are to a large extent unpredictable de

p ending on the functions to b e evaluated and argument values used Whatever

Interval Computations on the Spreadsheet 37

algorithms are used it is always easy to come up with functions or equations

that cannot b e evaluated in a reasonable time Such complexity problems are

unknown to ordinary spreadsheets Hence it is of vital imp ortance that the

user is provided with a versatile set of computational parameters such as pre

cision levels and the time limit feature for controlling computations It is

also imp ortant that she can get estimates for not only function values outer

b ounds but also for the precision of the results inner b ounds

More information concerning the InC library family and the MS Excel ex

tensions discussed can b e found at WWW site

httpwwwvttfitteprojectsinterval

Acknowledgements

This work has b een supp orted nancially by Technology Development Centre

of Finland TEKES Thanks are also due to Trema Inc and ViSolutions Inc

for coop eration

REFERENCES

Ab erth O Precise Wm C Brown Dubuque Iowa

Asaithambi N Zuhe S and Mo ore R E On computing the range of

values Computing pp

Babichev A B Kadyrowa O B Kashevarove T P Leshchenko AS

and Semenov A L UniCalc A Novel Approach to Solving Systems of

Algebraic Equations Interval Computations pp

Benhamou F McAllester D and Van Hentenryck P CLP Intervals

Research rep ort LIM University of Marseille France Reviseted

Bleher J H Rump S M Kulisch U Metzger M Ullrich Ch and

Walter W FORTRANSC A Study of a FORTRAN Extension for En

gineering Scientic Computation with Access to ACRITH Computing

Novemb er pp

38 Chapter

Bohlender G Rall L B Ullrich Ch and Wol v Gudenb erg J

PASCALSC a Computer Language for Scientic Computation In Per

sp ectives in Computing Academic Press Orlando

Chen H M and van Emden M H Adding Interval Constraints to

the Mo oreSkelb o e Algorithm In Reliable Comput

ing Supplement Pro ceedings of Application of Interval Computations El

Paso Texas pp

Cleary J C Logical Arithmetic Future Computing Systems

pp

Davenp ort J H Siret Y and Tournier E Computer Algebra Sys

tems and Algorithms for Algebraic Computation Academic Press New

York NY

Davis E Constraint Propagation with Interval Lab els Articial Intel

ligence pp

De Pascale S and Hyvonen E An Extended Interval Arithmetic Li

brary for MS Excel Research rep ort VTT Technical Research Centre of

Finland Information Technology Esp o o

Ely J S Prosp ects for Using Variable Precision Interval Software in

C for Solving some Contemp orary Scientic Problems Ph D disser

tation The Ohio State University Ohio

Hansen E R Global Optimization Using Interval Analysis Marcel

Dekker New York

Hanson R J Interval Arithmetic as a Closed Arithmetic System on a

Computer rep ort Jet Propulsion Lab oratory

Hyvonen E Constraint Reasoning Based on Interval Arithmetic In

Pro ceedings of IJCAI Morgan Kaufmann Los Altos USA pp

Hyvonen E Interval Constraint Spreadsheets for Financial Planning In

Pro ceedings of the First International Conference on Articial Intelligence

Applications on Wall Street IEEE Press New York

Hyvonen E Constraint Reasoning Based on Interval Arithmetic The

Tolerance Propagation Approach Articial Intelligence pp

Interval Computations on the Spreadsheet 39

Hyvonen E Spreadsheets Based on Interval Constraint Satisfaction

Articial Intelligence for Engineering Design Analysis and Manufacturing

pp

Hyvonen E Evaluation of Cascaded Interval Function Constraints

In Leasure D E editor Pro ceedings of International Workshop on

ConstraintBased Reasoning at FLAIRS Texas AM University

Corpus Christi Melb ourne Beach Florida April pp

Hyvonen E and De Pascale S LIA InC A Lo cal Interval Arithmetic

Library Technical rep ort VTT Technical Research Centre of Finland

Information Technology Esp o o a

Hyvonen E and De Pascale S GIA InC A Global Interval Arith

metic Library Technical rep ort VTT Technical Research Centre of Fin

land Information Technology Esp o o b

Hyvonen E and De Pascale S CIF InC A Library for Cascaded

Interval Function Evaluation Technical rep ort VTT Technical Research

Centre of Finland Information Technology Esp o o c

Hyvonen E and De Pascale S ICE InC A Library for Interval

Constraint Equations Technical rep ort VTT Technical Research Centre

of Finland Information Technology Esp o o d

Hyvonen E and De Pascale S InC Library Family for Interval Com

putations In Reliable Computing Supplement Pro ceedings of Applica

tion of Interval Computations El Paso Texas a pp

Hyvonen E and De Pascale S Interval Constraint Spreadsheets An Im

plementation for Microsoft Excel In Reliable Computing Supplement

Pro ceedings of Application of Interval Computations El Paso Texas

b pp

Hyvonen E De Pascale S and Lehtola A Interval Constraint Pro

gramming in C In Mayoh B Tyugu E and Penham J editors

Constraint Programming F SpringerVerlag Berlin nato advanced sci

ence institute edition

Kahan W M A More Complete Interval Arithmetic Lecture Notes

for a Summer Course at the University of Michigan

Kearfott R B Decomp osition of Arithmetic Expressions to Improve the

Behavior of Interval Iteration for Nonlinear Systems Computing

pp

40 Chapter

Keip er J Interval Arithmetic in Mathematica Interval Computations

Klatte R Kulisch U Lawo C Rauch M and Wietho A CXSC A

C Class Library for Extending Scientic Computing SpringerVerlag

BerlinHeidelb ergNew York

Konopasek M and Jayaraman S The TKSolver Bo ok McGrawHill

Berkley CA

Kornienko V Spreadsheets with Sub denite Data Student diplom the

sis Novosibirsk State University in Russian

Kulisch U and Miranker W The Arithmetic of the Digital Computer

A New Approach SIAM Review March pp

Lee J and van Emden M Numerical Computation can b e Deduction in

CHIP Pap er Department of Computer Science University of Victoria

Canada a

Lee J and van Emden M Adapting CLPR to Floating Point Arith

metic Pap er Department of Computer Science University of Victoria

Canada b

Leler Wm Constraint Programming Languages Their Sp ecication

and Generation AddisonWesley

Lhomme O Consistency Techniques for Numeric CSPs In Pro ceedings

of IJCAI Morgan Kaufmann San Mateo CA pp

Mo ore R E Interval Analysis Prentice Hall Inc Englewo o d Clis N

J

Mo ore R E Metho ds and Applications of Interval Analysis SIAM

Studies in Applied Mathematics Philadelphia Pennsylvania

Mo ore R E Hansen E R and Leclerc A Rigorous Metho ds

for Global Optimization In Recent Advances in Global Optimization

Princeton University Press Princeton pp

Older W and Vellino A Constraint Arithmetic on Real Intervals In

Benhamou F and Colmareur A editors Constraint Logic Programming

MIT Press Cambridge MA

Ratschek H and Rokne J Computer Metho ds for the Range of Func

tions Ellis Horwo o d Limited Chichester England

Interval Computations on the Spreadsheet 41

Ratschek H and Rokne J New Computer Metho ds for Global Opti

mization Ellis Horwo o d Limited Chichester England

Rump S M How Reliable are Results of Computers Wie Zuverlassig

sind die Ergebnisse Unserer Rechenanlagen In Jahrbuch Ub erlicke

Mathematik Bibliographisches Institut Mannheim pp

Sideb ottom G and Havens W Hierarchical ArcConsistency for Dis

joint Real Intervals in Constraint Logic Programming Computational

Intelligence

Skelb o e S Computation of Rational Interval Functions

pp

Steele G The denition and Implementation of a Computer Program

ming Language Based on Constraints Dissertation Massachusetts Insti

tute of Technology Department of Electrical Engineering and Computer

Science Cambridge Massachusetts