Exemple #1
0
def PolyCostFactory(evalpts,datapts,ndim):
    """generate a cost function instance from evaluation points and data"""
    from numpy import sum
    F = CostFactory()
    F.addModel(ForwardPolyFactory,ndim,"noisy_polynomial")
    return F.getCostFunction(evalpts=evalpts,observations=datapts, \
                             metric=lambda x: sum(x*x),sigma=1000.)
Exemple #2
0
    minrange = [-1000., -1000., -100., -10.]
    maxrange = [1000., 1000., 100., 10.]
    solver.SetRandomInitialPoints(min=minrange, max=maxrange)
    solver.SetEvaluationLimits(generations=MAX_GENERATIONS)
    solver.SetGenerationMonitor(stepmon)

    solver.Solve(CF, termination = ChangeOverGeneration(generations=100), \
                 CrossProbability=0.5, ScalingFactor=0.5)

    solution = solver.Solution()

    return solution, stepmon


if __name__ == '__main__':
    F = CostFactory()
    F.addModel(ForwardMogiFactory, 4, 'mogi1', outputFilter=component(2))
    myCostFunction = F.getCostFunction(evalpts=stations, observations=data_z)
    print(F)
    rp = F.getRandomParams()
    print("new Cost Function : %s " % myCostFunction(rp))
    print("orig Cost Function: %s " % cost_function(rp))

    f1 = ForwardMogiFactory(rp)
    f2 = ForwardMogiFactory(rp)

    print('start cf')
    for i in range(3000):
        xx = cost_function(rp)
    print('end cf')