NUMAL Section 5.1.2.1.1

BEGIN SECTION : 5.1.2.1.1 (, december 1978 )

AUTHOR : J. C. P. BUS

INSTITUTE : MATHEMATICAL CENTRE.

RECEIVED : 741101.

BRIEF DESCRIPTION :

    THIS SECTION CONTAINS THE PROCEDURE MININ, FOR MINIMIZING
    A FUNCTION OF ONE VARIABLE IN A GIVEN INTERVAL;

KEYWORDS :

    MINIMIZATION,
    FUNCTIONS OF ONE VARIABLE.

CALLING SEQUENCE :

    THE HEADING OF THIS PROCEDURE IS :
    "REAL" "PROCEDURE" MININ(X, A, B, FX, TOLX);
    "REAL" X, A, B, FX, TOLX;
    "CODE" 34433;

    MININ   DELIVERS THE CALCULATED MINIMUM VALUE OF THE FUNCTION,
            DEFINED BY FX, ON THE INTERVAL WITH ENDPOINTS A AND B.

    THE MEANING OF THE FORMAL PARAMETERS IS :
    X :     <REAL VARIABLE>;
            A JENSEN VARIABLE; THE ACTUAL PARAMETERS FOR FX AND TOLX
            DEPEND ON X;
            EXIT : THE CALCULATED APPROXIMATION OF THE POSITION OF THE
                   MINIMUM;
    A, B :  <REAL VARIABLE>;
            ENTRY :  THE ENDPOINTS OF THE INTERVAL ON WHICH A MINIMUM
                     IS SEARCHED FOR;
           EXIT :   THE ENDPOINTS OF THE INTERVAL WITH LENGTH LESS THAN
                     4 * TOL(X)  SUCH THAT  A < X < B;
    FX :    <ARITHMATIC EXPRESSION>;
            THE FUNCTION ISGIVEN BY THE ACTUAL PARAMETER FX, WHICH
            DEPENDS ON X;
    TOLX :  <ARITHMETIC EXPRESSION>;
         THE TOLERANCE IS GIVEN BY THE ACTUAL PARAMETER TOLX, WHICH MAY
       DEPEND ON X; A SUITABLE TOLERANCE FUNCTION IS : ABS(X)*RE + AE,
       WHERE RE IS THE RELATIVE PRECISION DESIRED AND AE IS AN ABSOLUTE
            PRECISION WHICH SHOULD NOT BE CHOSEN EQUAL TO ZERO.

DATA AND RESULTS :
    THE USER SHOULD BE AWARE OF THE FACT THAT THE CHOICE OF TOLX MAY
    HIGHLY AFFECT THE BEHAVIOUR OF THE ALGORITHM, ALTHOUGH CONVERGENCE
    TO A POINT FOR WHICH THE GIVEN FUNCTION IS MINIMAL ON  THE INTERVAL
   IS ASSURED; THE ASYMPTOTIC BEHAVIOUR WILL USUALLY BE FINE AS LONG AS
    THE NUMERICAL FUNCTION IS STRICTLY DELTA-UNIMODAL ON THE GIVEN
INTERVAL (SEE [1]) AND THE TOLERANCE FUNCTION SATISFIES TOL(X)>=DELTA,
    FOR ALL X IN THE  GIVEN INTERVAL.

PROCEDURES USED : NONE.

REQUIRED CENTRAL MEMORY : NO AUXILIARY ARRAYS ARE DECLARED IN MININ.

METHOD AND PERFORMANCE :
    MININ IS A SLIGHTLY MODIFIED VERSION OF THE ALGORITHM GIVEN IN [1].

EXAMPLE OF USE:

   THE FOLLOWING PROGRAM MAY BE USED TO CALCULATE THE MINIMUM OF THE
   FUNCTION F(X) = SUM(((I * 2 - 5)/(X - I ** 2)) ** 2; I = 1 (1) 20)
   ON THE INTERVAL [1 + TOL, 4 - TOL] (SEE [1]).

   "BEGIN"
       "REAL" M, X, A, B; "INTEGER" CNT;
       "REAL" "PROCEDURE" F(X); "VALUE" X; "REAL" X;
       "BEGIN" "INTEGER" I; "REAL" S;
           S:= 0; "FOR" I:= 1 "STEP" 1 "UNTIL" 20 "DO"
           S:= S + ((I * 2 - 5) / (X - I ** 2)) ** 2;
           CNT:= CNT + 1; F:= S
       "END" F;
       "REAL" "PROCEDURE" TOL(X); "VALUE" X; "REAL" X;
       TOL:= ABS(X) * "-7 + "-7;
       A:= 1 + TOL(1); B:= 4 - TOL(4); CNT:= 0;
       M:= MININ(X, A, B, F(X), TOL(X));
       OUTPUT(61, "("4B,"("MINIMUM IS ")",N,/4B,
       "("FOR X IS ")",N,/4B,
       "("IN THE INTERVAL WITH ENDPOINTS ")",/8B,2(N),/4B,
       "("THE NUMBER OF FUNCTION EVALUATIONS NEEDED IS ")",2ZD,/")",
       M, X, A, B, CNT)
   "END"

   RESULTS :

   MINIMUM IS +3.6766990169019"+000
   FOR X IS +3.0229153387991"+000
   IN THE INTERVAL WITH ENDPOINTS
       +3.0229149365075"+000  +3.0229157410906"+000
   THE NUMBER OF FUNCTION EVALUATIONS NEEDED IS  13

SOURCE TEXT:
"CODE" 34433;