cluster_network: Fall back to using ipopt
in distribute_clusters
if the configured solver does not support quadratic objectives.
This commit is contained in:
parent
6284cf7e8b
commit
448e8c238e
@ -81,8 +81,10 @@ def distribute_clusters(n, n_clusters, solver_name=None):
|
|||||||
sense=po.minimize)
|
sense=po.minimize)
|
||||||
|
|
||||||
opt = po.SolverFactory(solver_name)
|
opt = po.SolverFactory(solver_name)
|
||||||
if isinstance(opt, pypsa.opf.PersistentSolver):
|
if not opt.has_capability('quadratic_objective'):
|
||||||
opt.set_instance(m)
|
logger.warn(f'The configured solver `{solver_name}` does not support quadratic objectives. Falling back to `ipopt`.')
|
||||||
|
opt = po.SolverFactory('ipopt')
|
||||||
|
|
||||||
results = opt.solve(m)
|
results = opt.solve(m)
|
||||||
assert results['Solver'][0]['Status'].key == 'ok', "Solver returned non-optimally: {}".format(results)
|
assert results['Solver'][0]['Status'].key == 'ok', "Solver returned non-optimally: {}".format(results)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user