# TOMLAB  
# REGISTER (TOMLAB)
# LOGIN  
# myTOMLAB
TOMLAB LOGO

« 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:

 
min
x
max lam: r(x) − w * lamg
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 »