/** \page xml2 XML File 2: Hock-Schittkowski Problem Number 14 (subroutine) The XML file for OPT++ can be thought of as being broken down into blocks of XML. Each block must be "opened" and "closed". The main block is the OPT block. It has two sub-blocks, ProblemSetup and the algorithm block. Each of those has sub-blocks which contain the detailed information for OPT++. The ProblemSetup block has four sub-blocks. The first is the function type. In this case, it is "Library" since we are using the subroutine interface. You can see the data values for the Hock-Schittkowski example.

\code \endcode

The second sub-block is the VariableClass block. It contains an array of the optimization variables. Recall that for Rosenbrock's function, there are no bounds on the variables, so the "lower" and "upper" values consist only of empty quotes.

\code \endcode

The third sub-block is LConstraintClass. The syntax may seem slightly excessive, but it if really just an array of LinearConstraint blocks, each of which is essentially a list of the variables and their coefficients. Each LinearConstraint also contains information about the comparison operator (which can be >= or =) and the right-hand side.

\code \endcode

The third sub-block is NLConstraintClass. This is an array of NonLinearConstraint blocks, each of which contains the description of one of the nonlinear constraints. This includes information about the comparison operator (which can be >= or =) and the right-hand side. The desription of the constraint itself is of the same form as that for the function.

\code \endcode

The algorithm block is named according to the algorithm that is being used. In this case, it is NIPS. (The other possibilities are CG, Newton, and PDS.) The algorithm block has three sub-blocks that contain the algorithmic parameters. There are the BasicOptions, the AdvancedOptions, and the algorithm-specific parameters. The BasicOptions and AdvancedOptions are the same for all of the algorithms. The algorithm-specific parameters vary. You can see what they are for the different algorithms by looking at the examples in the OPT++/tests/xml directory.

\code \endcode

Previous Example: \ref xml1 | Next Example: \ref xml3 | Back to \ref GUI_XMLDoc

*/