def Simplex_Run(Gen, steps, GenHistory): print print " ========= Simplex Optimization ================= " Simp = Simplex(evalFitness, Gen, steps) # values, err, niter = SimplexOpt.minimize() old_low = 10000000000 lastImprovement = 0 for i in range(0, 10000): converged, err, low, hi = Simp.simplexStep(0.00001) if converged: print " converged in ", i, " steps " break if low < old_low: lastImprovement = i old_low = low subplot(2, 5, 5) plot(ts, Fs[4], "-", lw=0.25) grid() GenHistory.append(list(Simp.simplex[Simp.lowest])) print " new_low : ", low, " iter: ", i, " err ", err if (i - lastImprovement) > (nnodes * 16): print " Not able to improve => Exiting .... " break print Simp.simplex[Simp.lowest] return Simp.simplex[Simp.lowest]
def Simplex_Run(Gen, steps, GenHistory): print print " ========= Simplex Optimization ================= " Simp = Simplex(evalFitness, Gen, steps) #values, err, niter = SimplexOpt.minimize() old_low = 10000000000 lastImprovement = 0 for i in range(0, 10000): converged, err, low, hi = Simp.simplexStep(0.00001) if converged: print " converged in ", i, " steps " break if (low < old_low): lastImprovement = i old_low = low subplot(2, 5, 5) plot(ts, Fs[4], '-', lw=0.25) grid() GenHistory.append(list(Simp.simplex[Simp.lowest])) print " new_low : ", low, " iter: ", i, " err ", err if (i - lastImprovement) > (nnodes * 16): print " Not able to improve => Exiting .... " break print Simp.simplex[Simp.lowest] return Simp.simplex[Simp.lowest]
#Gen = MCrun( Gen, 10.0, 0.001, 100, 10 ) print " Initial Gen : ", Gen Gen0 = array(Gen).copy() Os, Rs, Fs = evalGen(Gen) print "shape(ts)", shape(ts) print "shape(ts)", shape(Fs[4]) #fitness = fitnesFunc(Fs) plotTrj(Os, Rs, Fs, 0) #Simp = Simplex(evalFitness, Gen, [1, 1, 1, 1]) steps = ones(nnodes * 2) * 0.05 Simp = Simplex(evalFitness, Gen, steps) #values, err, niter = SimplexOpt.minimize() old_low = 10000000000 lastImprovement = 0 for i in range(0, 10000): converged, err, low, hi = Simp.simplexStep(0.00001) if converged: print " converged in ", i, " steps " break if (low < old_low): lastImprovement = i old_low = low subplot(2, 5, 5) plot(ts, Fs[4], '-', lw=0.25) grid() GenHistory.append(list(Simp.simplex[Simp.lowest]))
#Gen = MCrun( Gen, 10.0, 0.001, 100, 10 ) print " Initial Gen : ", Gen Gen0 = array(Gen).copy() Os,Rs,Fs = evalGen(Gen) print "shape(ts)", shape(ts) print "shape(ts)", shape(Fs[4]) #fitness = fitnesFunc(Fs) plotTrj( Os,Rs,Fs, 0 ) #Simp = Simplex(evalFitness, Gen, [1, 1, 1, 1]) steps = ones(nnodes*2)*0.05 Simp = Simplex(evalFitness, Gen, steps ) #values, err, niter = SimplexOpt.minimize() old_low = 10000000000 lastImprovement = 0 for i in range(0, 10000): converged, err,low,hi = Simp.simplexStep( 0.00001 ) if converged: print " converged in ",i," steps " break; if(low < old_low): lastImprovement = i old_low = low subplot(2,5,5); plot( ts, Fs[4], '-', lw=0.25 ); grid() GenHistory.append(list(Simp.simplex[Simp.lowest])) print " new_low : ", low, " iter: ", i, " err ", err if(i-lastImprovement)>(nnodes*8):