Go to the documentation of this file.
   34   if (proc0_world && 
verbose > 0) std::cout << 
"Hello world from optimize()" << std::endl;
 
   41     return(std::numeric_limits<double>::quiet_NaN());
 
   49     throw std::runtime_error(
"Error! An algorithm for least-squares problems was chosen, but the problem specified is not least-squares.");
 
   54   if (!proc0_world) 
return(std::numeric_limits<double>::quiet_NaN());
 
   66     std::cout << 
"Here comes the optimal state_vector from optimize.cpp: " << 
state_vector[0];
 
   70     std::cout << std::endl;
 
  
 
MPI_Comm get_comm_group_leaders()
Get the MPI communicator for MANGO's "group leaders" communicator.
 
virtual void optimize(Solver *)=0
 
double * best_state_vector
 
const algorithm_properties algorithms[NUM_ALGORITHMS]
A database of the algorithms that MANGO is aware of, including various properties of each algorithm.
 
virtual void init_optimization()
 
double best_objective_function
 
MPI_Partition * mpi_partition
 
virtual double optimize(MPI_Partition *)
 
bool get_proc0_world()
Determine whether this MPI processor has rank 0 in MANGO's world communicator.
 
A class for dividing the set of MPI processes into worker groups.
 
virtual void group_leaders_loop()