示例#1
0
def nudge(problem, individual, east, increment):
    if individual.anyscore == 1e32:
        return individual
    temp = []
    for i, decision in enumerate(problem.decisions):
        up = decision.up
        low = decision.low
        mutation = increment * (east.decisionValues[i] - individual.decisionValues[i])
        temp.append(trim(individual.decisionValues[i] + mutation, low, up))
    return jmoo_individual(problem, temp, None)
示例#2
0
def nudge(problem, individual, east, increment, configuration):
    if individual.anyscore == 1e32: return individual
    temp = []
    for i, decision in enumerate(problem.decisions):
        up = decision.up
        low = decision.low
        if east.decisionValues[i] > individual.decisionValues[i] >= 0:
            weight = +1
        else:
            weight = -1
        mutation = increment % configuration["STORM"]["GAMMA"] * (
            east.decisionValues[i] - individual.decisionValues[i])
        temp.append(
            trim(individual.decisionValues[i] + weight * mutation, low, up))
    return jmoo_individual(problem, temp, None)