示例#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
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)
示例#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
# Define a parameter optimization problem in relation to the 
# FD algorithm.
from wp_declaration import FD

from opal import ModelStructure, ModelData, Model

from opal.Solvers import NOMAD

# Return the error measure.
def get_error(parameters, measures):
   
    return sum(measures["ERROR"])

# Define parameter optimization problem.
data = ModelData(FD)
struct = ModelStructure(objective=get_error)  # Unconstrained
model = Model(modelData=data, modelStructure=struct)

# Solve parameter optimization problem.
NOMAD.set_parameter(name='DISPLAY_STATS',
                    value='%3dBBE  %7.1eSOL  %8.3eOBJ  %5.2fTIME')

NOMAD.solve(blackbox=model)



示例#7
0
import sys
# Define a parameter optimization problem in relation to the 
# LAS algorithm.
from las_declaration import LAS

from opal import ModelStructure, ModelData, Model

from opal.Solvers import NOMAD

# Return the error measure.
def total_time(parameters, measures):
    with open("measures", "a") as f:
        f.write("parameters = %r, measures = %r\n" % (parameters, measures))
    # Now with numerical integration, we want to minimize total time, not the time/rel
    # return sum(map(float, measures["TIME"])) / sum(map(float, measures["RELATIONS"]))
    return sum(map(float, measures["SIEVETIME"]))

# Define parameter optimization problem.
data = ModelData(LAS)
struct = ModelStructure(objective=total_time)  # Unconstrained
model = Model(modelData=data, modelStructure=struct)

# Solve parameter optimization problem.
NOMAD.set_parameter(name='DISPLAY_STATS',
                    value='%3dBBE  %7.1eSOL  %8.3eOBJ  %5.2fTIME %5.2SIEVETIME')
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
                           constraints=[(None, sum_unsolvability, 0)])

# Instantiate black-box solver.
#from opal.Platforms import LSF
#LSF.set_parameter({'MAX_TASK':10})

from opal.Platforms import SunGrid
SunGrid.set_config('-q', 'all.q')
SunGrid.set_parameter({'MAX_TASK': 10})

model = Model(modelData=data, modelStructure=structure, platform=SunGrid)

if len(sys.argv) > 2:  # The initial point is provided by external file
    f = open(sys.argv[2])
    paramValues = eval(f.read())
    f.close()
    model.initial_points = []  # Reset the initial point set
    for tag in paramValues:
        model.add_initial_point(paramValues[tag])
    #print model.get_initial_points()

# Solve parameter optimization problem.
from opal.Solvers import NOMAD
#NOMAD.set_parameter(name='MAX_BB_EVAL', value=100)
#NOMAD.set_parameter(name='SCALING', value='scaling.txt')
NOMAD.set_parameter(name='INITIAL_MESH_SIZE', value='(0.05 5 5 1 4 0.05)')
#NOMAD.set_parameter(name='MIN_MESH_SIZE', value=1.0e-6)
NOMAD.set_parameter(name='MAX_MESH_INDEX', value=6)
NOMAD.set_parameter(name='DISPLAY_DEGREE', value=4)
NOMAD.solve(blackbox=model)
示例#11
0
#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)

示例#12
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)
示例#13
0
# Instantiate black-box solver.
#from opal.Platforms import LSF
#LSF.set_parameter({'MAX_TASK':10})

from opal.Platforms import SunGrid
SunGrid.set_config('-q','all.q')
SunGrid.set_parameter({'MAX_TASK':10})

model = Model(modelData=data, modelStructure=structure, platform=SunGrid)

if len(sys.argv) > 2: # The initial point is provided by external file
    f = open(sys.argv[2])
    paramValues = eval(f.read())
    f.close()
    model.initial_points = [] # Reset the initial point set
    for tag in paramValues:
        model.add_initial_point(paramValues[tag])
    #print model.get_initial_points()

# Solve parameter optimization problem.
from opal.Solvers import NOMAD
#NOMAD.set_parameter(name='MAX_BB_EVAL', value=100)
#NOMAD.set_parameter(name='SCALING', value='scaling.txt')
NOMAD.set_parameter(name='INITIAL_MESH_SIZE',
                    value='(0.05 5 5 1 4 0.05)')
#NOMAD.set_parameter(name='MIN_MESH_SIZE', value=1.0e-6)
NOMAD.set_parameter(name='MAX_MESH_INDEX', value=6)
NOMAD.set_parameter(name='DISPLAY_DEGREE', value=4)
NOMAD.solve(blackbox=model)