From 8516b58dec274877623ac8bc2ae93544dfcf4539 Mon Sep 17 00:00:00 2001 From: wcancino Date: Tue, 17 Mar 2009 09:29:10 +0000 Subject: [PATCH] Add the option to perform branch lenght optimization git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1552 331e1502-861f-0410-8da2-ba01fb791d7f --- .../PhyloMOEA/PhyloMOEA/PhyloMOEA.cpp | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/contribution/branches/PhyloMOEA/PhyloMOEA/PhyloMOEA.cpp b/contribution/branches/PhyloMOEA/PhyloMOEA/PhyloMOEA.cpp index 6a9b98aab..85d66ffa0 100644 --- a/contribution/branches/PhyloMOEA/PhyloMOEA/PhyloMOEA.cpp +++ b/contribution/branches/PhyloMOEA/PhyloMOEA/PhyloMOEA.cpp @@ -25,7 +25,7 @@ RandomNr *rn; //Sequences *seq; long seed; //vector arbores; -string datafile,usertree, expid, path, algotype; +string datafile,usertree, expid, path, algotype, optimize_branch; double pcrossover, pmutation, kappa, alpha; unsigned int ngenerations, popsize, ncats; ofstream exp_data,evolution_data, best_media_scores, final_trees, final_pareto_trees, clades_pareto, clades_final,final_scores,pareto_scores; @@ -58,6 +58,7 @@ int main(int argc, char *argv[]) usertree = parser.createParam(string(), "treef", "Treefile", 't',"Param").value(); path = parser.createParam(string(), "path", "Treefile", 'p',"Param").value(); algotype = parser.createParam(string("nsgaii"), "algo", "Algorith, Type", 'b',"Param").value(); + optimize_branch = parser.createParam(string("yes"), "opt", "Optimize Branch Lenght", 'o',"Param").value(); ostringstream convert; convert << seed; expid = parser.createParam(convert.str(), "expid", "Experiment ID", 'e',"Param").value(); @@ -237,14 +238,16 @@ int main(int argc, char *argv[]) //finalsolutions[0].get_tree().printNewick(cout); lik_calc_ptr = &lik_calc; // make the optimization phase also in parallel - peo :: init (argc, argv); - peoMultiStart ParallelLKOptimizationInit (optimize_solution); - peoWrapper ParallelLKOptimization (ParallelLKOptimizationInit, finalsolutions); - ParallelLKOptimizationInit.setOwner(ParallelLKOptimization); - if (getNodeRank()==1) cout << "\nOptimizing tree branch lenghts...\n"; - peo :: run( ); - peo :: finalize( ); - + if(optimize_branch=="yes") + { + peo :: init (argc, argv); + peoMultiStart ParallelLKOptimizationInit (optimize_solution); + peoWrapper ParallelLKOptimization (ParallelLKOptimizationInit, finalsolutions); + ParallelLKOptimizationInit.setOwner(ParallelLKOptimization); + if (getNodeRank()==1) cout << "\nOptimizing tree branch lenghts...\n"; + peo :: run( ); + peo :: finalize( ); + } if (getNodeRank()==1) {