Changeset 586
- Timestamp:
- 09/29/11 17:35:47 (13 years ago)
- Location:
- trunk/yao/include
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yao/include/ObservationsDual.hpp
r585 r586 196 196 public: 197 197 static double *x; 198 static int currentIteration; 198 199 inline void operator() (Trajectory *aTrajectory, int aStepTime, Module *aModule, int anOutput, int aCoordI, int aCoordJ, int aCoordK, Yst_fobs *anObservation) 199 200 { … … 209 210 &epsi); 210 211 //! m = m - epsi (G) 211 //!anObservation->m = anObservation->m - epsi * (anObservation->gradCostValue - anObservation->innovationValue);212 anObservation->m = anObservation->m - (epsi * (anObservation->gradCostValue - anObservation->innovationValue) / currentIteration) ; 212 213 //anObservation->m = anObservation->m - 0.8 * (anObservation->gradCostValue - anObservation->innovationValue); 213 214 *x++ = anObservation->m; … … 215 216 }; 216 217 double *OCGradientDescent::x = NULL; 217 218 int OCGradientDescent::currentIteration = 0; 218 219 class OCUpdateState 219 220 { -
trunk/yao/include/RunModelDual.hpp
r585 r586 68 68 void costSum(); 69 69 void setMinimizedM (double *aX); 70 void gradientDescent( );70 void gradientDescent(int anIteration); 71 71 protected: 72 72 int externalLoopId; … … 105 105 aParam.ctonb = &ctonbe_; 106 106 strcpy (aParam.normtype, "dfn"); 107 aParam.impres = 5;107 aParam.impres = Y3impres; 108 108 aParam.imode[0] = 0; 109 109 aParam.imode[1] = 0; … … 270 270 YItRun++; 271 271 basicIterationLoop(); 272 gradientDescent(); 272 gradientDescent(i); 273 printf("Cost function value : %f\n",paramM1QN3.f); 273 274 #ifdef DEBUG 274 275 … … 1076 1077 } 1077 1078 1078 void RunModelDual::gradientDescent( )1079 void RunModelDual::gradientDescent(int anIteration) 1079 1080 { 1080 1081 OCGradientDescent::x = paramM1QN3.x; 1082 OCGradientDescent::currentIteration = anIteration + 1; 1081 1083 1082 1084 for (unsigned int i = 0; i < model->trajectories.size(); i++) -
trunk/yao/include/RunModelM1QN3.hpp
r585 r586 85 85 aParam.prosca = &euclid_; 86 86 strcpy(aParam.normtype, "dfn"); 87 aParam.impres= 1;87 aParam.impres=Y3impres; 88 88 aParam.imode[0]=0; 89 89 aParam.imode[1]=0;
Note: See TracChangeset
for help on using the changeset viewer.