#!/usr/bin/env python # # Author: Mike McKerns (mmckerns @caltech and @uqfoundation) # Copyright (c) 1997-2014 California Institute of Technology. # License: 3-clause BSD. The full license text is available at: # - http://trac.mystic.cacr.caltech.edu/project/mystic/browser/mystic/LICENSE """ Testing the polynomial fitting problem of [1] using scipy's Nelder-Mead algorithm. Reference: [1] Storn, R. and Price, K. Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces. Journal of Global Optimization 11: 341-359, 1997. """ from test_ffit import Chebyshev8, ChebyshevCost, plot_solution, print_solution if __name__ == '__main__': from mystic.solvers import fmin #from mystic._scipyoptimize import fmin import random random.seed(123) x = [random.uniform(-100,100) + Chebyshev8[i] for i in range(9)] solution = fmin(ChebyshevCost, x) print_solution(solution) plot_solution(solution) # end of file
from mystic.tools import random_seed random_seed(123) import pp import sys if len(sys.argv) > 1: tunnelport = sys.argv[1] ppservers = ("localhost:%s" % tunnelport, ) else: ppservers = () myserver = pp.Server(ppservers=ppservers) trials = [] for trial in range(8): x = tuple( [random.uniform(-100, 100) + Chebyshev8[i] for i in range(9)]) trials.append(x) results = [ myserver.submit(fmin, (ChebyshevCost, x), (), ()) for x in trials ] for solution in results: print_solution(solution()) #plot_solution(solution) # end of file
if __name__ == '__main__': from mystic.solvers import fmin #from scipy.optimize import fmin import random random.seed(123) import pp import sys if len(sys.argv) > 1: tunnelport = sys.argv[1] ppservers = ("localhost:%s" % tunnelport,) else: ppservers = () myserver = pp.Server(ppservers=ppservers) trials = [] for trial in range(8): x = tuple([random.uniform(-100,100) + Chebyshev8[i] for i in range(9)]) trials.append(x) results = [myserver.submit(fmin,(ChebyshevCost,x),(),()) for x in trials] for solution in results: print_solution(solution()) #plot_solution(solution) # end of file
[1] Storn, R. and Price, K. Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces. Journal of Global Optimization 11: 341-359, 1997. """ from mystic.solvers import diffev from test_ffit import plot_solution, print_solution, Chebyshev8, ChebyshevCost from mystic.tools import random_seed random_seed(123) ND = 9 NP = ND * 10 MAX_GENERATIONS = ND * NP def main(): range = [(-100.0, 100.0)] * ND solution = diffev(ChebyshevCost,range,NP,bounds=None,ftol=0.01,\ maxiter=MAX_GENERATIONS,cross=1.0,scale=0.9) return solution if __name__ == '__main__': #plot_solution(Chebyshev8) solution = main() print_solution(solution) plot_solution(solution) # end of file