fmincon pump scheduling optimization problem
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hi, I am trying to minimise the energy cost(cost of operating pumps) of a water network by linking Matlab with a simulation software called epanet. My input is a vector of 24 elements (0-4) representing the amount of pumps on at each hour. I have a constraint function (nonlinear constraints) and objective function. I have been having difficulties with fmincon. My problem is non convex so I assume I need to use the Interior Point Algoirthm. However the optimtool never gets past the first iteration, it says "Initial point is a local minimum that satisfies the constraints.
Optimization completed because at the initial point, the objective function is non-decreasing in feasible directions to within the selected value of the function tolerance, and constraints were satisfied to within the selected value of the constraint tolerance. " Even if I change the values of the tolerance. Do I need to supply my own gradient and hessian? Is there an easy way of doing this? Is it possible fmincon wont work at all for my problem?
Thanks,
Adam
1 comentario
Respuestas (1)
Alan Weiss
el 31 de Jul. de 2012
It is possible that your simulation software does not give you sufficiently accurate estimates of the gradient when fmincon passes it small perturbations. You might try setting the DiffMinChange option to a larger value, such as 1e-3 or 1e-4. Or you might use the FinDiffRelStep option if you have a newer version of Optimization Toolbox.
Yes, it would be even better to avoid finite differences by including a gradient. It is often difficult to include a gradient, though, when your objective function is given by a simulation.
By the way, the interior-point algorithm is not the only one that can address this type of problem, you could also try sqp or even active-set.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
0 comentarios
Ver también
Categorías
Más información sobre Nonlinear Optimization en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!