Hello,
I’m trying to solve a maximization problem for maximizing profit in river hydroelectricity power production. The problem is non-linear and non-convex. I’m using the solution from a simplified, linear and convex, version of the problem to give a warm start to the NLP problem.
I use Ipopt with MUMPS to solve the NLP problem on a high-performance computing linux based cluster. However, I notice that the computing of the problem is not at all parallelized and hence slow.
My question is if there’s some other solver, solver option e.t.c. that I should utilize in order to take full advantage of the computing cluster?
The problem is defined using JuMP looking something like this:
model = Model()
@variables model begin
# A bunch of variable definitions with lower and upper bounds
end
@constraints model begin
# A lot of linear inequality and equality constraints
# Some non-linear equality constraints including square roots and fourth-degree polynomials.
end
@objective(model, Max, Profit)
Code defining solver:
optimizer = optimizer_with_attributes(Ipopt.Optimizer, "max_iter" => 100000, "mu_strategy" => "adaptive")
set_optimizer(model, optimizer)
set_optimizer_attributes(
model,
"warm_start_init_point" => "yes",
"warm_start_bound_push" => 1e-9,
"warm_start_bound_frac" => 1e-9,
"warm_start_slack_bound_frac" => 1e-9,
"warm_start_slack_bound_push" => 1e-9,
"warm_start_mult_bound_push" => 1e-9
)
Ipopt problem definition output (for a typical problem):
******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
Ipopt is released as open source code under the Eclipse Public License (EPL).
For more information visit https://github.com/coin-or/Ipopt
******************************************************************************
This is Ipopt version 3.14.4, running with linear solver MUMPS 5.4.1.
Number of nonzeros in equality constraint Jacobian...: 10514403
Number of nonzeros in inequality constraint Jacobian.: 9494815
Number of nonzeros in Lagrangian Hessian.............: 1625040
Total number of variables............................: 5656899
variables with only lower bounds: 1967617
variables with lower and upper bounds: 3688488
variables with only upper bounds: 792
Total number of equality constraints.................: 2406818
Total number of inequality constraints...............: 4444383
inequality constraints with only lower bounds: 1616119
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 2828264