                C++ Toolbox for Verified Computing I
                       Basic Numerical Problems

    Copyright (c) 1995 Rolf Hammer, Matthias Hocks, Dietmar Ratz

The functions RevSimplex(A,b,c) and LinOpt(A,b,c,BStart) determine the
optimal solution of the linear optimization problem: Maximize z=c'*x where
A*x=b and x>=0. LinOpt validates the solution and determines enclosures of
the true optimal solution set.

RevSimplex returns a vector with entries [x;v;z;err] where x denotes the
optimal solution vector, v the optimal basic index set, which can be used as
bstart for LinOpt, z the optimal value and err might contain an error
message. LinOpt returns a vector [z;V;X;no;err] where z is the enclose of
the optimal value, V is a matrix which no lines represent the different
index vectors, X a matrix which lines represent the different solution
vectors and err again is the eventual error message.

   >Precision(-10);A=[1 0 1 0 0;0 1 0 1 0;100 18 0 0 1];
   >b=[50;200;5000];c=[50;9;0;0;0];
   >S=RevSimplex(A,b,c)
    [[14;200;36;0;0];[1;3;2];2500;""]
   >LinOpt(A,b,c,S(2))
    [2500;[1 2 3;1 2 4;1 3 4];[14 200 36 0 0;50 0 0 200 0;50 0 0 200 0];3;""] 