Filter löschen
Filter löschen

fmincon pump scheduling optimization problem

1 Ansicht (letzte 30 Tage)
Adam
Adam am 30 Jul. 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

Antworten (1)

Alan Weiss
Alan Weiss am 31 Jul. 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

Kategorien

Mehr zu Problem-Based Optimization Setup finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by