Models Nonlinear Programming Problems: con prob and chs prob: Difference between revisions
(Created page with "{{Part Of Manual|title=TOMLAB Models|link=TOMLAB Models}} The TOMLAB bundle testprob provides three sets of test problems for nonlinear problems: <tt>con_prob</tt> an...") |
No edit summary |
||
Line 19: | Line 19: | ||
</math> | </math> | ||
where <math>x, x_L, x_U \in \ | where <math>x, x_L, x_U \in \mathbb{R}^n</math>, <math>f(x) \in \mathbb{R}</math>, <math>A \in \mathbb{R}^{m_1 \times n}</math>, <math>b_L,b_U \in \mathbb{R}^{m_1}</math> and <math>c_L,c(x),c_U \in \mathbb{R}^{m_2}</math>. | ||
An example of a problem of this class, (that is also found in the TOMLAB quickguide) is nlpQG: | An example of a problem of this class, (that is also found in the TOMLAB quickguide) is nlpQG: |
Revision as of 12:58, 8 December 2011
This page is part of TOMLAB Models. See TOMLAB Models. |
The TOMLAB bundle testprob provides three sets of test problems for nonlinear problems: con_prob and chs_prob.
An example of a nonlinear problem
The basic structure of a general nonlinear problem is the following
where , , , and .
An example of a problem of this class, (that is also found in the TOMLAB quickguide) is nlpQG:
TOMLAB requires that general nonlinear problems are defined in Matlab m-files. The function to be optimized must always be supplied. It is recommended that the user supply as many analytical functions as possible. There are six methods available for numerical differentiation and also two for automatic.
The following files define the problem in TOMLAB.
File: tomlab/quickguide/rbbQG f.m, rbbQG g.m, rbbQG H.m, rbbQG c.m, rbbQG dc.m, rbbQG d2c.m
f: Function value g: Gradient vector H: Hessian matrix c: Nonlinear constraint vector dc: Nonlinear constraint gradient matrix d2c: The second part of the Hessian to the Lagrangian function for the nonlinear constraints.
The following file illustrates how to solve this NLP (CON) problem in TOMLAB. Also view the m-files specified above for more information.
File: tomlab/quickguide/nlpQG.m
Open the file for viewing, and execute nlpQG in Matlab.
% nlpQG is a small example problem for defining and solving
% nonlinear programming problems using the TOMLAB format.
Name = 'RBB Problem';
x_0 = [-1.2 1]'; % Starting values for the optimization.
x_L = [-10;-10]; % Lower bounds for x.
x_U = [2;2]; % Upper bounds for x.
fLowBnd = 0; % Lower bound on function.
c_L = -1000; % Lower bound on nonlinear constraints.
c_U = 0; % Upper bound on nonlinear constraints.
Prob = conAssign('rbbQG_f', 'rbbQG_g', 'rbbQG_H', [], x_L, x_U, Name, x_0,...
[], fLowBnd, [], [], [], 'rbbQG_c', 'rbbQG_dc', 'rbbQG_d2c', [], c_L, c_U);
Prob.Warning = 0; % Turning off warnings.
Result = tomRun('ucSolve', Prob, 1); % Ignores constraints.
% Result = tomRun('conopt', Prob, 1);
% Result = tomRun('snopt', Prob, 1);
con_prob
con_prob is a collection of 17 constrained nonlinear test problems with 2 to 100 variables and up to 50 constrains. In order to define the problem n and solve it execute the following in Matlab:
Prob = probInit('con_prob',n); Result = tomRun('',Prob);
chs_prob
chs_prob is a collection of 180 constrained nonlinear test problems from the Hoch-Schittkowski set with 2 to 50 variables and about 10 constrains. In order to define the problem n and solve it execute the following in Matlab:
Prob = probInit('chs_prob',n); Result = tomRun('',Prob);