Problem mit der Anzahl der Threads in Cplex
Ich löse eine Reihe ähnlicher Probleme und möchte sie vergleichen. Dazu brauche ich alles, um auf einem Thread zu laufen. Selbst wenn Sie die Anzahl der Threads auf 1 setzen, läuft das Modell immer noch auf 8 Threads. Hat jemand jemals dieses Problem angetroffen? und gibt es eine Möglichkeit, dies zu beheben? (Ich benutze Cplex mit Python)
Vielen Dank,
Antworten
Versuchen Zusammenhang mit wie erklärt hier . Ein Beispiel für die Modellierung mit docplex (siehe unten) zeigt, dass Sie die Standardeinstellung für Solver-Optionen in cplex mithilfe des folgenden Codes ändern können:
context = Context.make_default_context()
context.cplex_parameters.threads = 1
model = Model(context=context
Alternativ kann der Code wie folgt lauten:
model = Model()
model.context.cplex_parameters.threads = 1
Wenn Sie Pyomo verwenden, wird die folgende Löseroption verwendet:
mysolver = SolverFactory('CPLEX')
mysolver.options['threads'] = 1
Lassen Sie mich das Beispiel des Zoos für Ihre Bedürfnisse ändern . (Anzahl der Themen)
from docplex.mp.model import Model
mdl = Model(name='buses')
mdl.parameters.threads=1
nbbus40 = mdl.integer_var(name='nbBus40')
nbbus30 = mdl.integer_var(name='nbBus30')
mdl.add_constraint(nbbus40*40 + nbbus30*30 >= 300, 'kids')
mdl.minimize(nbbus40*500 + nbbus30*400)
mdl.solve()
print("threads = ",mdl.parameters.threads.get())
for v in mdl.iter_integer_vars():
print(v," = ",v.solution_value)
was gibt
threads = 1
nbBus40 = 6.0
nbBus30 = 2.0