Hi Adam, That sounds like an interesting problem. You certainly have quite a few requirements.
I know nothing about EPANET or the EPANET toolbox. But my gut feeling is that you will really struggle to satisfy all those requirements with your current setup.
For example, your constraints such as pump starting limits should really be coded into the problem directly. Also, given your problem will be multivariate and non-linear, I don't understand why you demand to solve it 'iteratively'.
How much is the solution to your problem potentially worth? How long would it take you to re-model the system in SimHydraulics?
Considering MATHWORKS already offers all of the functionality required to solve your problem, managing external interfaces will likely be slow and clunky. I'd consider asking MATHWORKS for a demonstration of the following software which I know could solve your problem:
- Sim Hydraulics (for network modelling)
- Global Optimisation Toolbox (for pattern searching methods)
- Stateflow (for modelling discrete control requirements)
- Simulink Design Optimisation (optimisation GUI in Simulink)
- Parallel Toolbox (for faster optimisation)
- Plus all the prerequisites for these toolboxes
All that software 'aint going to be cheap, but MATHWORKS should let you demo on the condition that project success results in license agreement. Let me know how you go, I'd be happy to help you out.