source: mystic/README.md @ 749

Revision 749, 4.1 KB checked in by mmckerns, 21 months ago (diff)

trimmed tagline

Line 
1mystic
2======
3highly-constrained non-convex optimization and uncertainty quantification
4
5About Mystic
6------------
7The mystic framework provides a collection of optimization algorithms
8and tools that allows the user to more robustly (and readily) solve
9optimization problems. All optimization algorithms included in mystic
10provide workflow at the fitting layer, not just access to the algorithms
11as function calls. Mystic gives the user fine-grained power to both
12monitor and steer optimizations as the fit processes are running.
13
14Where possible, mystic optimizers share a common interface, and thus can
15be easily swapped without the user having to write any new code. Mystic
16solvers all conform to a solver API, thus also have common method calls
17to configure and launch an optimization job. For more details, see
18`mystic.abstract_solver`. The API also makes it easy to bind a favorite
193rd party solver into the mystic framework.
20
21By providing a robust interface designed to allow the user to easily
22configure and control solvers, mystic reduces the barrier to implementing
23a target fitting problem as stable code. Thus the user can focus on
24building their physical models, and not spend time hacking together an
25interface to optimization code.
26
27Mystic is in the early development stages, and any user feedback is
28highly appreciated. Contact Mike McKerns [mmckerns at caltech dot edu]
29with comments, suggestions, and any bugs you may find.  A list of known
30issues is maintained at http://trac.mystic.cacr.caltech.edu/project/mystic/query.
31
32Major Features
33--------------
34Mystic provides a stock set of configurable, controllable solvers with::
35
36* a common interface
37* the ability to impose solver-independent bounds constraints
38* the ability to apply solver-independent monitors
39* the ability to configure solver-independent termination conditions
40* a control handler yielding: [pause, continue, exit, and user_callback]
41* ease in selecting initial conditions: [initial_guess, random]
42* ease in selecting mutation strategies (for differential evolution)
43
44To get up and running quickly, mystic also provides infrastructure to::
45
46* easily generate a fit model (several example models are included)
47* configure and auto-generate a cost function from a model
48* extend fit jobs to parallel & distributed resources
49* couple models with optimization parameter constraints [COMING SOON]
50
51
52Current Release
53---------------
54The latest released version of mystic is available from::
55    http://trac.mystic.cacr.caltech.edu/project/mystic
56
57Mystic is distributed under a 3-clause BSD license.
58
59Development Release
60-------------------
61You can get the latest development release with all the shiny new features at::
62    http://dev.danse.us/packages.
63
64or even better, fork us on our github mirror of the svn trunk::
65    https://github.com/uqfoundation
66
67Citation
68--------
69If you use mystic to do research that leads to publication, we ask that you
70acknowledge use of mystic by citing the following in your publication::
71
72    M.M. McKerns, L. Strand, T. Sullivan, A. Fang, M.A.G. Aivazis,
73    "Building a framework for predictive science", Proceedings of
74    the 10th Python in Science Conference, 2011;
75    http://arxiv.org/pdf/1202.1056
76
77    Michael McKerns, Patrick Hung, and Michael Aivazis,
78    "mystic: a simple model-independent inversion framework", 2009- ;
79    http://trac.mystic.cacr.caltech.edu/project/mystic
80
81More Information
82----------------
83Probably the best way to get started is to look at the tutorial examples provided
84within the user's guide.  The source code is also generally well documented,
85so further questions may be resolved by inspecting the code itself, or through
86browsing the reference manual. For those who like to leap before
87they look, you can jump right to the installation instructions. If the aforementioned documents
88do not adequately address your needs, please send us feedback.
89
90Mystic is an active research tool. There are a growing number of publications and presentations that
91discuss real-world examples and new features of mystic in greater detail than presented in the user's guide.
92If you would like to share how you use mystic in your work, please send us a link.
Note: See TracBrowser for help on using the repository browser.