Changeset 240


Ignore:
Timestamp:
05/21/10 13:26:14 (6 years ago)
Author:
mmckerns
Message:

tag for the mystic-0.2a1 release

Files:
1 added
4 deleted
15 edited
6 copied
1 moved

Legend:

Unmodified
Added
Removed
  • DEV_NOTES

    r142 r240  
    1111 - how to frame metropolis with solver.Solve()? 
    1212 - how to integrate support-vector tools with solver? 
    13 [parallel solvers] 
    14  - integrate/import from mystic core whenever possible 
    1513 
    1614= OTHER NOTES = 
    17 mystic/const.py: 
    18  - only used in pyina, used with pyinamodule 
    1915mystic/helputil.py: 
    2016 - generic utility functions (non-essential) 
    21  - the only one that is used is 'paginate' (in derun & tools.ensure_mpi) 
     17 - the only one that is used is 'paginate' (in derun) 
  • DEV_TODO

    r112 r240  
    11DIRECT: 
    22* Add more python optimizers: scipy, OpenOpt, PARK (snobfit) 
    3 * Genertate python bindings to DAKOTA; add DAKOTA optimizers 
    43* Allow for derivative and gradient capture -> use Sow? 
    5 * Update the parallel branch (pyina), get "handler" to work in parallel (ipd?) 
     4* get "handler" to work in parallel 
    65* Better 'programmatic' interface for handler 
    76* Add more options to handler (i.e. toggle_verbosity?, get_cost?, ...?) 
    87* Allow sigint_callback to take a list (i.e. provide call[i]) 
    98* Add "constraints" to models (design similar to pyre.inventory and validators) 
    10 * Extend parallel launcher and communication to distributed services (gsl & idd) 
    119 
    1210INDIRECT: 
    1311* Build a failure test suite, and a proper test suite 
    1412* Try one of the VTF apps... or Sean's "cain" library 
    15 * Clean-up and package "gsl infect" core utilities 
    1613 
    1714REFERENCE: 
     
    2017* <-- Find OpenOpt's model & optimizer API --> 
    2118* <-- Find DAKOTA's model & optimizer API --> 
    22  
    23 (DONE or MOSTLY DONE): 
    24 * Standardize the interfaces, also organize imports better 
    25 * Modify Sow to accept n-inputs, instead of just two inputs 
  • mystic/Make.mm

    r236 r240  
    66    mystic \ 
    77    models \ 
    8     math \ 
     8    _math \ 
    99 
    1010OTHER_DIRS = \ 
  • mystic/_math/__init__.py

    r237 r240  
    99Mystic provides a set of mathematical functions that support various 
    1010advanced optimization features such as uncertainty analysis and 
    11 parameter sensitivity.  These functions are provided:: 
    12     ...          -- ... 
     11parameter sensitivity.  (These functions are to be provided in an 
     12upcoming release.) 
    1313 
    1414 
  • mystic/_math/grid.py

    r236 r240  
    4040 
    4141def random_samples(lb,ub,npts=10000): 
    42   "generate npts random samples between given lb & ub" 
     42  """ 
     43generate npts random samples between given lb & ub 
     44 
     45Inputs: 
     46  - lower bounds  --  a list of the lower bounds 
     47  - upper bounds  --  a list of the upper bounds 
     48  - npts  --  number of sample points [default = 10000] 
     49""" 
    4350  from numpy.random import random 
    4451  dim = len(lb) 
     
    5360takes upper and lower bounds (e.g. ub = [2,4], lb = [0,3]) 
    5461produces a list of sample points s = [[1,3],[1,4],[2,3],[2,4]] 
     62 
     63Inputs: 
     64  - lower bounds  --  a list of the lower bounds 
     65  - upper bounds  --  a list of the upper bounds 
     66  - npts  --  number of sample points 
    5567    """ 
    5668    q = random_samples(lb,ub,npts) 
  • mystic/mystic/__init__.py

    r224 r240  
    33# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    44# 
    5 #                       Patrick Hung & Mike McKerns, Caltech 
     5#                       Mike McKerns & Patrick Hung, Caltech 
    66#                        (C) 1997-2010  All Rights Reserved 
    77# 
     
    5252    - easily generate a fit model (several example models are included) 
    5353    - configure and auto-generate a cost function from a model 
     54    - extend fit jobs to parallel & distributed resources 
    5455    - couple models with optimization parameter constraints [COMING SOON] 
    55     - extend fit jobs to parallel & distributed resources [COMING SOON] 
    5656 
    5757 
     
    5959=============== 
    6060 
    61 This release version is mystic-0.1a2. You can download it here. 
     61This release version is mystic-0.2a1. You can download it here. 
    6262The latest version of mystic is available from:: 
    6363    http://dev.danse.us/trac/mystic 
     
    7272download the tarball, unzip, and run the installer:: 
    7373    [download] 
    74     $ tar -xvzf mystic-0.1a2.tgz 
    75     $ cd mystic-0.1a2 
     74    $ tar -xvzf mystic-0.2a1.tgz 
     75    $ cd mystic-0.2a1 
    7676    $ python setup py build 
    7777    $ python setup py install 
     
    127127interface. 
    128128 
     129Mystic extends the solver API to parallel computing by providing a solver 
     130class that utilizes the parallel map-reduce algorithm. Mystic includes 
     131a set of defaults in `mystic.mystic.python_map` that mirror the behavior 
     132of serial python and the built-in python map function. Mystic solvers 
     133built on map-reduce can utilize the distributed and parallel tools provided 
     134by the `pathos` package, and thus with little new code solvers are 
     135extended to high-performance computing. For more information, see 
     136`mystic.mystic.abstract_map_solver`, `mystic.mystic.abstract_nested_solver`, 
     137and the pathos documentation at http://dev.danse.us/trac/pathos. 
     138 
    129139Important classes and functions are found here:: 
    130140    - mystic.mystic.abstract_solver [the solver API definition] 
     141    - mystic.mystic.abstract_map_solver [the parallel solver API] 
     142    - mystic.mystic.abstract_nested_solver [the nested solver API] 
    131143    - mystic.mystic.termination     [solver termination conditions] 
    132144    - mystic.mystic.strategy        [solver population mutation strategies] 
    133145    - mystic.models.abstract_model  [the model API definition] 
    134146    - mystic.models.forward_model   [cost function generator] 
    135     - mystic.mystic.tools           [monitors, function wrappers, and other useful tools] 
     147    - mystic.mystic.tools           [monitors, function wrappers, and other tools] 
     148    - mystic.mystic.math            [some useful mathematical functions and tools] 
    136149 
    137150Solvers are found here:: 
    138151    - mystic.mystic.differential_evolution [Differential Evolution solvers] 
    139152    - mystic.mystic.scipy_optimize         [Nelder-Mead and Powell's Directional solvers] 
     153    - mystic.mystic.nested                 [Batch Grid and Scattershot solvers] 
    140154 
    141155 
     
    145159Please see http://dev.danse.us/trac/mystic for further information. 
    146160""" 
    147 __version__ = '0.1a2' 
    148 __author__ = 'Mike McKerns, Patrick Hung' 
     161__version__ = '0.2a1' 
     162__author__ = 'Mike McKerns' 
    149163 
    150164__license__ = """ 
     
    182196ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    183197 
    184 Copyright (c) 2009 California Institute of Technology. All rights reserved. 
     198Copyright (c) 2010 California Institute of Technology. All rights reserved. 
    185199 
    186200 
     
    196210 
    197211# solvers 
    198 import differential_evolution, scipy_optimize 
     212import differential_evolution, scipy_optimize, nested 
    199213 
    200214# strategies, termination conditions 
  • mystic/mystic/abstract_map_solver.py

    r234 r240  
    3737    >>> from pyina.launchers import mpirun_launcher 
    3838    >>> from pyina.mappers import equalportion_mapper 
    39     >>> from pyina.ez_map import ez_map 
     39    >>> from pyina.ez_map import ez_map2 
    4040    >>> NNODES = 4 
    4141    >>> 
     
    4444    >>> solver = NelderMeadSimplexMapSolver(len(x0)) 
    4545    >>> solver.SetInitialPoints(x0)            #FIXME: use batchgrid w/ bounds 
    46     >>> solver.SetMapper(ez_map, equalportion_mapper) 
     46    >>> solver.SetMapper(ez_map2, equalportion_mapper) 
    4747    >>> solver.SetLauncher(mpirun_launcher, NNODES) 
    4848    >>> solver.Solve(rosen, CRT(), StepMonitor=stepmon) 
     
    222222        return 
    223223 
    224     ''' 
    225     def Solve(self, func, termination, sigint_callback=None, 
    226               EvaluationMonitor=Null, StepMonitor=Null, ExtraArgs=(), **kwds): 
    227         """solve function 'func' with given termination conditions 
    228  
    229 *** this method must be overwritten ***""" 
    230         raise NotImplementedError, "must be overwritten..." 
    231     ''' 
    232  
    233224 
    234225if __name__=='__main__': 
  • mystic/mystic/abstract_nested_solver.py

    r234 r240  
    3737    >>> # select the parallel launch configuration 
    3838    >>> from pyina.launchers import mpirun_launcher 
    39     >>> from pyina.ez_map import ez_map 
     39    >>> from pyina.ez_map import ez_map2 
    4040    >>> NNODES = 4 
    4141    >>> nbins = [4,4,4] 
     
    4747    >>> solver.SetNestedSolver(NelderMeadSimplexSolver) 
    4848    >>> solver.SetStrictRanges(lb, ub) 
    49     >>> solver.SetMapper(ez_map) 
     49    >>> solver.SetMapper(ez_map2) 
    5050    >>> solver.SetLauncher(mpirun_launcher, NNODES) 
    5151    >>> solver.Solve(rosen, CRT(), StepMonitor=stepmon) 
  • mystic/setup.py

    r236 r240  
    1616setup_code = """ 
    1717setup(name='mystic', 
    18       version='0.1a2', 
     18      version='0.2a1', 
    1919      description='a simple interactive inversion analysis framework', 
    20       author = 'Mike McKerns, Patrick Hung', 
     20      author = 'Mike McKerns', 
    2121      maintainer = 'Mike McKerns', 
    2222      maintainer_email = 'mmckerns@caltech.edu', 
     
    3030      packages = ['mystic','mystic.models','mystic.math'], 
    3131      package_dir = {'mystic':'mystic','mystic.models':'models', 
    32                      'mystic.math':'math'}, 
     32                     'mystic.math':'_math'}, 
    3333""" 
    3434 
  • releases/Makefile

    r146 r240  
    11# CURRENT RELEASE: 
    22#--------------------------------------------------- 
    3 NPATCH_0_1a2 = 0 
     3NPATCH_0_2a1 = 0 
    44#--------------------------------------------------- 
    55 
     
    77 
    88release: 
     9        tar -cvzf mystic-0.2a1.tgz mystic-0.2a1 
     10 
     11clean: 
     12        svn up 
     13 
     14 
     15# PRIOR RELEASE: 
     16#--------------------------------------------------- 
     17NPATCH_0_1a2 = 0 
     18#--------------------------------------------------- 
     19 
     20release_0_1a2: 
    921        tar -cvzf mystic-0.1a2.tgz mystic-0.1a2 
    1022 
    11 clean: 
     23clean_0_1a2: 
    1224        svn up 
    1325 
  • releases/mystic-0.2a1/_math/__init__.py

    r237 r240  
    99Mystic provides a set of mathematical functions that support various 
    1010advanced optimization features such as uncertainty analysis and 
    11 parameter sensitivity.  These functions are provided:: 
    12     ...          -- ... 
     11parameter sensitivity.  (These functions are to be provided in an 
     12upcoming release.) 
    1313 
    1414 
  • releases/mystic-0.2a1/_math/grid.py

    r236 r240  
    4040 
    4141def random_samples(lb,ub,npts=10000): 
    42   "generate npts random samples between given lb & ub" 
     42  """ 
     43generate npts random samples between given lb & ub 
     44 
     45Inputs: 
     46  - lower bounds  --  a list of the lower bounds 
     47  - upper bounds  --  a list of the upper bounds 
     48  - npts  --  number of sample points [default = 10000] 
     49""" 
    4350  from numpy.random import random 
    4451  dim = len(lb) 
     
    5360takes upper and lower bounds (e.g. ub = [2,4], lb = [0,3]) 
    5461produces a list of sample points s = [[1,3],[1,4],[2,3],[2,4]] 
     62 
     63Inputs: 
     64  - lower bounds  --  a list of the lower bounds 
     65  - upper bounds  --  a list of the upper bounds 
     66  - npts  --  number of sample points 
    5567    """ 
    5668    q = random_samples(lb,ub,npts) 
  • releases/mystic-0.2a1/mystic/__init__.py

    r224 r240  
    33# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    44# 
    5 #                       Patrick Hung & Mike McKerns, Caltech 
     5#                       Mike McKerns & Patrick Hung, Caltech 
    66#                        (C) 1997-2010  All Rights Reserved 
    77# 
     
    5252    - easily generate a fit model (several example models are included) 
    5353    - configure and auto-generate a cost function from a model 
     54    - extend fit jobs to parallel & distributed resources 
    5455    - couple models with optimization parameter constraints [COMING SOON] 
    55     - extend fit jobs to parallel & distributed resources [COMING SOON] 
    5656 
    5757 
     
    5959=============== 
    6060 
    61 This release version is mystic-0.1a2. You can download it here. 
     61This release version is mystic-0.2a1. You can download it here. 
    6262The latest version of mystic is available from:: 
    6363    http://dev.danse.us/trac/mystic 
     
    7272download the tarball, unzip, and run the installer:: 
    7373    [download] 
    74     $ tar -xvzf mystic-0.1a2.tgz 
    75     $ cd mystic-0.1a2 
     74    $ tar -xvzf mystic-0.2a1.tgz 
     75    $ cd mystic-0.2a1 
    7676    $ python setup py build 
    7777    $ python setup py install 
     
    127127interface. 
    128128 
     129Mystic extends the solver API to parallel computing by providing a solver 
     130class that utilizes the parallel map-reduce algorithm. Mystic includes 
     131a set of defaults in `mystic.mystic.python_map` that mirror the behavior 
     132of serial python and the built-in python map function. Mystic solvers 
     133built on map-reduce can utilize the distributed and parallel tools provided 
     134by the `pathos` package, and thus with little new code solvers are 
     135extended to high-performance computing. For more information, see 
     136`mystic.mystic.abstract_map_solver`, `mystic.mystic.abstract_nested_solver`, 
     137and the pathos documentation at http://dev.danse.us/trac/pathos. 
     138 
    129139Important classes and functions are found here:: 
    130140    - mystic.mystic.abstract_solver [the solver API definition] 
     141    - mystic.mystic.abstract_map_solver [the parallel solver API] 
     142    - mystic.mystic.abstract_nested_solver [the nested solver API] 
    131143    - mystic.mystic.termination     [solver termination conditions] 
    132144    - mystic.mystic.strategy        [solver population mutation strategies] 
    133145    - mystic.models.abstract_model  [the model API definition] 
    134146    - mystic.models.forward_model   [cost function generator] 
    135     - mystic.mystic.tools           [monitors, function wrappers, and other useful tools] 
     147    - mystic.mystic.tools           [monitors, function wrappers, and other tools] 
     148    - mystic.mystic.math            [some useful mathematical functions and tools] 
    136149 
    137150Solvers are found here:: 
    138151    - mystic.mystic.differential_evolution [Differential Evolution solvers] 
    139152    - mystic.mystic.scipy_optimize         [Nelder-Mead and Powell's Directional solvers] 
     153    - mystic.mystic.nested                 [Batch Grid and Scattershot solvers] 
    140154 
    141155 
     
    145159Please see http://dev.danse.us/trac/mystic for further information. 
    146160""" 
    147 __version__ = '0.1a2' 
    148 __author__ = 'Mike McKerns, Patrick Hung' 
     161__version__ = '0.2a1' 
     162__author__ = 'Mike McKerns' 
    149163 
    150164__license__ = """ 
     
    182196ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    183197 
    184 Copyright (c) 2009 California Institute of Technology. All rights reserved. 
     198Copyright (c) 2010 California Institute of Technology. All rights reserved. 
    185199 
    186200 
     
    196210 
    197211# solvers 
    198 import differential_evolution, scipy_optimize 
     212import differential_evolution, scipy_optimize, nested 
    199213 
    200214# strategies, termination conditions 
  • releases/mystic-0.2a1/mystic/abstract_map_solver.py

    r234 r240  
    3737    >>> from pyina.launchers import mpirun_launcher 
    3838    >>> from pyina.mappers import equalportion_mapper 
    39     >>> from pyina.ez_map import ez_map 
     39    >>> from pyina.ez_map import ez_map2 
    4040    >>> NNODES = 4 
    4141    >>> 
     
    4444    >>> solver = NelderMeadSimplexMapSolver(len(x0)) 
    4545    >>> solver.SetInitialPoints(x0)            #FIXME: use batchgrid w/ bounds 
    46     >>> solver.SetMapper(ez_map, equalportion_mapper) 
     46    >>> solver.SetMapper(ez_map2, equalportion_mapper) 
    4747    >>> solver.SetLauncher(mpirun_launcher, NNODES) 
    4848    >>> solver.Solve(rosen, CRT(), StepMonitor=stepmon) 
     
    222222        return 
    223223 
    224     ''' 
    225     def Solve(self, func, termination, sigint_callback=None, 
    226               EvaluationMonitor=Null, StepMonitor=Null, ExtraArgs=(), **kwds): 
    227         """solve function 'func' with given termination conditions 
    228  
    229 *** this method must be overwritten ***""" 
    230         raise NotImplementedError, "must be overwritten..." 
    231     ''' 
    232  
    233224 
    234225if __name__=='__main__': 
  • releases/mystic-0.2a1/mystic/abstract_nested_solver.py

    r234 r240  
    3737    >>> # select the parallel launch configuration 
    3838    >>> from pyina.launchers import mpirun_launcher 
    39     >>> from pyina.ez_map import ez_map 
     39    >>> from pyina.ez_map import ez_map2 
    4040    >>> NNODES = 4 
    4141    >>> nbins = [4,4,4] 
     
    4747    >>> solver.SetNestedSolver(NelderMeadSimplexSolver) 
    4848    >>> solver.SetStrictRanges(lb, ub) 
    49     >>> solver.SetMapper(ez_map) 
     49    >>> solver.SetMapper(ez_map2) 
    5050    >>> solver.SetLauncher(mpirun_launcher, NNODES) 
    5151    >>> solver.Solve(rosen, CRT(), StepMonitor=stepmon) 
  • releases/mystic-0.2a1/setup.py

    r236 r240  
    1616setup_code = """ 
    1717setup(name='mystic', 
    18       version='0.1a2', 
     18      version='0.2a1', 
    1919      description='a simple interactive inversion analysis framework', 
    20       author = 'Mike McKerns, Patrick Hung', 
     20      author = 'Mike McKerns', 
    2121      maintainer = 'Mike McKerns', 
    2222      maintainer_email = 'mmckerns@caltech.edu', 
     
    3030      packages = ['mystic','mystic.models','mystic.math'], 
    3131      package_dir = {'mystic':'mystic','mystic.models':'models', 
    32                      'mystic.math':'math'}, 
     32                     'mystic.math':'_math'}, 
    3333""" 
    3434 
Note: See TracChangeset for help on using the changeset viewer.