Quickguide GOAL Problem: Difference between revisions

From TomWiki
Jump to navigationJump to search
(Created page with "{{Part Of Manual|title=the Quickguide Manual|link=Quickguide}} The '''constrained goal attainment''' ('''goal''') problem is defined as <math> \begin{array}{cccc...")
 
No edit summary
 
Line 4: Line 4:


<math>
<math>
\begin{array}{cccccc}    \min\limits_x & \multicolumn{5}{l}{\max \ \ lam: r(x) - w * lam \leq g} \\    \mbox{subject to} & x_L & \leq &  x  & \leq & x_U \\    {}                & b_L & \leq &  Ax  & \leq & b_U \\    {}                & c_L & \leq & c(x) & \leq & c_U \\\end{array}
\begin{array}{cccccc}    \min\limits_x & {\max \ \ lam: r(x) - w * lam \leq g} \\    \mbox{subject to} & x_L & \leq &  x  & \leq & x_U \\    {}                & b_L & \leq &  Ax  & \leq & b_U \\    {}                & c_L & \leq & c(x) & \leq & c_U \\\end{array}
</math>
</math>


where <math>x,x_L,x_U \in R^{n}</math>, <math>r(x) \in R^{N}</math>, <math>c(x),c_L,c_U
where <math>x,x_L,x_U \in \mathbb{R}^{n}</math>, <math>r(x) \in \mathbb{R}^{N}</math>, <math>c(x),c_L,c_U
\in R^{m_1}</math>, <math>b_L,b_U \in R^{m_2}</math>, <math>A\in R^{m_2 \times
\in \mathbb{R}^{m_1}</math>, <math>b_L,b_U \in \mathbb{R}^{m_2}</math>, <math>A\in \mathbb{R}^{m_2 \times
n}</math>, <math>g \in R^{m}</math>, and <math>w \in R^{m}</math>.
n}</math>, <math>g \in \mathbb{R}^{m}</math>, and <math>w \in \mathbb{R}^{m}</math>.


The goal solution can be obtained by the use of any suitable nonlinear <span class="roman">TOMLAB</span> solver.
The goal solution can be obtained by the use of any suitable nonlinear <span class="roman">TOMLAB</span> solver.
Line 30: Line 30:
Open the file for viewing, and execute goalsQG in Matlab.
Open the file for viewing, and execute goalsQG in Matlab.


<syntaxhighlight lang="matlab">
<source lang="matlab">
  % goalsQG is a small example problem for defining and solving
  % goalsQG is a small example problem for defining and solving
  % multi criteria optimization problems using the TOMLAB format.
  % multi criteria optimization problems using the TOMLAB format.
Line 56: Line 56:
  PriLev = 2;             
  PriLev = 2;             
  Result = tomRun('goalSolve', Prob, PriLev);
  Result = tomRun('goalSolve', Prob, PriLev);
</syntaxhighlight>
</source>

Latest revision as of 18:17, 17 January 2012

Notice.png

This page is part of the Quickguide Manual. See Quickguide.

The constrained goal attainment (goal) problem is defined as


where , , , , , , and .

The goal solution can be obtained by the use of any suitable nonlinear TOMLAB solver.

The following files define a problem in TOMLAB.

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 solve a goal attainment problem in TOMLAB. Also view the m-files specified above for more information.

File: tomlab/quickguide/goalsQG.m

Open the file for viewing, and execute goalsQG in Matlab.

 % 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);