• Main Page
  • Data Structures
  • Files
  • File List
  • Globals

ne_sup_sa.h

Go to the documentation of this file.
00001 /*===========================================================================
00002  NetEvo Foundation Library
00003  Copyright (C) 2009, 2010 Thomas E. Gorochowski <tgorochowski@me.com>
00004  Bristol Centre for Complexity Sciences, University of Bristol, Bristol, UK
00005  ---------------------------------------------------------------------------- 
00006  NetEvo is a computing framework designed to allow researchers to investigate 
00007  evolutionary aspects of dynamical complex networks. By providing tools to 
00008  easily integrate each of these factors in a coherent way, it is hoped a 
00009  greater understanding can be gained of key attributes and features displayed 
00010  by complex systems.
00011  
00012  NetEvo is open-source software released under the Open Source Initiative 
00013  (OSI) approved Non-Profit Open Software License ("Non-Profit OSL") 3.0. 
00014  Detailed information about this licence can be found in the COPYING file 
00015  included as part of the source distribution.
00016  
00017  This library is distributed in the hope that it will be useful, but
00018  WITHOUT ANY WARRANTY; without even the implied warranty of
00019  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  ============================================================================*/
00030 #ifndef NE_SUP_SA_H
00031 #define NE_SUP_SA_H
00032 
00033 
00034 #include "ne_std.h"
00035 #include "ne_sys.h"
00036 #include "ne_mut.h"
00037 #include "ne_per.h"
00038 #include "ne_sim.h"
00039 
00041 typedef ne_err_code_t ne_sup_sa_analysis_fn_t (ne_sys_t *sys, ne_dyn_vec_t *dyn, int iteration,
00042                                     double temp, double Q, ne_bool_t forceOutput);
00043 
00045 typedef struct {
00046    int                      initialTrials;           
00047    double                   tempReduce;              
00048    int                      mainTrials;              
00049    int                      acceptTrials;            
00050    int                      acceptRunsNoChange;      
00051    double                   minTemp;                 
00052    int                      maxIterations;           
00053    double                 (*initialTempFn) (double); 
00054    ne_per_t                *QFn;                     
00055    ne_mut_t                *mutationFn;              
00056    ne_sim_fn_t             *simFn;                   
00057    void                    *simParams;               
00058    ne_dyn_vec_t            *initCond;                
00059    ne_sup_sa_analysis_fn_t *analysisFn;              
00060    FILE                    *evoFile;                 
00061 } ne_sup_sa_params_t;
00062 
00064 typedef struct {
00065    double Q1;            
00066    double Q2;            
00067    double dQ;            
00068    double a;             
00069    ne_dyn_vec_t *curDyn; 
00070 } ne_sup_sa_trail_results_t;
00071 
00073 ne_sup_sa_params_t * ne_sup_sa_params_alloc (int initialTrials, double tempReduce, int mainTrails,
00074                                     int acceptTrials, int acceptRunsNoChange, double minTemp,
00075                                     int maxIterations, double (*initialTempFn) (double),
00076                                     ne_per_t *QFn, ne_mut_t *mutationFn, ne_sim_fn_t *simFn,
00077                                   void *simParams, ne_dyn_vec_t *initCond, 
00078                                     ne_sup_sa_analysis_fn_t *analysisFn, FILE *evoFile);
00079 
00081 void ne_sup_sa_params_free (ne_sup_sa_params_t *params);
00082 
00084 ne_sys_t * ne_sup_sa_run (ne_sys_t *sys, ne_sup_sa_params_t* params);
00085 
00087 ne_sys_t * ne_sup_sa_trail (ne_sys_t *sys, double T, ne_sup_sa_trail_results_t *results, 
00088                  ne_sup_sa_params_t *params);
00089 
00091 double ne_sup_sa_simulate (ne_sys_t *sys, ne_sup_sa_params_t* params);
00092 
00094 double ne_sup_sa_int_temp_basic (double qMax);
00095 
00096 
00097 #endif /* NE_SUP_SA_H */

Generated on Thu Aug 26 2010 11:04:24 for NetEvo by  doxygen 1.7.1