25.11.2015 Views

The MOSEK command line tool Version 7.0 (Revision 141)

The MOSEK command line tool. Version 7.0 ... - Documentation

The MOSEK command line tool. Version 7.0 ... - Documentation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.5. NONLINEAR CONVEX OPTIMIZATION 45<br />

5.5 Non<strong>line</strong>ar convex optimization<br />

5.5.1 <strong>The</strong> interior-point optimizer<br />

For quadratic, quadratically constrained, and general convex optimization problems an interior-point<br />

type optimizer is available. <strong>The</strong> interior-point optimizer is an implementation of the homogeneous and<br />

self-dual algorithm. For a detailed description of the algorithm, please see [9], [10].<br />

5.5.1.1 <strong>The</strong> convexity requirement<br />

Continuous non<strong>line</strong>ar problems are required to be convex. For quadratic problems <strong>MOSEK</strong> test this<br />

requirement before optimizing. Specifying a non-convex problem results in an error message.<br />

<strong>The</strong> following parameters are available to control the convexity check:<br />

• MSK IPAR CHECK CONVEXITY: Turn convexity check on/off.<br />

• MSK DPAR CHECK CONVEXITY REL TOL: Tolerance for convexity check.<br />

• MSK IPAR LOG CHECK CONVEXITY: Turn on more log information for debugging.<br />

5.5.1.2 <strong>The</strong> differentiabilty requirement<br />

<strong>The</strong> non<strong>line</strong>ar optimizer in <strong>MOSEK</strong> requires both first order and second order derivatives. This of<br />

course implies care should be taken when solving problems involving non-differentiable functions.<br />

For instance, the function<br />

is differentiable everywhere whereas the function<br />

f(x) = x 2<br />

f(x) = √ x<br />

is only differentiable for x > 0 . In order to make sure that <strong>MOSEK</strong> evaluates the functions at points<br />

where they are differentiable, the function domains must be defined by setting appropriate variable<br />

bounds.<br />

In general, if a variable is not ranged <strong>MOSEK</strong> will only evaluate that variable at points strictly within<br />

the bounds. Hence, imposing the bound<br />

x ≥ 0<br />

in the case of √ x is sufficient to guarantee that the function will only be evaluated in points where it<br />

is differentiable.<br />

However, if a function is differentiable on closed a range, specifying the variable bounds is not sufficient.<br />

Consider the function

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!