示例#1
0
# Define parameter optimization problem.
data = ModelData(algorithm=coopsort, problems=problems)

surrogate_data = ModelData(algorithm=coopsort, problems=surrogate_problems)

struct = ModelStructure(
    objective=MeasureFunction(sum_time),
    constraints=[],  # Unconstrained
    neighborhood=get_neighbors)

prob = Model(modelData=data, modelStructure=struct)
surrogate_prob = Model(modelData=surrogate_data, modelStructure=struct)

# Solve parameter optimization problem.

if __name__ == '__main__':
    from opal.Solvers import NOMAD
    NOMAD.set_parameter(name='MAX_BB_EVAL', value=100)
    NOMAD.set_parameter(name='DISPLAY_DEGREE', value=1)
    NOMAD.set_parameter(
        name="DISPLAY_STATS",
        value="%3dEVAL %3dBBE %4dSGTE [ %15lSOL, ] %8.2eBBO %4.2fTIME")
    NOMAD.set_parameter(
        name="STATS_FILE",
        value=
        "iterations.txt %3dEVAL %3dBBE %4dSGTE [ %15lSOL, ] %8.2eBBO %4.2fTIME"
    )
    #NOMAD.set_parameter(name='EXTENDED_POLL_TRIGGER', value='r0.1')
    NOMAD.set_parameter(name='MAX_MESH_INDEX', value='2')
    NOMAD.solve(blackbox=prob, surrogate=surrogate_prob)
        surrogate_problems.append(TestProblem(name=probName))

# SMP.set_parameter(name='MAX_PROC', value=5);

# Define parameter optimization problem.
data = ModelData(algorithm=coopsort, problems=problems)

surrogate_data = ModelData(algorithm=coopsort, problems=surrogate_problems)

struct = ModelStructure(
    objective=MeasureFunction(sum_time), constraints=[], neighborhood=get_neighbors  # Unconstrained
)

prob = Model(modelData=data, modelStructure=struct)
surrogate_prob = Model(modelData=surrogate_data, modelStructure=struct)

# Solve parameter optimization problem.

if __name__ == "__main__":
    from opal.Solvers import NOMAD

    NOMAD.set_parameter(name="MAX_BB_EVAL", value=100)
    NOMAD.set_parameter(name="DISPLAY_DEGREE", value=1)
    NOMAD.set_parameter(name="DISPLAY_STATS", value="%3dEVAL %3dBBE %4dSGTE [ %15lSOL, ] %8.2eBBO %4.2fTIME")
    NOMAD.set_parameter(
        name="STATS_FILE", value="iterations.txt %3dEVAL %3dBBE %4dSGTE [ %15lSOL, ] %8.2eBBO %4.2fTIME"
    )
    # NOMAD.set_parameter(name='EXTENDED_POLL_TRIGGER', value='r0.1')
    NOMAD.set_parameter(name="MAX_MESH_INDEX", value="2")
    NOMAD.solve(blackbox=prob, surrogate=surrogate_prob)
示例#3
0
from opal import ModelStructure, ModelData, Model
from opal.TestProblemCollections import CUTEr
from dfo_declaration import DFO


from opal.Solvers import NOMAD

def avg_time(parameters,measures):
    n = len(measures['CPU']) 
    if n == 0:
        return 0.0
    return (sum(measures["CPU"]) + 0.0)/(n + 0.0)

# Select real parameters from DFO.
params = [par for par in DFO.parameters if par.is_real]

# Select tiny unconstrained HS problems.
problems = [prb for prb in CUTEr.HS if prb.nvar <= 5 and prb.ncon == 0]

print 'Working with parameters ', [par.name for par in params]
print 'Testing on problems ', [prb.name for prb in problems]

data = ModelData(DFO, problems, params)
structure = ModelStructure(objective=avg_time, constraints=[])  # Unconstrained

# Instantiate black-box solver.
model = Model(modelData=data, modelStructure=structure)

# Solve parameter optimization problem.
NOMAD.solve(blackbox=model)
示例#4
0
listTypes = [0, 5, 6, 7]
numberOfList = 16
listLengthStep = 25
for listType in listTypes:
    for k in range(numberOfList):
        n = listLengthStep * (k + 1)
        probName = str(listType) + '-' + str(n) + '-50'
        problems.append(TestProblem(name=probName))

#SMP.set_parameter(name='MAX_PROC', value=5);

# Define parameter optimization problem.
data = ModelData(algorithm=coopsort, problems=problems)

struct = ModelStructure(objective=MeasureFunction(sum_time),
                        constraints=[],  # Unconstrained
                        neighborhood=get_neighbors)

prob = Model(modelData=data, modelStructure=struct)

# Solve parameter optimization problem.

if __name__ == '__main__':
    from opal.Solvers import NOMAD
    NOMAD.set_parameter(name='MAX_BB_EVAL', value=100)
    NOMAD.set_parameter(name='DISPLAY_DEGREE', value=4)
    NOMAD.set_parameter(name='EXTENDED_POLL_TRIGGER', value='r0.1')
    NOMAD.set_parameter(name='MAX_MESH_INDEX', value='2')
    NOMAD.set_parameter(name='MODEL_SEARCH_OPTIMISTIC', value='no')
    NOMAD.solve(blackbox=prob)
示例#5
0
def test_trunk_optimize():
    from trunk_optimize import prob
    from opal.Solvers import NOMAD

    NOMAD.set_parameter(name='MAX_BB_EVAL', value=10)
    NOMAD.solve(blackbox=prob)
示例#6
0
def test_trunk_optimize():
    from trunk_optimize import prob
    from opal.Solvers import NOMAD

    NOMAD.set_parameter(name='MAX_BB_EVAL', value=10)
    NOMAD.solve(blackbox=prob)
示例#7
0
from opal.TestProblemCollections import CUTEr
from dfo_declaration import DFO

from opal.Solvers import NOMAD


def avg_time(parameters, measures):
    n = len(measures['CPU'])
    if n == 0:
        return 0.0
    return (sum(measures["CPU"]) + 0.0) / (n + 0.0)


# Select real parameters from DFO.
params = [par for par in DFO.parameters if par.is_real]

# Select tiny unconstrained HS problems.
problems = [prb for prb in CUTEr.HS if prb.nvar <= 5 and prb.ncon == 0]

print 'Working with parameters ', [par.name for par in params]
print 'Testing on problems ', [prb.name for prb in problems]

data = ModelData(DFO, problems, params)
structure = ModelStructure(objective=avg_time, constraints=[])  # Unconstrained

# Instantiate black-box solver.
model = Model(modelData=data, modelStructure=structure)

# Solve parameter optimization problem.
NOMAD.solve(blackbox=model)
示例#8
0
numberOfList = 16
listLengthStep = 25
for listType in listTypes:
    for k in range(numberOfList):
        n = listLengthStep * (k + 1)
        probName = str(listType) + '-' + str(n) + '-50'
        problems.append(TestProblem(name=probName))

#SMP.set_parameter(name='MAX_PROC', value=5);

# Define parameter optimization problem.
data = ModelData(algorithm=coopsort, problems=problems)

struct = ModelStructure(
    objective=MeasureFunction(sum_time),
    constraints=[],  # Unconstrained
    neighborhood=get_neighbors)

prob = Model(modelData=data, modelStructure=struct)

# Solve parameter optimization problem.

if __name__ == '__main__':
    from opal.Solvers import NOMAD
    NOMAD.set_parameter(name='MAX_BB_EVAL', value=100)
    NOMAD.set_parameter(name='DISPLAY_DEGREE', value=4)
    NOMAD.set_parameter(name='EXTENDED_POLL_TRIGGER', value='r0.1')
    NOMAD.set_parameter(name='MAX_MESH_INDEX', value='2')
    NOMAD.set_parameter(name='MODEL_SEARCH_OPTIMISTIC', value='no')
    NOMAD.solve(blackbox=prob)
示例#9
0
        "DIXON3DQ",
        "EIGENALS",
        "FMINSRF2",
        "FMINSURF",
        "GENROSE",
        "HIELOW",
        "MANCINO",
        "NCB20",
        "NCB20B",
        "NONDQUAR",
        "NONDQUAR",
        "POWER",
        "SENSORS",
        "SINQUAD",
        "TESTQUAD",
        "TRIDIA",
        "WOODS",
    ]
]

# Define parameter optimization problem.
LSF.set_config(parameterName="-m", parameterValue='"lin01 lin02 lin03 lin04"')
LSF.set_config(parameterName="-q", parameterValue="fedora")
data = ModelData(algorithm=trunk, problems=problems, parameters=params, platform=LSF)
struct = ModelStructure(objective=get_error, constraints=[])  # Unconstrained
blackbox = Model(modelData=data, modelStructure=struct)

# Solve parameter optimization problem.
NOMAD.set_parameter(name="MAX_BB_EVAL", value=10)
NOMAD.solve(model=blackbox)
示例#10
0
        "NCB20B",
        "NONDQUAR",
        "POWER",
        "SENSORS",
        "SINQUAD",
        "TESTQUAD",
        "TRIDIA",
        "WOODS",
    ]
]

# SMP.set_parameter(name='MAX_PROC', value=5);

# Define parameter optimization problem.
data = ModelData(algorithm=trunk, problems=problems, parameters=params, measures=trunk.measures)

struct = ModelStructure(
    objective=MeasureFunction(sum_heval, additivity=1), constraints=[(None, MeasureFunction(get_error, addivity=1), 0)]
)  # One constraint get_error(p) <= 0


prob = Model(modelData=data, modelStructure=struct, platform="SMP", synchoronized=False, interruptible=True)

# Solve parameter optimization problem.

if __name__ == "__main__":
    from opal.Solvers import NOMAD

    NOMAD.set_parameter(name="MAX_BB_EVAL", value=10)
    NOMAD.solve(model=prob)
示例#11
0
    val = sum(measures["FEVAL"])
    return val


# Parameters being tuned and problem list.
par_names = ['eta1', 'eta2', 'gamma1', 'gamma2', 'gamma3']
params = [param for param in trunk.parameters if param.name in par_names]

problems = [
    problem for problem in CUTEr if problem.name in [
        'BDQRTIC', 'BROYDN7D', 'BRYBND', 'CURLY10', 'CURLY20', 'CURLY30',
        'CRAGGLVY', 'DIXON3DQ', 'EIGENALS', 'FMINSRF2', 'FMINSURF', 'GENROSE',
        'HIELOW', 'MANCINO', 'NCB20', 'NCB20B', 'NONDQUAR', 'NONDQUAR',
        'POWER', 'SENSORS', 'SINQUAD', 'TESTQUAD', 'TRIDIA', 'WOODS'
    ]
]

# Define parameter optimization problem.
LSF.set_config(parameterName="-m", parameterValue='"lin01 lin02 lin03 lin04"')
LSF.set_config(parameterName="-q", parameterValue="fedora")
data = ModelData(algorithm=trunk,
                 problems=problems,
                 parameters=params,
                 platform=LSF)
struct = ModelStructure(objective=get_error, constraints=[])  # Unconstrained
blackbox = Model(modelData=data, modelStructure=struct)

# Solve parameter optimization problem.
NOMAD.set_parameter(name='MAX_BB_EVAL', value=10)
NOMAD.solve(model=blackbox)
示例#12
0
        'TRIDIA',
        'WOODS'
    ]
]

#SMP.set_parameter(name='MAX_PROC', value=5);

# Define parameter optimization problem.
data = ModelData(algorithm=trunk,
                 problems=problems,
                 parameters=params,
                 measures=trunk.measures)

struct = ModelStructure(objective=MeasureFunction(sum_heval, additivity=1),
                        constraints=[
                            (None, MeasureFunction(get_error, addivity=1), 0)
                        ])  # One constraint get_error(p) <= 0

prob = Model(modelData=data,
             modelStructure=struct,
             platform='SMP',
             synchoronized=False,
             interruptible=True)

# Solve parameter optimization problem.

if __name__ == '__main__':
    from opal.Solvers import NOMAD
    NOMAD.set_parameter(name='MAX_BB_EVAL', value=10)
    NOMAD.solve(model=prob)
示例#13
0
                                                             'SENSORS',
                                                             'SINQUAD',
                                                             'TESTQUAD',
                                                             'TRIDIA',
                                                             'WOODS']]

# Define parameter optimization problem.
data = ModelData(algorithm=trunk,
                 problems=problems,
                 parameters=params)
struct = ModelStructure(objective=sum_heval,
                        constraints=[(None,get_error, 0)])
model = Model(modelData=data, modelStructure=struct)

# Define a surrogate

surr_data = ModelData(algorithm=trunk,
                      problems= [problem for problem in CUTEr \
                                     if problem.name in ['BDQRTIC',
                                                         'BROYDN7D',
                                                         'BRYBND']],
                      parameters=params)
surr_struct = ModelStructure(objective=sum_heval,
                             constraints=[])
surr_model = Model(modelData=surr_data, modelStructure=surr_struct,
                           dataFile='surrogate.dat')

# Solve parameter optimization problem.
NOMAD.set_parameter(name='MAX_BB_EVAL', value=10)
NOMAD.solve(blackbox=model, surrogate=surr_model)