Can Binary Variables Help Maximize Revenue in MATLAB Linear Programming?

  • Thread starter rularn
  • Start date
In summary, the conversation discusses the challenge of maximizing revenue from a heating plant while dealing with constraints on the boiler input and the possibility of using brute force or other methods such as simulated annealing to find a solution.
  • #1
rularn
8
0
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,
 
Physics news on Phys.org
  • #2
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).
 
  • #3
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
 
  • #4
Are the boilers interchangeable? Because if they are then you could brute force the problem: instead of ##2^n## on/off combinations you only have ##n## (if all off, one on, two on, ...).

Two other approaches that *might* work, depending on the problem, are
(1) allowing them all to range from 0 to 1, then when you get an optimal solution try converting it into a feasible good one by setting all x < 0.4 to 0 and possibly increase the other ones or rerun the problem with additional constraints for those boilers

(2) first try to solve the problem of "which boilers will be switched off", either as a separate model or by allowing x to be just 0 or 1 and then rerunning with x = 0 as additional constraints for those boilers that were off in the first solution.
 
  • #5


Hello! I understand your goal of maximizing revenue for the heating plant. In order to achieve your desired constraint of x = 0 or 0.4 < x < 1, you can use a binary variable to represent the on/off state of the boilers. This variable can take on values of 0 or 1, where 0 represents the boiler being turned off and 1 represents the boiler being turned on. Then, you can use linear constraints to ensure that the boiler input x falls within the desired range of 0.4 to 1 when the binary variable is set to 1. This approach should allow you to solve the problem with only linear constraints. I hope this helps! Best of luck with your script in MATLAB.
 

Related to Can Binary Variables Help Maximize Revenue in MATLAB Linear Programming?

1. What does "x = 0 or 0.4 < x < 1" mean?

This statement means that the variable x can either have a value of 0 or a value between 0.4 and 1 (not including 1).

2. Can x have a value of 0.4 or 1?

No, the statement specifies that x can only have a value of 0 or a value between 0.4 and 1, but not 0.4 or 1 themselves.

3. Is x an integer or a decimal number?

The statement does not specify the type of variable x, so it can be either an integer or a decimal number. However, the values mentioned (0, 0.4, 1) suggest that x is most likely a decimal number.

4. Is x an inclusive or exclusive range?

The statement is an inclusive range, meaning that the values 0 and 1 are included in the possible values for x.

5. How many possible values can x have?

There are two possible values for x - 0 and any number between 0.4 and 1 (not including 1). The exact number of possible values between 0.4 and 1 will depend on the precision of the variable x.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
6
Views
3K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
5
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
3
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
6
Views
1K
  • Programming and Computer Science
Replies
26
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
8K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
2K
Replies
17
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
3K
Back
Top