chiark / gitweb /
put source code into src subdirectory
[nlopt.git] / src / algs / cobyla / cobyla.h
1 /* cobyla : contrained optimization by linear approximation */
2
3 /*
4  * Copyright (c) 1992, Michael J. D. Powell (M.J.D.Powell@damtp.cam.ac.uk)
5  * Copyright (c) 2004, Jean-Sebastien Roy (js@jeannot.org)
6  * 
7  * Permission is hereby granted, free of charge, to any person obtaining a
8  * copy of this software and associated documentation files (the
9  * "Software"), to deal in the Software without restriction, including
10  * without limitation the rights to use, copy, modify, merge, publish,
11  * distribute, sublicense, and/or sell copies of the Software, and to
12  * permit persons to whom the Software is furnished to do so, subject to
13  * the following conditions:
14  * 
15  * The above copyright notice and this permission notice shall be included
16  * in all copies or substantial portions of the Software.
17  * 
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25  */
26
27 /*
28  * This software is a C version of COBYLA2, a contrained optimization by linear
29  * approximation package developed by Michael J. D. Powell in Fortran.
30  * 
31  * The original source code can be found at :
32  * http://plato.la.asu.edu/topics/problems/nlores.html
33  */
34
35 /* $Jeannot: cobyla.h,v 1.10 2004/04/18 09:51:37 js Exp $ */
36
37 #ifndef _COBYLA_
38 #define _COBYLA_
39
40 #include "nlopt.h"
41 #include "nlopt-util.h"
42
43 #ifdef __cplusplus
44 extern "C"
45 {
46 #endif /* __cplusplus */
47
48 /* NLopt-style interface function */
49 nlopt_result cobyla_minimize(unsigned n, nlopt_func f, void *f_data,
50                              unsigned m, nlopt_constraint *fc,
51                              unsigned p, nlopt_constraint *h,
52                              const double *lb, const double *ub, /* bounds */
53                              double *x, /* in: initial guess, out: minimizer */
54                              double *minf,
55                              nlopt_stopping *stop,
56                              const double *dx);
57
58 #ifdef __cplusplus
59 }
60 #endif
61
62 #endif /* _COBYLA_ */