SimGrid  3.18
Versatile Simulation of Distributed Systems
lagrange.cpp File Reference
#include "src/kernel/lmm/maxmin.hpp"
#include "xbt/log.h"
#include "xbt/sysdep.h"
#include <algorithm>
#include <cstdlib>
#include <cmath>

Namespaces

 simgrid
 Alltoall Bruck.
 
 simgrid::kernel
 
 simgrid::kernel::lmm
 

Macros

#define SHOW_EXPR(expr)   XBT_CDEBUG(surf_lagrange, #expr " = %g", expr);
 
#define VEGAS_SCALING   1000.0
 
#define RENO_SCALING   1.0
 
#define RENO2_SCALING   1.0
 

Functions

 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (surf_lagrange, surf, "Logging specific to SURF (lagrange)")
 
 XBT_LOG_NEW_SUBCATEGORY (surf_lagrange_dichotomy, surf_lagrange, "Logging specific to SURF (lagrange dichotomy)")
 
void simgrid::kernel::lmm::lagrange_solve (lmm_system_t sys)
 
static double simgrid::kernel::lmm::dichotomy (double init, double diff(double, const Constraint &), const Constraint &cnst, double min_error)
 
static double simgrid::kernel::lmm::partial_diff_lambda (double lambda, const Constraint &cnst)
 
template<class CnstList , class VarList >
static int simgrid::kernel::lmm::__check_feasible (const CnstList &cnst_list, const VarList &var_list, int warn)
 
static double simgrid::kernel::lmm::new_value (const Variable &var)
 
static double simgrid::kernel::lmm::new_mu (const Variable &var)
 
template<class VarList , class CnstList >
static double simgrid::kernel::lmm::dual_objective (const VarList &var_list, const CnstList &cnst_list)
 
void simgrid::kernel::lmm::set_default_protocol_function (double(*func_f)(const Variable &var, double x), double(*func_fp)(const Variable &var, double x), double(*func_fpi)(const Variable &var, double x))
 Attribute the value bound to var->bound. More...
 
double simgrid::kernel::lmm::func_vegas_f (const Variable &var, double x)
 
double simgrid::kernel::lmm::func_vegas_fp (const Variable &var, double x)
 
double simgrid::kernel::lmm::func_vegas_fpi (const Variable &var, double x)
 
double simgrid::kernel::lmm::func_reno_f (const Variable &var, double x)
 
double simgrid::kernel::lmm::func_reno_fp (const Variable &var, double x)
 
double simgrid::kernel::lmm::func_reno_fpi (const Variable &var, double x)
 
double simgrid::kernel::lmm::func_reno2_f (const Variable &var, double x)
 
double simgrid::kernel::lmm::func_reno2_fp (const Variable &var, double x)
 
double simgrid::kernel::lmm::func_reno2_fpi (const Variable &var, double x)
 

Variables

double(* simgrid::kernel::lmm::func_f_def )(const Variable &, double)
 
double(* simgrid::kernel::lmm::func_fp_def )(const Variable &, double)
 
double(* simgrid::kernel::lmm::func_fpi_def )(const Variable &, double)
 

Macro Definition Documentation

◆ SHOW_EXPR

#define SHOW_EXPR (   expr)    XBT_CDEBUG(surf_lagrange, #expr " = %g", expr);

◆ VEGAS_SCALING

#define VEGAS_SCALING   1000.0

◆ RENO_SCALING

#define RENO_SCALING   1.0

◆ RENO2_SCALING

#define RENO2_SCALING   1.0

Function Documentation

◆ XBT_LOG_NEW_DEFAULT_SUBCATEGORY()

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( surf_lagrange  ,
surf  ,
"Logging specific to SURF (lagrange)"   
)

◆ XBT_LOG_NEW_SUBCATEGORY()

XBT_LOG_NEW_SUBCATEGORY ( surf_lagrange_dichotomy  ,
surf_lagrange  ,
"Logging specific to SURF (lagrange dichotomy)"   
)