f METHOD_NAME(self):
 self.FindMinMaxIndices()
 self.FindCentroidPt()
 self.FindReflectionPt()
 self.secondHigh=self.simplexValue[self.second_indx]
 if self.simplexValue[self.min_indx] > self.reflectionPtValue:
    self.FindExpansionPt()
    if self.reflectionPtValue > self.expansionPtValue:
      self.ReplaceSimplexPoint(self.expansionPt)
      self.simplexValue[self.max_indx]=self.expansionPtValue
    else:
      self.ReplaceSimplexPoint(self.reflectionPt)
      self.simplexValue[self.max_indx]=self.reflectionPtValue
 elif (self.secondHigh > self.reflectionPtValue) and (self.reflectionPtValue >= self.simplexValue[self.min_indx]):
    self.ReplaceSimplexPoint(self.reflectionPt)
    self.simplexValue[self.max_indx]=self.reflectionPtValue
 elif self.reflectionPtValue >= self.secondHigh:
    self.FindContractionPt()
    if(self.maxPrimePtId == 0):
      if(self.contractionPtValue>self.maxPrimePtValue):
         self.ShrinkSimplex()
      else:
         self.ReplaceSimplexPoint(self.contractionPt)
         self.simplexValue[self.max_indx] = self.contractionPtValue
    elif (self.maxPrimePtId == 1):
      if(self.contractionPtValue >= self.maxPrimePtValue):
         self.ShrinkSimplex()
      else:
         self.ReplaceSimplexPoint(self.contractionPt)
         self.simplexValue[self.max_indx] = self.contractionPtValue
 return # end of this explore step