xref: /petsc/src/tao/unconstrained/impls/neldermead/neldermead.h (revision a7e14dcfba0d07adf6226a919460249440ec94c7)
1*a7e14dcfSSatish Balay #ifndef __TAO_NELDERMEAD_H
2*a7e14dcfSSatish Balay #define __TAO_NELDERMEAD_H
3*a7e14dcfSSatish Balay #include "tao-private/taosolver_impl.h"
4*a7e14dcfSSatish Balay 
5*a7e14dcfSSatish Balay 
6*a7e14dcfSSatish Balay typedef struct {
7*a7e14dcfSSatish Balay 
8*a7e14dcfSSatish Balay   PetscReal mu_ic;
9*a7e14dcfSSatish Balay   PetscReal mu_oc;
10*a7e14dcfSSatish Balay   PetscReal mu_r;
11*a7e14dcfSSatish Balay   PetscReal mu_e;
12*a7e14dcfSSatish Balay 
13*a7e14dcfSSatish Balay   PetscReal lamda;  /*  starting point delta for finding starting simplex */
14*a7e14dcfSSatish Balay 
15*a7e14dcfSSatish Balay   PetscInt N;
16*a7e14dcfSSatish Balay   PetscReal oneOverN;
17*a7e14dcfSSatish Balay   Vec Xbar,Xmuc,Xmur,Xmue;
18*a7e14dcfSSatish Balay   Vec G;
19*a7e14dcfSSatish Balay   Vec *simplex;
20*a7e14dcfSSatish Balay 
21*a7e14dcfSSatish Balay   PetscReal *f_values;
22*a7e14dcfSSatish Balay   PetscInt *indices;
23*a7e14dcfSSatish Balay 
24*a7e14dcfSSatish Balay   PetscInt nshrink;
25*a7e14dcfSSatish Balay   PetscInt nexpand;
26*a7e14dcfSSatish Balay   PetscInt nreflect;
27*a7e14dcfSSatish Balay   PetscInt nincontract;
28*a7e14dcfSSatish Balay   PetscInt noutcontract;
29*a7e14dcfSSatish Balay 
30*a7e14dcfSSatish Balay 
31*a7e14dcfSSatish Balay } TAO_NelderMead;
32*a7e14dcfSSatish Balay 
33*a7e14dcfSSatish Balay #endif /* ifndef __TAO_NELDERMEAD_H */
34