fmincon pump scheduling optimization problem

1 vue (au cours des 30 derniers jours)
Adam
Adam le 30 Juil 2012
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 commentaire
Walter Roberson
Walter Roberson le 30 Juil 2012
Did you try randomizing your starting point?

Connectez-vous pour commenter.

Réponses (1)

Alan Weiss
Alan Weiss le 31 Juil 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

Catégories

En savoir plus sur Nonlinear Optimization dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by