Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - English


optimsimplex_shrink

Shrinks the simplex.

Syntax

opt = optimsimplex_shrink(opt, fun, [sigma])
[opt, data] = optimsimplex_shrink(opt, fun, sigma, data)

Argument

opt

The current simplex object of TSIMPLEX type (tlist).

fun

The function to compute at vertices.

The fun function is expected to have the following input and output arguments:

y = myfunction (x)
sigma

The shrinkage coefficient (optional). The default value is 0.5.

data

User-defined data passed to the function (optional).

If data is provided, it is passed to the callback function both as an input and output argument. In that case, the function must have the following header :

[y, data] = myfunction (x, data)

The data input parameter may be used if the function uses some additional parameters. It is returned as an output parameter because the function may modify the data while computing the function value. This feature may be used, for example, to count the number of times that the function has been called.

Description

The optimsimplex_shrink function shrinks the simplex with given coefficient sigma and returns an updated simplex. The shrink is performed with respect to the first point in the simplex.

Example

function y=rosenbrock(x)
  y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
endfunction

s1 = optimsimplex_new ();
simplex = [
-12   0.    0.
0   1.    0.
0   0.    1.
];
s1 = optimsimplex_setall ( s1 , simplex );
s1 = optimsimplex_shrink ( s1 , rosenbrock );
res = optimsimplex_getall ( s1 );
disp(res)

s1 = optimsimplex_destroy(s1);

See also

Report an issue
<< optimsimplex_setx Simplex optimsimplex_size >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:30:04 CEST 2023