MATLAB: How to use ‘OR’ constraints with fmincon / linprog: { x=0 } or { 0.6 <= x <= 1 }

boildersconstraintsfminconlinprogor

Hello!
I have a matlab script that optimize the electricity production from a heating plant based on the current electricity price and available boilers. Its very close to: http://www.mathworks.se/products/optimization/description6.html
However, the boilers can only run between 60-100 % or be completely turned off. So the constraints should be like:
x=0
or
0.6 <= x =< 1
for every boiler, and I have 10 of them.
How can I put this into linprog or fmincon? I want to have a script that tells me when to turn the boilers on and off and also at what rate every boiler should go.
Thank you very much

Best Answer

The only robust way is to loop over all 2^10 on/off combinations of the boilers. In each pass through the loop, i.e., for each combination, use fmincon/linprog to solve for the optimal output of the on-boilers. Shouldn't be too bad with only 10 unknowns max. per problem.