« Previous « Start » Next »
16 Constrained Goal Attainment
The TOMLAB bundle
testprob provides two sets of problems for
constrained goal attainment problems:
goals_prob and
mco_prob.
16.1 An example of a constrained goal attainment problems
The basic structure of a constrained goal attainment problems
is the following:
|
|
max lam: r(x) − w * lam ≤ g |
subject to |
xL |
≤ |
x |
≤ |
xU |
|
bL |
≤ |
Ax |
≤ |
bU |
|
cL |
≤ |
c(x) |
≤ |
cU |
|
(18) |
where
x,
xL,
xU Rn,
r(
x)
RN,
c(
x),
cL,
cU
Rm1,
bL,
bU Rm2,
A Rm2 ×
n,
g Rm, and
w Rm.
An example of a problem of this class,
(that is also found in the TOMLAB quickguide) is goalsQG:
File: tomlab/quickguide/goalsQG_r.m, goalsQG_J.m, goalsQG_c, goalsQG_dc
r: Residual vector
J: Jacobian matrix
c: Nonlinear constraint vector
dc: Nonlinear constraint gradient matrix
The following file illustrates how to define and solve a problem
of this category in TOMLAB.
File: tomlab/quickguide/goalsQG.m
% goalsQG is a small example problem for defining and solving
% multi criteria optimization problems using the TOMLAB format.
Name='EASY-TP355';
% Constrained least squares problem, four quadratic terms and local solutions
% Hock W., Schittkowski K. (1981):
x_0 = zeros(4,1); % Lower bounds for x.
x_L = zeros(4,1); % Upper bounds for x.
x_U = 1e5*ones(4,1); % Starting point.
x_min = []; % For plotting.
x_max = []; % For plotting.
A = [1 0 0 0;0 1 0 0]; % Linear constraints.
b_L = [0.1;0.1]; % Lower bounds.
b_U = [0.1;0.1]; % Upper bounds.
c_L = 0; % Lower bounds.
c_U = 0; % Upper bounds.
y = zeros(2,1); % Residuals
Prob = clsAssign('goalsQG_r', 'goalsQG_J', [], x_L, x_U, Name, x_0,...
y, [], [], [], [], [],...
A, b_L, b_U, 'goalsQG_c', 'goalsQG_dc', [], c_L, c_U,...
x_min, x_max);
PriLev = 2;
Result = tomRun('goalSolve', Prob, PriLev);
16.2 mco_prob
In
glb_prob
there are 9 Multi-Criterium unconstrained and constrained nonlinear test problems
with up to 10 variables and few constrains.
In order to define the problem
n
and solve it execute the following in Matlab:
Prob = probInit('mco_prob',n);
Result = tomRun('',Prob);
16.3 goals_prob
In
goals_prob
there are 9 constrained goal attainment
test problems with sizes to 9 variables and about 10 constrains.
In order to define the problem
n
and solve it execute the following in Matlab:
Prob = probInit('goals_prob',n);
Result = goalSolve(Prob,1);
« Previous « Start » Next »