# I want x = 0 or 0.4 < x < 1

Hello!

I'm trying to create a script in matlab in which I can maximize the revenue from a heating plant.

This problem is, each boiler can only be turned off or run in between 40 and 100 % of the maximum power. So I want the boiler input x to be equal to 0 or in between 0.4 and 1. But how can I put this constraint in a linear programming script? Is it even possible?

If I introduce help variables, x1, x2 x3 .... xn, can that help me to achieve this?

It might be possible to use non linear constraints, but I want to do it with only linear constraints first if it's possible?

regards,

mfb
Mentor
I think many optimization algorithms will fail at that task, as there are no small steps between 0% and 40%. You can introduce other variables, sure - re-label 0% as "39.999%" and adjust the formulas correspondingly. But that does not solve the main problem that you get steps (assuming you cannot switch the boilers on/off without any delay).

Are you just trying a brute force aproach?
There are some better methods depending on the range of possibilities. If you only have 1 boiler a brute force method probably would work.
But if you had more than 2 or 3 brute force will likely start taking longer.

take a look at: http://en.wikipedia.org/wiki/Simulated_annealing

CompuChip