// $Id: boundsparams.dox,v 1.2 2004/11/22 22:40:49 tgkolda Exp $ 
// $Source: /space/CVS-Acro/acro/packages/appspack/appspack/doc/input/boundsparams.dox,v $ 

/*!

\page pageBoundsParameters Bounds Parameters

The following parameters can be passed to the
APPSPACK::Constraints::Bounds. If using an input file, these should be
in the "Bounds" sublist (see \ref pageExecutables).

The parameter list passed into the constructor should contain some
combination of the following vector parameters:

<ul>
<li> "Lower" - The lower bounds
<li> "Upper" - The upper bounds
<li> "Scaling" - Scaling vector
<li> "Is Lower" - 0/1 vector indicating whether or not each lower bound is active
<li> "Is Upper" - 0/1 vector indicating whether or not each upper bound is active
</ul>
  
For example, consider the bound constraints on the following problem
with three variables: \f[
\begin{array}{ccccc}
&& x_1 & \leq & 5.7 \\
-0.6 & \leq & x_2 & & \\
0 & \leq & x_3 & \leq & 1.3 \\
\end{array}
\f]

If using the \ref pageExecutables, then the input file would look as follows.

\verbatim
"Lower" vector 3 0 -0.6 0
"Upper" vector 3 5.7 0 1.3
"Is Lower" vector 3 0 1 1
"Is Upper" vector 3 1 0 1
"Scaling" vector 3 1 1 1
\endverbatim

Note that we have explicitly defined "Scaling". This can only be
definied implicity if the lower and upper bounds exist for every
variable, in which case it is computed as
\f[
s_i = u_i - \ell_i
\f]
where \f$s_i\f$ represents the i-th entry of the scaling vector,
\f$u_i\f$ represents the i-th upper bound, and
\f$\ell_i\f$ represents the i-th lower bound.

\sa \ref pageExecutables_step2

*/
